ERWEITERUNG DER FUNKTIONALITAET EINES BAUGRUPPENSYSTEMS UNTER VERWENDUNG EINER EINE CONTAINER-ARCHITEKTUR AUFWEISENDE CONTROLLERSOFTWARE
[001] Die Erfindung betrifft ein Verfahren zur Erweiterung der Funktionalität eines Baugruppensystems, das normalerweise aus aus einer Reihe von Einschubkarten besteht, welche miteinander in ein Einschubrack eingesetzt werden können. Typische Beispiele für solche Baugruppensysteme sind Netzelemente im Telekommunikationsbereich, aber auch Steuerungen im Bereich Industrieanlagen und Automatisierung.
[002] Solche Baugruppensysteme verfügen typischerweise über einen zentralen Controller, welcher die Steuerung und die Verwaltung der einzelnen Baugruppen übernimmt. Die Software eines solchen zentralen Controllers besteht zum einen aus Anteilen, welche zentrale Funktionen für die Steuerung des Systems übernehmen, wie z.B. eine persistente Ablage von Konfigurationsdaten und eine Implementierung kartenübergreifender Funktionalität, und zum anderen aus Funktionen, welche spezifisch für einzelne Kartentypen sind, wie z. B. die Ansteuerung und Konfiguration der Karten. Darüberhinaus erfolgt im Controller die Kommunikation mit externen Systemen, wie z.B. Steuersystemen.
[003] Damit ist die Software des zentralen Controllers abhängig von den Eigenschaften der einzelnen Karten. Beim Einschub eines neuen, das heißt zur Entwicklungszeit der Controller-Software unbekannten, Kartentyps in das Baugruppensystem muß daher vorher die Software des zentralen Controllers auf den neuesten Stand gebracht (updated) werden, typischerweise durch einen Operator mittels Fernwartung, damit diese "neuen" Karten verwendet werden können nachdem sie durch einen Servicetechniker vor Ort gesteckt wurden. Damit einher geht oft auch eine Anpassung der externen Steuerungsschnittstelle des Baugruppensystems, beispielsweise der Steuerungsschnittstelle zum Netzmanagementsystem.
[004] Die Nachteile dieses Verfahrens sind: • Ein Upgrade erfordert heute verschiedene Fähigkeiten, muß geplant werden und ist komplex, aufwändig, teuer und risikoreich. • Der Upgrade eines Baugruppen-Systems zieht häufig verschiedene weitere Upgrades im Netz, z. B. im übergeordneten Managementsystem und in andere Netzelementen, nach sich, da die Software- Versionen und Schnittstellen der verschiedenen beteiligten Systeme miteinander kompatibel sein müssen. • Die Software des zentralen Controllers ist häufig so strukturiert, dass eine
200407718
Reihe von Modulen angepasst werden müssen, um einen neuen Kartentyp zu unterstützen. Diese Anpassungen müssen von Hand durchgeführt werden. Die Entwicklung einer neuen Version der Controller-Software ist deshalb langwierig und teuer.
[005] Hieraus resultiert neben hohen Kosten für den Upgrade insbesondere eine relativ lange Zeit von der Entwicklung einer einzelnen Karte bis zu ihrem produktiven Einsatz im Feld.
[006] Bei bekannten Baugruppen-Systemen erfordert eine neue Software-Funktionalität den vollständigen Austausch der Controller-Software vor der Nutzung einer neuen Baugruppe.
[007] Mit dem Upgrade der Controller-Software ist auch häufig eine Änderung weiterer Baugruppen-Systeme sowie externer Systeme, z. B. des Management-Systems, erforderlich.
[008] Dynamische Konzepte zur Erweiterung der Funktionalität haben bei Baugruppen- Systemen bisher noch nicht Einzug gehalten.
[009] Aus anderen Bereichen sind einige dynamische Konzepte zur Erweiterung der Funktionalität für sich bekannt:
[010] Bei Standard-Betriebssystemen im PC Bereich werden üblicherweise, nach Anschluß neuer Hardware, Treiber aus einer lokalen Treiberdatenbank geladen, d.h. es werden also nur vorher bekannte Geräte unterstützt bzw. Treiber für neue Geräten müssen manuell gesucht und installiert werden. Ein Beispiel hierfür ist aus dem Whitepaper "Plug and Play in Windows 2000" bekannt.
[011] http://www.microsoft.eom/technet/prodtechnol/windows2000pro/evaluate/f eatfunc/plugplay. mspx
[012] Im Zusammenhang mit der UPnP™-Technologie (TM: trademark of the UPnP Im- plementers Corporation) ist das automatische Auffinden von Diensten sowie deren Beschreibung bekannt, aber keine automatische Erweiterung des Controllers mit neuer Software.
[013] http://www.upnp.org/download/UPnPDA10 20000613.htm
[014] http://www.upnp.org/download/UPNP UnderstandingUPNP.doc
[015] Ferner ist die Tatsache bekannt, das der MLet-Mechanismus von JMX™ (Java Management Extensions) ein Laden und Installieren von neuen Softwarekomponenten von beliebigen Internet-Quellen erlaubt, was jedoch eine permanente Online- Verbindung mit den Servern erfordert. Eine JMX Specification ist bspw. unter der folgenden Internet- Adresse verfügbar: http://jcp.org/aboutTava/communityprocess/final/jsr003/index3.html
[016] Darüberhinaus ist bekannt, dass die Jini^'-Technologie der Firma Sun Microsystems einen Mechanismus zur Nutzung neuer Softwarekomonenten mit
200407718
bekannten Interface (Protokoll-Transparenz) definiert, aber keinen Mechanismus zur Nutzung und Installation neuer Software mit komplett neuer Funktionalität und Interface. Ein Überblick und eine Beschreibung zu Jini sind unter den folgenden Internet- Adressen verfügbar: ht tp ://developer .j ava. sun .com/developer/products/j ini/arch2 O.html
[017] http://wwws.sun.com/software/jini/specs/index.html
[018] Schließlich ist noch aus dem OSGi™ Whitepaper bzw. der OSGi Specification (Open Services Gateway Initiative)bekannt, dass Software-Komponenten von außen durch einen "Service Integrator" auf ein Gateway geladen und ebenfalls von außen gewartet werden können. Näheres zu OSGi findet sich im Internet unter der Adresse: http://www.osgi.org/resources/spec overview.asp
[019] Die der Erfindung zu Grunde liegende Aufgabe besteht nun darin ein Verfahren zur Erweiterung der Funktionalität eines Baugruppensystems sowie ein entsprechendes Baugruppensystem und eine entsprechende Einschubkarte anzugeben, bei dem/der die Erweiterung dynamisch erfolgt und bei dem die oben genannten Nachteile vermieden werden.
[020] Die Aufgabe wird nachfolgend hinsichtlich des Verfahrens durch die Merkmale des Anspruchs 1, hinsichtlich des Baugruppensystems durch die Merkmale des Anspruchs 6 und hinsichtlich der Einschubkarte durch die Merkmale des Anspruchs 7 erfindungsgemäß gelöst. Die weiteren Ansprüche betreffen bevorzugte Ausgestaltungen des erfindungsgemäßen Verfahrens.
[021] Die Erfindung besteht im Wesentlichen in einem Verfahren zur dynamischen Erweiterung der Funktionalität eines Baugruppensystems, bei dem mit Hilfe einer Container- Architektur, z.B. JMX™, die Controller-Software des Baugruppensystems mit den Basisdiensten und baugruppen-allgemeinen Funktionalitäten zur Laufzeit mit baugruppen-spezifischer Funktionalität dadurch erweitert wird, dass erforderlichenfalls die jeweilige noch fehlende baugruppenspezifische Funktionalität aus einem Speichermedium auf der jeweiligen Einschubkarte des Baugruppensystems zum Controller des Baugruppensystems hochgeladen und dort aktiviert wird, wobei die baugruppenspezifische Funktionalität optional bspw. auch baugruppenübergreifend und auf eine externe Schnittstelle des Controllers einwirken kann. Die Hauptvorteile liegen in niedrigeren Entwicklungskosten, einer schnelleren und einfacheren Inbetriebnahme / Update der Einzelkomponenten und des Gesamtsystems und in einer Erhöhung Ge- samtverfügbarkeit des Baugruppensystems und eines entsprechenden Netzes.
[022] Die Erfindung wird nachfolgend anhand von in den Zeichnungen dargestellten Ausführungsbeispielen näher erläutert. Dabei zeigt
[023] Figur 1 eine Darstellung eines Netzwerkelements zur Erläuterung der Erfindung,
[024] Figur 2 eine Darstellung eines mit Hilfe der JMX-Technologie realisierten Bau-
200407718
gruppensystems unmittelbar nach dem Einstecken einer neuen Karte zur Erläuterung der Erfindung und
[025] Figur 3 eine Darstellung eines in JMX-Technologie realisierten Baugrappensystems mit einer betriebsbereiten neuen Karte zur Erläuterung der Erfindung.
[026] In Figur 1 ist zur Erläuterung des erfindungsgemäßen Verfahrens ein Baugruppensystem in Form eines Netzwerkelements N dargestellt, das über eine Schnittstelle SS zu einem externen Steuersystem, bspw. eines Netzwerkmanagementsystems, TNMS aufweist. Das Netzelement N verfügt erfindungsgemäß über einen Haupt- controller C mit einer dynamisch erweiterbaren Basissoftware DEB die eine jeweilige Schnittstelle zu baugrappenspezifischen Funktionalitäten F1...F3 aufweisen. Zu dem Hauptcontroller C existieren Schnittstellen zu den Einschubkarten K1..K3 des Netzelements N, die ihrerseits Nutzdaten ND empfangen.
[027] Zur Vereinfachung der Softwareversorgung werden die baugruppenspezifischen Software- Anteile in ein entsprechendes Speichermedium auf die Baugruppe gepackt und zusammen mit der Baugruppe ausgeliefert.
[028] Der Servicetechniker steckt die Karte ohne jegliche Software-Konfiguration in das B augruppensystem.
[029] Der Hauptcontroller C erkennt, daß eine neue Baugruppe gesteckt worden ist und initiiert einen Controller-internen Softwareversorgungsprozess. Dieser überprüft, ob die Controller-Software , z. B. die Basissoftware DEB und die Funktionalitäten Fl und F2, bereits um die Baugruppen-spezifische Software, z. B. die Funktionalität F3, zum Ansteuern der gesteckten Baugruppe, z. B. Karte K3, erweitert worden ist, was z.B. dadurch geschehen sein kann, dass eine Baugruppe des gleichen Typs wurde schon einmal gesteckt wurde. Falls die Software, z. B. Funktionalität F3, im Controller C nicht vorhanden ist, so wird die baugruppenspezifische Software, z. B. Funktionalität F3, von dem Speichermedium auf der gesteckten Karte, z. B. Karte K3, in den Hauptcontroller C geladen, dynamisch in dessen Software-Container installiert und gestartet. Die Controller-Software wird so automatisch um die spezifische Funktionalität der neuen Baugruppe erweitert.
[030] Durch eine Layer-Architektur, die die Software in Baugruppen-spezifische, in Baugruppen-allgemeine und Basisdienst-Funktionalitäten unterteilt, werden die Abhängigkeiten zwischen Baugruppen-Software und Controller-Software entkoppelt. Dabei werden Basisdienst- und Baugruppen-allgemeine Funktionalität nur im Zuge von neuen Versionen der Controller-Software weiterentwickelt.
[031] Unabhängig davon wird für jeden Baugruppentyp die baugruppen-spezifische Funktionahtät entwickelt. Mit Hilfe einer Container- Architektur, z.B. JMX™, kann die Controller-Software mit den Basisdiensten und baugruppen-allgemeinen Funktionalitäten zur Laufzeit mit baugruppen-spezifischer Funktionalität erweitert werden.
200407718
[032] Erfindungsvarianten;
[033] Das erfindungsgemäße Verfahren kann auch mit nahezu beliebigen anderen Programmiersprachen, beispielsweise C# oder C++ realisiert werden.
[034] Es können auch statt einem einzelnen Controller, z.B. für Redundanzzwecke, mehrere Controller im Baugruppensystem vorhanden sein.
[035] Durch die erfindungsgemäß in den Controller eingebrachte Software kann prinzipiell auch ein neuer Typ von Kartenschnittstellen in das Baugruppensystem eingebracht werden, da die MBeans das Interface und das Protokoll der Karten vom Kern der Controller-SW kapseln.
[036] Durch die erfindungsgemäß in den Controller eingebrachte Software kann auch dynamisch die Steuersystem-Schnittstelle SS des Controllers erweitert werden, wenn dies für den Betrieb der neuen Karte erforderlich ist.
[037] Durch die erfindungsgemäß in den Controller eingebrachte Software kann auch neue kartenübergreifende Funktionalität eingebracht werden, die z.B. vom neuen Kartentyp ermöglicht wird.
[038] Ausf ti hrungsbeispiel mit der Komponententechnologie JMX ™
[039] Figur 2 zeigt ein mit Hilfe der Programmiersprache Java und der darauf aufbauenden Technologie JMX™ (Java Management Extensions) realisiertes erfindungsgemäßes modulares Baugruppensystem, wobei hier der Zustand des Systems unmittelbar nach dem Einstecken einer neuen Karte Kn dargestellt ist.
[040] Die Controller-Software DEB ist unter Verwendung der Komponententechnologie JMX™ aufgebaut und kann im laufenden Betrieb um neue Funktionen, die in Form von sogenannten Mbeans realisiert sind, erweitert werden.
[041] Die Karten Kl und K2 sind hier bspw. herkömmliche Karten, die vom Controller über entsprechende Controller-MBeans Fl und F2 angesteuert werden können und eine jeweils Kartensoftware KSW1 und KSW2 enthalten, die mit den jeweiligen Mbeans Fl und F2 über jeweilige Kartenschnittstellen Sl und S2 verbunden sind. Diese zugehörigen Softwarekomponenten Fl und F2 wurden hier bspw. zusammen mit der Controller-SW DEB entwickelt und ausgeliefert, sind also bereits vorhanden, wenn die Karten Kl und K2 in das Baugruppensystem eingesteckt werden.
[042] Die Karte Kn sei nun eine neue Karte, die zum Zeitpunkt der Entwicklung der Controllersoftware noch nicht bekannt war. Dementsprechend kann der Controller diese Karte auch nicht ohne weiteres verwalten, da er die Kartenschnittstelle nicht versteht.
[043] Beim erfindungsgemäßen Verfahren ist auf der Karte Kn zusätzlich zur eigentlichen Kartensoftware KS Wn eine Softwarekomponente in Form einer weiteren Controller-MBean Fn für die neue Karte Kn vorhanden, die für den Betrieb innerhalb des Controllers DEB geeignet ist und durch die eine Kartenschnittstelle der neuen Karte Kn ansteuerbar ist. Diese wird erfmdungsgemäß zum Controller DEB
200407718
hochgeladen und aktiviert.
[044] Figur 3 zeigt ein Baugruppensystem wie in Figur 2, wobei hier jedoch die neue Karte Kn bereits betriebsbereit ist.
[045] Durch das erfindungsgemäße Verfahren wird die Karte Kn im Gesamtsystem komplett integriert. Die Schnittstelle S zwischen der im Controller C eingerichteten Controller-MBean Fn und der Controller-Software DEB ist eine Standard- Container-Schnittstelle, die die Controller-Software generisch verarbeiten und verstehen kann. Dazu nutzt das Ausführungsbeispiel den in Programmiersprache Java™ bzw. in der Technologie JMX™ vorgesehenen Mechanismus der 'Reflection' aus.
[046] Zwischen dem Controller C des Baugruppensystems bzw. dessen Controller- MBean Fn und der neuen Karte Kn bzw. zu deren Kartensoftware KSWn wird auf diese Weise eine neue Kartenschnittstelle Sn erzeugt.
[047] Vorteile
[048] Das Verfahren ermöglicht einem Anwender des Baugruppensystems eine schnellere und einfachere Inbetriebnahme neuer Baugruppen und Softwaremodule bzw. eines erweiterten Baugruppensystems.
[049] Für Kunden ergeben sich hieraus im Einzelnen bspw. folgende Vorteile:
[050] 1.) Neue Baugruppen, insbesondere neue Baugruppentypen, können durch einfaches Stecken in die jeweiligen Baugruppenträger inbetriebgenommen werden, ohne vorher langwierige Planungs- und Vorbereitungsmaßnahmen durchgeführt werden müssen.
[051] 2.) Anwender des Baugruppensystems können neue Leistungsmerkmale schneller nutzen und ggf. anderen anbieten.
[052] 3.) Eine wesentlich vereinfachte Inbetriebnahme, bewirkt eine erhebliche Reduktion der "Einführungskosten" neuer Baugruppen und neuer Leistungsmerkmale.
[053] 4.) Die Gesamtverfügbarkeit eines entsprechenden Netzes wird deutlich erhöht, da alle Netzknoten, die von einer solchen Erweiterung betroffen sind, während des gesamten, zeitlich stark reduzierten Upgrades weiter von dem Managementsystem überwacht werden können. Ferner können alle Schutzmechanismen (Protections) aktiv bleiben, was wiederum zu einer Reduktion der Ausfallkosten führt.
[054] 5.) Die Häufigkeit von Gesamt-Software-Upgrades kann der Kunde nun selbst bestimmen, da Hardware (Baugruppen) und Software Upgrades vollständig voneinander getrennt sind.
[055] Für den Hersteller von Baugruppen, Softwaremodulen bzw. entsprechenden Baugruppensystemen, künftig Hersteller genannt, erwachsen aus dem erfiridungsgemäßen Verfahren bspw. folgende Vorteile:
[056] 1.) Der Hersteller kann neue Baugruppen und neue Leistungsmerkmale erheblich
200407718
schneller anbieten bzw. auf den Markt bringen.
[057] 2.) Die Entwicklungskosten für neue Baugruppen und neue Softwaremodule werden stark reduziert, da durch die Realisierung des Verfahrens aufwändige "Gesamt- Software-Releases" nicht mehr so häufig entwickelt und getestet werden müssen. Desweiteren erzwingt dieses Verfahren eine klare Trennung von Verantwortlichkeiten innerhalb der Steuerungssoftware. Dies führt zu einer Reduktion, der mit der Software verbundenen Kosten, da die Software klar strukturiert ist und unerwünschte Seiteneffekte dadurch weitgehend ausgeschlossen werden.
[058] 3.) Durch die Entkopplung von Hardware- und Softwareentwicklung, entstehen für den Hersteller Folgegeschäfte durch Software-Updates.