DE102014215317A1 - Method and server architecture for controlling services in a middleware for simplified communication between applications of technical systems distributed on autonomous computers and registered or to be registered in the middleware - Google Patents
Method and server architecture for controlling services in a middleware for simplified communication between applications of technical systems distributed on autonomous computers and registered or to be registered in the middleware Download PDFInfo
- Publication number
- DE102014215317A1 DE102014215317A1 DE102014215317.4A DE102014215317A DE102014215317A1 DE 102014215317 A1 DE102014215317 A1 DE 102014215317A1 DE 102014215317 A DE102014215317 A DE 102014215317A DE 102014215317 A1 DE102014215317 A1 DE 102014215317A1
- Authority
- DE
- Germany
- Prior art keywords
- middleware
- program module
- applications
- calculation
- starting
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1073—Registration or de-registration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
Um Dienste (DI, DI1...DI9) in einer Middleware (MW) für eine vereinfachte Kommunikation zwischen auf autonomen Rechnern verteilten, bei der Middleware (MW) registrierten oder zu registrierenden Anwendungen (AW, AW1...AW4) technischer Systeme so zu steuern, dass bei einer Unterbrechung der vereinfachten Kommunikation der Anwendungen (AW, AW1...AW4) in der Middleware (MW) und dadurch bedingte Ausfallzeiten von Basisfunktionalitäten der Anwendungen sowie bei einer anschließenden Wiederaufnahme bzw. Neustart der vereinfachten Kommunikation der Anwendungen (AW, AW1...AW4) Anlaufzeiten und die Wiederherstellung der Basisfunktionalitäten der Anwendungen (AW, AW1...AW4) optimiert werden, wird es vorgeschlagen, dass – die vereinfachte Kommunikation der Anwendungen mit Hilfe von dienstspezifischen Middleware-Komponenten der Middleware (MW) ausgeführt wird, – die registrierten oder zu registrierenden Anwendungen (AW, AW1...AW4) jeweils für anwendungsbezogene Basisfunktionalitäten benötigte Dienste (DI1, DI5; DI1, DI7, DI8; DI3, DI7, DI8: DI2, DI4; DI1, DI3, DI5; DI6, DI7, DI9) der Middleware priorisieren, – mit einer auf der Basis der Priorisierung der Middleware-Dienste (DI1, DI5; DI1, DI7, DI8; DI3, DI7, DI8: DI2, DI4; DI1, DI3, DI5; DI6, DI7, DI9) und Dienstattributen als Inputparameter erstellten Berechnungsvorschrift eine Startreihenfolge zum Starten der Middleware-Komponenten berechnet wird und – die dienstspezifischen Middleware-Komponenten entsprechend der berechneten Startreihenfolge gestartet werden.To services (DI, DI1 ... DI9) in a middleware (MW) for simplified communication between distributed on autonomous computers, in the middleware (MW) registered or registered applications (AW, AW1 ... AW4) technical systems so to control that in case of interruption of the simplified communication of the applications (AW, AW1 ... AW4) in the middleware (MW) and consequent downtime of basic functionalities of the applications as well as a subsequent resumption or restart of the simplified communication of the applications (AW , AW1 ... AW4) optimizes startup times and the recovery of the basic functionalities of the applications (AW, AW1 ... AW4), it is proposed that - the simplified communication of the applications with the aid of service-specific middleware components of the middleware (MW) - the registered or registered applications (AW, AW1 ... AW4) are each required for application-related basic functionalities services (DI1, DI5; DI1, DI7, DI8; DI3, DI7, DI8: DI2, DI4; DI1, DI3, DI5; DI6, DI7, DI9) of the middleware, based on the prioritization of the middleware services (DI1, DI5, DI1, DI7, DI8, DI3, DI7, DI8: DI2, DI4, DI1, DI3, DI5, DI6 Calculate a start order for starting the middleware components and - start the service-specific middleware components according to the calculated start order.
Description
Die Erfindung bezieht sich auf ein Verfahren zur Steuerung von Diensten in einer Middleware für eine vereinfachte Kommunikation zwischen auf autonomen Rechnern verteilten, bei der Middleware registrierten oder zu registrierenden Anwendungen technischer Systeme gemäß dem Oberbegriff des Patentanspruches 1 und eine Serverarchitektur zur Steuerung von Diensten in einer Middleware für eine vereinfachte Kommunikation zwischen auf autonomen Rechnern verteilten, bei der Middleware registrierten oder zu registrierenden Anwendungen technischer Systeme gemäß dem Oberbegriff des Patentanspruches 10. The invention relates to a method for controlling services in a middleware for simplified communication between distributed on autonomous computers, registered in the middleware applications or applications of technical systems according to the preamble of claim 1 and a server architecture for controlling services in a middleware for a simplified communication between distributed on autonomous computers, in the middleware registered or registered applications of technical systems according to the preamble of claim 10.
Mit Middleware bezeichnet man eine spezielle Computer Software, die für andere Softwareanwendungen Dienste zur Verfügung stellt, die über die Dienste eines Betriebssystems hinausgehen. Diese Dienste erlauben eine einfachere Kommunikation zwischen Anwendungen, die sich bei der Middleware registrieren. Die Komplexität dieser Anwendungen und ihrer unterschiedlichen Protokolle werden voreinander versteckt. Daher kann man eine Middleware auch als Verteilungsplattform bezeichnen (vgl.
Aufgrund technischer Probleme im technischen System kann es vorkommen, dass eine Middleware heruntergefahren und neu gestartet werden muss. Die Anwendungen, die die Middleware zur Kommunikation verwenden, können in dieser Zeit ihre eigenen Aufgaben gar nicht oder nur eingeschränkt zur Verfügung stellen. Diese Anwendungen haben jedoch möglicherweise "Service-Level-Agreements (SLAs)", die eine sehr kurze Ausfallzeit für bestimmte Aufgaben garantieren. Typischerweise handelt es sich um Aufgaben, die für eine Basisfunktionalität wichtig sind. Es kann sehr teuer oder unmöglich sein, die Middleware und die Hardware, auf der sie läuft, durch Replikation von Softwaremodulen oder durch redundante Hardware oder sehr performante Hardware so zu konzipieren, dass ihre Anlaufzeit so kurz ist, dass die SLAs der registrierten Anwendungen erfüllt werden können. Die Dienste der Middleware, die für die Basisfunktionalität der registrierten Anwendungen gebraucht werden, können von Anwendung zu Anwendung unterschiedlich sein. Due to technical problems in the technical system, it may happen that a middleware has to be shut down and restarted. The applications that use the middleware for communication can not provide their own tasks at this time, or only to a limited extent. However, these applications may have Service Level Agreements (SLAs) that guarantee very short downtime for certain tasks. Typically, these are tasks that are important to basic functionality. It can be very expensive or impossible to design the middleware and hardware on which it runs by replicating software modules, or using redundant hardware or high-performance hardware, so that their startup time is so short that the SLAs of the registered applications are met can. The services of the middleware used for the basic functionality of the registered applications may vary from application to application.
Ein technisches System mit Anwendungen, die sich bei einer Middleware registrieren, ist beispielsweise ein Verbund zur Bereitstellung und zum Verbrauch regenerativer Energien, in dem sowohl Energieanbieter als auch Energieverbraucher zusammengeschlossen sind. Die in den Verbund integrierten Windräder bieten ein "Web Service Interface", das zur Administration der Windräder und zur Lieferung von Wetterdaten über an den Windrädern angebrachte Sensoren benutzt wird. Zum Monitoring der Windräder wird z.B. ein "Supervisory Control and Data Acquisition(SCADA)"-Anwendung eingesetzt (vgl.
Die vorliegende Erfindung ist aber nicht auf das vorstehend genannte technische System mit den genannten Anwendungen beschränkt, sondern kann ohne Weiteres auch für beliebig andere technische Systeme, so z.B. solche im Bereich der Industrie-Automatisierung, der Medizintechnik, der Energietechnik auf anderen Feldern als dem vorstehend erläuterten Windradszenario, der Digitalen Informations- und Kommunikationstechnik etc., angewandt werden. However, the present invention is not limited to the above-mentioned technical system with said applications, but can be readily adapted to any other technical systems, e.g. those in the field of industrial automation, medical technology, energy technology in other fields than the above-described wind turbine scenario, the digital information and communication technology, etc., are applied.
In Bezug auf die vorstehend angedeutete "Middleware"-Problematik gehört zum Stand der Technik beispielsweise ein Lösungsansatz bestehend aus einem Middleware-Installationsprogramm, das einen Implementierungsplan erzeugt und für komplexe Middleware-Konfigurationen verwendet wird. Dieser Implementierungsplan wird auf der Grundlage von Implementierungsoptionen erzeugt, die ein Administrator festgelegt hat. Der Implementierungsplan bestimmt die Reihenfolge des Startens der Komponenten einer Middleware (vgl.
Der Administrator hat also die Möglichkeit, Optionen so zu setzen, dass die Middleware insgesamt möglichst schnell hochfährt. Die Informationen über die in Notfallsituationen zuerst benötigten Middleware-Dienste gehen hier jedoch nicht explizit ein, da die Anwendungen diese Anforderungen nicht anmelden. Insbesondere wird der Implementierungsplan nicht dynamisch geändert, wenn eine neue Anwendung – mit möglicherweise anderen Anforderungen für ihre Basisfunktionalität – registriert wird. The administrator therefore has the option of setting options in such a way that the middleware as a whole starts up as quickly as possible. However, the information about the middleware services first required in emergency situations is not explicitly mentioned here, since the applications do not log on to these requirements. In particular, the implementation plan is not dynamically changed when a new application is registered, with possibly different requirements for its basic functionality.
Die der Erfindung zugrundeliegende Aufgabe besteht darin, ein Verfahren und eine Serverarchitektur zur Steuerung von Diensten in einer Middleware für eine vereinfachte Kommunikation zwischen auf autonomen Rechnern verteilten, bei der Middleware registrierten oder zu registrierenden Anwendungen technischer Systeme anzugeben, bei dem bzw. bei der bei einer Unterbrechung der vereinfachten Kommunikation der Anwendungen in der Middleware und dadurch bedingte Ausfallzeiten von Basisfunktionalitäten der Anwendungen sowie bei einer anschließenden Wiederaufnahme bzw. Neustart der vereinfachten Kommunikation der Anwendungen Anlaufzeiten und die Wiederherstellung der Basisfunktionalitäten der Anwendungen optimiert werden. The object underlying the invention is to specify a method and a server architecture for controlling services in a middleware for simplified communication between distributed on autonomous computers, registered in the middleware or applications to be registered technical systems, in which or at the at a Interruption of simplified communication of applications in the middleware and consequent downtime of basic functionalities of the applications as well as subsequent resumption or restart of the simplified communication of applications startup times and the restoration of the basic functionality of the applications can be optimized.
Diese Aufgabe wird ausgehend von dem im Oberbegriff des Patentanspruchs 1 definierten Verfahren durch die im Kennzeichen des Patentanspruches 1 angegebenen Merkmale gelöst. This object is achieved on the basis of the method defined in the preamble of patent claim 1 by the features specified in the characterizing part of patent claim 1.
Darüber hinaus wird die Aufgabe ausgehend von der im Oberbegriff des Patentanspruchs 10 definierten Serverarchitektur durch die im Kennzeichen des Patentanspruches 10 angegebenen Merkmale gelöst. In addition, the object is achieved on the basis of the defined in the preamble of claim 10 server architecture by the features specified in the characterizing part of claim 10.
Die der Erfindung zugrundeliegenden Idee besteht darin, dass bei der Steuerung von Diensten in einer Middleware für eine vereinfachte Kommunikation zwischen auf autonomen Rechnern verteilten, bei der Middleware registrierten oder zu registrierenden Anwendungen technischer Systeme
- – die vereinfachte Kommunikation der Anwendungen mit Hilfe von dienstspezifischen Middleware-Komponenten der Middleware ausgeführt wird,
- – die registrierten oder zu registrierenden Anwendungen jeweils für anwendungsbezogene Basisfunktionalitäten benötigte Dienste der Middleware priorisieren,
- – mit einer auf der Basis der Priorisierung der Middleware-Dienste und Dienstattributen als Inputparameter erstellten Berechnungsvorschrift eine Startreihenfolge zum Starten der Middleware-Komponenten berechnet wird und
- – die dienstspezifischen Middleware-Komponenten entsprechend der berechneten Startreihenfolge gestartet werden.
- The simplified communication of the applications is carried out by means of service-specific middleware components of the middleware,
- - the registered or to-be-registered applications prioritize middleware services required for application-related basic functionalities,
- A starting order for starting the middleware components is calculated using a calculation rule created on the basis of the prioritization of the middleware services and service attributes as input parameters, and
- - The service-specific middleware components are started according to the calculated start order.
In der Middleware sind hierfür entsprechende Programmmodule,
- – ein Registrier-Programmmodul zum Speichern und Ausgeben von durch die registrierten oder zu registrierenden Anwendungen jeweils für anwendungsbezogene Basisfunktionalitäten benötigten und priorisierten Diensten der Middleware,
- – ein Berechnung-Programmmodul zum Berechnen einer Startreihenfolge zum Starten der dienstspezifischen Middleware-Komponenten, das eingabeseitig mit dem Registrier-Programmmodul und einem Dienstattribute-Programmmodul eine datenverarbeitende Funktionseinheit bildet und
- – ein Start-Programmmodul, das mit dem Berechnung-Programmmodul eine ablaufsteuernde Funktionseinheit bildet, vorhanden (vgl. Anspruch 10)
- A registration program module for storing and issuing services of the middleware required and prioritized by the registered or to be registered applications respectively for application-related basic functionalities,
- A calculation program module for calculating a start order for starting the service-specific middleware components, which on the input side forms a data-processing functional unit with the registration program module and a service attribute program module, and
- A start program module which forms a sequence-controlling functional unit with the calculation program module (see claim 10)
Die Middleware kann beispielsweise ein Protokoll zur Verhandlung der Zuteilung von Ressourcen zu Anwendungen verwenden, wie z.B. "SNAP: A protocol for negotiating service level agreements and coordinating resource management in distributed systems" (vgl.
Fazit: Die gemäß der der Erfindung zugrundeliegenden Idee vorgeschlagene Art der Steuerung erlaubt Anwendungen, die sich bei der Middleware registrieren, eine Priorisierung der Dienste der Middleware anzugeben. Diese Priorisierung kann so gewählt werden, dass die Basisfunktionalität der Anwendung schnellstmöglich (Stw.: kurze Analaufzeit) wieder hergestellt wird. Die Art der Steuerung in der Middleware (z.B. durch die im Anspruch 10 angegebenen Programmmodule) ermöglicht, dass mit Hilfe einer Berechnungsvorschrift aus den Angaben aller registrierten Anwendungen bezüglich der benötigten Dienste und korrespondierender Dienstattribute, z.B. als feste Eigenschaften der Dienste zugeordneter Service Level Agreements (SLAs), als Inputparameter für die Berechnungsvorschrift eine optimale Reihenfolge des Zur-Verfügung-Stellens der Dienste der Middleware berechnet und daraus eine optimale Reihenfolge des Hochfahrens der Komponenten der Middleware abgeleitet bzw. bestimmt wird. Conclusion: The type of control proposed according to the idea underlying the invention allows applications that register with the middleware to specify a prioritization of the services of the middleware. This prioritization can be chosen in such a way that the basic functionality of the application is restored as quickly as possible (Stw.: Short anal time). The type of control in the middleware (e.g., by the program modules specified in claim 10) allows, with the aid of a calculation rule, to extract from the indications of all registered applications the required services and corresponding service attributes, e.g. as a fixed characteristic of the service associated Service Level Agreements (SLAs), calculated as input parameters for the calculation rule, an optimal order of providing the services of the middleware and derived therefrom an optimal order of startup of the components of the middleware.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben. Advantageous developments of the invention are specified in the subclaims.
Die Berechnungsvorschrift wird als parametrierbare Vorschrift ausgeführt (Anspruch 2) oder ist parametrierbar (Anspruch 11). Dadurch kann die Steuerung der Dienste in der Middleware für die vereinfachte Kommunikation zwischen den auf autonomen Rechnern verteilten, bei der Middleware registrierten oder zu registrierenden Anwendungen flexibler gestaltet wird. The calculation rule is executed as a parameterizable rule (claim 2) or is parameterizable (claim 11). Thereby, the control of the services in the middleware for the simplified communication between the distributed on autonomous computers in the middleware registered or registered applications can be made more flexible.
Die Parametrierbarkeit der Berechnungsvorschrift ermöglicht es zudem, dass für die Berechnung der Startreihenfolge die Inputparameter gewichtet werden können (Ansprüche 3 und 12). Die Gewichtung wird dabei vorzugsweise vom Administrator bzw. Operator der Middleware vorgenommen (Ansprüche 7 und 16). The parameterability of the calculation rule also allows the input parameters to be weighted for the calculation of the start order (
Darüber hinaus besteht die zweckmäßige Option, dass die Startreihenfolge zum Starten der Middleware-Komponenten dynamisch berechnet wird (Ansprüche 4 und 13), um einen Wiederanlauf der Middleware und/oder das Herunterfahren und Neustarten der Middleware in Bezug auf minimale Ausfallzeiten der Basisfunktionalität der gerade registrierten Anwendungen maßgeblich zu verbessern. In addition, there is an expedient option that the starting order for starting the middleware components is calculated dynamically (claims 4 and 13) to restart the middleware and / or shut down and restart the middleware in terms of minimal downtime of the base functionality of the just registered Significantly improve applications.
In diesem Zusammenhang ist es auch sinnvoll, dass, wenn sich eine neue Anwendung in bzw. bei der Middleware registriert oder sich eine Anwendung aus der Middleware abmeldet, die Startreihenfolge zum Starten der Middleware-Komponenten neu berechnet wird (Ansprüche 5 und 14). Damit ist gewährleistet, dass die Middleware die Zeit, die die Anwendungen brauchen, bis ihre Basisfunktionalitäten wieder zur Verfügung stehen, immer optimiert. In this context, it also makes sense that when a new application registers in or with the middleware or an application logs out of the middleware, the boot order for starting the middleware components is recalculated (
Weiterhin ist es von Vorteil, die berechnete Startreihenfolge zur Aktualisierung des Ergebnisses der Berechnung zu speichern, damit zumindest bei einem von späteren bzw. zukünftigen) Wiederanläufen der Middleware und dem späteren bzw. zukünftigen Herunterfahren und Neustarten der Middleware auf das aktualisierte Ergebnis der Berechnung zugegriffen werden kann (Ansprüche 6 und 15). Furthermore, it is advantageous to store the calculated start order for updating the result of the calculation so that the updated result of the calculation is accessed, at least during a later or future restart of the middleware and later and future shutdown and restart of the middleware can (
Die Art der Steuerung der Dienste in der Middleware für die vereinfachte Kommunikation zwischen den auf autonomen Rechnern verteilten, bei der Middleware registrierten oder zu registrierenden Anwendungen kann außerdem noch dadurch verbessert werden, indem die Startreihenfolge zum Starten der Middleware-Komponenten auf der Basis von analysierten Monitoring-Daten zumindest aus einem von vorausgegangenen Wiederanläufen der Middleware und dem Herunterfahren und Neustarten der Middleware berechnet wird, wobei die Monitoring-Daten im Sinne einer "lernenden Berechnungsvorschrift" entsprechende Messwerte zum Herstellen eines Zusammenhangs zwischen Anwendungen/Anwendungsszenarien und Erfolg der Berechnungsvorschrift beinhalten (Ansprüche 8 und 17). The way of controlling the services in the middleware for the simplified communication between the distributed on autonomous computers, registered in the middleware or registered applications can also be further improved by the starting order to start the middleware components based on analyzed monitoring Data is calculated from at least one of previous middleware restart and shutdown and restart of the middleware, the monitoring data in the sense of a "learning calculation rule" corresponding measured values for establishing a relationship between applications / application scenarios and success of the calculation rule (
Hierbei handelt es sich um optionale Maßnahme, bei der vorzugsweise Messungen zur Nutzung von Diensten der Middleware und zu Wiederanlaufszenarien erfolgen (Monitoring), die anschließend gespeichert und analysiert werden. Die Ergebnisse der Analyse können verwendet werden, um zukünftige bzw. spätere Neuberechnungen der Startreihenfolge der Dienste beim Hochfahren der Middleware zu verbessern. This is an optional measure that preferably involves measurements for the use of middleware services and recovery scenarios (monitoring), which are then stored and analyzed. The results of the analysis can be used to improve future or later recalculations of the boot order of the services when booting the middleware.
Eine weitere optionale Maßnahme die Art der Steuerung der Dienste in der Middleware für die vereinfachte Kommunikation zwischen den auf autonomen Rechnern verteilten, bei der Middleware registrierten oder zu registrierenden Anwendungen zu verbessern, besteht darin, dass die Startreihenfolge zum Starten der Middleware-Komponenten auf der Basis von analysierten betriebswirtschaftlichen Monitoring-Daten, insbesondere Kosten durch SLA-Verletzung, berechnet wird (Ansprüche 9 und 17). Bei diesen Kosten handelt es sich z.B. um vereinbarte und tatsächlich angefallene Kosten für Verletzungen von Service Level Agreements, die für die Neuberechnung der Startreihenfolge herangezogen werden. Another optional measure to improve the way in which the services in the middleware are controlled for simplified communication between the applications registered or to be registered with the middleware on autonomous computers is that the starting order for starting the middleware components is based on is calculated from analyzed business monitoring data, in particular costs due to SLA violation (
Die in den Ansprüchen 10, 15 und 17 angegebenen Programmmodule können auf zwei verschiedene Arten realisiert werden (Ansprüche 18 und 19):
- – Einer Serverarchitektur basierend auf einem Server ("1-Server-Lösung") gemäß Anspruch 18 (vgl.
1 ) bei dem die Middleware mit all den Programmmodulen vollumfänglich in der Server bzw. die Serverarchitektur integriert ist und - – einer Serverarchitektur basierend auf zwei Server ("2-Server-Lösung") gemäß Anspruch 19 (vgl.
2 ) bei der die Serverarchitektur zweiteilig, in einen ersten Server und einen zweiten Server, unterteilt ist, wobei der erste Server das Registrier-Programmmodul, das Dienstattribute-Programmmodul, die Speicher-Programmmodule und das Berechnung-Programmmodul enthält, welche nicht zur Middleware gehören, während der zweite Server das Start-Programmmodul enthält, welches in die Middleware integriert ist und die Middleware wiederum in dem zweiten Server integriert ist.
- A server architecture based on a server ("1 server solution") according to claim 18 (cf.
1 ) in which the middleware with all the program modules is fully integrated in the server or server architecture and - A server architecture based on two servers ("2 server solution") according to claim 19 (cf.
2 in which the server architecture is divided into two parts, a first server and a second server, the first server containing the registrar program module, the service attributes program module, the memory program modules and the computation program module, which do not belong to the middleware, while the second server contains the boot program module which is integrated into the middleware and the middleware is in turn integrated in the second server.
Bei der "2-Server-Lösung" ist der erste Server eine separate Maschine auf der die genannten Programmmodule ablaufen. Dieser Server ist dann für die Generierung der Startreihenfolge der Middleware-Komponenten verantwortlich und von einem Ausfall des als zweiten Servers benannten Middleware-Servers, in dem die Middleware integriert ist, nicht unbedingt betroffen. In the case of the "2 server solution", the first server is a separate machine on which the mentioned program modules run. This server is then responsible for generating the boot order of the middleware components and is not necessarily affected by a failure of the middleware server named middle server, in which the middleware is integrated.
Bei der "1-Server-Lösung" laufen alle Programmmodule auf dem gleichen Server und können vorzugsweise als Teile der Middleware selbst realisiert werden. In dem Fall müssen die Programmmodule bei einem Ausfall der Middleware vor den von ihr verwalteten Diensten der Middleware wieder gestartet werden. Die hierfür benötigte Kommunikation kann z.B. über TCP/IP erfolgen. In the "1 server solution" all program modules run on the same server and can preferably be realized as parts of the middleware itself. In that case, if the middleware fails, the program modules must be restarted before the middleware services they manage. The communication required for this can e.g. via TCP / IP.
Weitere Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung eines Ausführungsbeispieles der Erfindung anhand der
Ein Dienst ist in diesem Zusammenhang eine Funktionalität, die von der Middleware MW nach außen angeboten wird und die innerhalb der Middleware MW durch Middleware-Komponenten realisiert wird. Dabei können mehrere Dienste der Middleware MW die gleichen Middleware-Komponenten nutzen. Im Unterschied dazu ist eine Anwendung eine andere Art von Software, die die Dienste der Middleware MW nutzt. A service in this context is a functionality that is offered to the outside by the middleware MW and that is realized within the middleware MW by middleware components. Several services of the middleware MW can use the same middleware components. In contrast, an application is another type of software that uses the services of the middleware MW.
Das technische System mit den zugeordneten Anwendungen kann z.B. ein Verbund zur Bereitstellung und zum Verbrauch regenerativer Energien mit einer "Supervisory Control and Data Acquisition(SCADA)"-Anwendung, eine eCar-Anwendung etc. sein, in dem sowohl Energieanbieter als auch Energieverbraucher verbunden sind. Die z.B. in den Verbund integrierten Windräder bieten zur Administration und Lieferung von Wetterdaten über angebrachte Sensoren ein "Web-Service-Interface" an. Zum Monitoring der Windräder kommt z.B. die erwähnte SCADA-Anwendung (vgl.
Für den Fall, dass die Middleware MW herunterfährt oder heruntergefahren werden muss, ist es für die Windräder am wichtigsten, sich wieder zeitlich zu synchronisieren, damit alle Meldedaten richtige Zeitstempel enthalten. Dafür wird ein "time-sync"-Dienst der Middleware verwendet. Dies gilt für alle Windräder. D.h. solange nur die Windräder hochprioritäre Dienste anmelden, sind die Komponenten der Middleware MW, die den "time-sync"-Dienst ermöglichen, zuerst hochzufahren. Andere Dienste der Middleware MW, wie Storage, Message Filtering oder Protocol Adapter sind für die Notfallfunktionen des Windrades nicht notwendig und ihre Komponenten können daher nachgelagert hochgefahren werden. In the event that the middleware MW shuts down or shuts down, it is most important for the windmills to time synchronize again so that all reporting data contains correct timestamps. This is done using a middleware time-sync service. This applies to all wind turbines. That as long as only the wind turbines register high-priority services, the components of the middleware MW that allow the time-sync service to boot first. Other middleware MW services, such as storage, message filtering or protocol adapters, are not required for the wind turbine's emergency functions, and their components can therefore be booted upside down.
Wenn in den Verbund eine neue Anwendung eingebunden wird, können sich neue Prioritäten ergeben. Wenn z.B. die erwähnte eCar-Anwendung eingebunden wird, dann könnte diese als höchste Priorität haben, so schnell wie möglich wieder Strom zu laden. Sie würde den Middleware-Dienst zur Autorisierung des Ladevorgangs mit höchster Priorität angeben. Der Middleware-Dienst zur Teilnahme an der Spannungsregelung des gesamten Netzes wird mit geringerer Priorität benötigt. If a new application is integrated into the network, new priorities may arise. If e.g. If the mentioned eCar application is involved, then this could have the highest priority to recharge power as soon as possible. It would specify the middleware service to authorize the highest priority load. The middleware service to participate in the voltage regulation of the entire network is needed with lower priority.
Dies ist ein Beispielszenario, das beliebig erweitert, verändert oder komplett modifiziert werden kann. This is an example scenario that can be arbitrarily extended, changed or completely modified.
So lässt sich ein entsprechend modifiziertes Szenario auf völlig andere technische Systeme mit anderen Anwendungen vorstellen, für das die in der
In dem Beispiel gemäß der
Von denen in der
Die Middleware-Komponenten sind Softwarebausteine im Inneren der Middleware MW, die gebraucht werden, um die Dienste der Middleware zu realisieren. Neben diesen von Diensten angesprochenen Middleware-Komponenten gibt es auch Middleware-Komponenten, die von keinem Dienst direkt angesprochen werden, aber doch insgesamt für die Funktionalität der Middleware MW nötig sind. Die Middleware-Komponenten sind in der
Die Berechnung der Startreihenfolge der Middleware-Komponenten erfolgt in einem dafür speziell vorgesehenen Berechnung-Programmmodul B-PM, in dem die Berechnung der Startreihenfolge implementiert ist. Als Input für die Berechnung der Startreihenfolge erhält dieses Berechnung-Programmmodul B-PM neben der Priorisierung der Dienste DI durch die Anwendungen AW von einem Dienstattribute-Programmmodul D-PM Attribute, z.B. feste Eigenschaften, der Dienste DI, die in einem Dienstattribute-Programmmodul D-PM gespeichert sind. Zu diesem Zweck kommuniziert das Berechnung-Programmmodul B-PM sowohl mit dem Registrier-Programmmodul R-PM als auch mit dem Dienstattribute-Programmmodul D-PM. Zu einem typischen Dienstattribut zählt z.B. ein "Service Level Agreement (SLA)" als fester Bestandteil des Dienstes DI. Die Abspeicherung dieser Dienstattribute in das Dienstattribute-Programmmodul D-PM erfolgt vorzugsweise durch den Administrator bzw. Operator der Middleware MW. Es ist alternativ aber auch möglich, dass die Dienstattribute von einem anderen Server oder Computer mittels eines auf diesem gespeicherten Softwareprogramm automatisch in das Dienstattribute-Programmmodul D-PM gespeichert werden. The calculation of the starting order of the middleware components takes place in a specially provided calculation program module B-PM, in which the calculation of the starting order is implemented. As input for the calculation of the start order, this calculation program module B-PM receives, in addition to the prioritization of the services DI by the applications AW from a service attribute program module D-PM, attributes, e.g. fixed properties, the services DI stored in a service attribute program module D-PM. For this purpose, the calculation program module B-PM communicates with both the registration program module R-PM and the service attribute program module D-PM. A typical service attribute includes e.g. a "Service Level Agreement (SLA)" as an integral part of the service DI. The storage of these service attributes in the service attributes program module D-PM is preferably carried out by the administrator or operator of the middleware MW. Alternatively, however, it is also possible that the service attributes are automatically stored by another server or computer by means of a software program stored thereon in the service attributes program module D-PM.
Mit den Dienstattributen und den Informationen zur Priorisierung der Middleware-Dienste ermittelt das Berechnung-Programmmodul B-PM nun die Startreihenfolge der Middleware-Komponenten. Das Berechnung-Programmmodul B-PM bildet dabei zusammen mit dem Registrier-Programmmodul R-PM und dem Dienstattribute-Programmmodul D-PM eine datenverarbeitende Funktionseinheit und erstellt dabei auf der Basis der genannten Inputparameter eine Berechnungsvorschrift, mit der die Startreihenfolge berechnet wird. Die Implementierung der Berechnungsvorschrift erhält als Inputparameter die Prioritäten und die Werte solcher Variablen, die feste Eigenschaften der Dienste (Dienstattribute) kodieren, z.B. Höhe einer Strafe bei SLA-Verletzung. Daraus berechnet sie eine Startreihenfolge der Middleware-Komponenten, woraus sich dann letztendlich eine Reihenfolge ergibt, in der die Dienste der Middleware wieder zur Verfügung stehen. With the service attributes and the information for prioritizing the middleware services, the calculation program module B-PM now determines the starting order of the middleware components. The calculation program module B-PM forms, together with the registration program module R-PM and the service attributes program module D-PM, a data-processing functional unit and generates a calculation rule on the basis of the mentioned input parameters with which the start order is calculated. The implementation of the calculation rule receives as input parameters the priorities and the values of those variables which encode fixed properties of the services (service attributes), e.g. Amount of a penalty for SLA violation. From this it calculates a starting order of the middleware components, which ultimately results in a sequence in which the services of the middleware are available again.
Die Berechnung der Startreihenfolge erfolgt dabei vorzugsweise einmal, nachdem sich alle Anwendungen AW bei der Middleware registriert haben. Die Berechnungsvorschrift ist vorzugsweise eine parametrierbare Vorschrift, bei der für die Berechnung der Startreihenfolge die Inputparameter gewichtet werden. Diese Gewichtung der Inputparameter der Berechnungsvorschrift wird vorzugsweise vom Administrator bzw. Operator der Middleware vorgenommen. Zu diesem Zweck bietet das Berechnung-Programmmodul B-PM eine Möglichkeit in Form von Eingabemittel, die vorzugsweise als Software ausgestaltet sind und wie die Middleware-Komponenten in der
Um die Startreihenfolge immer den gegebenen Bedingungen anzupassen, ist es von Vorteil, wenn die Startreihenfolge zum Starten der Middleware-Komponenten dynamisch berechnet wird. Darüber hinaus wird die Startreihenfolge zum Starten der Middleware-Komponenten immer dann neu berechnet, wenn sich eine neue Anwendung bei der Middleware MW registriert oder sich eine Anwendung aus dem Middleware MW abmeldet. Ist die Startreihenfolge in dieser Weise von dem Berechnung-Programmmodul B-PM berechnet worden, so wird von dem Berechnung- Programmmodul B-PM als Output ein Steuerbefehl an ein Start-Programmmodul S-PM adressiert, mit dem das Start-Programmmodul S-PM das Starten der Middleware-Komponenten veranlasst. Das Start-Programmmodul S-PM, das mit dem Berechnung-Programmmodul B-PM eine ablaufsteuernde Funktionseinheit bildet, ist so ausgestaltet, dass die dienstspezifischen Middleware-Komponenten entsprechend der berechneten Startreihenfolge gestartet werden. Bei dem Start-Programmmodul S-PM handelt es sich somit um ein Programmodul, das die Middleware-Dienste in der berechneten Reihenfolge beim Wiederanlauf der Middleware MW effektiv startet. In order to always adapt the starting order to the given conditions, it is advantageous if the starting order for starting the middleware components is calculated dynamically. In addition, the boot order for starting the middleware components is recalculated each time a new application registers with the middleware MW or an application logs out of the middleware MW. If the starting order has been calculated in this way by the calculation program module B-PM, the output from the calculation program module B-PM is a control command addressed to a start program module S-PM with which the start program module S-PM starting the middleware components. The start program module S-PM, which forms a sequence-controlling functional unit with the calculation program module B-PM, is designed so that the service-specific middleware components are started according to the calculated start sequence. The start program module S-PM is thus a program module which effectively starts the middleware services in the calculated sequence when the middleware MW is restarted.
Zusätzlich als bevorzugte Ausgestaltung (optionales Feature) wird die von dem Berechnung-Programmmodul B-PM berechnete Startreihenfolge zur Aktualisierung des Berechnungsergebnisses für den Zugriff zumindest bei einem von späteren Wiederanläufen der Middleware MW und dem späteren Herunterfahren und Neustarten der Middleware MW in einem ersten Speicher-Programmmodul SP1-PM gespeichert, das dazu eingabeseitig dem Berechnung-Programmmodul B-PM zugeordnet ist. In addition, as a preferred embodiment (optional feature), the startup sequence calculated by the calculation program module B-PM for updating the calculation result for the access is at least one of later retrofits of the middleware MW and the subsequent shutdown and restart of the middleware MW in a first memory. Program module SP1 PM stored, which is the input side associated with the calculation program module B-PM.
Darüber hinaus kann die Berechnung außer von den festen Eigenschaften der Anwendungen, den Priorisierungen und der Gewichtung des Administrators zusätzlich von analysierten Monitoring-Daten abhängen. In addition, the calculation may depend on analyzed monitoring data in addition to the fixed properties of the applications, the prioritization and the weighting of the administrator.
Um die Berechnung der Startreihenfolge von Middleware-Komponenten in dem Berechnung-Programmmodul B-PM deshalb noch weiter zu optimieren, ist in der Middleware MW ein Analyse-Programmmodul A-PM zum Analysieren von Monitoring-Daten vorhanden. Therefore, in order to further optimize the calculation of the start order of middleware components in the calculation program module B-PM, in the middleware MW an analysis Program module A-PM for analyzing monitoring data available.
Dieses Analyse-Programmodul A-PM führt Messungen bezüglich der Dienstnutzung durch die Anwendungen, der Bedingungen durchgeführter Wiederanläufe der Middleware (z.B. gewählte Startreihenfolge) und deren Ergebnisse (z.B. in Bezug auf Wiederanlaufzeiten) durch. This analysis program module A-PM performs measurements on service usage by the applications, the conditions of middleware recovery (e.g., selected boot order), and their results (e.g., restart times).
Weiterhin können optional auch angefallene Kosten durch Verletzungen von SLAs eingegeben (durch den Administrator oder durch ein betriebswirtschaftliches System, z.B. einen weiteren Server bzw. Computer) und gespeichert werden. Further, optionally incurred costs may also be incurred by violations of SLAs (by the administrator or by a business system, such as another server or computer) and stored.
Es analysiert die Messungen der Dienstnutzung und der durch SLA Verletzungen entstandenen Kosten. Die Ergebnisse der Analyse werden zusätzlich zu den oben beschriebenen Inputparametern an die Berechnungsvorschrift in dem Berechnung-Programmmodul B-PM übergeben. Durch die Analyse von vergangenen Wiederanläufen wird also die Berechnungsvorschrift in Bezug auf ihren Erfolg optimiert. In diesem Fall handelt es sich um eine "lernende Berechnungsvorschrift". Auch in diesem Fall ist es wiederum möglich, dass der Administrator bzw. Operator auf die Gewichtung der verschiedenen Inputparameter innerhalb der Berechnungsvorschrift Einfluss nehmen kann. It analyzes the measurements of service usage and the costs incurred by SLA injuries. The results of the analysis are transferred to the calculation rule in the calculation program module B-PM in addition to the input parameters described above. The analysis of past restarts thus optimizes the calculation rule with regard to its success. In this case, it is a "learning calculation rule". In this case, too, it is possible for the administrator or operator to influence the weighting of the various input parameters within the calculation rule.
Damit die ganzen Monitoring-Daten laufend für das Analyse-Programmodul A-PM zur Verfügung stehen sind in der Middleware MW ein oder mehrere Speicher-Programmodule zur Speichung von Monitoring-Daten vorhanden. In order for the entire monitoring data to be continuously available for the analysis program module A-PM, there are one or more memory program modules for storing monitoring data in the middleware MW.
Das Analyse-Programmmodul A-PM ist dazu ausgabeseitig dem Berechnung-Programmmodul B-PM zur Bildung der datenverarbeitenden Funktionseinheit derart zugeordnet, dass das Berechnung-Programmmodul B-PM die Startreihenfolge zum Starten der Middleware-Komponenten zusätzlich auf der Basis der analysierten Monitoring-Daten berechnet, wobei die Monitoring-Daten im Sinne der "lernenden Berechnungsvorschrift" entsprechende Messwerte zum Herstellen eines Zusammenhangs zwischen den Anwendungen bzw. Anwendungsszenarien und dem Erfolg der Berechnungsvorschrift beinhalten. Die Monitoring-Daten bzw. die entsprechenden Messwerte ergeben sich dabei aus vorausgegangenen Wiederanläufen der Middleware MW und dem Herunterfahren und Neustarten der Middleware MW und sind in einem zweiten Speicher-Programmmodul SP2-PM, das eingabeseitig dem Analyse-Programmmodul A-PM zugeordnet ist, abgespeichert. For this purpose, the analysis program module A-PM is allocated to the calculation program module B-PM for forming the data-processing functional unit such that the calculation program module B-PM additionally determines the starting order for starting the middleware components on the basis of the analyzed monitoring data The monitoring data in the sense of the "learning calculation rule" include corresponding measured values for establishing a connection between the applications or application scenarios and the success of the calculation rule. The monitoring data or the corresponding measured values result from previous restarts of the middleware MW and the shutdown and restart of the middleware MW and are stored in a second memory program module SP2-PM, which is assigned to the analysis program module A-PM on the input side. stored.
Neben den Monitoring-Daten, die im Sinne der "lernenden Berechnungsvorschrift" entsprechende Messwerte umfassen, können auch weitere Daten zur Optimierung der Berechnung der Startreihenfolge der Middleware-Komponenten herangezogen werden. Solche Daten können z.B. betriebswirtschaftliche Monitoring-Daten sein, die in einem dritten Speicher-Programmmodul SP3-PM gespeichert sind. Das dritte Speicher-Programmmodul SP3-PM ist dabei wie das zweite Speicher-Programmmodul SP2-PM eingabeseitig dem Analyse-Programmmodul A-PM zugeordnet. Betriebswirtschaftliche Monitoring-Daten sind z.B. Daten, die die Kosten durch eine "Service Level Agreement"-Verletzung angeben. Diese Daten werden vorzugsweise vom Administrator bzw. Operator der Middleware in das dritte Speicher-Programmmodul SP3-PM eingegeben. Es ist alternativ aber auch möglich, dass diese Daten von einem anderen Server oder Computer mittels eines auf diesem gespeicherten Softwareprogramm automatisch in das dritte Speicher-Programmmodul SP3-PM gespeichert werden. In addition to the monitoring data, which include corresponding measured values in the sense of the "learning calculation rule", further data can be used to optimize the calculation of the starting order of the middleware components. Such data may e.g. Business monitoring data stored in a third memory program module SP3-PM. The third memory program module SP3-PM, like the second memory program module SP2-PM, is assigned on the input side to the analysis program module A-PM. Business monitoring data are e.g. Data indicating the cost of a service level agreement violation. This data is preferably entered by the administrator or operator of the middleware into the third memory program module SP3-PM. Alternatively, however, it is also possible that these data are automatically stored by another server or computer by means of a software program stored thereon in the third memory program module SP3-PM.
Das technische System mit den zugeordneten Anwendungen kann z.B. wieder ein Verbund zur Bereitstellung und zum Verbrauch regenerativer Energien mit einer "Supervisory Control and Data Acquisition(SCADA)"-Anwendung, eine eCar-Anwendung etc. sein, in dem sowohl Energieanbieter als auch Energieverbraucher verbunden sind. Die z.B. in den Verbund integrierten Windräder bieten zur Administration und Lieferung von Wetterdaten über angebrachte Sensoren ein "Web-Service-Interface" an. Zum Monitoring der Windräder kommt z.B. die erwähnte SCADA-Anwendung (vgl.
Für den Fall, dass die Middleware MW herunterfährt oder heruntergefahren werden muss, ist es für die Windräder am wichtigsten, sich wieder zeitlich zu synchronisieren, damit alle Meldedaten richtige Zeitstempel enthalten. Dafür wird ein "time-sync"-Dienst der Middleware verwendet. Dies gilt für alle Windräder. D.h. solange nur die Windräder hochprioritäre Dienste anmelden, sind die Komponenten der Middleware MW, die den "time-sync"-Dienst ermöglichen, zuerst hochzufahren. Andere Dienste der Middleware MW, wie Storage, Message Filtering oder Protocol Adapter sind für die Notfallfunktionen des Windrades nicht notwendig und ihre Komponenten können daher nachgelagert hochgefahren werden. In the event that the middleware MW shuts down or shuts down, it is most important for the windmills to time synchronize again so that all reporting data contains correct timestamps. This is done using a middleware time-sync service. This applies to all wind turbines. That is, as long as only the wind turbines register high-priority services, the components of the Middleware MW, which allows the time-sync service to boot first. Other middleware MW services, such as storage, message filtering or protocol adapters, are not required for the wind turbine's emergency functions, and their components can therefore be booted upside down.
Wenn in den Verbund eine neue Anwendung eingebunden wird, können sich neue Prioritäten ergeben. Wenn z.B. die erwähnte eCar-Anwendung eingebunden wird, dann könnte diese als höchste Priorität haben, so schnell wie möglich wieder Strom zu laden. Sie würde den Middleware-Dienst zur Autorisierung des Ladevorgangs mit höchster Priorität angeben. Der Middleware-Dienst zur Teilnahme an der Spannungsregelung des gesamten Netzes wird mit geringerer Priorität benötigt. If a new application is integrated into the network, new priorities may arise. If e.g. If the mentioned eCar application is involved, then this could have the highest priority to recharge power as soon as possible. It would specify the middleware service to authorize the highest priority load. The middleware service to participate in the voltage regulation of the entire network is needed with lower priority.
Dies ist ein Beispielszenario, das beliebig erweitert, verändert oder komplett modifiziert werden kann. This is an example scenario that can be arbitrarily extended, changed or completely modified.
So lässt sich ein entsprechend modifiziertes Szenario auf völlig andere technische Systeme mit anderen Anwendungen vorstellen, für das die in der
In dem Beispiel gemäß der
Im Unterschied zu der Serverarchitektur SVA in der
Die Middleware-Komponenten sind Softwarebausteine im Inneren der Middleware MW, die gebraucht werden, um die Dienste der Middleware zu realisieren. Neben diesen von Diensten angesprochenen Middleware-Komponenten gibt es auch Middleware-Komponenten, die von keinem Dienst direkt angesprochen werden, aber doch insgesamt für die Funktionalität der Middleware MW nötig sind. Die Middleware-Komponenten sind in der
In dem ersten Server SV1 ist ein Registrier-Programmmodul R-PM implementiert, das die Anwendungen AW für die Registrierung der von ihnen für anwendungsbezogene Basisfunktionalitäten benötigten und priorisierten Dienste nutzen. Das Registrier-Programmmodul R-PM stellt eine Möglichkeit zur Kommunikation mit den Nutzeranwendungen zur Verfügung, damit diese ihre Prioritäten für Dienste übermitteln können. Er speichert die von den Anwendungen übermittelten Prioriäten. In the first server SV1, a registration program module R-PM is implemented, which uses the applications AW for the registration of the services they need and prioritize for application-related basic functionalities. The registration program module R-PM provides a means of communicating with the user applications so that they can communicate their priorities for services. It stores the priorities transmitted by the applications.
Von denen in der
Die Berechnung der Startreihenfolge der Middleware-Komponenten erfolgt ebenfalls auf dem ersten Server SV1 in einem dafür speziell vorgesehenen Berechnung-Programmmodul B-PM, in dem die Berechnung der Startreihenfolge implementiert ist. Als Input für die Berechnung der Startreihenfolge erhält dieses Berechnung-Programmmodul B-PM neben der Priorisierung der Dienste DI durch die Anwendungen AW von einem Dienstattribute-Programmmodul D-PM Attribute, z.B. feste Eigenschaften, der Dienste DI, die in einem Dienstattribute-Programmmodul D-PM gespeichert sind. Zu diesem Zweck kommuniziert das Berechnung-Programmmodul B-PM sowohl mit dem Registrier-Programmmodul R-PM als auch mit dem Dienstattribute-Programmmodul D-PM. Zu einem typischen Dienstattribut zählt z.B. ein "Service Level Agreement (SLA)" als fester Bestandteil des Dienstes DI. Die Abspeicherung dieser Dienstattribute in das Dienstattribute-Programmmodul D-PM erfolgt vorzugsweise durch den Administrator bzw. Operator der Middleware MW. Es ist alternativ aber auch möglich, dass die Dienstattribute von einem anderen Server oder Computer mittels eines auf diesem gespeicherten Softwareprogramm automatisch in das Dienstattribute-Programmmodul D-PM gespeichert werden. The calculation of the starting order of the middleware components also takes place on the first server SV1 in a specially provided calculation program module B-PM, in which the calculation of the starting order is implemented. As input for the calculation of the starting order, this computation program module B-PM receives, in addition to the prioritization of the services DI by the applications AW from a service attribute program module D-PM, attributes, eg fixed properties, of the services DI contained in a service attributes program module D. -PM are stored. For this purpose, the calculation program module B-PM communicates with both the registration program module R-PM and the service attribute program module D-PM. A typical service attribute, for example, includes a "Service Level Agreement (SLA)" as a fixed one Part of the service DI. The storage of these service attributes in the service attributes program module D-PM is preferably carried out by the administrator or operator of the middleware MW. Alternatively, however, it is also possible that the service attributes are automatically stored by another server or computer by means of a software program stored thereon in the service attributes program module D-PM.
Mit den Dienstattributen und den Informationen zur Priorisierung der Middleware-Dienste ermittelt das Berechnung-Programmmodul B-PM nun die Startreihenfolge der Middleware-Komponenten. Das Berechnung-Programmmodul B-PM bildet dabei zusammen mit dem Registrier-Programmmodul R-PM und dem Dienstattribute-Programmmodul D-PM eine datenverarbeitende Funktionseinheit und erstellt dabei auf der Basis der genannten Inputparameter eine Berechnungsvorschrift, mit der die Startreihenfolge berechnet wird. Die Implementierung der Berechnungsvorschrift erhält als Inputparameter die Prioritäten und die Werte solcher Variablen, die feste Eigenschaften der Dienste (Dienstattribute) kodieren, z.B. Höhe einer Strafe bei SLA-Verletzung. Daraus berechnet sie eine Startreihenfolge der Middleware-Komponenten, woraus sich dann letztendlich eine Reihenfolge ergibt, in der die Dienste der Middleware wieder zur Verfügung stehen. With the service attributes and the information for prioritizing the middleware services, the calculation program module B-PM now determines the starting order of the middleware components. The calculation program module B-PM forms, together with the registration program module R-PM and the service attributes program module D-PM, a data-processing functional unit and generates a calculation rule on the basis of the mentioned input parameters with which the start order is calculated. The implementation of the calculation rule receives as input parameters the priorities and the values of those variables which encode fixed properties of the services (service attributes), e.g. Amount of a penalty for SLA violation. From this it calculates a starting order of the middleware components, which ultimately results in a sequence in which the services of the middleware are available again.
Die Berechnung der Startreihenfolge erfolgt dabei vorzugsweise einmal, nachdem sich alle Anwendungen AW bei der Middleware registriert haben. Die Berechnungsvorschrift ist vorzugsweise eine parametrierbare Vorschrift, bei der für die Berechnung der Startreihenfolge die Inputparameter gewichtet werden. Diese Gewichtung der Inputparameter der Berechnungsvorschrift wird vorzugsweise vom Administrator bzw. Operator der Middleware vorgenommen. Zu diesem Zweck bietet das Berechnung-Programmmodul B-PM eine Möglichkeit in Form von Eingabemittel, die vorzugsweise als Software ausgestaltet sind und wie die Middleware-Komponenten in der
Um die Startreihenfolge immer den gegebenen Bedingungen anzupassen, ist es von Vorteil, wenn die Startreihenfolge zum Starten der Middleware-Komponenten dynamisch berechnet wird. Darüber hinaus wird die Startreihenfolge zum Starten der Middleware-Komponenten immer dann neu berechnet, wenn sich eine neue Anwendung bei der Middleware MW registriert oder sich eine Anwendung aus dem Middleware MW abmeldet. Ist die Startreihenfolge in dieser Weise von dem Berechnung-Programmmodul B-PM berechnet worden, so wird von dem Berechnung-Programmmodul B-PM als Output ein Steuerbefehl an ein auf bzw. in dem zweiten Server SV2 implementiertes Start-Programmmodul S-PM, das in die Middleware MW integriert ist, adressiert, mit dem das Start-Programmmodul S-PM das Starten der Komponenten der Middleware MW auf dem zweiten Server SV2 veranlasst. Das Start-Programmmodul S-PM, das mit dem Berechnung-Programmmodul B-PM serverübergreifend eine ablaufsteuernde Funktionseinheit bildet, ist so ausgestaltet, dass die dienstspezifischen Middleware-Komponenten entsprechend der berechneten Startreihenfolge gestartet werden. Bei dem Start-Programmmodul S-PM handelt es sich somit um ein Programmodul, das die Middleware-Dienste in der berechneten Reihenfolge beim Wiederanlauf der Middleware MW effektiv startet. In order to always adapt the starting order to the given conditions, it is advantageous if the starting order for starting the middleware components is calculated dynamically. In addition, the boot order for starting the middleware components is recalculated each time a new application registers with the middleware MW or an application logs out of the middleware MW. If the start order has been calculated in this way by the calculation program module B-PM, then the calculation program module B-PM outputs a control command to a start program module S-PM implemented on or in the second server SV2 is integrated into the middleware MW, addressed, with which the start program module S-PM causes the start of the components of the middleware MW on the second server SV2. The start program module S-PM, which forms a sequence-controlling functional unit with the calculation program module B-PM across all servers, is designed so that the service-specific middleware components are started according to the calculated start order. The start program module S-PM is thus a program module which effectively starts the middleware services in the calculated sequence when the middleware MW is restarted.
Zusätzlich als bevorzugte Ausgestaltung (optionales Feature) wird die von dem Berechnung-Programmmodul B-PM berechnete Startreihenfolge zur Aktualisierung des Berechnungsergebnisses für den Zugriff zumindest bei einem von späteren Wiederanläufen der Middleware MW und dem späteren Herunterfahren und Neustarten der Middleware MW in einem ersten Speicher-Programmmodul SP1-PM gespeichert, das dazu eingabeseitig dem Berechnung-Programmmodul B-PM zugeordnet ist. In addition, as a preferred embodiment (optional feature), the startup sequence calculated by the calculation program module B-PM for updating the calculation result for the access is at least one of later retrofits of the middleware MW and the subsequent shutdown and restart of the middleware MW in a first memory. Program module SP1 PM stored, which is the input side associated with the calculation program module B-PM.
Darüber hinaus kann die Berechnung außer von den festen Eigenschaften der Anwendungen, den Priorisierungen und der Gewichtung des Administrators zusätzlich von analysierten Monitoring-Daten abhängen. In addition, the calculation may depend on analyzed monitoring data in addition to the fixed properties of the applications, the prioritization and the weighting of the administrator.
Um die Berechnung der Startreihenfolge von Middleware-Komponenten in dem Berechnung-Programmmodul B-PM deshalb noch weiter zu optimieren, ist in der Middleware MW ein Analyse-Programmmodul A-PM zum Analysieren von Monitoring-Daten vorhanden. Therefore, in order to further optimize the calculation of the start order of middleware components in the calculation program module B-PM, an analysis program module A-PM for analyzing monitoring data is present in the middleware MW.
Dieses Analyse-Programmodul A-PM führt Messungen bezüglich der Dienstnutzung durch die Anwendungen, der Bedingungen durchgeführter Wiederanläufe der Middleware (z.B. gewählte Startreihenfolge) und deren Ergebnisse (z.B. in Bezug auf Wiederanlaufzeiten) durch. This analysis program module A-PM performs measurements on service usage by the applications, the conditions of middleware recovery (e.g., selected boot order), and their results (e.g., restart times).
Weiterhin können optional auch angefallene Kosten durch Verletzungen von SLAs eingegeben (durch den Administrator oder durch ein betriebswirtschaftliches System, z.B. einen weiteren Server bzw. Computer) und gespeichert werden. Further, optionally incurred costs may also be incurred by violations of SLAs (by the administrator or by a business system, such as another server or computer) and stored.
Es analysiert die Messungen der Dienstnutzung und der durch SLA Verletzungen entstandenen Kosten. Die Ergebnisse der Analyse werden zusätzlich zu den oben beschriebenen Inputparametern an die Berechnungsvorschrift in dem Berechnung-Programmmodul B-PM übergeben. Durch die Analyse von vergangenen Wiederanläufen wird also die Berechnungsvorschrift in Bezug auf ihren Erfolg optimiert. In diesem Fall handelt es sich um eine "lernende Berechnungsvorschrift". Auch in diesem Fall ist es wiederum möglich, dass der Administrator bzw. Operator auf die Gewichtung der verschiedenen Inputparameter innerhalb der Berechnungsvorschrift Einfluss nehmen kann. It analyzes the measurements of service usage and the costs incurred by SLA injuries. The results of the analysis are transferred to the calculation rule in the calculation program module B-PM in addition to the input parameters described above. By analyzing past recoveries, the Calculation rule optimized in terms of their success. In this case, it is a "learning calculation rule". In this case, too, it is possible for the administrator or operator to influence the weighting of the various input parameters within the calculation rule.
Damit die ganzen Monitoring-Daten laufend für das Analyse-Programmodul A-PM zur Verfügung stehen sind in der Middleware MW ein oder mehrere Speicher-Programmodule zur Speichung von Monitoring-Daten vorhanden. In order for the entire monitoring data to be continuously available for the analysis program module A-PM, there are one or more memory program modules for storing monitoring data in the middleware MW.
Das Analyse-Programmmodul A-PM ist dazu ausgabeseitig dem Berechnung-Programmmodul B-PM zur Bildung der datenverarbeitenden Funktionseinheit derart zugeordnet, dass das Berechnung-Programmmodul B-PM die Startreihenfolge zum Starten der Middleware-Komponenten zusätzlich auf der Basis der analysierten Monitoring-Daten berechnet, wobei die Monitoring-Daten im Sinne der "lernenden Berechnungsvorschrift" entsprechende Messwerte zum Herstellen eines Zusammenhangs zwischen den Anwendungen bzw. Anwendungsszenarien und dem Erfolg der Berechnungsvorschrift beinhalten. Die Monitoring-Daten bzw. die entsprechenden Messwerte ergeben sich dabei aus vorausgegangenen Wiederanläufen der Middleware MW und dem Herunterfahren und Neustarten der Middleware MW und sind in einem zweiten Speicher-Programmmodul SP2-PM, das eingabeseitig dem Analyse-Programmmodul A-PM zugeordnet ist, abgespeichert. For this purpose, the analysis program module A-PM is allocated to the calculation program module B-PM for forming the data-processing functional unit such that the calculation program module B-PM additionally determines the starting order for starting the middleware components on the basis of the analyzed monitoring data The monitoring data in the sense of the "learning calculation rule" include corresponding measured values for establishing a connection between the applications or application scenarios and the success of the calculation rule. The monitoring data or the corresponding measured values result from previous restarts of the middleware MW and the shutdown and restart of the middleware MW and are stored in a second memory program module SP2-PM, which is assigned to the analysis program module A-PM on the input side. stored.
Neben den Monitoring-Daten, die im Sinne der "lernenden Berechnungsvorschrift" entsprechende Messwerte umfassen, können auch weitere Daten zur Optimierung der Berechnung der Startreihenfolge der Middleware-Komponenten herangezogen werden. Solche Daten können z.B. betriebswirtschaftliche Monitoring-Daten sein, die in einem dritten Speicher-Programmmodul SP3-PM gespeichert sind. Das dritte Speicher-Programmmodul SP3-PM ist dabei wie das zweite Speicher-Programmmodul SP2-PM eingabeseitig dem Analyse-Programmmodul A-PM zugeordnet. Betriebswirtschaftliche Monitoring-Daten sind z.B. Daten, die die Kosten durch eine "Service Level Agreement"-Verletzung angeben. Diese Daten werden vorzugsweise vom Administrator bzw. Operator der Middleware in das dritte Speicher-Programmmodul SP3-PM eingegeben. Es ist alternativ aber auch möglich, dass diese Daten von einem anderen Server oder Computer mittels eines auf diesem gespeicherten Softwareprogramm automatisch in das dritte Speicher-Programmmodul SP3-PM gespeichert werden. In addition to the monitoring data, which include corresponding measured values in the sense of the "learning calculation rule", further data can be used to optimize the calculation of the starting order of the middleware components. Such data may e.g. Business monitoring data stored in a third memory program module SP3-PM. The third memory program module SP3-PM, like the second memory program module SP2-PM, is assigned on the input side to the analysis program module A-PM. Business monitoring data are e.g. Data indicating the cost of a service level agreement violation. This data is preferably entered by the administrator or operator of the middleware into the third memory program module SP3-PM. Alternatively, however, it is also possible that these data are automatically stored by another server or computer by means of a software program stored thereon in the third memory program module SP3-PM.
Auf bzw. in dem ersten Server SV1 sind neben dem Registrier-Programmmodul R-PM und dem Berechnung-Programmmodul B-PM auch vorzugsweise das Dienstattribute-Programmmodul D-PM und die Speicher-Programmmodule SP1-PM, SP2-PM, SP3-PM implementiert. In addition to the registration program module R-PM and the calculation program module B-PM, the service attributes program module D-PM and the memory program modules SP1-PM, SP2-PM, SP3-PM are also preferably located on or in the first server SV1 implemented.
Insgesamt zeichnen sich die beiden vorstehend beschriebenen Server-basierten Middleware-Konzeptionen dadurch aus, dass jede Konzeption dynamisch die priorisierten Anforderungen der registrierten oder zu registrierenden Anwendungen bezüglich der benötigten Dienste der Middleware zur Ausübung ihrer Basisfunktionalität berücksichtigt und dabei optional Monitoring-Daten einbezieht, um den Wiederanlauf der Middleware in Bezug auf minimale Ausfallzeiten der Basisfunktionalität der gerade registrierten Anwendungen zu optimieren. Overall, the two server-based middleware conceptions described above are distinguished by the fact that each design dynamically takes into account the prioritized requirements of the registered or registered applications for the required services of the middleware to exercise their basic functionality and optionally includes monitoring data to the Recovery of the middleware in terms of minimal downtime of the basic functionality of just registered applications to optimize.
Dadurch ist es überhaupt erst möglich, dass beispielsweise "Service Level Agreements (SLAs)" der Anwendungen eingehalten werden und hierfür nur ein geringer Aufwand an Hardware und anderen teuren Maßnahmen für die Middleware erforderlich ist. As a result, it is even possible that, for example, "Service Level Agreements (SLAs)" of the applications are complied with and only a small amount of hardware and other expensive measures are required for the middleware.
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte Nicht-PatentliteraturCited non-patent literature
- http://de.wikipedia.org/wiki/Middleware [0002] http://en.wikipedia.org/wiki/Middleware [0002]
- http://de.wikipedia.org/wiki/SCADA [0004] http://en.wikipedia.org/wiki/SCADA [0004]
- http://pic.dhe.ibm.com/infocenter/tivihelp/v32r1/index.jsp?to pic=%2Fcom.ibm.ccmdb.doc_721%2Finstall%2Ft_ccmdb_DeployCCMDBT estEnv.html [0006] http://pic.dhe.ibm.com/infocenter/tivihelp/v32r1/index.jsp?to pic =% 2Fcom.ibm.ccmdb.doc_721% 2Finstall% 2Ft_ccmdb_DeployCCMDBT estEnv.html [0006]
- http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.135.4 561 [0013] http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.135.4 561 [0013]
- http://de.wikipedia.org/wiki/Supervisory_Control_and_Data_Acq uisition [0032] http://en.wikipedia.org/wiki/Supervisory_Control_and_Data_Acq_Uisition [0032]
- http://de.wikipedia.org/wiki/Supervisory_Control_and_Data_Acq uisition [0054] http://en.wikipedia.org/wiki/Supervisory_Control_and_Data_Acq_Uisition [0054]
Claims (19)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014215317.4A DE102014215317A1 (en) | 2014-08-04 | 2014-08-04 | Method and server architecture for controlling services in a middleware for simplified communication between applications of technical systems distributed on autonomous computers and registered or to be registered in the middleware |
PCT/EP2015/060276 WO2016020076A1 (en) | 2014-08-04 | 2015-05-11 | Method and server architecture for controlling services in middleware for simplified communication between applications of technical systems that are distributed on autonomous computers and are registered or to be registered with the middleware |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014215317.4A DE102014215317A1 (en) | 2014-08-04 | 2014-08-04 | Method and server architecture for controlling services in a middleware for simplified communication between applications of technical systems distributed on autonomous computers and registered or to be registered in the middleware |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102014215317A1 true DE102014215317A1 (en) | 2016-02-04 |
Family
ID=53059122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102014215317.4A Withdrawn DE102014215317A1 (en) | 2014-08-04 | 2014-08-04 | Method and server architecture for controlling services in a middleware for simplified communication between applications of technical systems distributed on autonomous computers and registered or to be registered in the middleware |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102014215317A1 (en) |
WO (1) | WO2016020076A1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7389410B1 (en) * | 2005-07-13 | 2008-06-17 | Symantec Corporation | Automatically deriving order of initialization for computing services across multiple computing systems |
DE102006010400B4 (en) * | 2006-03-03 | 2023-04-13 | Dspace Gmbh | Method for creating an optimized schedule for a time-triggered distributed computer system |
WO2014039921A1 (en) * | 2012-09-07 | 2014-03-13 | Oracle International Corporation | Infrastructure for providing cloud services |
-
2014
- 2014-08-04 DE DE102014215317.4A patent/DE102014215317A1/en not_active Withdrawn
-
2015
- 2015-05-11 WO PCT/EP2015/060276 patent/WO2016020076A1/en active Application Filing
Non-Patent Citations (8)
Title |
---|
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.135.4 561 |
http://de.wikipedia.org/wiki/Middleware |
http://de.wikipedia.org/wiki/SCADA |
http://de.wikipedia.org/wiki/Supervisory_Control_and_Data_Acq uisition |
http://pic.dhe.ibm.com/infocenter/tivihelp/v32r1/index.jsp?to pic=%2Fcom.ibm.ccmdb.doc_721%2Finstall%2Ft_ccmdb_DeployCCMDBT estEnv.html |
Internet-Artikel: Designing Integrated High Quality Linux Applications. 9. Starting Your Software Automatically on Boot. 19.7.2014. URL: https://web.archive.org/web/20140719235155/http://tldp.org/HOWTO/HighQuality-Apps-HOWTO/boot.html [abgerufen am 8.12.2014] * |
Linux Home Networking: Quick HOWTO : Ch07 : The Linux Boot Process. 2012. URL: https://web.archive.org/web/20140415151047/http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch07_:_The_Linux_Boot_Process [abgerufen am 8.12.2014] * |
VON HAGEN, William: Customizing and monitoring Linux system startup. 19.2.2014. URL: http://www.ibm.com/developerworks/library/l-customize-monitor-linux/index.html und http://www.ibm.com/developerworks/library/l-customize-monitor-linux/l-customize-monitor-linux-pdf.pdf [abgerufen am 8.12.2014] * |
Also Published As
Publication number | Publication date |
---|---|
WO2016020076A1 (en) | 2016-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102017217971B4 (en) | Enable debugging of serverless applications using graph rewriting | |
DE60017457T2 (en) | PROCEDURE FOR ISOLATING AN ERROR IN ERROR MESSAGES | |
EP2513796B1 (en) | Method for operating a processor | |
DE112013007300T5 (en) | Storage systems with adaptive erase code generation | |
EP3451202B1 (en) | Method for generating a model of a technical system which can be run on a test device and a test device | |
DE112018004660T5 (en) | USE COMMENTS TO PROVIDE OPTIMIZATION | |
EP3667568A1 (en) | Configuration of a control system for an at least partially autonomous motor vehicle | |
DE112018003087T5 (en) | ON-CHIP NOISE REDUCTION OR REDUCTION OF SUPPLY VOLTAGE USING LOCAL DETECTION LOOPES IN A PROCESSOR CORE | |
DE102014218215A1 (en) | Intermittent connectivity support system, a corresponding local device, and a corresponding cloud computing platform | |
DE102019206923B3 (en) | Method for running an application on a distributed system architecture | |
DE102011107646A1 (en) | Method and system for the dynamic distribution of program functions in distributed control systems | |
EP3855259B1 (en) | Method for testing compatibility of functional modules | |
DE102014215317A1 (en) | Method and server architecture for controlling services in a middleware for simplified communication between applications of technical systems distributed on autonomous computers and registered or to be registered in the middleware | |
EP3705993B1 (en) | System and method for locating and identifying computing nodes in a network | |
DE112013006756T5 (en) | Communication, control device and program | |
WO2021047970A1 (en) | Software components for a software architecture | |
DE102016206490A1 (en) | ELECTRONIC CONTROL UNIT | |
DE112015007097T5 (en) | Transmission control device, vehicle and transmission control method | |
LU101163B1 (en) | Methods and apparatus for load allocation and monitoring for a resource that is critical to the security of supply in a network | |
DE112018002344T5 (en) | DEVELOPMENT SUPPORT DEVICE | |
DE10123822A1 (en) | Management of the service connection between a client process having a single thread archive and a server | |
DE102017204212A1 (en) | Method and device for managing applications for vehicles | |
EP2010974B1 (en) | Engineering system and method for planning an automation system | |
DE102021209627A1 (en) | System and method for running functionally identical applications | |
DE112016001686T5 (en) | Automatic garbage collection without the use of special commands |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |