WO2022189370A1 - Method for providing one or more applications to at least one machine - Google Patents

Method for providing one or more applications to at least one machine Download PDF

Info

Publication number
WO2022189370A1
WO2022189370A1 PCT/EP2022/055781 EP2022055781W WO2022189370A1 WO 2022189370 A1 WO2022189370 A1 WO 2022189370A1 EP 2022055781 W EP2022055781 W EP 2022055781W WO 2022189370 A1 WO2022189370 A1 WO 2022189370A1
Authority
WO
WIPO (PCT)
Prior art keywords
machine
application
control unit
information
selection
Prior art date
Application number
PCT/EP2022/055781
Other languages
German (de)
French (fr)
Inventor
Robert Schmitt
David Bell
Original Assignee
Robert Bosch Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Priority to CN202280020642.0A priority Critical patent/CN117099078A/en
Publication of WO2022189370A1 publication Critical patent/WO2022189370A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Definitions

  • the present invention relates to a method for providing one or more applications to at least one machine and a computer program for its implementation.
  • control devices or control units can be significantly increased by expanding a basic functionality using additional hardware or add-on parts and software.
  • a corresponding computer program or software module must generally be installed on the control unit, for example a computer program that controls the hardware and/or reads out data obtained from the hardware.
  • the functionality can also be expanded with additional software without changing the machine.
  • a field sprayer can be provided with a linkage, which enables the height of the spray nozzles to be adjusted in sections, and with (ground) distance sensors.
  • a soil tracking program running in the control unit can then be set up to evaluate measured data from the distance sensors and to adjust the linkage in such a way that the distance to the ground or to the vegetation is as uniform as possible, in order to distribute spray agent evenly over the plants to guarantee.
  • a fertilizer spreader could, for example, be expanded with a corresponding software module to control the amount of fertilizer spread depending on the position, which is determined by a GPS device attached to the tractor to which the fertilizer spreader is attached.
  • These software modules can be provided by a cloud service, with the machine being able to be connected to it at least temporarily via a network, in particular via the so-called Internet, in order to exchange data.
  • a cloud service functionalities in the form of software modules or applications can be provided by various providers (also providers different from the manufacturer of the machine), which an owner of the machine can install and use as required.
  • a compatibility check is carried out after detecting a selection of an application and a selection of a machine before the actual installation of the selected application on the selected machine by a remote or non-machine computing unit running or implemen oriented management service, wherein for the compatibility check by the management service stored or managed machine information and application information are used, which are respectively updated accordingly.
  • Errors such as functional assemblies or sensors that are required for the function of the application but are not installed on the machine, can thus be detected at an early stage and, if necessary, corrected be resolved.
  • the method according to the invention is advantageous since the selection of the application and machine can take place separately in time and space from the installation of the application.
  • the application is selected from one or more (available) applications.
  • the machine is also selected from one or more machines or from at least one machine.
  • the one or more applications are provided by the management service, which also stores application information about each of the one or more applications and machine information about each of the at least one machine.
  • Each of the at least one machine is controlled by at least one controller configured to execute applications and capable of communicating with a management service.
  • a management service according to the invention can be viewed as a computer program that is implemented or executed in the remote computing unit (such as a possibly distributed server system) and provides services over a network (e.g. Internet), e.g. providing data or computing power , performing administrative tasks and storing related data, or similar.
  • a network e.g. Internet
  • Remote refers to the management service not running on either the machine's controller or a user terminal.
  • the management service can thus be viewed as a "cloud service” implemented in the colloquial "cloud”.
  • the control unit is an arithmetic unit, ie it comprises one or more processors (each with possibly several arithmetic cores), a random access memory (RAM) and a non-volatile memory and/or can access a non-volatile memory. Interfaces are also provided, in particular for establishing the data connection. Interfaces are to be understood as meaning both physical interfaces, in particular plug-in connections, and software calls or messages.
  • the control unit can be a control unit provided directly in the machine. More generally, the control unit can be a computing unit that is separate from the machine and can be connected to the machine or its control unit for data communication via an interface (such as ISOBUS).
  • the control unit can control at least some functions of the machine via this interface; for this purpose the control unit interacts with the control unit and can optionally access its resources, eg non-volatile memory.
  • the control unit can be arranged on a tractor, for example, to which various agricultural machines can be attached.
  • a control unit can therefore be provided for several machines, with applications for several machines being able to be installed on the control unit.
  • a corresponding installation or deinstallation program is called up on the control unit and the required data is transmitted via the data connection.
  • the program data of the application in particular are transmitted and stored by the control unit (in the non-volatile memory provided in the control unit and/or in a non-volatile memory which the control unit can access, e.g. also in a non-volatile ei nes control unit of the machine).
  • this application also refers to installing (or uninstalling) an application on a machine.
  • This is to be understood in such a way that the application or the program code of the application is installed (or uninstalled) on the control unit of the machine, ie it is stored in a memory of the control unit or a memory which the control unit can access , wherein the control unit is set up to execute the program code of the application.
  • the method preferably includes detecting an installation release, with the installation release preferably being recorded using an operating device which is connected to the administration service and/or to the control unit of the selected machine via a communication link.
  • the administration service or the control unit sends an installation release request to the operating device, displays it there to a user and records the installation release in response to a corresponding input from the user.
  • the operating device can, for example, be a smartphone belonging to the user, an operating unit on the machine, a touchscreen for operating the machine, an operating button on the machine, a computer or the like.
  • the selected application will only be installed if the installation release is available. The updating of the application information and the machine information is thus performed while waiting for the data connection. This is advantageous because if another application is installed, this further installation or the compatibility check associated with it can already take into account the changed machine information and application information.
  • an error message is generated; the error message more preferably containing information about a cause of the unsuccessful compatibility check.
  • the error message allows a user to recognize early on, before the machine is started up, that the installation of the application failed. With the information about the cause, a user can identify where the problem lies and possibly take action to fix it. In the case of errors that can be rectified, for example if an existing peripheral device, e.g. a sensor, is not currently installed on the machine but is user can be installed, the installation can still take place. On the other hand, if the cause of the error cannot be remedied by the user, eg insufficient storage space, the installation cannot be carried out.
  • the application is preferably not installed or, if the data connection between the control unit and the management service is established, the selected application is installed on the control unit of the selected machine, or, if the data connection does not exist, the selected application is installed after the data connection has been established by the control unit of the selected machine, the application information and the machine information being updated immediately after the compatibility check, in both cases if dependent on claim 2, the selected application will only be installed if the installation release is available.
  • the user input can be recorded via a user terminal, on which, for example, an input is queried as to whether the error should be skipped or whether or not the application (despite the error message) should be installed.
  • the method preferably includes detecting a selection of an application installed on one of the at least one machine to be deinstalled; if the data connection of the machine's control unit with the administration service is established, uninstalling the application to be uninstalled from the machine's control unit, or, if the data connection of the machine's control unit with the administration service is not established, uninstalling the application to be uninstalled from the machine's control unit after the data connection has been established by the machine's control unit, and updating, preferably only after uninstallation, of the machine information of the machine and the application information of the application to be uninstalled.
  • a deinstallation release is recorded and the deinstallation only takes place if the deinstallation release is available; whereby preferably the deinstallation release by means of a service device is recorded, which is connected to the management service and/or to the control unit of the selected machine via a communication link.
  • the application information for each of the one or more applications includes one or more of requirements for machines and control units that are compatible with the application, in particular type of machine and/or control unit, installed functional assemblies, installed sensors; required storage space; needed other applications; required operating system version; required computing power.
  • the machine information of the at least one machine each includes one or more of a type of machine; existing hardware resources of the machine, in particular installed function modules and installed sensors; a type of control unit of the machine; available memory of the control unit; operating system version; installed applications; available computing power of the control unit. This application information or machine information allows incompatibility to be identified quickly.
  • the selection of the application and the selection of the machine are captured by means of a user terminal connected to the management service via a communication link; where appropriate, the selection of the application to be uninstalled is recorded by means of the user terminal.
  • a user interface is provided on the user terminal, through which the applications and the machines are displayed in the form of icons and/or list items; wherein the user interface is configured to detect an application selection interaction as a selection of the application and a machine selection interaction as a selection of the machine; with even more preferably between the application selection interaction and the machine selection interaction or between the machine selection interaction and the application selection interaction a dragged icon or list element of the application or the machine corresponding to a displayed during a drag interaction.
  • the error message is preferably transmitted to the user terminal and displayed by it. In this way, an error (e.g. a failed compatibility check) can be displayed to the user directly during the interaction.
  • the user input is preferably recorded, with the user input indicating whether or not the application is to be installed (despite an error message).
  • a method according to the invention in the form of a computer program or computer program product with program code for carrying out all of the administrative service method steps is advantageous because this causes particularly low costs, especially if an executing computing unit connected to a network, e.g. a server or a Server system, is used for other tasks and is therefore available anyway.
  • Suitable data carriers for providing the computer program are, in particular, magnetic, optical and electrical memories, such as hard drives, flash memories, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.).
  • FIG. 1 illustrates a method for providing applications based on the elements involved and their interaction
  • FIG. 2 shows a diagram that shows the sequence of the method for providing applications according to a preferred embodiment.
  • FIG. 1 illustrates a method for providing applications for machines using the elements involved and their interaction in a preferred embodiment.
  • the figure shows a number of machines M1, M2, .
  • Information about each of the machines, so-called machine information E1, E2, ... Ej, ... EL, is stored by a management service 2, i.e. stored or read in a memory of the processing unit on which the management service is executed in a memory that can be accessed by the computing unit.
  • the machine information can be at least partially transmitted by a user of the administration service, e.g. the farm, to the administration service, for example when registering a machine with the administration service, or possibly also (after registration) automatically by the administration service can be called up from the machine via the data connection.
  • the respective machine information may include one or more of a type of machine; existing hardware resources of the machine, in particular installed function modules, installed sensors or similar; a type of control unit of the machine; available storage space of the control unit; operating system version; installed software; installed applications; Available computing power of the control unit (the available or required computing power can depend on which and how many other applications are being run and also require computing power, is therefore to be seen in the sense of free computing power).
  • the machines can establish a data connection 4 with the administration service.
  • the data connection takes place via a network, in particular via the Internet, with the machine being able to be connected to the network by wire, for example via Ethernet, or wirelessly, for example via a mobile radio connection or via WiFi. It should be noted that the data connection may only exist temporarily, e.g.
  • the machine there is no data connection when the machine is switched off or the data connection of a mobile machine may be interrupted, for example if the machine is outside the radio range of a wireless network. It can also happen that the data connection is indirect, for example via another machine.
  • an agricultural machine can be connected to a tractor with a data cable, which in turn is connected to the network via a cellular connection.
  • the applications and the application information are transmitted from a manufacturer or programmer of the application, e.g. a machine manufacturer or application manufacturer, via a network to the management service and are then stored by the latter.
  • the respective application information relates to or includes application requirements that the machine must have in order to be able to install the application on it.
  • the application requirements may include one or more of a type of machine for which the application is intended; required hardware resources of the machine, in particular installed function modules, installed sensors or similar; type of control unit required; required storage space; required operating system version; needed other applications; required computing power.
  • the application information can also include other information, such as a number of available application licenses.
  • a user terminal 6 is also shown in FIG. This can be, for example, a PC, a tablet, a smartphone or similar.
  • the user terminal can establish a connection with the management service via a communication connection 8 over a network, eg the so-called Internet.
  • the connection from the user terminal to the network can again be wired or wireless.
  • the user can manage the machines in the administration service, in particular install or uninstall applications on control units for machines.
  • the available applications and machines in the form of application symbols or application list elements a1, a2, ... ai, ... aK and in the form of machine symbols or machine list elements m1, m2, . .. mj, ... ml_ represented here, for example, as list elements (combinations are possible, e.g. a list with symbols).
  • list elements e.g. a list with symbols.
  • at least parts i1, i2, ... ii, ... iK of the application information e.g. number of available licenses
  • parts e1, e2, ... ej, ... iL of the machine information e.g. on the respective Machine installed applications, installed function modules, etc.
  • the user interface may be provided by dedicated machine and application management management software running on the user terminal (which also provides the communications link to the management service). However, provision is preferably made for the user interface to be made available as a web application by the administration service. HTML5 (W3C Recommendation) can be used for this purpose, which in particular enables the implementation of 'drag & drop' mechanisms (https://www.w3schools.com/html/html5_draganddrop.asp).
  • an application Ai is to be installed on one of the machines Mj.
  • the user can select the application Ai through an application selection interaction and the machine Mj through a machine selection interaction on the user interface.
  • Application selection interaction and Machine selection interactions may each consist of a mouse button press and/or release or click when operated by a mouse, or touching and/or releasing the touch or tap of the screen surface when operated by a touch-sensitive screen, where the respective interaction takes place via the icon/list element that represents the application or machine.
  • the application list element aj can be pulled over the machine list element mi (arrow 10) in a known manner by means of "drag &drop" in order to assign the application Ai to the machine Mj.
  • a compatibility check (arrow 12) is carried out on the server side, i.e. by the administration service.
  • the compatibility test is based on the application information li, the application Ai that is to be installed and the machine information Ej, the machine Mj on which the application is to be installed, checks whether the application is to be installed on the machine or its control unit is suitable. It is checked whether the machine meets the application requirements of the application.
  • the compatibility check can include, for example, one or more of: whether the application is intended for the type of machine or its control unit; whether the machine has the necessary hardware resources for the function of the application, e.g. necessary functional modules, sensors or similar; whether the control unit has sufficient available computing power and/or available storage space; whether other applications necessary for the function of the application are installed, whether there are incompatibilities with already installed applications; whether an application license is available. If the compatibility check is successful and preferably after an installation release, for example via an operating device, the application Ai is installed on the machine Mj or its control unit via the data connection 4 and the application information li and machine information Ej stored by the management service 2 are accordingly updated. For example, the information on the memory space available on the machine is reduced in the machine information and the application is specified as an installed application, or the number of available application licenses is reduced in the application information.
  • the installation takes place after the machine or its control unit establishes the data connection 4 with the administration service 2, i.e. the installation is delayed until the data connection is established, for example when the machine is switched on, in which case an installation release is preferably first detected here.
  • the application and machine information is preferably updated immediately after a successful compatibility check, i.e. before the actual installation, while waiting for the data connection. Provision may also be made here for the update to be provided with a corresponding note that it is provisional. This immediate update has the advantage that if another application is to be installed on the same machine, the marked installation can be taken into account when checking the compatibility of this further application.
  • a corresponding error message is preferably output, in which the cause of the failed compatibility check is specified.
  • the installation can also take place if the compatibility check failed, for example if a peripheral device that is in principle available is not installed on the machine.
  • a corresponding input from the user may be requested, ie a user input is recorded which indicates whether the unsuccessful compatibility check should be ignored, ie the application should be installed anyway.
  • a similar procedure is followed when an application is uninstalled from a machine or control unit. A selection of the application to be uninstalled is therefore first recorded. For example, symbols of the applications installed on the respective machines can be displayed on the user interface next to the machine symbols and can be selected by interaction. Dragging the icon away from the machine may indicate that the application should be uninstalled. It would also be possible to display a menu when selecting the machine or application (e.g. by right-clicking when using a mouse).
  • the selected application to be uninstalled is then uninstalled by the machine when there is a data connection between the management service and the machine's control unit, and the application information and machine information are updated accordingly.
  • a deinstallation release is preferably first recorded and the application is only deinstalled if this is available. If the data connection between the administration service and the control unit of the machine does not exist, the uninstallation waits until the data connection is established by the control unit, with the application information and machine information preferably being updated only after the application to be uninstalled has been uninstalled.
  • FIG. 2 shows a diagram that represents the sequence of the method for providing, in particular for installing, applications according to a preferred embodiment.
  • the method begins with detecting 110 a selection of an application to be installed and detecting 120 a selection of a machine on which or on the control unit of which the application is to be installed.
  • the order of the steps 110, 120 ie the application selection detection and the machine selection detection, can be arbitrary here.
  • a user terminal with a graphical user interface can be used for this purpose, as described in connection with FIG. 1, but in principle it is also possible to record an automatic selection, for example if an application requires other applications to be installed. these others Applications can then be selected automatically and, with the same machine selection, also installed as described below.
  • the compatibility check is carried out in step 130, a check being made in particular as to whether the machine meets the requirements of the application which are necessary for the function of the application.
  • the compatibility check is carried out by the administration service, which carries out the compatibility check using the application information and machine information stored by the administration service.
  • a corresponding error message is generated in preferred step 140, which can also contain information about the causes of the unsuccessful compatibility check. This can be transmitted to the user terminal, for example, in order to inform the user that an error has occurred and, if applicable, the cause of the error, so that the user can possibly take measures to correct the error. Depending on the error message or a corresponding user input, the installation can still be possible.
  • the error message generated can preferably result in an automatic selection of this other application, ie a detection of this au tomatic selection according to step 110 .
  • the procedure is then carried out first for the other automatically selected application (while the selection of the machine remains unchanged) and then again for the originally selected application, so that the compatibility check is now successful (if there are no further errors) and the originally selected application is installed becomes. Provision can be made for this automatic selection or procedure to be confirmed by a user, for example by means of a corresponding query on the user terminal.
  • step 150 the administration service updates the stored application information and machine information (taking into account the changes resulting from the installation, ie the assignment of the application to the machine) and the application is installed , steps 160, 170,
  • step 150 in particular machine information of the selected machine can be updated, which relates to one or more of the following: available memory space of the control unit; installed applications; available computing power of the control unit. The number of available licenses can also be reduced in the application information for the selected application.
  • an installation release or an installation release signal is detected. This indicates whether the installation is released, i.e. allowed, or not. Installation can only take place if the installation release is available. For this purpose, a corresponding request can be sent to an operating device (e.g. a push-up message) and the installation release can be recorded as an operator input.
  • an operating device e.g. a push-up message
  • step 160 when installing the application, it is first checked whether the data connection between the control unit of the selected machine and the administration service exists. If this is the case, in step 170 the application is installed on the control unit of the selected machine, in particular the program code of the application being transmitted to the control unit via the data connection. In this case, the updating (step 150) can be carried out in parallel with the installation (step 170) or immediately after it.
  • step 180 (by the administration service) until the data connection is established and then the installation of the application is carried out in step 190.
  • the installation release (step 155) can, in contrast to what is shown, only be recorded after the data connection has been established. Updating (step 150) occurs Immediately after the compatibility check or after checking whether the data connection exists, eg while waiting for the data connection.
  • initiation data can be stored in the management service for each machine, which is automatically read and evaluated by the machine or its control unit when the data connection is established, with an entry being provided in such initiation data that indicates that an application is to be installed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The invention relates to a method for providing one or more applications to at least one machine, wherein a management service (2) executed in a remote computing unit provides the one or more applications (A1, A2, ... Ai, ... AK) and stores application information (I1, I2, ... Ii, ... IK) about each of the one or more applications and machine information (E1, E2, ... Ej, ... EL) about each of the at least one machine (M1, M2, ... Mj, ... ML), and wherein each of the at least one machine is controlled by means of at least one control unit, which is designed to execute applications and can establish a data connection (4) to the management service, the method comprising: - capturing (110, 120) a selection of an application (Ai) from among the one or more applications and a selection of a machine (Mj) from among the at least one machine; - the management service carrying out (130) a compatibility check (12) between the selected application and the selected machine on the basis of the machine information (Ii) and the application information (Mj); - updating (150) the machine information relating to the selected machine and the application information relating to the selected application.

Description

Beschreibung description
Titel title
Verfahren zur Bereitstellung einer oder mehrerer Anwendungen an wenigstens eine Maschine Method for providing one or more applications to at least one machine
Die vorliegende Erfindung betrifft ein Verfahren zur Bereitstellung einer oder mehrerer Anwendungen an wenigstens eine Maschine sowie ein Computerpro gramm zu dessen Durchführung. The present invention relates to a method for providing one or more applications to at least one machine and a computer program for its implementation.
Hintergrund der Erfindung Background of the Invention
Der Funktionsumfang moderner, durch Steuergeräte bzw. Steuereinheiten ge steuerter Maschinen kann durch Erweiterung einer Grundfunktionalität mittels zusätzlicher Hardware bzw. Anbauteile und Software erheblich gesteigert wer den. Um zusätzliche Hardware einsetzen zu können, muss im Allgemeinen ein entsprechendes Computerprogramm bzw. Softwaremodul auf dem Steuergerät installiert werden, etwa ein Computerprogramm, das die Hardware steuert und/oder von der Hardware gewonnene Daten ausliest. Ebenso kann die Funkti onalität bei unveränderter Maschine durch zusätzliche Software erweitert wer den. The range of functions of modern machines controlled by control devices or control units can be significantly increased by expanding a basic functionality using additional hardware or add-on parts and software. In order to be able to use additional hardware, a corresponding computer program or software module must generally be installed on the control unit, for example a computer program that controls the hardware and/or reads out data obtained from the hardware. The functionality can also be expanded with additional software without changing the machine.
Dies ist bei Landmaschinen wie auch bei anderen industriellen Maschinen der Fall. Eine Feldspritze kann etwa mit einem Gestänge, das eine abschnittsweise Höhenverstellung der Spritzdüsen ermöglicht, und mit (Boden-) Abstandssenso ren versehen sein. Ein im Steuergerät ausgeführtes Bodennachführ-Programm kann dann dazu eingerichtet sein, Messdaten der Abstandssensoren auszuwer ten und das Gestänge so zu verstellen, dass ein möglichst gleichmäßiger Ab stand zum Boden bzw. zum Pflanzenbewuchs eingehalten wird, um eine gleich mäßige Verteilung von Spritzmittel über die Pflanzen zu gewährleisten. Hier ist also zusätzliche Hardware in Form der Abstandssensoren und ein zusätzliches Softwaremodul in Form des Bodennachführ-Programms vorhanden. Ein Dün gerstreuer könnte etwa durch ein entsprechendes Softwaremodul um die Funkti onalität erweitert werden, die ausgebrachte Düngermenge in Abhängigkeit von der Position, welche von einem am Traktor, an dem der Düngerstreuer ange bracht ist, befestigten GPS-Gerät ermittelt wird, zu steuern. This is the case with agricultural machines as well as with other industrial machines. A field sprayer can be provided with a linkage, which enables the height of the spray nozzles to be adjusted in sections, and with (ground) distance sensors. A soil tracking program running in the control unit can then be set up to evaluate measured data from the distance sensors and to adjust the linkage in such a way that the distance to the ground or to the vegetation is as uniform as possible, in order to distribute spray agent evenly over the plants to guarantee. Here is So there is additional hardware in the form of the distance sensors and an additional software module in the form of the ground tracking program. A fertilizer spreader could, for example, be expanded with a corresponding software module to control the amount of fertilizer spread depending on the position, which is determined by a GPS device attached to the tractor to which the fertilizer spreader is attached.
Diese Softwaremodule, im Rahmen dieser Anmeldung als 'Anwendungen' be zeichnet, können durch einen Cloud-Dienst bereitgestellt werden, wobei die Ma schine zumindest zeitweise über ein Netzwerk, insbesondere über das soge nannte Internet, mit diesem verbunden werden kann, um Daten auszutauschen. In diesem Cloud-Dienst können durch verschiedene Anbieter (auch vom Herstel ler der Maschine verschiedene Anbieter) Funktionalitäten in Form von Software modulen bzw. Anwendungen bereitgestellt werden, die ein Besitzer der Maschi ne, je nach Bedarf installieren und verwenden kann. These software modules, referred to as 'applications' in the context of this application, can be provided by a cloud service, with the machine being able to be connected to it at least temporarily via a network, in particular via the so-called Internet, in order to exchange data. In this cloud service, functionalities in the form of software modules or applications can be provided by various providers (also providers different from the manufacturer of the machine), which an owner of the machine can install and use as required.
Offenbarung der Erfindung Disclosure of Invention
Erfindungsgemäß werden ein Verfahren zur Bereitstellung einer oder mehrerer Anwendungen an wenigstens eine Maschine sowie ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprü che sowie der nachfolgenden Beschreibung. According to the invention, a method for providing one or more applications to at least one machine and a computer program for its implementation with the features of the independent patent claims are proposed. Advantageous configurations are the subject of the subclaims and the following description.
Entsprechend der Erfindung wird nach Erfassen einer Auswahl einer Anwendung und einer Auswahl einer Maschine bereits vor der eigentlichen Installation der ausgewählten Anwendung auf der ausgewählten Maschine durch einen in einer entfernten bzw. maschinenfremden Recheneinheit ausgeführten bzw. implemen tierten Verwaltungs-Dienst eine Kompatibilitätsprüfung durchgeführt, wobei für die Kompatibilitätsprüfung durch den Verwaltungs-Dienst gespeicherte bzw. ver waltete Maschineninformationen und Anwendungsinformationen verwendet wer den, die jeweils entsprechend aktualisiert werden. Fehler, etwa für die Funktion der Anwendung notwendige aber an der Maschine nicht installierte Funktions baugruppen oder Sensoren, können so frühzeitig erkannt und gegebenenfalls behoben werden. Weiterhin ist das erfindungsgemäße Verfahren vorteilhaft, da Auswahl der Anwendung und Maschine zeitlich und räumlich getrennt von der Installation der Anwendung erfolgen kann. According to the invention, a compatibility check is carried out after detecting a selection of an application and a selection of a machine before the actual installation of the selected application on the selected machine by a remote or non-machine computing unit running or implemen oriented management service, wherein for the compatibility check by the management service stored or managed machine information and application information are used, which are respectively updated accordingly. Errors, such as functional assemblies or sensors that are required for the function of the application but are not installed on the machine, can thus be detected at an early stage and, if necessary, corrected be resolved. Furthermore, the method according to the invention is advantageous since the selection of the application and machine can take place separately in time and space from the installation of the application.
Die Auswahl der Anwendung erfolgt dabei aus einer oder mehreren (verfügba ren) Anwendungen. Ebenso erfolgt die Auswahl der Maschine aus einer oder mehreren Maschinen bzw. aus wenigstens einer Maschine. Die eine oder mehre ren Anwendungen werden durch den Verwaltungs-Dienst bereitgestellt, der ebenso die Anwendungsinformation zu jeder der einen oder mehreren Anwen dungen und die Maschineninformation zu jeder der wenigstens einen Maschine speichert. Jede der wenigstens einen Maschine ist durch wenigstens eine Steu ereinheit gesteuert, die dazu eingerichtet ist, Anwendungen auszuführen, und die eine Datenverbindung mit einem Verwaltungs-Dienst hersteilen kann. The application is selected from one or more (available) applications. The machine is also selected from one or more machines or from at least one machine. The one or more applications are provided by the management service, which also stores application information about each of the one or more applications and machine information about each of the at least one machine. Each of the at least one machine is controlled by at least one controller configured to execute applications and capable of communicating with a management service.
Ein Verwaltungs-Dienst gemäß der Erfindung kann als Computerprogramm an gesehen werden, das in der entfernten Recheneinheit (etwa einem eventuell ver teilten Serversystem) implementiert ist bzw. ausgeführt wird und über ein Netz werk (z.B. Internet) Dienste, z.B. Bereitstellen von Daten oder Rechenleistung, Durchführen von Verwaltungsaufgaben und Speichern damit verbundener Daten, o.Ä., anbietet. "Entfernt" bezieht sich darauf, dass der Verwaltungs-Dienst weder im Steuergerät der Maschine noch in einem Benutzerendgerät ausgeführt wird. Der Verwaltungs-Dienst kann also als "Cloud-Dienst" angesehen werden, der in der umgangssprachlichen "Cloud" implementiert ist. A management service according to the invention can be viewed as a computer program that is implemented or executed in the remote computing unit (such as a possibly distributed server system) and provides services over a network (e.g. Internet), e.g. providing data or computing power , performing administrative tasks and storing related data, or similar. "Remote" refers to the management service not running on either the machine's controller or a user terminal. The management service can thus be viewed as a "cloud service" implemented in the colloquial "cloud".
Die Steuereinheit ist eine Recheneinheit, umfasst also einen oder mehrere Pro zessoren (mit jeweils eventuell mehreren Rechenkernen), einen Arbeitsspeicher (RAM) und einen nichtflüchtigen Speicher und/oder kann auf einen nichtflüchti gen Speicher zugreifen. Weiterhin sind Schnittstellen vorgesehen, insbesondere zur Herstellung der Datenverbindung. Unter Schnittstellen sind sowohl physische Schnittstellen, insbesondere Steckverbindungen, als auch softwaretechnische Aufrufe oder Nachrichten zu verstehen. Bei der Steuereinheit kann es sich um ein direkt in der Maschine vorgesehenes Steuergerät handeln. Allgemeiner kann die Steuereinheit eine von der Maschine getrennte Rechenein heit sein, die über eine Schnittstelle (etwa ISOBUS) mit der Maschine bzw. deren Steuergerät zur Datenkommunikation verbindbar ist. Die Steuereinheit kann über diese Schnittstelle zumindest einige Funktionen der Maschine steuern, hierzu wirkt die Steuereinheit mit dem Steuergerät zusammen und kann optional auf dessen Ressourcen, z.B. nichtflüchtigen Speicher, zugreifen. Im Fall von Land maschinen kann die Steuereinheit etwa an einem Traktor angeordnet sein, an den verschiedene Landmaschinen angebracht werden können. Eine Steuerein heit kann also für mehrere Maschinen vorgesehen sein, wobei für Anwendungen für mehrere Maschinen auf der Steuereinheit installiert werden können. The control unit is an arithmetic unit, ie it comprises one or more processors (each with possibly several arithmetic cores), a random access memory (RAM) and a non-volatile memory and/or can access a non-volatile memory. Interfaces are also provided, in particular for establishing the data connection. Interfaces are to be understood as meaning both physical interfaces, in particular plug-in connections, and software calls or messages. The control unit can be a control unit provided directly in the machine. More generally, the control unit can be a computing unit that is separate from the machine and can be connected to the machine or its control unit for data communication via an interface (such as ISOBUS). The control unit can control at least some functions of the machine via this interface; for this purpose the control unit interacts with the control unit and can optionally access its resources, eg non-volatile memory. In the case of agricultural machines, the control unit can be arranged on a tractor, for example, to which various agricultural machines can be attached. A control unit can therefore be provided for several machines, with applications for several machines being able to be installed on the control unit.
Beim Installieren und Deinstallieren von Anwendungen wird jeweils ein entspre chendes Installations- bzw. Deinstallationsprogramm auf der Steuereinheit aufge rufen und es werden die benötigten Daten über die Datenverbindung übertragen, beim Installieren werden insbesondere die Programmdaten der Anwendung übertragen und durch die Steuereinheit gespeichert (im in der Steuereinheit vor gesehenen nichtflüchtigen Speicher und/oder in einem nichtflüchtigen Speicher, auf den die Steuereinheit zugreifen kann, z.B. auch in einem nichtflüchtigen ei nes Steuergeräts der Maschine). When installing and uninstalling applications, a corresponding installation or deinstallation program is called up on the control unit and the required data is transmitted via the data connection. During installation, the program data of the application in particular are transmitted and stored by the control unit (in the non-volatile memory provided in the control unit and/or in a non-volatile memory which the control unit can access, e.g. also in a non-volatile ei nes control unit of the machine).
Zur Vereinfachung wird im Rahmen dieser Anmeldung auch vom Installieren (bzw. Deinstallieren) einer Anwendung auf einer Maschine gesprochen. Dies ist so zu verstehen, dass die Anwendung bzw. der Programmcode der Anwendung auf der Steuereinheit der Maschine installiert (bzw. von dieser deinstalliert) wird, also in einem Speicher der Steuereinheit oder einem Speicher, auf den die Steu ereinheit zugreifen kann, gespeichert wird, wobei die Steuereinheit dazu einge richtet ist, den Programmcode der Anwendung auszuführen. For the sake of simplicity, this application also refers to installing (or uninstalling) an application on a machine. This is to be understood in such a way that the application or the program code of the application is installed (or uninstalled) on the control unit of the machine, ie it is stored in a memory of the control unit or a memory which the control unit can access , wherein the control unit is set up to execute the program code of the application.
Bevorzugt umfasst das Verfahren ein Erfassen einer Installations-Freigabe, wo bei bevorzugt die Installations-Freigabe mittels eines Bediengeräts erfasst wird, das mit dem Verwaltungs-Dienst und/oder mit der Steuereinheit der ausgewähl ten Maschine über eine Kommunikationsverbindung verbunden ist. Auf diese Weise kann verhindert werden, dass die Installation der Anwendung ausgelöst wird, während die Maschine produktiv benutzt wird, d.h. während die Maschinen einen produktiven Arbeitsauftrag abarbeitet und dieser in der Ausführung gestört wird. Weiter bevorzugt wird durch den Verwaltungs-Dienst bzw. die Steuereinheit eine Installations-Freigabe-Anforderung an das Bediengerät gesendet, dort ei nem Benutzer angezeigt und in Reaktion auf eine entsprechende Eingabe des Benutzers die Installations-Freigabe erfasst. Das Bediengerät kann beispielswei se ein Smartphone des Benutzers, eine Bedieneinheit an der Maschine, ein Touchscreen für die Bedienung der Maschine, eine Bedientaste an der Maschi ne, ein Computer oder Ähnliches sein. The method preferably includes detecting an installation release, with the installation release preferably being recorded using an operating device which is connected to the administration service and/or to the control unit of the selected machine via a communication link. In this way it can be avoided that the installation of the application is triggered while the machine is being used productively, ie while the machines is processing a productive work order and its execution is disrupted. More preferably, the administration service or the control unit sends an installation release request to the operating device, displays it there to a user and records the installation release in response to a corresponding input from the user. The operating device can, for example, be a smartphone belonging to the user, an operating unit on the machine, a touchscreen for operating the machine, an operating button on the machine, a computer or the like.
Bevorzugt wird, bei erfolgreicher Kompatibilitätsprüfung, wenn die Datenverbin dung der Steuereinheit mit dem Verwaltungs-Dienst besteht, die ausgewählte Anwendung auf der Steuereinheit der ausgewählten Maschine installiert, oder, wenn unmittelbar nach erfolgreicher Kompatibilitätsprüfung die Datenverbindung nicht besteht, die ausgewählte Anwendung installiert, nachdem die Datenverbin dung von der Steuereinheit der ausgewählten Maschine hergestellt wurde; wobei die Anwendungsinformationen und die Maschineninformationen unmittelbar nach der erfolgreichen Kompatibilitätsprüfung aktualisiert werden. In beiden Fällen er folgt gegebenenfalls die Installation der ausgewählten Anwendung nur dann, wenn die Installations-Freigabe vorliegt. Die Aktualisierung der Anwendungsin formationen und der Maschineninformationen erfolgt also, während auf die Da tenverbindung gewartet wird. Dies ist vorteilhaft, da so bei etwaiger Installation einerweiteren Anwendung diese weitere Installation bzw. die damit verbundene Kompatibilitätsprüfung bereits die geänderten Maschineninformationen und An wendungsinformation berücksichtigen kann. Preference is given to installing the selected application on the control unit of the selected machine if the compatibility check is successful, if the data connection between the control unit and the management service exists, or if the data connection does not exist immediately after a successful compatibility check, the selected application is installed after the data connection has been established from the control unit of the selected machine; where the application information and the machine information are updated immediately after the successful compatibility check. In both cases, the selected application will only be installed if the installation release is available. The updating of the application information and the machine information is thus performed while waiting for the data connection. This is advantageous because if another application is installed, this further installation or the compatibility check associated with it can already take into account the changed machine information and application information.
Vorzugsweise wird, wenn die Kompatibilitätsprüfung nicht erfolgreich ist, eine Fehlermeldung erzeugt; wobei die Fehlermeldung weiter bevorzugt Angaben über eine Ursache der nicht erfolgreichen Kompatibilitätsprüfung enthält. Durch die Fehlermeldung kann ein Benutzer frühzeitig, vor einer Inbetriebnahme der Maschine erkennen, dass die Installation der Anwendung fehlschlug. Aufgrund der Angaben über die Ursache kann ein Benutzer erkennen, wo das Problem liegt, und möglicherweise Maßnahmen ergreifen, dieses zu beheben. Bei Feh lern, die behoben werden können, etwa wenn ein vorhandenes Peripheriegerät, z.B. ein Sensor, derzeitig nicht an der Maschine installiert ist, aber durch den Be- nutzer installiert werden kann, kann die Installation dennoch erfolgen. Ist die Ur sache des Fehlers andererseits durch den Benutzer nicht behebbar, z.B. nicht ausreichender Speicherplatz, kann die Installation nicht durchgeführt werden. Preferably, if the compatibility check is unsuccessful, an error message is generated; the error message more preferably containing information about a cause of the unsuccessful compatibility check. The error message allows a user to recognize early on, before the machine is started up, that the installation of the application failed. With the information about the cause, a user can identify where the problem lies and possibly take action to fix it. In the case of errors that can be rectified, for example if an existing peripheral device, e.g. a sensor, is not currently installed on the machine but is user can be installed, the installation can still take place. On the other hand, if the cause of the error cannot be remedied by the user, eg insufficient storage space, the installation cannot be carried out.
Entsprechend wird weiter bevorzugt in Abhängigkeit von der Fehlermeldung und/oder einer Benutzereingabe die Anwendung nicht installiert oder, wenn die Datenverbindung der Steuereinheit mit dem Verwaltungs-Dienst besteht, die ausgewählte Anwendung auf der Steuereinheit der aus-gewählten Maschine in stalliert, oder, wenn die Datenverbindung nicht besteht, die ausgewählte Anwen dung installiert, nachdem die Daten-verbindung von der Steuereinheit der aus gewählten Maschine hergestellt wurde, wobei die Anwendungsinformationen und die Maschineninformationen unmittelbar nach der Kompatibilitätsprüfung aktuali siert werden, wobei in beiden Fällen, falls abhängig von Anspruch 2, die Installa tion der ausgewählten Anwendung nur dann erfolgt, wenn die Installations- Freigabe vorliegt. Die Benutzereingabe kann über ein Benutzerendgerät erfasst werden, wobei auf diesem z.B. eine Eingabe abgefragt wird, ob der Fehler über gangen werden soll bzw. ob oder ob nicht die Anwendung (trotz Fehlermeldung) installiert werden soll. Accordingly, depending on the error message and/or a user input, the application is preferably not installed or, if the data connection between the control unit and the management service is established, the selected application is installed on the control unit of the selected machine, or, if the data connection does not exist, the selected application is installed after the data connection has been established by the control unit of the selected machine, the application information and the machine information being updated immediately after the compatibility check, in both cases if dependent on claim 2, the selected application will only be installed if the installation release is available. The user input can be recorded via a user terminal, on which, for example, an input is queried as to whether the error should be skipped or whether or not the application (despite the error message) should be installed.
Das Verfahren umfasst bevorzugt ein Erfassen einer Auswahl einer zu deinstal lierenden Anwendung, die auf einer der wenigstens einen Maschine installiert ist; wenn die Datenverbindung der Steuereinheit der Maschine mit dem Verwaltungs- Dienst besteht, ein Deinstallieren der zu deinstallierenden Anwendung von der Steuereinheit der Maschine, oder, wenn die Datenverbindung der Steuereinheit der Maschine mit dem Verwaltungs-Dienst nicht besteht, ein Deinstallieren der zu deinstallierenden Anwendung von der Steuereinheit der Maschine, nachdem die Datenverbindung von der Steuereinheit der Maschine hergestellt wurde, und ein Aktualisieren, vorzugsweise erst nach der Deinstallation, der Maschineninforma tionen der Maschine und der Anwendungsinformationen der zu deinstallierenden Anwendung. The method preferably includes detecting a selection of an application installed on one of the at least one machine to be deinstalled; if the data connection of the machine's control unit with the administration service is established, uninstalling the application to be uninstalled from the machine's control unit, or, if the data connection of the machine's control unit with the administration service is not established, uninstalling the application to be uninstalled from the machine's control unit after the data connection has been established by the machine's control unit, and updating, preferably only after uninstallation, of the machine information of the machine and the application information of the application to be uninstalled.
Weiter bevorzugt wird in dieser Ausführung des Verfahrens eine Deinstallations- Freigabe erfasst und die Deinstallation erfolgt nur dann, wenn die Deinstallations- Freigabe vorliegt; wobei bevorzugt die Deinstallations-Freigabe mittels eines Be- diengeräts erfasst wird, das mit dem Verwaltungs-Dienst und/oder mit der Steu ereinheit der ausgewählten Maschine über eine Kommunikationsverbindung ver bunden ist. Dadurch kann verhindert werden, dass die Anwendung deinstalliert wird während die Maschine benutzt wird, etwa wenn ein Mitarbeiter die Maschine samt Anwendung noch benutzt während gleichzeitig ein anderer die Anwendung deinstallieren möchte. More preferably, in this embodiment of the method, a deinstallation release is recorded and the deinstallation only takes place if the deinstallation release is available; whereby preferably the deinstallation release by means of a service device is recorded, which is connected to the management service and/or to the control unit of the selected machine via a communication link. This can prevent the application from being uninstalled while the machine is in use, for example if an employee is still using the machine and the application while another person wants to uninstall the application.
Bevorzugt umfassen die Anwendungsinformation für jede der einen oder mehre ren Anwendungen eines oder mehreres von Anforderungen an Maschinen und Steuereinheiten, die mit der Anwendung kompatibel sind, insbesondere Typ der Maschine und/oder der Steuereinheit, installierte Funktionsbaugruppen, installier te Sensoren; benötigter Speicherplatz; benötigte andere Anwendungen; benötig te Betriebssystemversion; benötigte Rechenleistung. Bevorzugt umfassen die Maschineninformationen der wenigstens einen Maschine jeweils eines oder meh reres von einem Typ der Maschine; vorhandene Hardwareressourcen der Ma schine, insbesondere installierte Funktionsbaugruppen und installierte Sensoren; einem Typ der Steuereinheit der Maschine; verfügbarer Speicherplatz der Steu ereinheit; Betriebssystemversion; installierte Anwendungen; verfügbare Rechen leistung der Steuereinheit. Diese Anwendungsinformationen bzw. Maschinenin formationen erlauben ein schnelles Erkennen einer Inkompatibilität. Preferably, the application information for each of the one or more applications includes one or more of requirements for machines and control units that are compatible with the application, in particular type of machine and/or control unit, installed functional assemblies, installed sensors; required storage space; needed other applications; required operating system version; required computing power. Preferably, the machine information of the at least one machine each includes one or more of a type of machine; existing hardware resources of the machine, in particular installed function modules and installed sensors; a type of control unit of the machine; available memory of the control unit; operating system version; installed applications; available computing power of the control unit. This application information or machine information allows incompatibility to be identified quickly.
Bevorzugt werden die Auswahl der Anwendung und die Auswahl der Maschine mittels eines Benutzerendgeräts, das mit dem Verwaltungs-Dienst über eine Kommunikationsverbindung verbunden ist, erfasst; wobei gegebenenfalls die Auswahl der zu deinstallierenden Anwendung mittels des Benutzerendgeräts er fasst wird. Weiter bevorzugt wird auf dem Benutzerendgerät eine Benutzerober fläche bereitgestellt, durch die die Anwendungen und die Maschinen in Form von Symbolen und/oder Listenelementen angezeigt werden; wobei die Benutzerober fläche eingerichtet ist, eine Anwendungsauswahl-Interaktion als Auswahl der Anwendung und eine Maschinenauswahl-Interaktion als Auswahl der Maschine zu erfassen; wobei noch weiter bevorzugt zwischen der Anwendungsauswahl- Interaktion und der Maschinenauswahl-Interaktion oder zwischen der Maschi- nenauswahl-lnteraktion und der Anwendungsauswahl-Interaktion ein gezogenes Symbol oder Listenelement der Anwendung bzw. der Maschine entsprechend ei- ner Zieh-Interaktion angezeigt wird. Durch diese Merkmale wird eine einfache Bedienung, d.h. eine einfache Installation bzw. Deinstallation durch einen Benut zer ermöglicht. Das Benutzerendgerät kann verschieden von dem oben genann ten Bediengerät sein. Es ist aber auch möglich, dass beide identisch sind. Preferably, the selection of the application and the selection of the machine are captured by means of a user terminal connected to the management service via a communication link; where appropriate, the selection of the application to be uninstalled is recorded by means of the user terminal. More preferably, a user interface is provided on the user terminal, through which the applications and the machines are displayed in the form of icons and/or list items; wherein the user interface is configured to detect an application selection interaction as a selection of the application and a machine selection interaction as a selection of the machine; with even more preferably between the application selection interaction and the machine selection interaction or between the machine selection interaction and the application selection interaction a dragged icon or list element of the application or the machine corresponding to a displayed during a drag interaction. These features allow easy operation, ie easy installation and deinstallation by a user. The user terminal can be different from the above-mentioned operating device. But it is also possible that both are identical.
Vorzugsweise wird gegebenenfalls die Fehlermeldung an das Benutzerendgerät übermittelt und von diesem angezeigt. So kann ein Fehler (z.B. eine fehlgeschla gene Kompatibilitätsprüfung) dem Benutzer direkt während der Interaktion ange zeigt werden. Gegebenenfalls wird weiter bevorzugt die Benutzereingabe erfasst, wobei die Benutzereingabe anzeigt, ob oder ob nicht die Anwendung installiert werden soll (trotz Fehlermeldung). If necessary, the error message is preferably transmitted to the user terminal and displayed by it. In this way, an error (e.g. a failed compatibility check) can be displayed to the user directly during the interaction. If appropriate, the user input is preferably recorded, with the user input indicating whether or not the application is to be installed (despite an error message).
Die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Com puterprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller von dem Verwaltungs-Dienst Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn eine ausfüh rende, mit einem Netzwerk verbundene Recheneinheit, z.B. ein Server oder ein Serversystem, noch für weitere Aufgaben genutzt wird und daher ohnehin vor handen ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. The implementation of a method according to the invention in the form of a computer program or computer program product with program code for carrying out all of the administrative service method steps is advantageous because this causes particularly low costs, especially if an executing computing unit connected to a network, e.g. a server or a Server system, is used for other tasks and is therefore available anyway. Suitable data carriers for providing the computer program are, in particular, magnetic, optical and electrical memories, such as hard drives, flash memories, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.).
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Be schreibung und der beiliegenden Zeichnung. Further advantages and refinements of the invention result from the description and the attached drawing.
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schema tisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben. The invention is illustrated schematically in the drawing using exemplary embodiments and is described below with reference to the drawing.
Kurze Beschreibung der Zeichnungen Brief description of the drawings
Figur 1 illustriert ein Verfahren zur Bereitstellung von Anwendungen anhand der beteiligten Elemente und deren Zusammenwirken; und Figur 2 zeigt ein Diagramm, das den Ablauf des Verfahrens zur Bereitstellung von Anwendungen gemäß einer bevorzugten Ausführungsform darstellt. FIG. 1 illustrates a method for providing applications based on the elements involved and their interaction; and FIG. 2 shows a diagram that shows the sequence of the method for providing applications according to a preferred embodiment.
Ausführungsform(en) der Erfindung embodiment(s) of the invention
Figur 1 illustriert ein Verfahren zur Bereitstellung von Anwendungen für Maschi nen anhand der beteiligten Elemente und deren Zusammenwirken in einer be vorzugten Ausführungsform. In der Figur sind mehrere Maschinen M1, M2, ... Mj, ... ML, etwa Landmaschinen eines landwirtschaftlichen Betriebs, dargestellt, für die Anwendungen bereitgestellt werden sollen, d.h. auf deren Steuereinheit An wendungen installiert und/oder deinstalliert werden sollen. Informationen über je de der Maschinen, sogenannte Maschineninformationen E1, E2, ... Ej, ... EL, werden durch einen Verwaltungs-Dienst 2 gespeichert, d.h. in einem Speicher der Recheneinheit, auf der der Verwaltungs-Dienst ausgeführt wird, gespeichert bzw. in einem Speicher, auf den die Recheneinheit zugreifen kann. Die Maschi neninformationen können zumindest teilweise von einem Benutzer des Verwal tungs-Dienstes, z.B. dem landwirtschaftlichen Betrieb, an den Verwaltungs- Dienst übertragen werden, etwa bei einer Registrierung einer Maschine beim Verwaltungs-Dienst, oder eventuell auch (nach Registrierung) automatisiert durch den Verwaltungs-Dienst über die Datenverbindung von der Maschine ab gerufen werden. FIG. 1 illustrates a method for providing applications for machines using the elements involved and their interaction in a preferred embodiment. The figure shows a number of machines M1, M2, . Information about each of the machines, so-called machine information E1, E2, ... Ej, ... EL, is stored by a management service 2, i.e. stored or read in a memory of the processing unit on which the management service is executed in a memory that can be accessed by the computing unit. The machine information can be at least partially transmitted by a user of the administration service, e.g. the farm, to the administration service, for example when registering a machine with the administration service, or possibly also (after registration) automatically by the administration service can be called up from the machine via the data connection.
Die jeweiligen Maschineninformationen können eines oder mehreres umfassen von bzw. über einen Typ der Maschine; vorhandene Hardware- Ressourcen der Maschine, insbesondere installierte Funktionsbaugruppen, installierte Sensoren o.Ä.; einen Typ der Steuereinheit der Maschine; verfügbarer Speicherplatz der Steuereinheit; Betriebssystemversion; installierte Software; installierte Anwen dungen; verfügbare Rechenleistung der Steuereinheit (die verfügbare bzw. benö tigte Rechenleistung kann davon abhängen, welche und wie viele andere An wendungen ausgeführt werden und ebenfalls Rechenleistung benötigen, ist also im Sinne einer freien Rechenleistung zu sehen). Die Maschinen können eine Datenverbindung 4 mit dem Verwaltungs-Dienst hersteilen. Die Datenverbindung erfolgt über ein Netzwerk, insbesondere über das Internet, wobei die Verbindung der Maschine mit dem Netzwerk drahtgebun den, etwa über Ethernet, oder drahtlos, etwa über eine Mobilfunkverbindung oder über WiFi, sein kann. Hierbei ist zu beachten, dass die Datenverbindung eventu ell nur zeitweise bestehen kann, z.B. besteht bei ausgeschalteter Maschine keine Datenverbindung oder es kann Vorkommen, dass bei einer mobilen Maschine die Datenverbindung abbricht, etwa wenn sich die Maschine außerhalb der Funk reichweite eines drahtlosen Netzes befindet. Auch kann es Vorkommen, dass die Datenverbindung indirekt, etwa über eine weitere Maschine, erfolgt. Eine Land maschine kann beispielsweis mit einem Datenkabel mit einem Traktor verbunden sein, der wiederum über eine Mobilfunkverbindung mit dem Netzwerk verbunden ist. The respective machine information may include one or more of a type of machine; existing hardware resources of the machine, in particular installed function modules, installed sensors or similar; a type of control unit of the machine; available storage space of the control unit; operating system version; installed software; installed applications; Available computing power of the control unit (the available or required computing power can depend on which and how many other applications are being run and also require computing power, is therefore to be seen in the sense of free computing power). The machines can establish a data connection 4 with the administration service. The data connection takes place via a network, in particular via the Internet, with the machine being able to be connected to the network by wire, for example via Ethernet, or wirelessly, for example via a mobile radio connection or via WiFi. It should be noted that the data connection may only exist temporarily, e.g. there is no data connection when the machine is switched off or the data connection of a mobile machine may be interrupted, for example if the machine is outside the radio range of a wireless network. It can also happen that the data connection is indirect, for example via another machine. For example, an agricultural machine can be connected to a tractor with a data cable, which in turn is connected to the network via a cellular connection.
Die verfügbaren Anwendungen A1, A2, ... Ai, ... AK und zu jeder Anwendung ge hörige Anwendungsinformationen 11, I2, ... li, ... IK werden ebenfalls durch den Verwaltungs-Dienst 2 bereitgestellt bzw. gespeichert, also in einem Speicher ge speichert, auf den die Recheneinheit Zugriff hat. Hierbei werden die Anwendun gen und die Anwendungsinformationen von einem Hersteller bzw. Programmie rer der Anwendung, z.B. einem Maschinenhersteller oder Anwendungshersteller, über ein Netzwerk an den Verwaltungs-Dienst übertragen und durch diesen dann gespeichert. The available applications A1, A2, . . . Ai, . . . AK and application information 11, I2, . . . li, stored in a memory to which the processing unit has access. In this case, the applications and the application information are transmitted from a manufacturer or programmer of the application, e.g. a machine manufacturer or application manufacturer, via a network to the management service and are then stored by the latter.
Die jeweiligen Anwendungsinformationen betreffen bzw. umfassen Anwen dungsanforderungen, die die Maschine aufweisen muss, um die Anwendung da rauf installieren zu können. Die Anwendungsanforderungen können eines oder mehreres umfassen von bzw. über einen Typ der Maschine, für die die Anwen dung vorgesehen ist; benötigte Hardware-Ressourcen der Maschine, insbeson dere installierte Funktionsbaugruppen, installierte Sensoren o.Ä.; Typ der Steu ereinheit, die benötigt wird; benötigter Speicherplatz; benötigte Betriebssystem version; benötigte andere Anwendungen; benötigte Rechenleistung. Weiterhin können die Anwendungsinformationen auch weitere Informationen umfassen, etwa eine Anzahl verfügbarer Anwendungs-Lizenzen. Weiterhin ist in Figur 1 ein Benutzerendgerät 6 dargestellt. Dieses kann z.B. ein PC, ein Tablet, ein Smartphone, o.Ä. sein. Das Benutzerendgerät kann über eine Kommunikationsverbindung 8 über ein Netzwerk, z.B. das sogenannte Internet, eine Verbindung mit dem Verwaltungs-Dienst hersteilen. Die Verbindung vom Benutzerendgerät zum Netzwerk kann wieder drahtgebunden oder drahtlos er folgen. The respective application information relates to or includes application requirements that the machine must have in order to be able to install the application on it. The application requirements may include one or more of a type of machine for which the application is intended; required hardware resources of the machine, in particular installed function modules, installed sensors or similar; type of control unit required; required storage space; required operating system version; needed other applications; required computing power. Furthermore, the application information can also include other information, such as a number of available application licenses. A user terminal 6 is also shown in FIG. This can be, for example, a PC, a tablet, a smartphone or similar. The user terminal can establish a connection with the management service via a communication connection 8 over a network, eg the so-called Internet. The connection from the user terminal to the network can again be wired or wireless.
Nach Herstellen der Kommunikationsverbindung, und gegebenenfalls nach Au- thentifizierung des Benutzers, kann der Benutzer die Maschinen im Verwaltungs- Dienst verwalten, insbesondere Anwendungen auf Steuereinheiten für Maschi nen installieren oder deinstallieren. Dazu werden auf einer grafischen Benutzer oberfläche des Benutzerendgeräts die verfügbaren Anwendungen und die Ma schinen in Form von Anwendungssymbolen bzw. Anwendungslistenelementen a1, a2, ... ai, ... aK und in Form von Maschinensymbolen bzw. Maschinenlisten elementen m1, m2, ... mj, ... ml_ dargestellt, hier beispielsweise jeweils als Lis tenelemente (Kombinationen sind möglich, z.B. eine Liste mit Symbolen). Eben so können zumindest Teile i1, i2, ... ii, ... iK der Anwendungsinformation (z.B. An zahl verfügbarer Lizenzen) und Teile e1, e2, ... ej, ... iL der Maschineninformatio nen (z.B. auf der jeweiligen Maschine installierte Anwendungen, installierte Funk tionsbaugruppen, usw.) dargestellt werden. After the communication connection has been established and, if necessary, after the user has been authenticated, the user can manage the machines in the administration service, in particular install or uninstall applications on control units for machines. For this purpose, the available applications and machines in the form of application symbols or application list elements a1, a2, ... ai, ... aK and in the form of machine symbols or machine list elements m1, m2, . .. mj, ... ml_ represented here, for example, as list elements (combinations are possible, e.g. a list with symbols). Likewise, at least parts i1, i2, ... ii, ... iK of the application information (e.g. number of available licenses) and parts e1, e2, ... ej, ... iL of the machine information (e.g. on the respective Machine installed applications, installed function modules, etc.) are shown.
Die Benutzeroberfläche kann durch eine eigens zur Maschinen- und Anwen dungsverwaltung vorgesehene, auf dem Benutzerendgerät ausgeführte Verwal tungssoftware bereitgestellt werden (die auch die Kommunikationsverbindung zum Verwaltungs-Dienst herstellt). Bevorzugt ist allerdings vorgesehen, die Be nutzeroberfläche als Webanwendung durch den Verwaltungs-Dienst bereitzustel len. Hierzu kann etwa HTML5 (W3C Recommendation) verwendet werden, das insbesondere die Implementierung von 'Drag & Drop'-Mechanismen ermöglicht (https://www.w3schools.com/html/html5_draganddrop.asp). The user interface may be provided by dedicated machine and application management management software running on the user terminal (which also provides the communications link to the management service). However, provision is preferably made for the user interface to be made available as a web application by the administration service. HTML5 (W3C Recommendation) can be used for this purpose, which in particular enables the implementation of 'drag & drop' mechanisms (https://www.w3schools.com/html/html5_draganddrop.asp).
Beispielsweise soll auf einer der Maschinen Mj eine Anwendung Ai installiert werden. Der Benutzer kann dazu auf der Benutzeroberfläche die Anwendung Ai durch eine Anwendungsauswahl-Interaktion und die Maschine Mj durch eine Ma- schinenauswahl-lnteraktion auswählen. Anwendungsauswahl-Interaktion und Maschinenauswahl-Interaktion können jeweils, bei Bedienung durch eine Maus, aus einem Drücken und/oder Loslassen oder Klicken einer Maustaste, oder, bei Bedienung durch einen berührungsempfindlichen Bildschirm, aus einem Berüh ren und/oder Aufheben der Berührung oder Antippen der Bildschirmoberfläche bestehen, wobei die jeweilige Interaktion über dem Symbol/Listenelement erfolgt, das die Anwendung bzw. Maschine repräsentiert. Beispielweise kann das An wendungslistenelement aj in bekannter Weise mittels "Drag & Drop" über das Maschinenlistenelement mi gezogen werden (Pfeil 10), um die Anwendung Ai der Maschine Mj zuzuweisen. Selbstverständlich ist es auch möglich, zunächst die Maschinenauswahl-Interaktion und anschließend die Anwendungsauswahl- Interaktion zu erfassen (etwa indem ein Maschinensymbol über ein Anwen dungssymbol gezogen wird). Die Symbole bzw. Listenelemente der ausgewähl ten Anwendung und der ausgewählten Maschine können graphisch auf der Be nutzeroberfläche hervorgehoben werden, z.B. unterschiedlich eingefärbt werden. For example, an application Ai is to be installed on one of the machines Mj. For this purpose, the user can select the application Ai through an application selection interaction and the machine Mj through a machine selection interaction on the user interface. Application selection interaction and Machine selection interactions may each consist of a mouse button press and/or release or click when operated by a mouse, or touching and/or releasing the touch or tap of the screen surface when operated by a touch-sensitive screen, where the respective interaction takes place via the icon/list element that represents the application or machine. For example, the application list element aj can be pulled over the machine list element mi (arrow 10) in a known manner by means of "drag &drop" in order to assign the application Ai to the machine Mj. Of course, it is also possible to first capture the machine selection interaction and then the application selection interaction (e.g. by dragging a machine icon over an application icon). The symbols or list elements of the selected application and the selected machine can be graphically highlighted on the user interface, for example colored differently.
Nach dem Zuweisen der Anwendung zur Maschine (d.h. Auswählen der Anwen dung und Auswählen der Maschine) erfolgt serverseitig, d.h. durch den Verwal tungs-Dienst, eine Kompatibilitätsprüfung (Pfeil 12). Bei der Kompatibilitätsprü fung wird anhand der Anwendungsinformationen li, der Anwendung Ai, die instal liert werden soll, und der Maschineninformationen Ej, der Maschine Mj, auf der die Anwendung installiert werden soll, geprüft, ob die Anwendung zur Installation auf der Maschine bzw. deren Steuereinheit geeignet ist. Dabei wird geprüft, ob die Maschine die Anwendungs-Anforderungen der Anwendung erfüllt. After the application has been assigned to the machine (i.e. selecting the application and selecting the machine), a compatibility check (arrow 12) is carried out on the server side, i.e. by the administration service. The compatibility test is based on the application information li, the application Ai that is to be installed and the machine information Ej, the machine Mj on which the application is to be installed, checks whether the application is to be installed on the machine or its control unit is suitable. It is checked whether the machine meets the application requirements of the application.
Die Kompatibilitätsprüfung kann beispielsweise eines oder mehreres umfassen von: ob die Anwendung für den Typ der Maschine bzw. deren Steuereinheit vor gesehen ist; ob die Maschine für die Funktion der Anwendung notwendige Hard ware-Ressourcen aufweist, z.B. notwendige Funktionsbaugruppen, Sensoren o.Ä.; ob die Steuereinheit ausreichend verfügbare Rechenleistung und/oder ver fügbaren Speicherplatz aufweist; ob für die Funktion der Anwendung notwendige andere Anwendungen installiert sind, ob Inkompatibilitäten mit bereits installier ten Anwendungen bestehen; ob eine Anwendungslizenz verfügbar ist. Bei erfolgreicher Kompatibilitätsprüfung und bevorzugt nach einer Installations- Freigabe, etwa über ein Bediengerät, wird die Anwendung Ai auf der Maschine Mj bzw. deren Steuereinheit über die Datenverbindung 4 installiert und die durch den Verwaltungs-Dienst 2 gespeicherten Anwendungsinformationen li und Ma schineninformationen Ej werden entsprechend aktualisiert. Es wird also z.B. in den Maschineninformationen die Angabe des auf der Maschine verfügbaren Speicherplatzes reduziert und die Anwendung als installierte Anwendung ange geben wird oder, in den Anwendungsinformationen, die Anzahl verfügbarer An wendungslizenzen verringert. The compatibility check can include, for example, one or more of: whether the application is intended for the type of machine or its control unit; whether the machine has the necessary hardware resources for the function of the application, e.g. necessary functional modules, sensors or similar; whether the control unit has sufficient available computing power and/or available storage space; whether other applications necessary for the function of the application are installed, whether there are incompatibilities with already installed applications; whether an application license is available. If the compatibility check is successful and preferably after an installation release, for example via an operating device, the application Ai is installed on the machine Mj or its control unit via the data connection 4 and the application information li and machine information Ej stored by the management service 2 are accordingly updated. For example, the information on the memory space available on the machine is reduced in the machine information and the application is specified as an installed application, or the number of available application licenses is reduced in the application information.
Gegebenenfalls, wenn keine Datenverbindung besteht, etwa wenn die Maschine ausgeschaltet ist, erfolgt die Installation, nachdem die Maschine bzw. deren Steuereinheit die Datenverbindung 4 mit dem Verwaltungs-Dienst 2 herstellt, d.h. es wird mit der Installation gewartet, bis die Datenverbindung hergestellt wird, etwa wenn die Maschine angeschaltet wird, wobei hier vorzugsweise zunächst eine Installations-Freigabe erfasst wird. In diesem Fall erfolgt vorzugsweise die Aktualisierung der Anwendungs- und Maschineninformationen unmittelbar nach erfolgreicher Kompatibilitätsprüfung, d.h. vor der eigentlichen Installation, wäh rend auf die Datenverbindung gewartet wird. Eventuell kann hier auch vorgese hen sein, die Aktualisierung mit einem entsprechenden Vermerk zu versehen, dass diese vorläufig ist. Diese unmittelbare Aktualisierung hat den Vorteil, dass, wenn eine weitere Anwendung auf der gleichen Maschine installiert werden soll, bei der Kompatibilitätsprüfung dieser weiteren Anwendung die vorgemerkte In stallation berücksichtigt werden kann. If necessary, if there is no data connection, for example when the machine is switched off, the installation takes place after the machine or its control unit establishes the data connection 4 with the administration service 2, i.e. the installation is delayed until the data connection is established, for example when the machine is switched on, in which case an installation release is preferably first detected here. In this case, the application and machine information is preferably updated immediately after a successful compatibility check, i.e. before the actual installation, while waiting for the data connection. Provision may also be made here for the update to be provided with a corresponding note that it is provisional. This immediate update has the advantage that if another application is to be installed on the same machine, the marked installation can be taken into account when checking the compatibility of this further application.
Wenn die Kompatibilitätsprüfung nicht erfolgreich ist, wird vorzugsweise eine entsprechende Fehlermeldung ausgegeben, in der die Ursache der fehlgeschla genen Kompatibilitätsprüfung spezifiziert ist. In Abhängigkeit von der Ursache kann die Installation auch bei fehlgeschlagener Kompatibilitätsprüfung erfolgen, etwa wenn ein im Prinzip verfügbares Peripheriegerät nicht an der Maschine an gebaut ist. Hierzu kann eventuell eine entsprechende Eingabe vom Benutzer ab gefragt werden, d.h. es wird eine Benutzereingabe erfasst, die anzeigt, ob die nicht erfolgreiche Kompatibilitätsprüfung ignoriert werden soll, also die Anwen dung trotzdem installiert werden soll. Beim Deinstallieren einer Anwendung von einer Maschine bzw. Steuereinheit wird entsprechend vorgegangen. Es wird also zunächst eine Auswahl der zu de installierenden Anwendung erfasst. Beispielsweise können auf der Benutzerober fläche neben den Maschinensymbolen Symbole der auf den jeweiligen Maschi nen installierten Anwendungen angezeigt werden und durch eine Interaktion ausgewählt werden. Ein Wegziehen des Symbols von der Maschine kann anzei- gen, dass die Anwendung deinstalliert werden soll. Ebenso wäre die Anzeige ei nes Menüs bei Auswahl der Maschine bzw. Anwendung möglich (etwa durch Rechtsklick bei Bediendung mit einer Maus). If the compatibility check is not successful, a corresponding error message is preferably output, in which the cause of the failed compatibility check is specified. Depending on the cause, the installation can also take place if the compatibility check failed, for example if a peripheral device that is in principle available is not installed on the machine. For this purpose, a corresponding input from the user may be requested, ie a user input is recorded which indicates whether the unsuccessful compatibility check should be ignored, ie the application should be installed anyway. A similar procedure is followed when an application is uninstalled from a machine or control unit. A selection of the application to be uninstalled is therefore first recorded. For example, symbols of the applications installed on the respective machines can be displayed on the user interface next to the machine symbols and can be selected by interaction. Dragging the icon away from the machine may indicate that the application should be uninstalled. It would also be possible to display a menu when selecting the machine or application (e.g. by right-clicking when using a mouse).
Die gewählte, zu deinstallierende Anwendung wird anschließend, wenn die Da tenverbindung zwischen Verwaltungs-Dienst und Steuereinheit der Maschine be steht, von dieser deinstalliert und die Anwendungsinformationen und Maschi neninformationen werden entsprechend aktualisiert. Auch hier wird vorzugsweise zunächst eine Deinstallations-Freigabe erfasst und die Anwendung nur deinstal liert, wenn diese vorliegt. Wenn die Datenverbindung zwischen Verwaltungs- Dienst und Steuereinheit der Maschine nicht besteht, wird mit dem Deinstallieren gewartet, bis die Datenverbindung von der Steuereinheit hergestellt wird, wobei die Anwendungsinformationen und Maschineninformationen vorzugsweise erst nach der Deinstallation der zu deinstallierenden Anwendung aktualisiert werden. The selected application to be uninstalled is then uninstalled by the machine when there is a data connection between the management service and the machine's control unit, and the application information and machine information are updated accordingly. Here, too, a deinstallation release is preferably first recorded and the application is only deinstalled if this is available. If the data connection between the administration service and the control unit of the machine does not exist, the uninstallation waits until the data connection is established by the control unit, with the application information and machine information preferably being updated only after the application to be uninstalled has been uninstalled.
Figur 2 zeigt ein Diagramm, das den Ablauf des Verfahrens zur Bereitstellung, insbesondere zum Installieren, von Anwendungen gemäß einer bevorzugten Ausführungsform darstellt. Das Verfahren beginnt mit dem Erfassen 110 einer Auswahl einer zu installierenden Anwendung und dem Erfassen 120 einer Aus wahl einer Maschine, auf der bzw. auf deren Steuereinheit die Anwendung instal liert werden soll. Die Reihenfolge der Schritte 110, 120, d.h. der Anwendungs auswahlerfassung und der Maschinenauswahlerfassung, kann hier beliebig sein. Hierzu kann wie im Zusammenhang mit Figur 1 beschrieben ein Benutzerendge rät mit einer graphischen Benutzeroberfläche verwendet werden, es ist aber im Prinzip auch ein Erfassen einer automatische Auswahl möglich, etwa wenn eine Anwendung bedingt, dass andere Anwendungen installiert sind. Diese anderen Anwendungen können dann automatisch ausgewählt und, bei gleichbleibender Auswahl der Maschine, ebenfalls wie nachfolgend beschrieben installiert werden. FIG. 2 shows a diagram that represents the sequence of the method for providing, in particular for installing, applications according to a preferred embodiment. The method begins with detecting 110 a selection of an application to be installed and detecting 120 a selection of a machine on which or on the control unit of which the application is to be installed. The order of the steps 110, 120, ie the application selection detection and the machine selection detection, can be arbitrary here. A user terminal with a graphical user interface can be used for this purpose, as described in connection with FIG. 1, but in principle it is also possible to record an automatic selection, for example if an application requires other applications to be installed. these others Applications can then be selected automatically and, with the same machine selection, also installed as described below.
In Schritt 130 erfolgt die Kompatibilitätsprüfung, wobei insbesondere geprüft wird, ob die Maschine Anforderungen der Anwendung erfüllt, die für die Funktion der Anwendung notwendig sind. Die Kompatibilitätsprüfung wird vom Verwaltungs- Dienst durchgeführt, wobei dieser die Kompatibilitätsprüfung anhand der vom Verwaltungs-Dienst gespeicherten Anwendungsinformationen und Maschinenin formationen durchführt. The compatibility check is carried out in step 130, a check being made in particular as to whether the machine meets the requirements of the application which are necessary for the function of the application. The compatibility check is carried out by the administration service, which carries out the compatibility check using the application information and machine information stored by the administration service.
Wenn die Kompatibilitätsprüfung nicht erfolgreich ist, also beispielsweise Anwen dungsanforderungen von der Maschine zumindest teilweise nicht erfüllt sind, wird im bevorzugten Schritt 140 eine entsprechende Fehlermeldung erzeugt, die auch Angaben zu Fehlerursachen der nicht erfolgreichen Kompatibilitätsprüfung ent halten kann. Diese kann beispielsweise an das Benutzerendgerät übermittelt werden, um den Benutzer das Auftreten eines Fehlers und gegebenenfalls die Fehlerursache mitzuteilen, so dass der Benutzer eventuell Maßnahmen zur Be hebung des Fehlers ergreifen kann. In Abhängigkeit von der Fehlermeldung oder von einer entsprechenden Benutzereingabe kann die Installation dennoch er möglicht werden. If the compatibility check is unsuccessful, ie, for example, application requirements are not at least partially met by the machine, a corresponding error message is generated in preferred step 140, which can also contain information about the causes of the unsuccessful compatibility check. This can be transmitted to the user terminal, for example, in order to inform the user that an error has occurred and, if applicable, the cause of the error, so that the user can possibly take measures to correct the error. Depending on the error message or a corresponding user input, the installation can still be possible.
Liegt die Fehlerursache darin, dass eine benötige andere Anwendung nicht auf der Maschine installiert ist, kann vorzugsweise die erzeugte Fehlermeldung eine automatische Auswahl dieser anderen Anwendung, d.h. ein Erfassen dieser au tomatischen Auswahl entsprechend Schritt 110, zur Folge haben. Das Verfahren wird dann zunächst für die andere automatisch ausgewählte Anwendung durch geführt (bei unveränderter Auswahl der Maschine) und anschließend erneut für die ursprünglich ausgewählte Anwendung, so dass die Kompatibilitätsprüfung nunmehr erfolgreich ist (falls keine weiteren Fehler vorliegen) und die ursprüng lich ausgewählte Anwendung installiert wird. Es kann vorgesehen sein, dass die se automatische Auswahl bzw. Vorgehensweise durch einen Benutzer bestätigt werden muss, etwa mittels einer entsprechenden Abfrage am Benutzerendgerät. Wenn andererseits die Kompatibilitätsprüfung erfolgreich ist, werden in Schritt 150 durch den Verwaltungs-Dienst die gespeicherten Anwendungsinformationen und Maschineninformationen aktualisiert (wobei die sich durch die Installation er gebenden Änderungen, d.h. die Zuweisung der Anwendung zur Maschine, be rücksichtigtwerden) und es wird die Anwendung installiert, Schritte 160, 170,If the cause of the error is that another required application is not installed on the machine, the error message generated can preferably result in an automatic selection of this other application, ie a detection of this au tomatic selection according to step 110 . The procedure is then carried out first for the other automatically selected application (while the selection of the machine remains unchanged) and then again for the originally selected application, so that the compatibility check is now successful (if there are no further errors) and the originally selected application is installed becomes. Provision can be made for this automatic selection or procedure to be confirmed by a user, for example by means of a corresponding query on the user terminal. If, on the other hand, the compatibility check is successful, in step 150 the administration service updates the stored application information and machine information (taking into account the changes resulting from the installation, ie the assignment of the application to the machine) and the application is installed , steps 160, 170,
180, 190. Beim Aktualisieren (Schritt 150) können insbesondere Maschinenin formationen der ausgewählten Maschine aktualisiert werden, die eines oder meh- reres des Folgenden betreffen: verfügbarer Speicherplatz der Steuereinheit; in stallierte Anwendungen; verfügbare Rechenleistung der Steuereinheit. Ebenso kann bei den Anwendungsinformationen der ausgewählten Anwendung die An zahl verfügbarer Lizenzen erniedrigt werden. 180, 190. When updating (step 150), in particular machine information of the selected machine can be updated, which relates to one or more of the following: available memory space of the control unit; installed applications; available computing power of the control unit. The number of available licenses can also be reduced in the application information for the selected application.
Im bevorzugten Schritt 155 wird eine Installations-Freigabe bzw. ein Installations- Freigabesignal erfasst. Diese gibt an, ob die Installation freigegeben, d.h. erlaubt, ist, oder ob dies nicht der Fall ist. Eine Installation kann nur dann erfolgen, wenn die Installations-Freigabe vorliegt. Hierzu kann etwa eine entsprechende Anfor derung an ein Bediengerät gesendet werden (etwa eine Push-up-Nachricht) und die Installations-Freigabe als Bedienereingabe erfasst werden. In the preferred step 155, an installation release or an installation release signal is detected. This indicates whether the installation is released, i.e. allowed, or not. Installation can only take place if the installation release is available. For this purpose, a corresponding request can be sent to an operating device (e.g. a push-up message) and the installation release can be recorded as an operator input.
In Schritt 160 wird beim Installieren der Anwendung zunächst geprüft, ob die Da tenverbindung zwischen Steuereinheit der ausgewählten Maschine und Verwal tungs-Dienst besteht. Wenn dies der Fall ist, wird in Schritt 170 die Anwendung auf der Steuereinheit der ausgewählten Maschine installiert, dabei wird insbe sondere der Programmcode der Anwendung über die Datenverbindung zur Steuereinheit übertragen. In diesem Fall kann das Aktualisieren (Schritt 150) pa rallel zum Installieren (Schritt 170) oder auch unmittelbar nach diesem durchge führt werden. In step 160, when installing the application, it is first checked whether the data connection between the control unit of the selected machine and the administration service exists. If this is the case, in step 170 the application is installed on the control unit of the selected machine, in particular the program code of the application being transmitted to the control unit via the data connection. In this case, the updating (step 150) can be carried out in parallel with the installation (step 170) or immediately after it.
Wenn andererseits die Datenverbindung unmittelbar nach der Kompatibilitätsprü fung nicht besteht, wird zunächst in Schritt 180 gewartet (durch den Verwaltungs- Dienst) bis die Datenverbindung hergestellt wird und anschließend die Installati on der Anwendung in Schritt 190 ausgeführt. Hierbei kann gegebenenfalls die In stallations-Freigabe (Schritt 155), anders als dargestellt, erst nach dem Herstel len der Datenverbindung erfasst werden. Das Aktualisieren (Schritt 150) erfolgt unmittelbar nach der Kompatibilitätsprüfung bzw. nach Prüfung, ob die Datenver bindung besteht, z.B. während auf die Datenverbindung gewartet wird. "Warten" ist hier nicht zwangsläufig in einem aktiven Sinn (z.B. im Sinn einer Warteschlei fe) zu verstehen, sondern soll auch beinhalten, dass das Herstellen der Daten- Verbindung bzw. ein Feststellen durch den Verwaltungs-Dienst, dass die Daten verbindung hergestellt wurde, den nachfolgenden Schritt 190 (und gegebenen falls das Erfassen der Installations-Freigabe) auslöst. Beispielsweise können im Verwaltungs-Dienst für jede Maschine Initiierungsdaten gespeichert sein, die bei Herstellen der Datenverbindung durch die Maschine bzw. deren Steuereinheit automatisch gelesen und ausgewertet werden, wobei in solchen Initiierungsdaten ein Eintrag vorgesehen ist, der anzeigt, dass eine Anwendung zu installieren ist. If, on the other hand, the data connection does not exist immediately after the compatibility check, there is a wait in step 180 (by the administration service) until the data connection is established and then the installation of the application is carried out in step 190. In this case, the installation release (step 155) can, in contrast to what is shown, only be recorded after the data connection has been established. Updating (step 150) occurs Immediately after the compatibility check or after checking whether the data connection exists, eg while waiting for the data connection. "Waiting" is not necessarily to be understood here in an active sense (eg in the sense of a waiting loop), but should also include the establishment of the data connection or a determination by the administration service that the data connection has been established , the subsequent step 190 (and if necessary the detection of the installation release) triggers. For example, initiation data can be stored in the management service for each machine, which is automatically read and evaluated by the machine or its control unit when the data connection is established, with an entry being provided in such initiation data that indicates that an application is to be installed.

Claims

Ansprüche Expectations
1. Verfahren zur Bereitstellung einer oder mehrerer Anwendungen an wenigs tens eine Maschine, wobei ein in einer entfernten Recheneinheit ausgeführ ter Verwaltungs-Dienst (2) die eine oder mehreren Anwendungen (A1, A2, ... Ai, ... AK) bereitstellt und Anwendungsinformation (11, I2, ... li, ... IK) zu jeder der einen oder mehreren Anwendungen und Maschineninformation (E1, E2, ... Ej, ... EL) zu jeder der wenigstens einen Maschine (M1, M2, ... Mj, ... ML) speichert, und wobei jede der wenigstens einen Maschine durch wenigstens eine Steuereinheit gesteuert wird, die eingerichtet ist, Anwendungen auszu führen, und die eine Datenverbindung (4) mit einem Verwaltungs-Dienst her steilen kann; umfassend 1. A method for providing one or more applications to at least one machine, wherein a management service (2) running in a remote computing unit provides the one or more applications (A1, A2, ... Ai, ... AK). and application information (I1, I2, ... li, ... IK) for each of the one or more applications and machine information (E1, E2, ... Ej, ... EL) for each of the at least one machine (M1, M2, ... Mj, ... ML) and wherein each of the at least one machine is controlled by at least one control unit, which is arranged to execute applications and which establishes a data connection (4) with a management service can; full
Erfassen (110, 120) einer Auswahl einer Anwendung (Ai) aus der einen oder den mehreren Anwendungen und einer Auswahl einer Maschine (Mj) der wenigstens einen Maschine; detecting (110, 120) a selection of an application (Ai) from the one or more applications and a selection of a machine (Mj) of the at least one machine;
Durchführen (130), durch den Verwaltungs-Dienst, einer Kompatibilitäts prüfung (12) zwischen der ausgewählten Anwendung und der ausgewählten Maschine anhand der Maschineninformationen (Ei) und der Anwendungsin formationen (Ij); performing (130), through the management service, a compatibility check (12) between the selected application and the selected machine based on the machine information (Ei) and the application information (Ij);
Aktualisieren (150) der Maschineninformationen der ausgewählten Ma schine und der Anwendungsinformationen der ausgewählten Anwendung. updating (150) the machine information of the selected machine and the application information of the selected application.
2. Verfahren nach Anspruch 1, umfassend ein Erfassen (155) einer Installati ons-Freigabe; wobei bevorzugt die Installations-Freigabe mittels eines Bedi engeräts erfasst wird, das mit dem Verwaltungs-Dienst und/oder mit der Steuereinheit der ausgewählten Maschine über eine Kommunikationsverbin dung verbunden ist. The method of claim 1, comprising acquiring (155) an installation enable; wherein the installation release is preferably recorded by means of an operating device which is connected to the administration service and/or to the control unit of the selected machine via a communication link.
3. Verfahren nach einem der vorstehenden Ansprüche, a) wobei, bei erfolgreicher Kompatibilitätsprüfung, wenn die Datenver bindung der Steuereinheit mit dem Verwaltungs-Dienst besteht, die ausge wählte Anwendung auf der Steuereinheit der ausgewählten Maschine instal liert wird (170); oder b) wobei, wenn unmittelbar nach erfolgreicher Kompatibilitätsprüfung die Datenverbindung nicht besteht, die ausgewählte Anwendung installiert wird (190), nachdem die Datenverbindung von der Steuereinheit der ausgewähl ten Maschine hergestellt wurde; wobei die Anwendungsinformationen und die Maschineninformationen unmittelbar nach der erfolgreichen Kompatibili tätsprüfung aktualisiert werden (150); wobei in Fällen a) und b), falls abhängig von Anspruch 2, die Installation der ausgewählten Anwendung nur dann erfolgt, wenn die Installations- Freigabe vorliegt. 3. The method according to any one of the preceding claims, a) wherein, if the compatibility check is successful and the control unit has a data connection to the administration service, the selected application is installed (170) on the control unit of the selected machine; or b) if the data connection does not exist immediately after a successful compatibility check, the selected application is installed (190) after the data connection has been established by the control unit of the selected machine; wherein the application information and the machine information are updated immediately after the successful compatibility check (150); where in cases a) and b), if dependent on claim 2, the installation of the selected application only takes place if the installation release is present.
4. Verfahren nach einem der vorstehenden Ansprüche, wobei, wenn die Kom patibilitätsprüfung nicht erfolgreich ist, eine Fehlermeldung erzeugt wird (140); wobei die Fehlermeldung bevorzugt Angaben über eine Ursache der nicht erfolgreichen Kompatibilitätsprüfung enthält. 4. The method according to any one of the preceding claims, wherein if the compatibility check is unsuccessful, an error message is generated (140); where the error message preferably contains information about the reason for the unsuccessful compatibility check.
5. Verfahren nach einem der vorstehenden Ansprüche, wobei in Abhängigkeit von einer Benutzereingabe und/oder, bei Rückbezug auf Anspruch 4, von der Fehlermeldung a) die Anwendung nicht installiert wird; b) oder, wenn die Datenverbindung der Steuereinheit mit dem Verwal tungs-Dienst besteht, die ausgewählte Anwendung auf der Steuereinheit der ausgewählten Maschine installiert wird, c) oder, wenn die Datenverbindung der Steuereinheit mit dem Verwal tungs-Dienst nicht besteht, die ausgewählte Anwendung installiert wird, nachdem die Datenverbindung von der Steuereinheit der ausgewählten Ma schine hergestellt wurde, wobei die Anwendungsinformationen und die Ma schineninformationen unmittelbar nach der Kompatibilitätsprüfung aktuali siert werden, wobei in Fällen b) und c), falls abhängig von Anspruch 2, die Installation der ausgewählten Anwendung nur dann erfolgt, wenn die Installations- Freigabe vorliegt. 5. The method according to any one of the preceding claims, wherein depending on a user input and / or, referring back to claim 4, on the error message a) the application is not installed; b) or, if the control unit is in data connection with the administration service, the selected application is installed on the control unit of the selected machine, c) or, if the control unit is not in data connection with the administration service, the selected application is installed after the data connection has been established from the control unit of the selected machine, with the application information and the machine information being updated immediately after the compatibility check, where in cases b) and c), if dependent on claim 2, the installation of the selected application only takes place if the installation release is present.
6. Verfahren nach einem der vorstehenden Ansprüche, weiterhin umfassend6. The method according to any one of the preceding claims, further comprising
Erfassen einer Auswahl einer zu deinstallierenden Anwendung, die auf einer der wenigstens einen Maschine installiert ist; wenn die Datenverbindung der Steuereinheit der Maschine mit dem Verwaltungs-Dienst besteht, Deinstallieren der zu deinstallierenden Anwen dung von der Steuereinheit der Maschine, oder, wenn die Datenverbindung der Steuereinheit der Maschine mit dem Verwaltungs-Dienst nicht besteht, Deinstallieren der zu deinstallierenden Anwendung von der Steuereinheit der Maschine, nachdem die Datenverbindung von der Steuereinheit der Maschi ne hergestellt wurde; und detecting a selection of an application installed on one of the at least one machine to be uninstalled; if the data connection of the machine's control unit with the management service is up, uninstall the application to be uninstalled from the machine's control unit, or, if the data connection of the machine's control unit with the management service is not up, uninstall the application to be uninstalled from the Machine control unit after the data connection has been established from the machine control unit; and
Aktualisieren, vorzugsweise erst nach der Deinstallation, der Maschi neninformationen der Maschine und der Anwendungsinformationen der zu deinstallierenden Anwendung. Update, preferably only after uninstallation, the machine information of the machine and the application information of the application to be uninstalled.
7. Verfahren nach Anspruch 6, wobei eine Deinstallations-Freigabe erfasst wird und die Deinstallation nur dann erfolgt, wenn die Deinstallations-Freigabe vorliegt; wobei bevorzugt die Deinstallations-Freigabe mittels eines Bedien geräts erfasst wird, das mit dem Verwaltungs-Dienst und/oder mit der Steu ereinheit der ausgewählten Maschine über eine Kommunikationsverbindung verbunden ist. 7. The method of claim 6, wherein an uninstall release is detected and uninstallation occurs only if the uninstall release is present; the deinstallation release preferably being recorded using an operating device which is connected to the administration service and/or to the control unit of the selected machine via a communication connection.
8. Verfahren nach einem der vorstehenden Ansprüche, wobei die Anwen dungsinformation für jede der einen oder mehreren Anwendungen eines o- der mehreres umfassen von: Anforderungen an Maschinen und Steuerein heiten, die mit der Anwendung kompatibel sind, insbesondere Typ der Ma schine und/oder der Steuereinheit, installierte Funktionsbaugruppen, instal lierte Sensoren; benötigter Speicherplatz; benötigte andere Anwendungen; benötigte Betriebssystemversion; benötigte Rechenleistung. 8. The method according to claim 1, wherein the application information for each of the one or more applications includes one or more of: requirements for machines and control units that are compatible with the application, in particular the type of machine and/or the control unit, installed function modules, installed sensors; required storage space; needed other applications; required operating system version; required computing power.
9. Verfahren nach einem der vorstehenden Ansprüche, wobei die Kompatibili tätsprüfung ein Prüfen, ob durch die ausgewählte Anwendung vorgegebene Anwendungsanforderungen von der ausgewählten Maschine erfüllt werden, umfasst. 9. The method according to any one of the preceding claims, wherein the compatibility check comprises checking whether the selected application satisfies predetermined application requirements of the selected machine.
10. Verfahren nach einem der vorstehenden Ansprüche, wobei die Maschinenin formationen der wenigstens einen Maschine jeweils eines oder mehreres umfassen von: Typ der Maschine; vorhandene Hardwareressourcen der Ma schine, insbesondere installierte Funktionsbaugruppen und installierte Sen soren; Typ der Steuereinheit der Maschine; verfügbarer Speicherplatz der Steuereinheit; Betriebssystemversion; installierte Anwendungen; verfügbare Rechenleistung der Steuereinheit. 10. The method according to any one of the preceding claims, wherein the machine information of the at least one machine each comprises one or more of: type of machine; existing hardware resources of the machine, in particular installed function modules and installed sensors; type of control unit of the machine; available memory of the control unit; operating system version; installed applications; available computing power of the control unit.
11. Verfahren nach einem der vorstehenden Ansprüche, wobei die Auswahl der Anwendung und die Auswahl der Maschine mittels eines Benutzerendgeräts (6), das mit dem Verwaltungs-Dienst über eine Kommunikationsverbindung (8) verbunden ist, erfasst werden; wobei, falls abhängig von Anspruch 4, die Auswahl der zu deinstallierenden Anwendung mittels des Benutzerendgeräts erfasst wird. Method according to any of the preceding claims, wherein the selection of the application and the selection of the machine are detected by means of a user terminal (6) connected to the management service via a communication link (8); wherein, if dependent on claim 4, the selection of the application to be uninstalled is detected by the user terminal.
12. Verfahren nach Anspruch 11, wobei auf dem Benutzerendgerät eine Benut zeroberfläche bereitgestellt wird, durch die die Anwendungen und die Ma schinen in Form von Symbolen und/oder Listenelementen (a1, a2, ... ai, ... aK; m1, m2, ... mj, ... mL) angezeigt werden; wobei die Benutzeroberfläche eingerichtet ist, eine Anwendungsauswahl-Interaktion als Auswahl der An wendung und eine Maschinenauswahl-Interaktion als Auswahl der Maschine zu erfassen; wobei bevorzugt zwischen der Anwendungsauswahl-Interaktion und der Maschinenauswahl-Interaktion oder zwischen der Maschinenaus- wahl-lnteraktion und der Anwendungsauswahl-Interaktion ein gezogenes Symbol oder Listenelement der Anwendung bzw. der Maschine entspre chend einer Zieh-Interaktion (10) angezeigt wird. 12. The method according to claim 11, wherein a user interface is provided on the user terminal, through which the applications and the machines in the form of symbols and/or list elements (a1, a2, ... ai, ... aK; m1, m2, ... mj, ... mL) are displayed; wherein the user interface is configured to detect an application selection interaction as a selection of the application and a machine selection interaction as a selection of the machine; preferably between the application selection interaction and the machine selection interaction or between the machine selection interaction and the application selection interaction a dragged icon or list element of the application or the machine corresponding to a drag interaction (10) is displayed.
13. Verfahren nach einem der Ansprüche 11 oder 12, falls abhängig von An spruch 4, wobei die Fehlermeldung an das Benutzerendgerät übermittelt wird und von diesem angezeigt wird; wobei, falls abhängig von Anspruch 5, bevorzugt die Benutzereingabe erfasst wird und die Benutzereingabe anzeigt, ob oder ob nicht die Anwen dung installiert werden soll. 13. The method of claim 11 or 12 when dependent on claim 4, wherein the error message is transmitted to and displayed by the user terminal; wherein, if dependent on claim 5, preferably the user input is detected and the user input indicates whether or not to install the application.
14. Computerprogramm, das eine mit einem Netzwerk verbundene Rechenein heit dazu veranlasst, alle vom Verwaltungs-Dienst durchgeführten Verfah rensschritte eines Verfahrens nach einem der Ansprüche 1 bis 13 durchzu führen, wenn es auf der Recheneinheit ausgeführt wird. 14. A computer program which causes a computing unit connected to a network to carry out all the method steps of a method according to one of claims 1 to 13 carried out by the administration service when it is executed on the computing unit.
15. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Com puterprogramm nach Anspruch 14. 15. Machine-readable storage medium with a computer program stored thereon according to claim 14.
PCT/EP2022/055781 2021-03-12 2022-03-08 Method for providing one or more applications to at least one machine WO2022189370A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202280020642.0A CN117099078A (en) 2021-03-12 2022-03-08 Method for providing one or more applications to at least one machine

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102021202412.2 2021-03-12
DE102021202412.2A DE102021202412A1 (en) 2021-03-12 2021-03-12 Method for providing one or more applications to at least one machine

Publications (1)

Publication Number Publication Date
WO2022189370A1 true WO2022189370A1 (en) 2022-09-15

Family

ID=80978792

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2022/055781 WO2022189370A1 (en) 2021-03-12 2022-03-08 Method for providing one or more applications to at least one machine

Country Status (3)

Country Link
CN (1) CN117099078A (en)
DE (1) DE102021202412A1 (en)
WO (1) WO2022189370A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392764B2 (en) * 2009-11-16 2013-03-05 Cooper Technologies Company Methods and systems for identifying and configuring networked devices
US8880289B2 (en) * 2011-03-17 2014-11-04 Toyota Motor Engineering & Manufacturing North America, Inc. Vehicle maneuver application interface

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19845610A1 (en) 1998-10-05 2000-04-06 Abb Research Ltd Installation, licensing, configuration management and maintenance system for component-based multi-user software systems
EP3125111B1 (en) 2015-07-30 2019-03-27 Conny Konrad Wölk Software deployment in an aggregated end user system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392764B2 (en) * 2009-11-16 2013-03-05 Cooper Technologies Company Methods and systems for identifying and configuring networked devices
US8880289B2 (en) * 2011-03-17 2014-11-04 Toyota Motor Engineering & Manufacturing North America, Inc. Vehicle maneuver application interface

Also Published As

Publication number Publication date
DE102021202412A1 (en) 2022-09-15
CN117099078A (en) 2023-11-21

Similar Documents

Publication Publication Date Title
DE102017104830B4 (en) SOFTWARE MANAGEMENT SYSTEM FOR A VEHICLE, MANAGEMENT SERVER AND VEHICLE
DE102011017590B4 (en) Vehicle data recording method for vehicle service
DE102017100751A1 (en) METHOD AND DEVICE FOR VEHICLE SOFTWARE UPDATE INSTALLATION
DE102015203766A1 (en) Subsystem for a vehicle and corresponding vehicle
DE102015221330A1 (en) A method and apparatus for robustly updating firmware of a vehicle over an air interface
WO2006066880A1 (en) System and method for automatically actualising functionalities in a distributed network
DE102018103209A1 (en) METHOD AND DEVICE FOR HANDLING THE MATCHING OF MULTICYCLIC VEHICLE SOFTWARE UPDATES
EP2482572B1 (en) Context-sensitive software update for a communication device
DE102015216265A1 (en) Method and subsystem for installing a software update in a vehicle
DE102013201546A1 (en) Method for determining help information, medical device, mobile application and system
EP1947805A1 (en) Automatic monitoring and control of fill levels
WO2010028994A1 (en) Method for providing control information for a distributed operation in an automation system, computer program and automation system
EP3688937B1 (en) Data structure for the transfer of data from a fieldbus network into a cloud
WO2022189370A1 (en) Method for providing one or more applications to at least one machine
DE102016123599A1 (en) Robot controller with function for communication with a programmable logic controller and communication system
EP2189908B1 (en) Device and procedure to determine an indicator in an IT system
EP3902759B1 (en) Method and apparatus for commissioning a passenger transportation system
DE102015221936A1 (en) Method and apparatus for making a target device driver
DE102019125393A1 (en) Devices, methods and computer programs for a server, an administration system and a vehicle
DE102012218665B4 (en) Application system for control units
DE102022203325A1 (en) Method for checking the executability of a software application
DE102019213806A1 (en) Method and device for equipping a mobile machine
DE102022207594A1 (en) Method for forming a communication interface between a software module and an addressee
DE102022110252A1 (en) CENTER, UPDATE CONTROL METHOD, NON-TRANSITORY STORAGE MEDIUM AND OTA MASTER
DE102020125869A1 (en) Method and device for configuring an information processing system, method and device for managing a service, computer program and non-volatile storage medium

Legal Events

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

Ref document number: 22713584

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202280020642.0

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22713584

Country of ref document: EP

Kind code of ref document: A1