MANAGEMENT OF APPLICATION OPERATION ON MOBILE COMPUTING DEVICES
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- ABB (SCHWEIZ) AG
- Filing Date
- 2021-11-04
- Publication Date
- 2026-07-15
AI Technical Summary
Existing mobile applications in industrial settings face challenges in maintaining functionality due to unpredictable network performance, particularly in indoor environments like factory floors, leading to inefficiencies and resource wastage.
A method for managing application operation on mobile devices by dynamically adjusting operating modes based on network performance indicators, using current and predicted values, and incorporating user prompts and network reconfiguration to ensure optimal functionality.
Enhances application reliability and resource efficiency by minimizing disruptions and optimizing network usage according to available performance, ensuring critical tasks are completed without unexpected failures.
Description
FIELD OF THE INVENTION
[0001] The invention relates to managing the operation of applications on mobile computing devices, in particular to adapt to a varying availability of network connectivity.BACKGROUND
[0002] Mobile computing devices with suitable applications may enable workers in an industrial plant to have important information at their fingertips everywhere throughout the plant. For example, manuals for a piece of equipment may be looked up right at the workplace where the work is to be performed. Also, live information from a distributed control system, DCS, of the plant may be made available. Information from the site where the work is to be performed may also be fed back and analyzed, facilitating repairs and maintenance of equipment. For example, US 9,208,555 B1 discloses a method for inspecting electrical equipment by capturing images of the equipment using a mobile device and comparing these images to images of the nominal state of the respective equipment in a database.
[0003] Such connected applications rely on network connectivity. If the performance of the network unexpectedly drops to a low bandwidth or is lost altogether, the application may not function as expected. However, it is difficult to guarantee a high level of network connectivity in each and every location of the plant. Especially in an indoor environment on a factory floor, the probability is high that there will be "weak spots" in the connectivity. The required effort to eliminate all such "weak spots" is high.
[0004] US 9,078,123 B1 discloses methods and systems for adjusting at least one mode of operation of a mobile terminal based on predicted network performance parameters. The methods and systems include: determining, by the mobile terminal, the predicted network performance parameters based on at least one of a mobile terminal parameter and environmental information that may in turn be measured by the mobile terminal.
[0005] US 2019 / 319 868 A1 discloses systems and methods for determining and communicating Link Performance Predictions. These are predictions of future network behaviors / metrics, such as bandwidth, latency, capacity or coverage holes. They are communicated to applications and / or network infrastructure to allow making operational decisions for improved signalling / link resource utilization.
[0006] EP 1 227 639 A2 discloses a network service for providing data associated with a network to an application server. This network service permits optimal use of adaptive applications, so that applications such as audio, video and web-transcoding can be implemented in conjunction with mobile wireless devices via a wireless network, even in the presence of dynamically-shifting network channel conditions.OBJECTIVE OF THE INVENTION
[0007] It is therefore an objective of the invention to manage the operation of applications on mobile devices such that the impediment to their functionality that results from a drop in network performance may be minimized.
[0008] This objective is achieved by the method according to the independent claim. Further advantageous embodiments are detailed in the respective dependent claims.DISCLOSURE OF THE INVENTION
[0009] The invention is defined by the appended claims. Embodiments and examples not covered by the claims are presented to illustrate, and facilitate the understanding of, the claimed invention.
[0010] The invention provides a method for managing the operation of at least one application on a mobile computing device. The mobile computing device may, for example, be a smartphone, a tablet computer or a laptop. The mobile computing device is connected to at least one network that may, in particular, be a wireless network, such as a wireless LAN network, WLAN, or a public land mobile network, PLMN, such as a 4G or 5G network according to the respective 3GPP specification. The application is operable in a plurality of different operating modes. These operating modes may, in particular, be chosen such that the application demands different levels of network bandwidth, network latency, and / or responsiveness of an entity that it contacts via the network. That is, the selection of a particular operating mode may cause the application to demand a corresponding level, out of multiple different levels, of network bandwidth, network latency, and / or responsiveness of an entity that it contacts via the network.
[0011] In the course of the method, a current value, and / or a predicted future value, of the at least one performance indicator of the network is obtained. Based on a rule set, the value of the at least one performance indicator is mapped to at least one optimal operating mode of the application, and / or to at least one to-be-performed action for bringing supply of connectivity by the network and demand of connectivity by the application in line.
[0012] The application is caused to switch to the optimal operating mode, and / or the determined action is initiated. Alternatively or in combination, a user may be prompted to switch the application to the optimal operating mode, or to initiate the action.
[0013] In this manner, the available network performance is taken as a given, and the balance between functionality on the one hand and demand for network connectivity on the other hand is dynamically adjusted. In every situation with a given amount of available network performance, the highest possible amount of functionality is realized. How exactly the demand for network connectivity is adjusted is delegated to the concrete application.
[0014] This is different from the "low data mode" or "treat connection as metered" feature that is known from operating systems for smartphones and tablets (such as Apple iOS or Android), and also from desktop operating systems (such as Microsoft Windows). These features curb the data usage in response to the mobile computing device being connected to a network where such usage is budgeted and / or priced by time and / or volume, irrespective of the amount of performance that is actually available. This is intended for consumers who want to save costs on mobile data usage. But in the context of the present invention, the application on the mobile computing device is intended for work use, and what is to be optimized is the functionality of the application given an available amount of network performance. In particular, the method according to the present invention is intended to accommodate variations of available performance that occur, or are predicted to occur, while the mobile computing device remains connected to one and the same wireless network, such as a wireless LAN network deployed in the industrial plant, or a 5G network available on the plant. Examples for plants in which the invention may be used include chemical plants, ports, mines, ships and factories.
[0015] Also, the functioning of the application and of the network as a whole is made more reliable. If the application keeps trying highly demanding network activity that keeps failing because the currently available network performance is insufficient, this hogs system resources and causes unnecessary battery consumption on the mobile computing device. Also, the network connection may be flooded with futile traffic, causing other aspects of the application to fail as well. For example, if the application repeatedly attempts to pull a high-bandwidth video stream even though the network bandwidth is insufficient, this traffic may crowd out lower-bandwidth but important traffic, such as a data stream of measurement values.
[0016] In particular, the performance indicator may comprise an available throughput, a latency, and / or an available set of features. The available set of features may, for example, vary when the mobile device moves from an area where a mobile network provides 5G connectivity into an area where the same mobile network only provides 4G coverage.
[0017] The value of the performance indicator may, for example, be obtained by means of a measurement. For example, the mobile computing device may send a test data flow to an access point of the wireless network, receive this test data flow back from the access point and measure the throughput and / or latency. But a direct measurement of the performance indicator is not the only option. In a further advantageous embodiment, the obtaining of a current value, and / or of a predicted future value, of the at least one performance indicator comprises looking up the value of the performance indicator based at least in part on a location of the mobile computing device. For example, in an industrial plant, given a certain spatial distribution of wireless access points on the one hand, and buildings and equipment that absorb and reflect radio frequency waves on the other hand, there is basically a distribution of available network performance that may greatly vary spatially but is relatively invariant in time at any given point in space. Thus, once the spatial distribution has been surveyed, this distribution may be called upon later to find out the performance indicator based on the location of the mobile computing device.
[0018] Thus, in a further advantageous embodiment, the method further comprises monitoring the at least one performance indicator during motion of the mobile computing device, so as to survey the dependency of the at least one performance indicator on the location of the mobile computing device. For example, this monitoring may be performed during normal movement of the mobile computing device, e.g., within an industrial plant. But a path of movement of the mobile computing device may also be specifically devised as a "survey round" that, e.g., fits typical maintenance rounds or aims at simply covering all walkable or maintainable space.
[0019] Connectivity is not limited to one single network. Rather, multiple applications on the mobile computing device may be connected to different networks. For example, voice calls may be made via a public land mobile network, while larger amounts of data may be transferred via a local wireless LAN of an industrial plant operator. Also, in a 5G network, different applications may use different slices of the network, so as to assure that they do not compete with each other for the same scarce resource.
[0020] Also, the method is not limited to one single application. Rather, a management entity may manage requests from multiple apps for individual connections to the network for different purposes (such as voice, video, live data etc.) with different availability requirements. In this manner, it may be ensured that critical live data or voice receive high availability without spending network resources in bad coverage areas for video that might be secondary for the work to be performed with the mobile computing device.
[0021] In a further particularly advantageous embodiment, the obtaining of a predicted future value of the performance indicator comprises: obtaining a predicted future location of the mobile computing device; and obtaining the future value of the performance indicator based on the predicted future location. A change of location is the primary reason for a varying availability of network performance. The location, on the other hand, can be predicted quite well in an industrial setting. Movement of workers with mobile devices is a lot less random than movement of consumers in public. Rather, much of the movement is explainable by fixed maintenance rounds through the industrial plant or scheduled work orders for particular pieces of equipment. Therefore, once it is discovered that a mobile computing device is moving on a certain path, the further movement along this path is quite predictable and may be used to predict changes in the available network performance. Outside the industrial plant, it may, for example, be detected if the mobile computing device is following a certain road or railroad. If the road or railroad is leading through a tunnel, the operation mode may be switched, and / or another action may be initiated, in time before the mobile computing device disappears in the tunnel and the network connection is lost.
[0022] Being able to predict such changes is very advantageous because this allows the user to prepare for them. For example, a user of the mobile computing device may be advised in advance before switching the application to an operating mode where a lesser level of user experience is to be expected. In this manner, the user may perform tasks for which a higher level of network performance is needed before this higher performance will disappear. The workflow of the user will not be disrupted. Also, a change of the network performance will not take the user by surprise, and will therefore not be perceived as a lack of reliability of the application. If the user is informed in advance that network connectivity will be poor in a particular area and certain features of the application will not be available, this will be accepted as a limitation of the system. The application will be perceived as reliable within such limitations; no application and no system is without limitations. But if features are unavailable unexpectedly, the application will be perceived as unreliable because it is failing without an apparent reason. The consequence may be that workers refrain from using the application and turn to makeshift solutions that they perceive to be more reliable. It is never good if workers in an industrial plant do something different than what is expected of them; work procedures and tools are there for a reason. For example, an application that workers are supposed to use daily may also serve to distribute important messages of the day to the workers, to make sure everybody reads them. But if worker refuses to use the application because it is "not reliable anyway", this worker will also miss the important messages.
[0023] Predicting the movement path and using this to predict network performance is also useful for introducing a switching hysteresis into the switching of operating modes. In this manner, a frequent switching of operating modes is avoided. Such frequent switching is perceived as annoying and may also cause loss of data, e.g., if a feature stops working while the user is entering data.
[0024] But the movement path is not the only quantity from which network performance may be predicted. For example, any other quantity or combination of quantities from the environment where the network is deployed may be supplied to a machine learning model that then outputs a prediction of the network performance. This is particularly useful in more complex situations where the network performance in any given location fluctuates over time. Given training values of the quantities and corresponding "ground truth" values regarding the network performance, the machine learning model may learn which influencing factors, alone or in combination, have an impact on the network performance. For example, the performance of a wireless LAN may be impaired by the operation of equipment that generates a lot of electromagnetic noise, such as microwave ovens or spark erosion machines.
[0025] In an exemplary embodiment, the application is chosen to comprise a displaying of live measurement data. A switch from a first operating mode to a second operating mode then causes the application to replace part of the live measurement data with interpolated values. For example, in the first operating mode, live updated graphs may scroll smoothly across the screen. In the second operating mode, a curve may be incrementally drawn with interpolated values on a static background. Compared with just reducing the update rate of the measurement data, this has the advantage of not causing the scrolling to stutter.
[0026] In a further exemplary embodiment, the application is chosen to comprise a displaying of a map view of data obtained from multiple devices in an industrial plant in a radius of interest around the mobile device. A switch from a first operating mode to a second operating mode then causes this radius to decrease. For example, in the first operating mode, the map may show data from all devices whose locations are within the area covered by the map. In the second operating mode, the map may show only data from devices whose locations are in the direct vicinity of the mobile computing device. In a third operating mode, the map may show only data from devices whose location is exactly where the user is tapping or clicking the display of the map.
[0027] In a further exemplary embodiment, the application is chosen to comprise a displaying of a live video stream. A switch from a first operating mode to a second operating mode then causes a compression level of the video stream to be adapted. In this manner, the video stream may be kept functioning so that even during a shortage of bandwidth, the most important aspects of the video stream can still be seen. In particular, the compression level may be adapted to the network bandwidth in a preemptive fashion, i.e., based on a prediction of the network bandwidth that may in turn be based on a prediction of the location of the mobile device. That is, the bandwidth requirement of the video stream may be decreased before the available network bandwidth actually goes down. This avoids interruptions of the stream and congestion of the network. In particular, unlike video streaming for consumer entertainment, live streaming for industrial purposes needs to be as close to real-time as possible. It is therefore not possible to pre-buffer content and to change the encoding of the video in a reactive manner in order to compensate a shortage of network bandwidth. These and other remedies add more latency to the video stream. Such latency is undesirable in an industrial application, in particular if any live actions on the plant are to be coordinated based on the live video stream. For example, if work is to be performed on electrical equipment, the states of switches that are visible in the video stream and power the equipment must be up-to-date. If the bandwidth or latency drops below a usable threshold, unlike consumer situations, the video quality is not simply becoming worse and worse, but video may be stopped altogether and in the next lower operating mode, live video is replaced by different method altogether. For example, in case of work performed on electrical equipment, if the state of switches is the essential information, this information might be extracted in real-time from the local video, leading to higher local power consumption on the mobile device, but being far more efficient to transmit over the network still in real-time. This switch would be announced to the user to let them prepare their own work approach beforehand.
[0028] In a further advantageous embodiment, the application is chosen to comprise a displaying of at least part of a human-machine interface of a distributed control system, DCS, of an industrial plant. For example, the level of detail of the information obtained by the application may then be tailored to the available network bandwidth using the different operating modes. In this manner, the amount of information that is presented may vary, but the user can be sure that the information that is actually presented is also up-to-date and accurate. For example, if a section of pipe is to be temporarily removed for maintenance work, the information whether this section of pipe is filled with hot medium, and / or whether this section of pipe is in a pressurized state, needs to be accurate at the time where the removing of this section is about to start. Such displaying of state information from the DCS may, for example, be combined with the displaying of step-by-step instructions to carry out the planned maintenance.
[0029] In a further advantageous embodiment, an action for bringing supply of connectivity by the network and demand of connectivity by the application in line comprises a reconfiguration of the network, so as to improve the network connectivity of the application. In particular, such reconfiguration may comprise diverting network resources from other network activities, and / or from other mobile devices, to the application, and / or to the mobile device with the application.
[0030] For example, if a critical repair task is to be performed, and an augmented reality overlay is needed for this work, then it may be worthwhile to temporarily divert network resources from other activities in order to allow the augmented reality overlay to go ahead despite bad network coverage. For example, if the network is a 5G network and the slice booked from a public land mobile network operator is already fully in use, another slice may be booked to let the critical repair task go ahead. It is also conceivable to temporarily reduce capacity for other mobile devices in the area, with prior announcement of the planned outage and an estimated time to recovery (in which case e.g. maintenance round planning for the affected users might be updated). Alternatively, resources might temporarily be taken from other non-mobile applications such as video, reducing on purpose the resolution or frame-rate in the vicinity. In a network with managed network devices, such as switches, routers and bridges, the configuration of these network devices may be adapted to give preference to the augmented reality overlay. The same applies more than ever for a software-defined network.
[0031] In a further advantageous embodiment, an action for bringing supply of connectivity by the network and demand of connectivity by the application in line comprises causing the application to pre-load, during a period of better network performance, data that it may need and not be able to load during a period of worse network performance. For example, large manuals or instruction videos that are needed for planned work on certain equipment may be pre-loaded, such that the work will not fail due to unavailability of the manual. Also, any other data, such as web pages or map data, that the mobile device is likely to access may be cached, so that it is available immediately if requested by the user. Available memory on mobile computing devices is typically under-utilized, so at a time where network bandwidth is abundant, it does not harm the normal activities on the mobile computing device to set aside some of this memory as cache.
[0032] The method may be wholly or partially computer-implemented. The invention therefore also relates to one or more computer programs with machine-readable instructions that, when executed on one or more computers and / or compute instances, cause the one or more computers to perform the method. In this context, a virtualization platform, a hardware controller, network infrastructure devices (such as switches, bridges, routers or wireless access points), as well as end devices in the network (such as sensors, actuators or other industrial field devices) that are able to execute machine readable instructions are to be regarded as computers as well.
[0033] The invention therefore also relates to a non-transitory storage medium, and / or to a download product, with the one or more computer programs. A download product is a product that may be sold in an online shop for immediate fulfillment by download. The invention also provides one or more computers and / or compute instances with the one or more computer programs, and / or with the one or more non-transitory machine-readable storage media and / or download products.DESCRIPTION OF THE FIGURES
[0034] In the following, the invention is illustrated using Figures without any intention to limit the scope of the invention. The Figures show: Figure 1: Exemplary embodiment of the method 100 for managing the operation of at least one application 1; Figure 2: Exemplary setup for performing the method 100.
[0035] Figure 1 is a schematic flow chart of an exemplary embodiment of the method 100 for managing the operation of at least one application 1 on a mobile computing device 2. The mobile computing device 2 is connected to at least one network 4. The application 1 is operable in a plurality of different operating modes 3a-3c.
[0036] In step 110, a current value, and / or a predicted future value, of at least one performance indicator 4a of the network 4 is obtained.
[0037] According to block 111, the performance indicator 4a may be looked up based at least in part on a location 2a of the mobile computing device 2.
[0038] According to block 112, a future location 2a' of the mobile computing device 1 may be predicted. Based on this predicted future location 2a', the future value of the performance indicator 4a may be obtained.
[0039] In step 120, the value of the at least one performance indicator 4a is mapped to at least one optimal operating mode 3* of the application 1, and / or to at least one action 3**, based on a rule set 5.
[0040] According to block 121, the action 3** may comprise a reconfiguration of the network 4, so as to improve the network connectivity of the application.
[0041] According to block 122, the action 3** may comprise causing the application 1 to pre-load, during a period of better network performance, data that it may need and not be able to load during a period of worse network performance.
[0042] In step 130, the application 1 is caused to switch to the optimal operating mode 3*, and / or the action 3** is initiated. This will affect the application 1, and / or the network 4. Alternatively or in combination, a user may be prompted to switch the application 1 to the optimal operating mode 3*, or to initiate the action 3**.
[0043] According to block 131, the user of the mobile computing device 2 may be advised in advance before switching the application 1 to an operating mode 3a-3c where a lesser level of user experience is to be expected.
[0044] Figure 2 is a block diagram of an exemplary setup for performing the method 100.
[0045] An application 1 runs on a mobile computing device 2. This application 1 is to interact with an industrial process 7 via a network 4. To this end, the application 1 comprises a network-aware front-end 1a that is able to communicate, via the network 4, with an application backend 1b that in turn is in communication with the process 7. This enables task support logic 1c to bidirectionally communicate with the application backend 1b.
[0046] The throughput of this communication depends on the performance of the network 4, which is characterized by at least one performance indicator 4a. The application 1 is configured to communicate with the application backend 1b in a manner that is more demanding or in a manner that is less demanding on the network 4, depending on the operating mode 3a-3c in which the application 1 is currently operating.
[0047] The network-aware front-end 1a queries, based on the location 2a of the mobile computing device 2, a database in which values of the performance indicator 4a are stored in association with locations 2a. That is, the database is given a location 2a, and it returns a value of the performance indicator 4a. Based on this performance indicator 3a, an optimal operating mode 3* is determined. In the example shown in Figure 2, this optimal operating mode is communicated to a user 6 via a user interface 1d on the screen 2b of the mobile computing device 2. The user 6 is then prompted to switch the application 1 to this optimal operating mode 3*.
[0048] The user interface 1d also displays information about the process 7 to the user 6 and allows the user 6 to interact with the process 7. Thus, the user interface 1d is the connecting element between the user 6 and the process 7.List of reference signs:
[0049] 1application 1anetwork aware front-end of application 1 1bbackend of application 1 1ctask support logic in application 1 1duser interface of application 1 2mobile computing device 2alocation of mobile computing device 2 2a'predicted future location of mobile computing device 2 2bdisplay of mobile computing device 2 3a-3coperating modes of application 1 3*optimal operating mode 3**action to match connectivity demand with network performance 4network 4aperformance indicator of network 4 5rule set for determining optimal operating mode 3*, action 3** 6user 7industrial process 100method for managing operation of application 1 110obtaining current and / or predicted value of performance indicator 4a 111looking up performance indicator 4a based on location 2a 112obtaining predicted future location 2a' 113predicting performance indicator 4a based on predicted location 2a' 120determining optimal operating mode 3*, action 3** 121reconfiguring network 4 122causing pre-loading of data 130causing switch to operating mode 3*, initiating of action 3** 131advising user 6 before switching to optimal operating mode 3*
Claims
1. A method (100) for managing the operation of at least one application (1) on a mobile computing device (2), wherein this application (1) is operable in a plurality of different operating modes (3a-3c), and the method (100) comprises the steps of: • obtaining (110) a predicted future value of at least one performance indicator (4a) of at least one network (4) to which the mobile computing device (2) is attached; • mapping (120), based on a rule set (5), the value of the at least one performance indicator (4a) to at least one optimal operating mode (3*) of the application (1), and / or to at least one action (3**) for bringing supply of connectivity by the network and demand of connectivity by the application in line; and • causing (130) the application (1) to switch to the optimal operating mode (3*), and / or initiating the action (3**); characterised in that the application is chosen to comprise: • a displaying of live measurement data, and a switch from a first operating mode (3a-3c) to a second operating mode (3a-3c) causes the application (1) to replace part of the live measurement data with interpolated values; and / or • a displaying of a map view of data obtained from multiple devices in an industrial plant in a radius of interest around the mobile device (1), and a switch from a first operating mode to a second operating mode causes this radius to decrease, and wherein the obtaining (110) of the predicted future value of the performance indicator (4a) comprises: • obtaining (112) a predicted future location (2a') of the mobile computing device (1); and • obtaining (113) the future value of the performance indicator (4a) based on the predicted future location (2a').
2. The method (100) of claim 1, wherein the performance indicator (4a) comprises: • an available throughput; • a latency; and / or • an available set of features.
3. The method (100) of any one of claim 1 or 2, wherein selection of an operating mode (3a-3c) causes the application (1) to demand a corresponding level, out of multiple different levels, of network bandwidth, network latency, and / or responsiveness of an entity that it contacts via the network (4).
4. The method (100) of any one of claims 1 to 3, further comprising. monitoring the at least one performance indicator (4a) during motion of the mobile computing device (2), so as to survey the dependency of the at least one performance indicator (4a) on the location (2a) of the mobile computing device (2).
5. The method (100) of any one of claims 1 to 4, further comprising obtaining (110) of a current value of the at least one performance indicator (4a) and looking up (111) the value of the performance indicator based at least in part on a location (2a) of the mobile computing device (2).
6. The method (100) of any one of claims 1 to 5, wherein the application is chosen to comprise a displaying of at least part of a human-machine interface of a distributed control system, DCS, of an industrial plant.
7. The method (100) of any one of claims 1 to 6, wherein the action (3**) comprises (121) a reconfiguration of the network (4), so as to improve the network connectivity of the application.
8. The method (100) of claim 7, wherein the reconfiguration of the network (4) specifically comprises: diverting network resources from other network activities, and / or from other mobile devices, to the application, and / or to the mobile computing device (2).
9. The method (100) of any one of claims 1 to 8, wherein the action (3**) comprises: causing (122) the application (1) to pre-load, during a period of better network performance, data that it may need and not be able to load during a period of worse network performance.
10. One or more computer programs, comprising machine-readable instructions that, when executed by one or more computers or compute instances, cause the one or more computers or compute instances to perform the method (100) of any one of claims 1 to 9.
11. A non-transitory machine-readable storage medium storing the one or more computer programs of claim 10.
12. One or more computers or compute instances comprising means configured to execute the one or more computer programs of claim 10.