Unknown

20200401388 ยท 2020-12-24

Assignee

Inventors

Cpc classification

International classification

Abstract

The invention relates to a method for generating and providing a mobile application to be loaded in a mobile device, wherein the mobile application executable on the mobile device is designed for the configuration, maintenance, and/or diagnosis of data and/or functions of a data processing device which can be coupled to the mobile device via a communication link, such as a programmable controller, drive, actuator, or sensor, wherein the mobile application is hosted in the data processing device and is loaded from the data processing device into the mobile device after the communication link is established, wherein content and/or functions of the application data describing the mobile application are dynamically generated or updated by means of a generation logic implemented in the data processing device on the basis of current data of a configuration and/or a runtime environment of the hosting data processing device, and wherein the generation logic is designed to record data of a configuration and/or runtime environment of further data processing devices coupled to the hosting data processing device via a network. To simplify the configuration, maintenance and diagnosis of data processing devices, it is proposed that a generation logic is implemented in each of the data processing devices, which is designed to generate a progressive web application providing the mobile application, that the data processing device connected to the mobile device via the communication link takes over the function of a master device, that changes of the system and/or configuration data of the data processing devices connected via the network are recorded via a data communication by means of the generation logic, so that the progressive web application of the master device is automatically updated, and that the mobile application is generated or updated on the basis of the data of the master device and the recorded data of the connected data processing devices.

Claims

1. Method for the generation and provision of a mobile application to be loaded in a mobile device, wherein the mobile application executable on the mobile device is designed for the configuration, maintenance, and/or diagnosis of data and/or functions of a data processing device which can be coupled to the mobile device via a communication link, such as a programmable controller, drive, actuator, or sensor, wherein the mobile application is hosted in the data processing device and is loaded from the data processing device into the mobile device after the communication link is established, wherein content and/or functions of the application data describing the mobile application are dynamically generated or updated by means of a generation logic implemented in the data processing device on the basis of current data of a configuration and/or a runtime environment of the hosting data processing device, and wherein the generation logic is designed to record data of a configuration and/or runtime environment of further data processing devices coupled to the hosting data processing device via a network, characterized in that a generation logic is implemented in each of the data processing devices, which is designed to generate a progressive web application providing the mobile application, in that the data processing device connected to the mobile device via the communication link takes over the function of a master device, in that changes of the system and/or configuration data of the data processing devices connected via the network are recorded via a data communication by means of the generation logic of the master device, so that the progressive web application of the master device is automatically updated, and in that the mobile application is generated or updated on the basis of the data of the master device and the recorded data of the connected data processing devices.

2. Method as claimed in claim 1, characterized in that the provision of the progressive web application comprises the following method steps: connecting the mobile device to the data processing device hosting the progressive web application as a master device, generating the application data of the progressive web application by way of the generation logic of the master device based on current data of the master device and/or the recorded data of the connected further data processing devices, sending the generated application data or the generated progressive web application to the mobile device, registering the progressive web application by way of the mobile device, and installing the progressive web application on the mobile device.

3. Method as claimed in claim 1, characterized in that the generation of the application data of the progressive web application is triggered upon a first coupling between the mobile device and one of the data processing devices, and in that the update of the application data of the progressive web application is triggered upon each further connection.

4. Method as claimed in claim 1, characterized in that the generation of the progressive web application comprises the following method steps: the generation of a manifest to incorporate static attributes such as name, icon, and/or startup URL for the progressive web application (PWA); the integration of data of a user interface and a business logic of the master device and/or the further data processing devices as application data in the progressive web application; the generation of a ServiceWorker of the progressive web application and configuring ServiceWorker events for interaction with the runtime environment of the master device.

5. Method as claimed in claim 4, characterized in that during the generation of the progressive web application by means of the generation logic, a unique identifier is generated using a MAC address and possibly further features such as timestamp, geolocation, or a unique identification of a web server of the master device and implemented in the progressive web application.

6. Method as claimed in claim 1, characterized in that upon a first connection between the mobile device and the data processing device hosting the progressive web application, an index.html is requested, by means of which a ServiceWorker is registered, and in that the ServiceWorker is loaded in the mobile device and installed and activated on the mobile device.

7. Method as claimed in claim 6, characterized in that in the event of available updates, an update event is started, and in that the ServiceWorker loads the updates into the mobile device and installs them therein.

8. Method as claimed in claim 1, characterized in that the installed application interacts with multiple data processing devices in the network environment and dynamically updates itself by way of data which are recorded from other connected data processing devices.

9. Method as claimed in claim 1, characterized in that the data are recorded in the form of diagnostic/maintenance data during a generation phase from the connected data processing devices.

Description

[0042] In the figures:

[0043] FIG. 1 shows a schematic illustration of a data processing device for providing a mobile application for a mobile device;

[0044] FIG. 2 shows a communication sequence between the mobile device and the data processing device according to FIG. 1,

[0045] FIG. 3 shows a plurality of data processing devices arranged in a network for providing a mobile (master) application by way of a master device for the mobile device,

[0046] FIG. 4 shows a communication sequence between the mobile device and the master device according to FIG. 3,

[0047] FIG. 5 shows a communication sequence for identifying the origin of the mobile application,

[0048] FIG. 6 shows a schematic illustration of the network according to FIG. 3 having data sources for generating the shared mobile (master) application,

[0049] FIG. 7 shows a schematic flow chart for generating a mobile application, and

[0050] FIG. 8 shows a communication sequence between the mobile device and one of the data processing devices for downloading and activating a ServiceWorker.

[0051] FIG. 1 shows, solely schematically, a mobile device MD, for example, a smart phone, which is connectable via a communication link KV, e.g., Wi-Fi, Bluetooth, or NFC (near field communication) to a data processing device D1, e.g., a programmable controller, a drive, a sensor, and/or an actuator.

[0052] It is provided according to the invention that that a mobile application MAPP is provided in the data processing device D1, which can be loaded by a user into the mobile device MD after establishing the communication link KV in order, for example, to configure, maintain, or carry out a diagnosis of the data processing device Dl. The communication link can be designed as a WiFi, Bluetooth, or NFC connection, so that neither the mobile device MP nor the data processing device D1 has to be connected to the Internet.

[0053] Since the device-specific mobile application can be loaded directly from the data processing device D1, there is no need for the user to have to load the mobile application in advance from an app store or for a connection to the Internet to exist. The mobile application MAPP provided by the data processing device D1 is continuously updated by the data processing device D1 and is therefore always fully compatible, so that different software versions between the mobile application and the data processing device D1 to be controlled are excluded. Another advantage is that registration with an app store is not necessary.

[0054] The data processing device D1 is designed to generate the mobile application MAPP and to update it in running operation in order to reflect changes of configuration data or data of a runtime environment of the data processing device D1. Consequently, the data processing device D1 acts as a data source for the hosted mobile application, so that the mobile application MAPP is always up to date at the time of installation or at the time of provision.

[0055] According to the invention, a web server WS, a memory ST, a network logic NL, and an application in the form of a progressive web application PWA having user interface files UI, control logic files BL, and files of a generation logic GL having ServiceWorker SW and manifest MF are implemented in the data processing device D1.

[0056] The generation logic GL is designed to request current data of the user interface files UI or the control logic files BL in order to generate the mobile application MAPP or update it after a data change.

[0057] According to the exemplary embodiment shown, the invention is based on the concept of the progressive web application PWA. However, the use of PWAs is described purely by way of example, without restricting the subject matter of the invention; because the generation logic GL can be implemented using different technologies and different communication protocols.

[0058] The mobile device MD comprises at least one web client WC and a web browser WB, via which the web server WS of the data processing device D1 can be called up by means of the communication link KV.

[0059] The method according to the invention is explained hereinafter, but not restrictively, on the basis of the technology known per se of a progressive web application PWA.

[0060] A progressive web application PWA is a website that has numerous features which were previously reserved for native apps. It can therefore also be described as a symbiosis of a responsive website and an app. The progressive web application PWA can be created like a website using HTML 5, CSS 3 and JavaScript; in addition, so-called ServiceWorkers SW are used for optimized caching of the off-line functionalities. For example, the HTTPS protocol can be used for communication between a web client WC of the mobile device MD and a web server WS of the data processing device D1.

[0061] The progressive web application PWA is started in that, for example, a URL of the web server WS is input into the web browser WB of the mobile device MD and thus a first request is transmitted. The web server WS accepts the request and forwards it to the PWA, which functions as a web application. This generates or loads an HTML source code of a website, which is sent back from the web server to the browser (HTTPS response).

[0062] The user sees a website that is adapted to the mobile device due to the responsive design. Although the progressive web application PWA was accessed via a URL, the user can see an icon on the display screen of the mobile device such as a smartphone or receive push notifications and also use the site offline. The technology based on progressive enhancement is intended to offer users the best possible user experience depending on the devices used.

[0063] A ServiceWorker SW is a JavaScript that the web browser WB executes in the background. It provides essential functions such as caching for off-line usability for progressive web applications PWA. Once accessed online, content can also be displayed without Internet connection during the next visit to the site (off-line mode). Push notifications known from native apps are also possible with ServiceWorkers SW. The ServiceWorker SW are specially programmed, registered in the JavaScript of the site, and installed. ServiceWorkers SW operate HTTPS, which is why every progressive web app runs with HTTPS. A connection via an unsecured HTTP connection is not possible.

[0064] FIG. 2 shows an initial communication sequence between the web client WC of the mobile device MD and the web server WS of the data processing device Dl. In a first step, the web server WS is accessed via a request of the web client WC of the mobile device MD. A request request PWA is sent to the web server WS via the web client WC. The generation logic GL retrieves current system data from the memory module SM based on the current runtime environment and the current status of the data processing device, which are integrated into the progressive web application PWA by means of the generation logic GL. The progressive web application having the integrated system data is transmitted from the web server WS to the web client WC of the mobile device MD.

[0065] The mobile device MD registers the progressive web application PWA and the user can install the PWA on the mobile device.

[0066] After the installation, all the files required for executing the progressive web application PWA are available in the mobile device MD without a connection to the data processing device D1 being necessary.

[0067] When the mobile device MD is reconnected to the same data processing device D1, the data of the data processing device D1 are automatically updated and consequently also the progressive web application PWA.

[0068] In other words, the progressive web application PWA hosted in the data processing device is dynamically generated.

[0069] FIG. 3 shows a schematic illustration of a network N having a plurality of data processing devices D1 . . . D4, which are communicatively coupled.

[0070] According to an alternative embodiment of the method according to the invention, it is provided that the generation logic GL implemented in the data processing device D1 is designed to generate a progressive web application PWA in which both system data of the hosting data processing device D1 and system data of the further data processing devices D2 . . . D4 connected to the data processing device D1 are integrated.

[0071] The mobile device MD is connected via the communication link KV to the data processing device D1, which is referred to hereinafter as the master device D1. As soon as the system data or the configuration data of a data processing device D1 . . . D4 connected to the network N change, the data changes are recorded by the generation logic GL of the master device D1 via a data communication transmission DISP/reception RET, so that the progressive web application PWA is updated automatically. If all the data processing devices D1 . . . D4 connected to the network N comprise a generation logic GL according to the invention, it is irrelevant for a user to which data processing device D1 . . . D4 the mobile device MD connects, since each data processing device has the capability of detecting other data processing devices connected in the same network and integrating their data into the progressive web application PWA. An updated application is therefore always made available by the master device D1 at the installation or deployment time.

[0072] FIG. 4 shows a communication sequence between the mobile device MD and the further data processing devices D1 . . . D4.

[0073] If a user accesses the web server WS of the master device D1 via the web client WC of the mobile device MD, updates are requested. The web server WS requests system data of the master device D1. The data processing devices D2 . . . D4 are queried for updates via a network logic NL and they are sent back to the master device D1.

[0074] The current system data are processed in the generation logic GL to generate a current progressive web application PWA. The current system data are sent back via the web server WS to the web client WC of the mobile device to update the progressive web application PWA already installed in the mobile device and can be displayed and processed.

[0075] Consequently, an updated mobile application is always provided by the master device D1, which comprises all available system data of the data processing devices present in the network.

[0076] The progressive web application PWA thus contains data from a large number of devices in the network N. The data can be recorded by the master device D1 itself or by other entities, for example, a global register service.

[0077] The files for the progressive web application PWA are transmitted to the mobile device MD, for example, via the HTTPS protocol. When all the necessary files have been transmitted, the web browser WB implemented in the mobile device MD is able to recognize that a progressive web application PWA is currently being displayed and offers the user the local installation of the progressive web application PWA.

[0078] After installation, the mobile device MD has all the files necessary to run the progressive web application, without a connection to a data processing device D1 . . . D4 und/oder without a connection to the internet. If a connection is subsequently established to one of the data processing devices D1 . . . D4, the data of the progressive web application PWA on the mobile device will be updated automatically.

