-
Die vorliegende Erfindung betrifft ein Verfahren zur Bereitstellung einer oder mehrerer Anwendungen an wenigstens eine Maschine sowie ein Computerprogramm zu dessen Durchführung.
-
Hintergrund der Erfindung
-
Der Funktionsumfang moderner, durch Steuergeräte bzw. Steuereinheiten gesteuerter Maschinen kann durch Erweiterung einer Grundfunktionalität mittels zusätzlicher Hardware bzw. Anbauteile und Software erheblich gesteigert werden. 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 Funktionalität bei unveränderter Maschine durch zusätzliche Software erweitert werden.
-
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-) Abstandssensoren versehen sein. Ein im Steuergerät ausgeführtes Bodennachführ-Programm kann dann dazu eingerichtet sein, Messdaten der Abstandssensoren auszuwerten und das Gestänge so zu verstehen, dass ein möglichst gleichmäßiger Abstand zum Boden bzw. zum Pflanzenbewuchs eingehalten wird, um eine gleichmäß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üngerstreuer könnte etwa durch ein entsprechendes Softwaremodul um die Funktionalität erweitert werden, die ausgebrachte Düngermenge in Abhängigkeit von der Position, welche von einem am Traktor, an dem der Düngerstreuer angebracht ist, befestigten GPS-Gerät ermittelt wird, zu steuern.
-
Diese Softwaremodule, im Rahmen dieser Anmeldung als ‚Anwendungen‘ bezeichnet, können durch einen Cloud-Dienst bereitgestellt werden, wobei die Maschine zumindest zeitweise über ein Netzwerk, insbesondere über das sogenannte Internet, mit diesem verbunden werden kann, um Daten auszutauschen. In diesem Cloud-Dienst können durch verschiedene Anbieter (auch vom Hersteller der Maschine verschiedene Anbieter) Funktionalitäten in Form von Softwaremodulen bzw. Anwendungen bereitgestellt werden, die ein Besitzer der Maschine, je nach Bedarf installieren und verwenden kann.
-
Offenbarung der Erfindung
-
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.
-
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. implementierten Verwaltungs-Dienst eine Kompatibilitätsprüfung durchgeführt, wobei für die Kompatibilitätsprüfung durch den Verwaltungs-Dienst gespeicherte bzw. verwaltete Maschineninformationen und Anwendungsinformationen verwendet werden, die jeweils entsprechend aktualisiert werden. Fehler, etwa für die Funktion der Anwendung notwendige aber an der Maschine nicht installierte Funktionsbaugruppen 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.
-
Die Auswahl der Anwendung erfolgt dabei aus einer oder mehreren (verfügbaren) Anwendungen. Ebenso erfolgt die Auswahl der Maschine aus einer oder mehreren Maschinen bzw. aus wenigstens einer Maschine. Die eine oder mehreren Anwendungen werden durch den Verwaltungs-Dienst bereitgestellt, der ebenso die Anwendungsinformation zu jeder der einen oder mehreren Anwendungen und die Maschineninformation zu jeder der wenigstens einen Maschine speichert. Jede der wenigstens einen Maschine ist durch wenigstens eine Steuereinheit gesteuert, die dazu eingerichtet ist, Anwendungen auszuführen, und die eine Datenverbindung mit einem Verwaltungs-Dienst herstellen kann.
-
Ein Verwaltungs-Dienst gemäß der Erfindung kann als Computerprogramm angesehen werden, das in der entfernten Recheneinheit (etwa einem eventuell verteilten Serversystem) implementiert ist bzw. ausgeführt wird und über ein Netzwerk (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.
-
Die Steuereinheit ist eine Recheneinheit, umfasst also einen oder mehrere Prozessoren (mit jeweils eventuell mehreren Rechenkernen), einen Arbeitsspeicher (RAM) und einen nichtflüchtigen Speicher und/oder kann auf einen nichtflüchtigen 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 Recheneinheit 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 Landmaschinen kann die Steuereinheit etwa an einem Traktor angeordnet sein, an den verschiedene Landmaschinen angebracht werden können. Eine Steuereinheit kann also für mehrere Maschinen vorgesehen sein, wobei für Anwendungen für mehrere Maschinen auf der Steuereinheit installiert werden können.
-
Beim Installieren und Deinstallieren von Anwendungen wird jeweils ein entsprechendes Installations- bzw. Deinstallationsprogramm auf der Steuereinheit aufgerufen 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 vorgesehenen nichtflüchtigen Speicher und/oder in einem nichtflüchtigen Speicher, auf den die Steuereinheit zugreifen kann, z.B. auch in einem nichtflüchtigen eines Steuergeräts der Maschine).
-
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 Steuereinheit zugreifen kann, gespeichert wird, wobei die Steuereinheit dazu eingerichtet ist, den Programmcode der Anwendung auszuführen.
-
Bevorzugt umfasst das Verfahren ein Erfassen einer Installations-Freigabe, wobei bevorzugt die Installations-Freigabe mittels eines Bediengeräts erfasst wird, das mit dem Verwaltungs-Dienst und/oder mit der Steuereinheit der ausgewählten 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 einem Benutzer angezeigt und in Reaktion auf eine entsprechende Eingabe des Benutzers die Installations-Freigabe erfasst. Das Bediengerät kann beispielsweise ein Smartphone des Benutzers, eine Bedieneinheit an der Maschine, ein Touchscreen für die Bedienung der Maschine, eine Bedientaste an der Maschine, ein Computer oder Ähnliches sein.
-
Bevorzugt wird, bei erfolgreicher Kompatibilitätsprüfung, wenn die Datenverbindung 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 Datenverbindung 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 erfolgt gegebenenfalls die Installation der ausgewählten Anwendung nur dann, wenn die Installations-Freigabe vorliegt. Die Aktualisierung der Anwendungsinformationen und der Maschineninformationen erfolgt also, während auf die Datenverbindung gewartet wird. Dies ist vorteilhaft, da so bei etwaiger Installation einer weiteren Anwendung diese weitere Installation bzw. die damit verbundene Kompatibilitätsprüfung bereits die geänderten Maschineninformationen und Anwendungsinformation berücksichtigen kann.
-
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 Fehlern, 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 Benutzer installiert werden kann, kann die Installation dennoch erfolgen. Ist die Ursache des Fehlers andererseits durch den Benutzer nicht behebbar, z.B. nicht ausreichender Speicherplatz, kann die Installation nicht durchgeführt werden.
-
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 installiert, oder, wenn die Datenverbindung nicht besteht, die ausgewählte Anwendung installiert, nachdem die Daten-verbindung von der Steuereinheit der ausgewählten Maschine hergestellt wurde, wobei die Anwendungsinformationen und die Maschineninformationen unmittelbar nach der Kompatibilitätsprüfung aktualisiert werden, wobei in beiden Fällen, falls abhängig von Anspruch 2, die Installation 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 übergangen werden soll bzw. ob oder ob nicht die Anwendung (trotz Fehlermeldung) installiert werden soll.
-
Das Verfahren umfasst bevorzugt ein 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, 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 Maschineninformationen der Maschine und der Anwendungsinformationen der zu deinstallierenden Anwendung.
-
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 Bediengeräts erfasst wird, das mit dem Verwaltungs-Dienst und/oder mit der Steuereinheit der ausgewählten Maschine über eine Kommunikationsverbindung verbunden 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.
-
Bevorzugt umfassen die Anwendungsinformation für jede der einen oder mehreren 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, installierte Sensoren; benötigter Speicherplatz; benötigte andere Anwendungen; benötigte Betriebssystemversion; benötigte Rechenleistung. Bevorzugt umfassen die Maschineninformationen der wenigstens einen Maschine jeweils eines oder mehreres von einem Typ der Maschine; vorhandene Hardwareressourcen der Maschine, insbesondere installierte Funktionsbaugruppen und installierte Sensoren; einem Typ der Steuereinheit der Maschine; verfügbarer Speicherplatz der Steuereinheit; Betriebssystemversion; installierte Anwendungen; verfügbare Rechenleistung der Steuereinheit. Diese Anwendungsinformationen bzw. Maschineninformationen erlauben ein schnelles Erkennen einer Inkompatibilität.
-
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 erfasst wird. Weiter bevorzugt wird auf dem Benutzerendgerät eine Benutzeroberfläche bereitgestellt, durch die die Anwendungen und die Maschinen in Form von Symbolen und/oder Listenelementen angezeigt werden; wobei die Benutzeroberflä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 Maschinenauswahl-Interaktion und der Anwendungsauswahl-Interaktion ein gezogenes Symbol oder Listenelement der Anwendung bzw. der Maschine entsprechend einer Zieh-Interaktion angezeigt wird. Durch diese Merkmale wird eine einfache Bedienung, d.h. eine einfache Installation bzw. Deinstallation durch einen Benutzer ermöglicht. Das Benutzerendgerät kann verschieden von dem oben genannten Bediengerät sein. Es ist aber auch möglich, dass beide identisch sind.
-
Vorzugsweise wird gegebenenfalls die Fehlermeldung an das Benutzerendgerät übermittelt und von diesem angezeigt. So kann ein Fehler (z.B. eine fehlgeschlagene Kompatibilitätsprüfung) dem Benutzer direkt während der Interaktion angezeigt werden. Gegebenenfalls wird weiter bevorzugt die Benutzereingabe erfasst, wobei die Benutzereingabe anzeigt, ob oder ob nicht die Anwendung installiert werden soll (trotz Fehlermeldung).
-
Die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms 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ührende, mit einem Netzwerk verbundene Recheneinheit, z.B. ein Server oder ein Serversystem, noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden 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.
-
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
-
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
-
Figurenliste
-
- 1 illustriert ein Verfahren zur Bereitstellung von Anwendungen anhand der beteiligten Elemente und deren Zusammenwirken; und
- 2 zeigt ein Diagramm, das den Ablauf des Verfahrens zur Bereitstellung von Anwendungen gemäß einer bevorzugten Ausführungsform darstellt.
-
Ausführungsform(en) der Erfindung
-
1 illustriert ein Verfahren zur Bereitstellung von Anwendungen für Maschinen anhand der beteiligten Elemente und deren Zusammenwirken in einer bevorzugten 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 Anwendungen installiert und/oder deinstalliert werden sollen. Informationen über jede 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 Maschineninformationen können zumindest teilweise von einem Benutzer des Verwaltungs-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 abgerufen werden.
-
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 Anwendungen; verfügbare Rechenleistung der Steuereinheit (die verfügbare bzw. benötigte Rechenleistung kann davon abhängen, welche und wie viele andere Anwendungen 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 herstellen. Die Datenverbindung erfolgt über ein Netzwerk, insbesondere über das Internet, wobei die Verbindung der Maschine mit dem Netzwerk drahtgebunden, etwa über Ethernet, oder drahtlos, etwa über eine Mobilfunkverbindung oder über WiFi, sein kann. Hierbei ist zu beachten, dass die Datenverbindung eventuell 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 Funkreichweite eines drahtlosen Netzes befindet. Auch kann es vorkommen, dass die Datenverbindung indirekt, etwa über eine weitere Maschine, erfolgt. Eine Landmaschine kann beispielsweis mit einem Datenkabel mit einem Traktor verbunden sein, der wiederum über eine Mobilfunkverbindung mit dem Netzwerk verbunden ist.
-
Die verfügbaren Anwendungen A1, A2, ... Ai, ... AK und zu jeder Anwendung gehörige Anwendungsinformationen 11, 12, ... Ii, ... IK werden ebenfalls durch den Verwaltungs-Dienst 2 bereitgestellt bzw. gespeichert, also in einem Speicher gespeichert, auf den die Recheneinheit Zugriff hat. Hierbei werden die Anwendungen und die Anwendungsinformationen von einem Hersteller bzw. Programmierer der Anwendung, z.B. einem Maschinenhersteller oder Anwendungshersteller, über ein Netzwerk an den Verwaltungs-Dienst übertragen und durch diesen dann gespeichert.
-
Die jeweiligen Anwendungsinformationen betreffen bzw. umfassen Anwendungsanforderungen, die die Maschine aufweisen muss, um die Anwendung darauf installieren zu können. Die Anwendungsanforderungen können eines oder mehreres umfassen von bzw. über einen Typ der Maschine, für die die Anwendung vorgesehen ist; benötigte Hardware-Ressourcen der Maschine, insbesondere installierte Funktionsbaugruppen, installierte Sensoren o.Ä.; Typ der Steuereinheit, die benötigt wird; benötigter Speicherplatz; benötigte Betriebssystemversion; 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 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 herstellen. Die Verbindung vom Benutzerendgerät zum Netzwerk kann wieder drahtgebunden oder drahtlos erfolgen.
-
Nach Herstellen der Kommunikationsverbindung, und gegebenenfalls nach Authentifizierung des Benutzers, kann der Benutzer die Maschinen im Verwaltungs-Dienst verwalten, insbesondere Anwendungen auf Steuereinheiten für Maschinen installieren oder deinstallieren. Dazu werden auf einer grafischen Benutzeroberfläche des Benutzerendgeräts die verfügbaren Anwendungen und die Maschinen in Form von Anwendungssymbolen bzw. Anwendungslistenelementen a1, a2, ... ai, ... aK und in Form von Maschinensymbolen bzw. Maschinenlistenelementen m1, m2, ... mj, ... mL dargestellt, hier beispielsweise jeweils als Listenelemente (Kombinationen sind möglich, z.B. eine Liste mit Symbolen). Ebenso können zumindest Teile i1, i2, ... ii, ... iK der Anwendungsinformation (z.B. Anzahl verfügbarer Lizenzen) und Teile e1, e2, ... ej, ... iL der Maschineninformationen (z.B. auf der jeweiligen Maschine installierte Anwendungen, installierte Funktionsbaugruppen, usw.) dargestellt werden.
-
Die Benutzeroberfläche kann durch eine eigens zur Maschinen- und Anwendungsverwaltung vorgesehene, auf dem Benutzerendgerät ausgeführte Verwaltungssoftware bereitgestellt werden (die auch die Kommunikationsverbindung zum Verwaltungs-Dienst herstellt). Bevorzugt ist allerdings vorgesehen, die Benutzeroberfläche als Webanwendung durch den Verwaltungs-Dienst bereitzustellen. 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).
-
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 Maschinenauswahl-Interaktion 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ühren 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 Anwendungslistenelement 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 Anwendungssymbol gezogen wird). Die Symbole bzw. Listenelemente der ausgewählten Anwendung und der ausgewählten Maschine können graphisch auf der Benutzeroberfläche hervorgehoben werden, z.B. unterschiedlich eingefärbt werden.
-
Nach dem Zuweisen der Anwendung zur Maschine (d.h. Auswählen der Anwendung und Auswählen der Maschine) erfolgt serverseitig, d.h. durch den Verwaltungs-Dienst, eine Kompatibilitätsprüfung (Pfeil 12). Bei der Kompatibilitätsprüfung wird anhand der Anwendungsinformationen li, der Anwendung Ai, die installiert 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.
-
Die Kompatibilitätsprüfung kann beispielsweise eines oder mehreres umfassen von: ob die Anwendung für den Typ der Maschine bzw. deren Steuereinheit vorgesehen ist; ob die Maschine für die Funktion der Anwendung notwendige Hardware-Ressourcen aufweist, z.B. notwendige Funktionsbaugruppen, Sensoren o.Ä.; ob die Steuereinheit ausreichend verfügbare Rechenleistung und/oder verfügbaren Speicherplatz aufweist; ob für die Funktion der Anwendung notwendige andere Anwendungen installiert sind, ob Inkompatibilitäten mit bereits installierten 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 Ii und Maschineninformationen 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 angegeben wird oder, in den Anwendungsinformationen, die Anzahl verfügbarer Anwendungslizenzen verringert.
-
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ährend auf die Datenverbindung gewartet wird. Eventuell kann hier auch vorgesehen 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 Installation berücksichtigt werden kann.
-
Wenn die Kompatibilitätsprüfung nicht erfolgreich ist, wird vorzugsweise eine entsprechende Fehlermeldung ausgegeben, in der die Ursache der fehlgeschlagenen 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 angebaut ist. Hierzu kann eventuell eine entsprechende Eingabe vom Benutzer abgefragt werden, d.h. es wird eine Benutzereingabe erfasst, die anzeigt, ob die nicht erfolgreiche Kompatibilitätsprüfung ignoriert werden soll, also die Anwendung 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 deinstallierenden Anwendung erfasst. Beispielsweise können auf der Benutzeroberfläche neben den Maschinensymbolen Symbole der auf den jeweiligen Maschinen installierten Anwendungen angezeigt werden und durch eine Interaktion ausgewählt werden. Ein Wegziehen des Symbols von der Maschine kann anzeigen, dass die Anwendung deinstalliert werden soll. Ebenso wäre die Anzeige eines Menüs bei Auswahl der Maschine bzw. Anwendung möglich (etwa durch Rechtsklick bei Bediendung mit einer Maus).
-
Die gewählte, zu deinstallierende Anwendung wird anschließend, wenn die Datenverbindung zwischen Verwaltungs-Dienst und Steuereinheit der Maschine besteht, von dieser deinstalliert und die Anwendungsinformationen und Maschineninformationen werden entsprechend aktualisiert. Auch hier wird vorzugsweise zunächst eine Deinstallations-Freigabe erfasst und die Anwendung nur deinstalliert, 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.
-
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 Auswahl einer Maschine, auf der bzw. auf deren Steuereinheit die Anwendung installiert werden soll. Die Reihenfolge der Schritte 110, 120, d.h. der Anwendungsauswahlerfassung und der Maschinenauswahlerfassung, kann hier beliebig sein. Hierzu kann wie im Zusammenhang mit 1 beschrieben ein Benutzerendgerä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.
-
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 Maschineninformationen durchführt.
-
Wenn die Kompatibilitätsprüfung nicht erfolgreich ist, also beispielsweise Anwendungsanforderungen 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 enthalten 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 Behebung des Fehlers ergreifen kann. In Abhängigkeit von der Fehlermeldung oder von einer entsprechenden Benutzereingabe kann die Installation dennoch ermöglicht werden.
-
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 automatischen Auswahl entsprechend Schritt 110, zur Folge haben. Das Verfahren wird dann zunächst für die andere automatisch ausgewählte Anwendung durchgefü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ünglich ausgewählte Anwendung installiert wird. Es kann vorgesehen sein, dass diese 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 ergebenden Änderungen, d.h. die Zuweisung der Anwendung zur Maschine, berücksichtigt werden) und es wird die Anwendung installiert, Schritte 160, 170, 180, 190. Beim Aktualisieren (Schritt 150) können insbesondere Maschineninformationen der ausgewählten Maschine aktualisiert werden, die eines oder mehreres des Folgenden betreffen: verfügbarer Speicherplatz der Steuereinheit; installierte Anwendungen; verfügbare Rechenleistung der Steuereinheit. Ebenso kann bei den Anwendungsinformationen der ausgewählten Anwendung die Anzahl verfügbarer Lizenzen erniedrigt werden.
-
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 Anforderung an ein Bediengerät gesendet werden (etwa eine Push-up-Nachricht) und die Installations-Freigabe als Bedienereingabe erfasst werden.
-
In Schritt 160 wird beim Installieren der Anwendung zunächst geprüft, ob die Datenverbindung zwischen Steuereinheit der ausgewählten Maschine und Verwaltungs-Dienst besteht. Wenn dies der Fall ist, wird in Schritt 170 die Anwendung auf der Steuereinheit der ausgewählten Maschine installiert, dabei wird insbesondere der Programmcode der Anwendung über die Datenverbindung zur Steuereinheit übertragen. In diesem Fall kann das Aktualisieren (Schritt 150) parallel zum Installieren (Schritt 170) oder auch unmittelbar nach diesem durchgeführt werden.
-
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 Installation der Anwendung in Schritt 190 ausgeführt. Hierbei kann gegebenenfalls die Installations-Freigabe (Schritt 155), anders als dargestellt, erst nach dem Herstellen der Datenverbindung erfasst werden. Das Aktualisieren (Schritt 150) erfolgt unmittelbar nach der Kompatibilitätsprüfung bzw. nach Prüfung, ob die Datenverbindung 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 Warteschleife) zu verstehen, sondern soll auch beinhalten, dass das Herstellen der Datenverbindung bzw. ein Feststellen durch den Verwaltungs-Dienst, dass die Datenverbindung hergestellt wurde, den nachfolgenden Schritt 190 (und gegebenenfalls 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.