[0079] FIG. 5 shows, purely schematically, a communication sequence between the mobile device MD and one of the data processing devices D1 . . . D4 for determining the origin of the data. During the installation/generation, a unique indicator ID is generated using, for example, the MAC address of the Web server WS and possibly further parameters such as timestamp, geolocation, and/or unique ID SW. The unique indicator ID can be used to identify the origin of the mobile application and to handle it accordingly, e.g., use, warning, blocking, or reinstallation.

[0080] The ServiceWorker SW controls the reinstallation of the progressive web application PWA or the update of some content of the progressive web application PWA on the basis of the downloaded data.

[0081] The ServiceWorker SW is a very important component of the progressive web application PWA. The ServiceWorker SW implements the logic for offline use and the update behavior. Without a ServiceWorker SW, a progressive web application PWA cannot be installed. Since the ServiceWorker SW runs independently of the actual progressive web application PWA, it enables updates in the background, the receipt of push messages, and/or installing a progressive web application PWA on the mobile device MD. The ServiceWorker SW acts as a proxy server between the actual progressive web application PWA and the data processing device such as the IIoT (Industrial Internet of Things) device.

[0082] The sequence according to FIG. 5 can also be applied to the communication between the master device, which is coupled to the mobile device, and the data processing devices connected to the master device.

[0083] According to an inventive concept, a ServiceWorker SW takes on the role of a terminal and the progressive web application PWA of one of the data processing devices is installed in the ServiceWorker SW. The ServiceWorker SW with the progressive web application PWA installed then receives the updates from the ServiceWorker SW whose progressive web application PWA it has requested. The ServiceWorker SW then passes on the updates accepted in it to terminals, for example, mobile devices or other ServiceWorkers, until the mobile device used by the user is reached.

[0084] FIG. 6 shows, solely schematically, the network N according to FIG. 3 for generating a mobile application as a master application in the data processing device D1 using all the data of the connected data processing devices D1 . . . D4.

[0085] Each of the data processing devices D1 . . . D4 has a generation logic GL, i.e., ServiceWorker SW und/oder manifest MF, to generate a mobile application in the form of a progressive web application PWA. Furthermore, each of the data processing devices D1 . . . D4 has specific user interface files UI and control logic files BI as a device-specific data set.

[0086] If a data processing device is not the master device D1, it can record the user interface files UI or control logic files BL from other devices in order to include the data in the generated progressive web application PWA.

[0087] FIG. 7 shows a method sequence for generating and providing the progressive web application PWA.

[0088] After the start, in a step S1, the connection of the mobile device MD to one of the data processing devices D1 . . . D4 is established.

[0089] In a step S2, a query is made as to whether the connection is the first connection to the data processing device. If so, the generation of the progressive web application PWA is carried out in a step S3.

[0090] In a step S4, a manifest is generated, which contains static attributes such as the names, the icons, and the start URL of the progressive web application. The manifest is generated only once and integrated in a file index.html of the progressive web application PWA.

[0091] In a step S5, the user interface files UI and the control logic files BL are integrated into the progressive web application PWA.

[0092] In a step S6, the ServiceWorker is generated and the ServiceWorker events are configured to be able to work with the runtime environment of the data processing device.

[0093] In a step S7, the generated progressive web application PWA is provided.

[0094] If the connection of the mobile device MD to one of the data processing devices D1 . . . D4 is not the first connection, only a data update is carried out and the updated progressive web application PWA is sent back to the mobile device MD in step S8.

[0095] FIG. 8 shows a communication sequence between the web client WC of the mobile device MD and one of the data processing devices, in particular the data processing device D1. By sending a request, the index.html of the progressive web application PWA is requested upon the first connection. The index.html is sent back to the web client WC and then the ServiceWorker is registered by the data processing device D1. In a further step, the ServiceWorker is loaded into the mobile device MD and installed on the mobile device MD. After installation, it is activated.

[0096] If updates are available, an update event is started and the updates are loaded and installed by means of the ServiceWorker.

[0097] The following advantages are achieved by the method according to the invention: [0098] Instead of a large number of mobile applications on the mobile device, only a single mobile application is generated. [0099] When a data processing device changes the content of the hosted progressive web application, the mobile (master) application installed in the mobile device is updated automatically. [0100] There is no control over the mobile applications by third-party providers of app stores. [0101] If one of the data processing devices is defective, the mobile (master) application can be generated or provided (maintained) by another device. [0102] The mobile (master) application is always in compliance with the application validity rules. [0103] The mobile (master) application can run on various platforms such as iOS, Linux, Windows, or Android. [0104] The system described can be expanded to consumer devices, e.g., televisions, refrigerators, photo cameras.