DE69926834T2 - Verfahren und Vorrichtung zum Aufrüsten von Software-Teilsystemen auf einem Netzwerksystem - Google Patents

Verfahren und Vorrichtung zum Aufrüsten von Software-Teilsystemen auf einem Netzwerksystem Download PDF

Info

Publication number
DE69926834T2
DE69926834T2 DE69926834T DE69926834T DE69926834T2 DE 69926834 T2 DE69926834 T2 DE 69926834T2 DE 69926834 T DE69926834 T DE 69926834T DE 69926834 T DE69926834 T DE 69926834T DE 69926834 T2 DE69926834 T2 DE 69926834T2
Authority
DE
Germany
Prior art keywords
software subsystem
software
base address
bank
subsystem
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.)
Expired - Fee Related
Application number
DE69926834T
Other languages
English (en)
Other versions
DE69926834D1 (de
Inventor
William H Milpita Eitner
Suresh D Mountain View Mahanty
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nortel Networks Ltd
Original Assignee
Nortel Networks Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nortel Networks Ltd filed Critical Nortel Networks Ltd
Publication of DE69926834D1 publication Critical patent/DE69926834D1/de
Application granted granted Critical
Publication of DE69926834T2 publication Critical patent/DE69926834T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Description

  • Hintergrund der Erfindung Gebiet der Erfindung
  • Diese Erfindung bezieht sich allgemein auf Netzwerksysteme und insbesondere auf ein Verfahren und eine Vorrichtung zum Aufrüsten oder zur Aktualisierung von Software-Teilsystemen, die auf einem Netzwerksystem gespeichert sind.
  • Beschreibung des verwandten Standes der Technik
  • Eine private Nebenstellenanlage (PBX) ist eine Telefonvermittlung, die dazu verwendet wird, einen Telefondienst für Anrufe bereitzustellen, die in einer privaten Gruppe oder Firma durchgeführt werden. Typischerweise verwendet die PBX privat gemietete Leitungen oder eine interne drahtgebundene oder drahtlose Infrastruktur zur Übertragung von Anrufen zwischen einer zentralen Vermittlungseinrichtung und den verschiedenen Benutzern. Die PBX spart Nutzungsgebühren für Anrufe, die vollständig innerhalb der Firma durchgeführt werden, indem die Verwendung von öffentlichen Telefonnetzwerken vermieden wird. Die Verwendung einer PBX bietet weiterhin eine Vielzahl von Merkmalen und Diensten, die für eine Organisation erhebliche Geschäftsvorteile bieten können.
  • Die Merkmale, die von PBX-Systemen geboten werden, sind erheblich angewachsen, seitdem diese Telefonvermittlungen stärker mit Computern integriert wurden. Um ankommende Anrufe abzuwickeln, setzt eine automatische Anrufverteilung (ACD) einen ankommenden Anruf auf den oder die richtigen Teilnehmer einer Organisation um. Die ACD verwendet komplizierte Algorithmen auf der Grundlage von Nutzung, Benutzeraktivität, Geschäftsregeln und anderen Faktoren, um den ankommenden Anruf in richtiger Weise zu lenken. Auf der Anruferleitungs-Identifikation (CLID) beruhende Dienste ermöglichen es einer Telefonvermittlung, die Telefonnummer eines eingehenden Anrufes zu identifizieren, entsprechende Information in einer Datenbank nachzuschlagen, und den Anruf entsprechend zu lenken. Beispielsweise kann die Ortskennziffer eines ankommenden Anrufes dazu verwendet werden, eine eingehende Kaufanforderung an den richtigen Verkaufsvertreter für dieses Gebiet oder den Bereich zu lenken. PBX-Systeme entwickeln weiterhin Sprachverarbeitungs- und Spracherkennungssysteme, um einen Menschen als Agenten zu ersetzen, der einen Zugriff auf Information über ein Computer-Endgerät für einen bestimmten Kunden ausführt.
  • Viele Firmen haben große Anrufzentralen entwickelt, die diese PBX-Systeme nutzen, um Kundendienst und Kundeninformationen zu liefern. In einem starken Wettbewerb ausgesetzten Märkten sind viele Firmen in der Lage, ihre Produkte und Dienste dadurch hervorzuheben, dass sie hochentwickelte PBX-Systeme verwenden. In vielen Fällen müssen diese über 24 Stunden am Tag und 7 Tage in der Woche arbeiten.
  • Ein konventionelles PBX-System, wie z. B. das Merdian Evolution-System von der Firma Nortel, Inc., schließt einen zentralen Anrufprozessor- (CP-) Baugruppenträger, eine Knotensteuerungs- (NC-) Einheit, eine Zugangskontroll- (AC-) Einheit und vielfältige periphere Ausrüstungs- (PE-) Geräte ein, die mit Handapparaten, Telefax-Modulen oder Sprachprozessor-Modulen gekoppelt sind. Der CP-Baugruppenträger ergibt zentralisierte Vermittlungskapazitäten zwischen Fernleitungen von Benutzern, die mit dem System über mehrfache NC-Geräte verbunden sind. Die NC-Einheiten wirken als große Vermittlungseinrichtungen beim Lenken von Anrufen und bei der Kommunikation mit den AC-Einheiten. Der CP steuert Software-Aufrüstungen oder -Aktualisierungen durch Herunterladen von ladbaren Softwareprogrammen auf bestimmte Ziel-Baueinheiten, wie z. B. die NC-Einheit, die AC-Einheiten und manchmal selbst zu den PE-Geräten. Es wird jedoch zunehmend schwierig, diese verschiedenen Steuereinheiten ohne die Unterbrechung des Dienstes oder die Gefahr einer umfangreichen Ausfallzeit aufzurüsten.
  • Bei konventionellen Systemen beinhalten Aufrüstungen oder Aktualisierungen das Herunterladen der ladbaren Software auf spezifische Ziel-Baueinheiten und das Umprogrammieren der Ziel-Baueinheit mit einer neuen Funktionalität, die von der neuen ladbaren Software bereitgestellt wird. Die NC- und PE-Geräte sind zwei Arten von Geräten, auf die als Ziel-Baueinheiten herangezogen werden, und das Herunterladen eines ladbaren Software-Moduls wird als Aufrüstung einer Baueinheit betrachtet. Übliche Systeme aktualisieren Baueinheiten unter Verwendung einer „kalten Herunterlade"-Technik, die die Baueinheit während des Aufrüst- oder Aktualisierungsprozesses in einem Abschaltzustand bleiben lässt. Das kalte Herunterladen kann eine NC in einen nicht betriebsfähigen Zustand bringen und weiterhin dazu führen, dass Anrufe, die gerade ablaufen, abgeworfen werden. Ein neues Lademodul kann das System weiterhin in einen unbrauchbaren Zustand bringen, wenn der heruntergeladene Teil der Software mit den Datenstrukturen, den Kommunikationsprotokollen oder irgendwelchen anderen Teilen der Vermittlung nicht kompatibel ist. Wenn Baueinheiten auf einer PBX unter Verwendung eines „heißen Herunterladens" aufgerüstet oder aktualisiert würden, so könnte das PBX-System ohne wesentliche Unterbrechung des Dienstes für vorhandene oder neue Anrufe aufgerüstet oder aktualisiert werden.
  • Eine fehlerhaft installierte Aktualisierung kann auf einer konventionellen PBX nur sehr schwierig zu deinstallieren sein. Viele Gesichtspunkte der Installation auf einer konventionellen PBX können nicht ohne erheblichen menschlichen Eingriff rückgängig gemacht werden. Wenn Software fehlerhaft in einen Flash-Speicher gebrannt wird, kann das Flash-basierte Hardwaregerät nicht mehr betriebsfähig sein und einen Ersatz erfordern. Alternativ kann es erforderlich sein, dass Software von Hand und nicht automatisch durch das System aktualisiert werden muss. Bei jeder Alternative bleibt das PBX-System für eine längere Zeitperiode abgeschaltet wodurch Dienste unterbrochen und die Durchführung von Anrufen verhindert werden kann.
  • Im Hinblick auf die vorstehende Diskussion ist es wünschenswert, ein verbessertes System zur Lieferung von Software-Aufrüstungen oder -Aktualisierungen für eine private Nebenstellenanlage (PBX) in einem Telefonvermittlungssystem zu entwickeln.
  • Das US-Patent 5 754 785 beschreibt ein Kommunikationsnetzwerk, bei dem bestimmte Knoten Speicherkarten haben, die die derzeitigen Versionen von Software speichern, die auf jeder eine Anzahl von anderen Karten abläuft, die in Schnittstellenverbindung mit der gleichen Rückwandebene stehen. Eine der Karten speichert eine ankommende aktualisierte Version der Software. Der Empfang der Aktualisierung erfolgt während eines Zusatzdatenteils des Signalrahmens über eine Zeitperiode. Auf Befehl von der Netzwerksteuerung wird die auf einer Karte gespeicherte aktualisierte Version an alle die anderen Karten geliefert, die mit dieser Rückwandebene verbunden sind.
  • Die EP 0 701 106 beschreibt ein Fahrzeug-Navigationssystem, das ein Datenbank-Medium (beispielsweise eine austauschbare Festplatten-Karte) einschließt, die eine aktualisierte Version der auf dem Navigationssystem ablaufenden Software trägt. Die derzeitige Version wird auf einem in das System eingebauten Hauptspeicher gespeichert. Wenn das System hochläuft, so überprüft es das Datenbank-Medium, um festzustellen, ob dieses eine neuere Version der Software trägt. Wenn dies der Fall ist, so aktualisiert das System automatisch oder auf einen Benutzerbefehl nach entsprechender Anfrage bei dem Benutzer die alte Version.
  • Zusammenfassung der Erfindung
  • Gemäß der vorliegenden Erfindung, wie sie hier verwirklicht und allgemein beschrieben wird, wird ein Verfahren und eine Vorrichtung zur Aktualisierung oder Aufrüstung und zum Laden eines Software-Teilsystems geschaffen, das von einem Netzwerksystem-Gerät verwendet wird. Das Verfahren kann so angepasst werden, dass es mit mehrfachen Software-Teilsystemen arbeitet, die in entsprechenden Bänken einer mehrfache Bänke aufweisende Speichereinheit gespeichert sind. Die Vorrichtung und das Verfahren können weiterhin mit einer Speichereinheit arbeiten, die lediglich zwei verschiedene Speicherbänke hat.
  • Gemäß einem Gesichtspunkt der Erfindung wird ein Verfahren zur Aktualisierung eines von einem Netzwerksystem verwendelen Software-Teilsystems während der Bereitstellung von Diensten durch das Software-Teilsystem geschaffen, das die folgenden Schritte umfasst: Verarbeiten von Befehlen von einem primären Software-Teilsystem, das an einer ersten Basisadresse geladen ist, die einer mit dem Netzwerksystem gekoppelten primären Speichereinheit zugeordnet ist, und Herunterladen eines sekundären Software-Teilsystems an einer zweiten Basisadresse, die einer mit dem Netzverksystem gekoppelten sekundären Speichereinheit zugeordnet ist. Das Verfahren ist dadurch gekennzeichnet, dass das sekundäre Software-Teilsystem durch selektives Vertauschen der ersten der primären Speichereinheit zugeordneten Adresse mit der zweiten Basisadresse aktiviert wird, die der sekundären Speichereinheit zugeordnet ist, wodurch das Software-Teilsystem aktualisiert wird, während Dienste von dem Software-Teilsystem bereitgestellt werden.
  • Gemäß einem zweiten Gesichtspunkt der Erfindung wird eine Vorrichtung geschaffen, die dazu bestimmt ist, ein Software-Teilsystem zu aktualisieren oder aufzurüsten, das von einem mit einem Server-Computer über ein Netzwerk gekoppelten Netzwerksystem verwendet wird, während Dienste von dem Software-Teilsystem bereitgestellt werden, mit einem Verarbeitungs-Modul, das zur Verarbeitung von Befehlen von einem primären Software-Teilsystem konfiguriert ist, das an einer ersten Basisadresse geladen ist, die einer primären mit dem Netzwerksystem gekoppelten Speichereinheit zugeordnet ist, und mit einem Herunterlade-Modul, das zum Herunterladen eines sekundären Software-Teilsystems auf eine zweiten Basisadresse konfiguriert ist, die einer sekundären, mit dem Netzwerksystem gekoppelten Speichereinheit zugeordnet ist. Die Vorrichtung ist durch ein Vertauschungs-Modul gekennzeichnet, das so konfiguriert ist, dass es selektiv die erste der primären Speichereinheit zugeordnete Basisadresse mit der zweiten Basisadresse vertauscht, die der sekundären Speichereinheit zugeordnet ist, indem das sekundäre Software-Teilsystem aktiviert wird, wodurch das Software-Teilsystem aktualisiert wird, während Dienste von dem Software-Teilsystem bereitgestellt werden.
  • In einem dritten Gesichtspunkt ergibt die Erfindung weiterhin ein Computerprogramm-Produkt, das in der Lage ist, einen Datenprozessor so zu konfigurieren, dass er ein Software-Teilsystem aufrüstet oder aktualisiert, das von einem Netzwerksystem verwendet wird, das mit einem Server-Computer über ein Netzwerk gekoppelt ist, während Dienste von dem Software-Teilsystem bereitgestellt werden, wobei das Computerprogramm-Produkt Software-Code umfasst, der bewirkt, dass der Datenprozessor die Schritte des vorstehend angegebenen Verfahrens ausführt.
  • Kurze Beschreibung der Zeichnungen
  • Die beigefügten Zeichnungen, die eingefügt sind und einen Teil dieser Beschreibung bilden, zeigen eine Ausführungsform der Erfindung und dienen zusammen mit der Beschreibung zur Erläuterung der Vorteile und Prinzipien der Erfindung.
  • In den Zeichnungen zeigen:
  • 1 ein Netzwerk, das zur Verwendung mit den Verfahren und Systemen gemäß der vorliegenden Erfindung geeignet ist;
  • 2 eine hierarchische Telekommunikations-Vermittlung, die zur Verwendung mit Verfahren und Systemen gemäß der vorliegenden Erfindung geeignet ist;
  • 3 ein Blockschaltbild eines Anrufprozessors (CP) und einer Knotensteuerung (NC), die zur Verwendung mit Verfahren und Systemen gemäß der vorliegenden Erfindung geeignet sind;
  • 4 ein Blockschaltbild einer Doppelbank-Speichereinheit, die zur Verwendung mit Verfahren und Systemen gemäß der vorliegenden Erfindung geeignet ist;
  • 5 ein Ablaufdiagramm, das die Schritte zur Aktualisierung eines Software-Teilsystems zur Verwendung mit Verfahren und Systemen gemäß der vorliegenden Erfindung anzeigt;
  • 6 ein Ablaufdiagramm, das die Schritte zum Laden eines Software-Teilsystems zeigt, das zur Verwendung mit Verfahren und Systemen gemäß der vorliegenden Erfindung geeignet ist;
  • 7 ein Ablaufdiagramm, das Schritte gemäß der vorliegenden Erfindung zeigt, um einzugeben, welches Software-Teilsystem aus einer Doppelbank-Speichereinheit ausgewählt werden sollte; und
  • 8 ein Ablaufdiagramm, das die Schritte zur Ausführung einer Bank-Umschaltung gemäß Verfahren und Systemen gemäß der vorliegenden Erfindung zeigt.
  • Ausführliche Beschreibung der Erfindung Einführung
  • Es wird nunmehr ausführlich auf eine gerätemäßige Ausgestaltung der vorliegenden Erfindung Bezug genommen, wie sie in den beigefügten Zeichnungen gezeigt ist. So weit wie möglich werden die gleichen Bezugsziffern in allen Zeichnungen und der folgenden Beschreibung verwendet, die sich auf die gleichen oder ähnliche Teile beziehen.
  • Systeme gemäß der vorliegenden Erfindung befassen sich mit Beschränkungen des Standes der Technik und ergeben ein neuartiges System und eine neuartige Vorrichtung zum Aufrüsten oder Aktualisieren eines Software-Teilsystems auf einem Netzwerksystem- (NS-) Gerät. NS-Geräte finden sich in fast jedem Prozessor-basierten System, bei dem die Verarbeitung zwischen einem Master- und Slave- oder einem Klienten- und Server-Paar verteilt ist. Als Beispiel zeigt 1 ein Beispiel eines Netzwerkes unter Verwendung von NS-Geräten, wobei die Klienten und die NS-Server zur Verwendung mit Verfahren und Systemen gemäß der vorliegenden Erfindung geeignet sind. Das Computernetzwerk 100 in 1 schließt ein lokales Netzwerk 101, ein Weitbereichsnetzwerk (WAN) 109 und ein weiteres lokales Netzwerk (LAN) 120 ein. Das lokale Netzwerk 101 schließt NS-Geräte 102, 104 und 106 und NS-Server 108 und 110 ein. Das lokale Netzwerk 120 schließt NS-Server 112, 114, 116 und 118 ein. Dieses Beispiel einer Konfiguration von NS-Geräten und NS-Servern deckt eine Klasse von Klienten-Server-Systemen ab, die zur Verwendung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung geeignet sind. Entsprechend sind diese Ausführungsformen der vorliegenden Erfindung nicht nur auf die nachfolgend beschriebenen Telefonvermittlungssysteme beschränkt. Statt dessen können die hier beschriebenen Verfahren und Systeme auf einen weiten Bereich von Klienten-Server-Systemen angewandt werden, wie sie beispielsweise in 1 gezeigt sind.
  • Bei Anwendung auf ein Telefonvermittlungssystem dient eine Steuerprozessor- (CP-) Einheit als eine Master-Einheit oder als NS-Server, während eine Knotensteuerungs- (NC-) Einheit und eine Zugangskontroll- (AC-) Einheit als Slave-Einheiten oder NS-Geräte wirken, die Befehle von der CP-Einheit annehmen. Jede Slave-Einheit schließt eine neuartige Mehrfachbank-Speichereinheit ein, die mit einem am Anwendungsort programmierbaren Festwertspeicher (FPROM) realisiert ist, der üblicherweise als Flash-Speicher bezeichnet wird.
  • Bei Verfahren und Systemen gemäß der vorliegenden Erfindung werden zumindest zwei unterschiedliche Software-Teilsysteme in einen Mehrfachbank-Flash-Speicher geladen. Als Minimum schließen die Software-Teilsysteme ein primäres Software-Teilsystem und ein sekundäres Software-Teilsystem ein. Zusätzliche Software-Teilsysteme und Speicherbänke können durch Vergrößerung der Anzahl der Software-Teilsysteme und der entsprechenden Anzahl von Bänken in einem Flash-Speichergerät verwendet werden.
  • Jedes Software-Teilsystem ist in der Lage, ähnliche Dienste für die NC-Einheit oder die CP-Einheit auszuführen, die von Anwendungen höherer Ebene bis zu Betriebssystem-Funktionen niedriger Ebene reichen. Auf einem Speichergerät, das lediglich zwei Speicherbänke hat, ist ein primäres Software-Teilsystem, das in eine primäre Speichereinheit geladen wurde, aktiv, um Befehle auszuführen, während das sekundäre Software-Teilsystem, das in eine sekundäre Speichereinheit des Dual-Bank-Flash-Speichers geladen ist, im Leerlauf arbeitet. Typischerweise enthält das sekundäre Software-Teilsystem eine ältere Version des primären Software-Teilsystems, bevor es aktualisiert wird. Die logische Trennung zwischen den primären und sekundären Speichereinheiten in dem Flash-Speicher ermöglicht es, dass aktualisierte Software-Systeme in das Flash-Speichergerät von der Master-Einheit heruntergeladen werden, während die Slave-Einheit weiter Befehle ausführt.
  • Eine geschickte Technik wird dazu verwendet, das aktive Software-Teilsystem in der primären Bank mit dem aktualisierten und im Leerlauf befindlichen Software-Teilsystem in der sekundären Bank zu vertauschen. Diese Technik wählt sorgfältig ein Software-Teilsystem aus, das aktualisiert ist und nicht fehlerbehaftet ist. Entsprechend wählt, wenn das aktualisierte Software-System fehlerbehaftet ist, die Technik dann die „Hintertür"-Option, und es wird statt dessen das ursprüngliche aktive Software-Teilsystem ausgeführt. Die Hintertür wird dazu verwendet, auf die Systemkonfiguration vor der Durchführung von Änderungen oder Modifikationen zurückzukehren.
  • Der Verarbeitungs-Zusatzaufwand, der mit der Umlagerung des aktualisierten Software-Teilsystems in den Flash-Speicheradressenraum verbunden ist, wird dadurch umgangen, dass Basis-Registerwerte jeder Bank in dem Flash-Speicher vertauscht werden. Dies beseitigt die Buchführung, die mit üblichen Systemen verbunden ist, die die Adressierung auf ein aktualisiertes Modul, das auf einen anderen Bereich in dem Flash-Speicher umgelagert wurde, umsetzen müssen. Statt dessen installieren Systeme und Verfahren gemäß der vorliegenden Erfindung die aktualisierten Software-Teilsysteme in genauer Weise.
  • Die Umlagerung des aktualisierten Software-Teilsystems erleichtert ein „heißes Herunterladen" des Software-Teilsystems anstelle des „kalten Herunterladens", das sich bei üblichen Systemen findet. Das heißt, dass Software-Aktualisierungen auf Systeme angewandt werden können, während dies arbeiten (ein „heißes Herunterladen"), ohne dass es erforderlich ist, dass das System abgeschaltet wird (ein „kaltes Herunterladen"), damit die Aktualisierung ausgeführt werden kann. Bei einer Telefonvermittlung ermöglicht dies, dass vorhandene Gespräche fortgesetzt werden, ohne dass sie abgebrochen werden. Weiterhin kann höchstens ein kurzer Zeitbereich auftreten, während dessen neue Anrufe an der Telefonvermittlung nicht durchgeführt werden können. Dies ist extrem vorteilhaft bei Telefonvermittlungssystemen und Computergeräten mit hoher Verfügbarkeit, die ein minimales Ausmaß an Ausfallzeit aufweisen müssen, selbst wenn die verschiedenen Software-Teilsysteme aktualisiert werden.
  • Telekommunikations-Vermittlungsnetzwerk
  • 2 zeigt eine hierarchische Telekommunikations-Vermittlung, die zur Verwendung mit Verfahren und Systemen gemäß der vorliegenden Erfindung geeignet ist. Entsprechend schließt die hierarchische Telekommunikations-Vermittlung 200, die auch als Vermittlung 200 bekannt ist, einen Anrufprozessor- (CP-) Baugruppenträger 202, eine Knotensteuerung (NC) 204 und NC 214, und eine Reihe von Peripherie-Ausrüstungs- (PE-) Baugruppenträgern 206P, 208B, 210B und 212B ein, die mit entsprechenden Zugangskontroll- (AC-) Einheiten 206A, 208A, 210A, und 212A gekoppelt sind. Diese AC-Einheiten 206A, 208A, 210A, und 212A sind mit einer großen Anzahl von Handapparate-Geräten 216 gekoppelt, die zum Senden und Manipulieren von Sprache und Dateninformation verwendet werden.
  • Am Kopf der Vermittlungshierarchie wird die Systemverwaltung auf eine Vielzahl von Hardware-Karten und (nicht gezeigten) Softwaresystemen delegiert, die sich in einem CP-Baugruppenträger 202 befinden. Hardware und Software in dem CP-Baugruppenträger 202 wirkt als das Master- oder Haupt-Verarbeitungsgerät in der Vermittlung 200. In einem typischen Szenarium übertragen Hardware- und Software-Teilsysteme netzabwärts von dem CP-Baugruppenträger 202, wie z. B. NC 204 und die AC-Einheit 206A, den Status über vorhandene Anrufe und anhängige Anrufe an eine Hardware in dem CP-Baugruppenträger 202, wobei Objekte und andere Konstrukte verwendet werden, die in einer objektorientierten Sprache verfügbar sind. Entscheidungen werden durch Hardware und Software in dem CP-Baugruppenträger 202 getroffen und an das anfordernde netzabwärts gelegene Teilsystem für deren Ausführung übertragen.
  • Die NC 204 wirkt im Wesentlichen als ein Konzentrator und Vermittlungsgerät für Anrufe, die zwischen dem CP-Baugruppenträger 202 und den Handapparate-Einheiten 216 übertragen werden. Das zwischen NC 204 und dem CP-Baugruppenträger 202 verwendete Protokoll ist vorzugsweise TCP/IP oder irgendein anderes in weitem Umfang verwendetes Netzwerkprotokoll, das über eine Hochgeschwindigkeits-Kommunikations-Verbindungsstrecke übertragen wird, wie z. B. über eine asynchrone Übertragungsbetriebsart (ATM) oder Ethernet. Die NC 204 ist mit dem CP-Baugruppenträger 202 und mehreren AC's 206A, 208A, 210A, und 212A gekoppelt. Was wichtiger ist, ist dass die NC 204 einen (nicht gezeigten) Mehrfachbank-Flash-Speicher einschließt, der zum Empfang von Software-Teilsystem-Aktualisierungen gemäß den Verfahren und Systemen der vorliegenden Erfindung geeignet ist. Die Techniken, die zur Anwendung von Software-Teilsystem-Aktualisierungen in der NC 204 verwendet werden, können auch zur Aktualisierung von Software-Teilsystemen in den AC-Einheiten 206A, 208A, 210A, und 212A angewandt werden.
  • Die AC-Einheiten 206A, 208A, 210A, und 212A ergeben einen Zugang an die verschiedenen PE-Baugruppenträger 206B, 208, 210B und 212B. Mitteilungen und Daten werden an verschiedene Karten auf jedem PE-Baugruppenträger in Abhängigkeit von den speziellen Funktionen der Karten übertragen. Die Karten auf den PE-Baugruppenträgern 206B, 208, 210B und 212B schließen Funktionen, wie z. B. Anruf-Weiterleitung, Konferenzgespräche und Wählton-Dienste ein. Ebenso wie die NC-Einheiten 204 und 214 schließen auch die AC-Einheiten 206A, 208A, 210A, und 212A einen (nicht gezeigten) Doppelbank-Flash-Speicher ein, der zum Empfang von Software-Teilsystem-Aktualisierungen gemäß den Verfahren und Systemen der vorliegenden Erfindung geeignet ist.
  • 3 ist ein Blockschaltbild einer Anrufprozessor- (CP-) Einheit und einer Knotensteuerungs- (NC-) Einheit 204, die zur Verwendung mit Verfahren und Systemen gemäß der vorliegenden Erfindung geeignet sind. Die CP-Einheit 202 schließt einen Anrufprozessor 302, eine Eingangs-/Ausgangs-Einheit 304, einen Flash-Speicher 306, eine Festplatte 308, auf der ladbare Dateien 309 gespeichert sind, und eine Kommunikationssteuerung 310 ein. Der Anrufprozessor 302 wird zur Ausführung einer zentralisierten systemweiten Logik verwendet, die der Vermittlung 200 zugeordnet ist. Speziell verwenden Verfahren und Systeme der vorliegenden Erfindung einen Anrufprozessor 302 zur Verarbeitung von Befehlen, die mit der Aktualisierung oder Aufrüstung von Software-Teilsystemen verbunden sind, die in der NC-Einheit 204 und der AC-Einheit 206A verwendet werden.
  • Ein Peripheriesystem-Herunterlademodul (PSDL) 314, das in dem Flash-Speicher 306 enthalten ist, steuert das Löschen und Brennen von Flash-Speicher auf den Ziel-Baueinheiten, wie z. B. der NC-Einheit 204. Ein Betriebssystem (OS) 312 ist ebenfalls in dem Flash-Speicher 306 enthalten und wird zur Verwaltung örtlicher Ressourcen auf der CP-Einheit 202 verwendet. Im Allgemeinen steuert und koordiniert das PSDL-Modul 314 Software-Teilsystem-Aktualisierungen, wie sie in Geräten, wie z. B. der MC-Einheit 204 und der AC-Einheit 206A verwendet werden. Einzelheiten der in dem PSDL-Modul 314 verwendeten Verfahren werden weiter unten ausführlicher erläutert.
  • Die Festplatte 308 auf der CP-Einheit 202 schließt ladbare Dateien 309 ein, die Software-Teilsystem-Aktualisierungen enthalten, die in der Vermittlung 200 verwendet werden. Die speziellen Inhalte jeder ladbaren Datei 309 ändern sich und hängen von den Softwarekomponenten ab, die in einer bestimmten Hardware-Komponente in der Vermittlung 200 verwendet werden. Beispielsweise kann eine Gruppe von ladbaren Dateien 309 Software-Teilsystem-Aktualisierungen für Merkmale auf der NC-Einheit 204 einschließen, während eine andere Art von ladbaren Dateien 309 Software-Teilsystem-Aktualisierungen einschließt, die speziell für Merkmale auf der AC-Einheit 206A sind. Merkmale auf der AC-Einheit 206A können die Unterstützung von Merkmalen, wie z. B. Konferenz-Dienste und Wählton-Dienste, interne Takte zur Synchronisation und die Anrufweiterleitung einschließen. Im Allgemeinen werden Systeme und Verfahren gemäß der vorliegenden Erfindung dazu verwendet, eine Vielzahl von Software-Teilsystemen zu aktualisieren, und sie sind nicht nur auf die Aktualisierung von Software-Teilsystemen beschränkt, die sich auf der NC-Einheit 204 oder der AC-Einheit 206A befinden.
  • Die Kommunikationssteuerung 310 erleichtert die Kommunikation von Daten- und Steuersignalen zwischen der CP-Einheit 202, der NC-Einheit 204 und der AC-Einheit 206A. Typischerweise ist die Kommunikationssteuerung 310 ein Gerät auf der Grundlage der asynchronen Übertragungsbetriebsart (ATM), das in der Lage ist, IP- oder TCP/IP-Verkehr zu übertragen. Alternative Steuerungsgeräte können auch unter Verwendung der Ethernet-Technologie in Kombination mit TCP/IP- oder UDP/IP-Protokollen realisiert werden. Die Verwendung eines üblichen Kommunikationsprotokolls, wie z. B. TCP/IP, verringert Entwicklungskosten und ergibt eine gemeinsame Vernetzungsplattform zur Integration von unterschiedlichen Geräten in die Vermittlung 200.
  • Die NC-Einheit 204 schließt einen NC-Prozessor 307, eine Zugangskontroll- (AC-) Schnittstelle 309, ein Flash-Speichergerät 311, ein DRAM-Speichergerät 313 und eine Kommunikationssteuerung 315 ein, die mit ähnlichen Teilsystemen auf der CP-Einheit 202 kompatibel ist. Der NC-Prozessor 307 verarbeitet ankommende und abgehende Anrufe und wirkt als ein Vermittlungsgerät für Anrufe, die an unterschiedlichen Ebenen in der Vermittlung 200 ausgeführt werden. Die AC-Schnittstelle 305 ergibt eine Kommunikations-Verbindungsstrecke zwischen der NC-Einheit 204 und peripheren Geräten netzabwärts von der NC-Einheit 204. Wie dies weiter oben erwähnt wurde, verwendet die Kommunikationssteuerung 315 ein übliches Kommunikationsprotokoll, wie z. B. TCP/IP, um Daten- und Steuerinformationen zwischen der CP-Einheit 202 und der NC-Einheit 204 zu übertragen, während die Vermittlung 200 eine ladbare Datei 309 herunterlädt oder Anrufe verarbeitet.
  • Der Flash-Speicher 311 ist vorzugsweise in Form von mehrfachen Bänken von Flash-Speicher gerätemäßig ausgebildet. Die Aufteilung des Flash-Speichers 311 in mehrfache Bänke ermöglicht es, in einer Bank befindlichen Code auszuführen, während Information in eine zweite Bank in den Flash-Speicher 311 geschrieben oder „gebrannt" wird. Dies ist wichtig, wenn Software-Teilsystem-Aktualisierungen im Betrieb heruntergeladen werden sollen, während die Vermittlung 200 weiter Anruf verarbeitet und ausführt. In alternativen Ausführungsformen kann der Flash-Speicher 311 durch andere Arten von computerlesbaren Medien ersetzt werden, wie z. B. sekundäre Speichergeräte, wie Festplatten, Floppy-Disks, CD-Rom oder andere Formen von RAM oder ROM. Datenübertragungsmedien, wie z. B. eine Trägerschwingung auf dem Internet, stellen eine Art von computerlesbaren Medien dar, die genauso die Funktion erfüllen können, die von dem Flash-Speicher 311 bereitgestellt wird. Im Gegensatz zum Flash-Speicher 311 wird der DRAM-Speicher 313 zur vorübergehenden Speicherung von Daten- und Steuerinformationen verwendet, während die NC-Einheit 204 im Betrieb ist und Anrufe auf der Vermittlung 200 verarbeitet.
  • 4 ist ein Blockschaltbild einer Mehrfachbank-Speichereinheit, die zur Verwendung mit Verfahren und Systemen gemäß der vorliegenden Erfindung geeignet ist. Jede NC-Einheit 204, AC-Einheit 206A und jedes andere NS-Gerät, das gemäß der vorliegenden Erfindung ausgelegt ist, schließt ein Mehrfachbank-Speichergerät ein. Im Einzelnen schließt der Mehrfachbank-Flash-Speicher 311 zumindest eine Flash-Bank A 402 und eine Flash-Bank B 404 ein, die jeweils mit einem herunterladbaren Abbild 414 und einem nicht-herunterladbaren Abbild 416 geladen werden. Das herunterladbare Abbild 414 enthält die Software-Teilsysteme, die heruntergeladen und aktualisiert werden können, während die Vermittlung 200 arbeitet. Das nicht herunterladbare Abbild 416 wird im Werk installiert und wird vorzugsweise nicht am Kundenstandort oder am Anwendungsort aktualisiert.
  • Auf der Flash-Bank A 402 schließt das herunterladbare Abbild 414 ein Betriebssystem 408 und Anwendungen 406 ein. Das Betriebssystem 408 schließt weiterhin das Peripheriesystem-Herunterlade- (PSDL-) Modul ein, das das tatsächliche Löschen und Brennen von Ziel-Baueinheiten im Flash-Speicher steuert. In ähnlicher Weise hat die Flash-Bank B 404 ein herunterladbares Abbild 414, das das Betriebssystem 412 mit einem (nicht gezeigten) PSDL-Modul und Anwendungen 410 einschließt. Entsprechende nicht-herunterladbare Abbilder 416 auf der Flash-Bank A 402 schließen ein Bootcode-Abbild 409 ein, das eine Ladeauswahl-Logik 411 zur Auswahl eines gültigen Software-Teilsystems einschließt. Die Flash-Bank B 404 schließt weiterhin nicht-herunterladbare Abbilder 416 ein, die ein Bootcode-Abbild 413 mit einer Ladeauswahl-Logik 415 einschließen.
  • Die Ladeauswahl-Logik 411 und 415 wählt ein gültiges Software-Teilsystem entsprechend aus der Flash-Bank A 402 oder der Flash-Bank B 404 aus. Das herunterladbare Abbild 416 wird zur Ausführung wesentlicher Operationen verwendet, wie z. B. zur Durchführung von Dateiübertragungen unter Verwendung eines Dateiübertragungsprotokolls, wie fdp oder tftp, und für das Rundsenden von Netzwerk-Information über eine Netzwerk-Verbindung, die ein Netzwerk-Protokoll, wie z. B. UDP/IP verwendet.
  • Die Verwendung von dualen Bänken ermöglicht es, dass ein Software-Teilsystem in der aktiven Bank ausgeführt wird, während aktualisierte Software-Teilsysteme in die im Leerlauf befindliche Bank heruntergeladen werden. In 4 entspricht die Basis-Adresse A 418 der aktiven Bank, während die Basis-Adresse B 420 der im Leerlauf befindlichen Bank entspricht. Diese Anordnung unterstützt das Merkmal eines „heißen Herunterladens", was die Anwendung von Software-Teilsystem-Aktualisierungen ermöglicht, während die NC-Einheit 204 oder die AC-Einheit 206A in Betrieb sind und laufen.
  • Auf üblichen Systemen sind Flash-Abbilder statisch gelinkt und daher nicht in einen unterschiedlichen Adressenraum verschiebbar. Die vorliegende Erfindung vermeidet jedoch diese mit einem nicht verschiebbaren oder nicht umlagerbaren Code verbundenen Probleme mit einer programmierbaren Chip-Auswahl, die Basis-Adressen der zwei Flash-Bänke vertauscht. Dies vermeidet die Notwendigkeit einer Schaffung und Verwaltung getrennter ladbarer Software-Abbilder für jede Bank und jeden Adressenraum. Der programmierbare Chip vertauscht Basis-Adressen und macht die aktualisierte Flash-Bank aktiv.
  • Die Lade-Eingabelogik 411 in der Flash-Bank A 402 setzt die Basis-Adresse der zwei Flash-Bänke in Abhängigkeit davon um, welche Flash-Bank ein gültiges und aktualisiertes Software-Teilsystem enthält. Nachdem ein Software-Teilsystem aktualisiert wurde, vertauschen die Flash-Bank A und die Flash-Bank B im Wesentlichen die Basis-Adressen-Umsetzungswerte und werden daher aktiv oder inaktiv. Dies vermeidet komplizierte Code-Umlagerungsprobleme, weil eine einzige ladbare Software-Datei 309 in mehreren Bänken des Flash-Speichers 311 verwendet werden kann anstatt dass unterschiedliche ladbare Software-Dateien 309 kompiliert und für den Adressenbereich jeder Bank gelinkt werden müssen.
  • Dieses neuartige Mehrfach-Bank-Konstruktionsmerkmal unterstützt außerdem eine „Hintertür", die es einer Steuerung, wie z. B. der NC-Einheit 204, ermöglicht, ein vorhergehendes Software-Teilsystem zu laden, wenn ein Versuch zur Aktualisierung des Software-Teilsystems fehlschlägt. Die Hintertür ist eine Technik, um eine fehlgeschlagene Installation oder eine Aktualisierung eines Software-Teilsystems auf einem NS-Gerät zu verlassen. Entsprechend stellt vor dem Vertauschen der Basis-Adressen die Ladeauswahl-Logik 411 in der Flash-Bank A 402 sicher, dass die aktualisierten Software-Teilsysteme, wie z. B. das Betriebssystem 412 und die Anwendungen 410 richtig in die Flash-Bank B 404 geladen wurden. Wenn das Herunterladen nicht richtig erfolgte, so aktiviert die Ladeauswahl-Logik 411 die Bank mit dem nicht aktualisierten und nicht mit Fehler behafteten Code. In diesem Fall die Flash-Bank A. Alternativ werden, wenn das Herunterladen richtig erfolgt ist, dann die Basis-Adressen vertauscht, und die aktive Bank wird die Flash-Bank B anstelle der Flash-Bank A.
  • Betriebsweise des Vermittlungsnetzwerkes
  • 5 ist ein Ablaufdiagramm eines Verfahrens zur Aktualisierung eines Software-Teilsystems, das zur Verwendung mit der vorliegenden Erfindung geeignet ist. Dieses Verfahren kann zur Aktualisierung eines Software-Teilsystems verwendet werden, das auf irgendeinem Netzwerksystem gespeichert ist, das mehrfache Speicherbänke hat und in der Lage ist, mehrfache Software-Teilsysteme aufzunehmen. Vorzugsweise werden Dienste von einem Software-Teilsystem bereitgestellt, das in einer primären Bank des Speichers ausgeführt wird, während das aktualisierte Software-Teilsystem in eine sekundäre Bank des Speichers auf dem Netzwerksystem heruntergeladen wird. Die Basis-Adressen werden vertauscht, sobald das aktualisierte Software-Teilsystem heruntergeladen wurde, und die Programmausführung beginnt, das aktualisierte Software-Teilsystem zu verwenden.
  • Auf der Vermittlung 200 betreiben verschiedene Software-Teilsysteme Netzwerksysteme, wie z. B. die NC-Einheit 204 und die AC-Einheit 206A. Software-Teilsysteme auf diesen Netzwerksystemen können unter Verwendung von Verfahren und Systemen gemäß der vorliegenden Erfindung aktualisiert werden. Entsprechend sind die Verfahren und Systeme, die auf die NC-Einheit 204 und die AC-Einheit 206A angewandt werden, lediglich als Beispiel angegeben.
  • Im Betrieb verarbeitet die NC-Einheit 204 Befehle von einem primären Software-Teilsystem, das an einer ersten Basis-Adresse geladen ist, die der primären Bank des Speichers zugeordnet ist, wie z. B. der Flash-Bank A 402 in dem Flash-Speicher 311. Als Vorgabe verarbeitet die NC-Einheit 204 Befehle unter Verwendung des Software-Teilsystems, das sich in den Flash-Speicher 311 an der Basis-Adresse 418 befindet. Die PDSL in der aktiven Bank A 402 führt ein Verfahren gemäß der vorliegenden Erfindung aus und lädt ein sekundäres Software-Teilsystem, das eine aktualisierte Version des primären Software-Teilsystemsist, in eine sekundäre Speicher-Bank herunter, wie z. B. die Flash-Bank B 404 an der Basis-Adresse B 420 (Schritt 502). In der Praxis leitet der CP-Baugruppenträger 202 den Herunterlade-Prozess ein, wobei die Inhalte der Ziel-Baueinheit gelöscht und mit dem aktualisierten Software-Teilsystem auf der Flash-Bank B 404 als eine Hintergrund-Aufgabe gebrannt werden, während das primäre Software-Teilsystem, das in der Flash-Bank A 402 in dem Flash-Speicher gespeichert ist, aktiv Anrufverarbeitungsanwendungen im Vordergrund ausführt.
  • Das Verfahren stellt fest, ob das aktualisierte Software-Teilsystem erfolgreich in die im Leerlauf befindliche Flash-Bank B 404 heruntergeladen wurde, indem Kopffeld-Werte und Prüfsummen-Werte geprüft werden, die dem aktualisierten Software-Teilsystem zugeordnet sind (Schritt 504). Wenn das Herunterladen nicht erfolgreich ist, wird die Verarbeitung auf dem primären Software-Teilsystem fortgesetzt, das in diesem Beispiel in der Flash-Bank A 402, der aktiven Bank, gespeichert ist. Alternativ aktualisiert nach einem erfolgreichen Herunterladen das Verfahren einen Versions-Zähler, der der Flash-Bank B 404 zugeordnet ist, was anzeigt, dass eine neue Version des Software-Teilsystems geladen wurde (Schritt 506). Der Versionszähler wird später von der Lade-Eingabelogik 411 verwendet, wenn ein erneutes Booten oder Rücksetzen erfolgt, um festzustellen, welche Flash-Bank das letzte Software-Teilsystem enthält.
  • Sobald die Versions-Information aktualisiert ist, schaltet das Verfahren die aktive Speichereinheit, beispielsweise die Flash-Bank A 402, auf die im Leerlauf befindliche Speichereinheit, wie z. B. die Flash-Bank B 404 (Schritt 508) um. Vorzugsweise schaltet das Verfahren die Bänke durch Vertauschen der Basis-Adresse A 418, die der Flash-Bank A 402 zugeordnet ist, mit der Basis-Adresse B 420 um, die der Flash-Bank B 404 zugeordnet ist. Dies führt dazu, dass die NC-Einheit 204 damit beginnt, Befehle von dem aktualisierten Software-Teilsystem zu verarbeiten, das an der Basis-Adresse B 420 in der Flash-Bank B 404 (Schritt 510) geladen wurde. Dies schließt den Software-Teilsystem-Aktualisierungsprozess ab.
  • 6 ist ein Ablaufdiagramm eines Verfahrens zur Auswahl des richtigen Software-Teilsystems, das zur Verwendung mit Verfahren und Systemen gemäß der vorliegenden Erfindung geeignet ist. Diese Schritte werden verwendet, wenn ein Netzwerksystem, wie z. B. die NC-Einheit 204 mit einem Dual-Bank-Flash-Speicher 311 neu gebootet oder zurückgesetzt wird. Das Verfahren bestimmt, welches Software-Teilsystem, das in dem Dual-Bank-Flash-Speicher 311 gespeichert ist, ausgeführt werden sollte. Das Verfahren überprüft die Integrität und die Version jedes Software-Teilsystems, um festzustellen, welches Software-Teilsystem ausgeführt werden sollte. Speziell wird hierbei vorausgesetzt, dass die NC-Einheit 204 ein primäres Software-Teilsystem, das in dem Flash-Speicher 311 an einer ersten Basis-Adresse, wie z. B. der Basis-Adresse A 418 gespeichert ist, und ein sekundäres, in dem Flash-Speicher 311 gespeichertes Software-Teilsystem hat, das an einer zweiten Basis-Adresse, wie z. B. der Basis-Adresse B 420 geladen ist. Bei einer bevorzugten Ausführungsform zeigt jedoch die NC-Einheit 204 nicht explizit an, welches Software-Teilsystem geladen werden sollte.
  • Die Ladeauswahl-Logik 411 wählt aus, welches Software-Teilsystem ausgeführt werden sollte (Schritt 602). Die Basis-Adressen, die die Ladeauswahl-Logik 411 vertauscht, hängen davon ab, welches Software-Teilsystem ausgewählt ist (Schritt 604). Wenn das ausgewählte Software-Teilsystem in dem Flash-Speicher 311 an der Basis-Adresse A 418 geladen ist, so ist kein Basis-Adressen-Umschalten erforderlich. Wenn sich jedoch das ausgewählte Software-Teilsystem in dem Flash-Speicher 311 an der Basis-Adresse B 420 befindet, so ist eine Basis-Adressen-Umschaltung erforderlich (Schritt 606). Einzelheiten der Vertauschung der Basis-Adressen-Werte werden weiter unten in Verbindung mit 8 erläutert. Die Ladeauswahl-Logik 411 ruft das richtige Software-Teilsystem auf, sobald die Basis-Adresse richtig eingestellt wurde (Schritt 608).
  • 7 ist ein Ablaufdiagramm eines Verfahrens gemäß der vorliegenden Erfindung zur Auswahl, welches Software-Teilsystem im Schritt 602 ausgeführt werden sollte. Zu Anfang bestimmt die Ladeauswahl-Logik 411, ob das primäre Software-Teilsystem geändert oder verfälscht wurde, seitdem es erzeugt wurde (Schritt 702). Dies beinhaltet typischerweise das Prüfen der Kopffeld-Information in dem primären Software-Teilsystem und die Überprüfung des Prüfsummen-Wertes für das Software-Teilsystem. In ähnlicher Weise führt die Ladeauswahl-Logik 411 eine Analyse der Kopffeld-Information und der Prüfsummen-Information des sekundären Software-Teilsystems aus (Schritt 704). In diesem Beispiel ist das primäre Software-Teilsystem in der Flash-Bank A 402 gespeichert, und das sekundäre Teilsystem ist in der Flash-Bank B 404 des Flash-Speichers 311 gespeichert.
  • Der Zweck der Ladeauswahl-Loogik 411 besteht darin, die letzte Software-Teilsystem-Version auszuwählen, die richtig heruntergeladen und nicht verfälscht oder geändert wurde. Entsprechend wird, wenn die Ladeauswahl-Logik 411 feststellt, dass das sekundäre Software-Teilsystem geändert wurde (Schritt 706), das primäre Software-Teilsystem ausgewählt (Schritt 708). Wenn jedoch das primäre Software-Teilsystem geändert wurde oder verfälscht ist, so wird das sekundäre Teilsystem ausgewählt (Schritt 712). Es sei bemerkt, dass wenn beide Software-Teilsysteme verfälscht zu sein scheinen, die Ladeauswahl-Logik 411 vorzugsweise das primäre Software-Teilsystem (Schritt 708) auswählt. Unter diesen Umständen ist es möglich, dass die Ausführung des primären Software-Teilsystems nicht einwandfrei verläuft. Wenn sowohl das primäre als auch das sekundäre Teilsystem unverändert sind, so wählt die Ladeauswahl-Logik 411 die neueste Software-Teilsystem-Version aus (Schritt 714). Eine Versionszählung, die jeder Flash-Bank in dem Flash-Speicher 311 zugeordnet ist, wird jedesmal dann weitergeschaltet, wenn eine neue Version von dem CP-Baugruppenträger 202 heruntergeladen wird. Eine höhere Versionszählung zeigt an, welche Bank in dem Flash-Speicher 311 die letzte Version enthält.
  • 8 ist ein Ablaufdiagramm eines Verfahrens zur Durchführung einer Bank-Umschaltung gemäß der vorliegenden Erfindung. Der Bank-Umschaltbefehl wird im Schritt 508 nach der Aktualisierung der Software empfangen, während die NC 104 läuft, oder vom Schritt 606, wenn die NC-204 bootet oder zurückgesetzt wird (Schritt 802). Die Bank-Umschaltung nutzt das programmierbare Chip-Ausfallmerkmal aus, das sich typischerweise bei vielen Mikrocontroller-Einheiten findet, wie z. B. bei dem Motorola QUICC Mikrocontroller. Dieses Merkmal wird dazu verwendet, die Basis-Adresse jeder Bank in dem Flash-Speicher 311 umzusetzen.
  • Im Betrieb wird die Bank-Umschaltroutine unter Verwendung der Chip-Auswahl von dem Flash-Speicher 311 zu dem DRAM 312 (Schritt 804) kopiert. Der Programmzähler wird auf eine Adresse in dem DRAM 312 gesetzt, und die Bank-Umschaltungsroutine wird ausgeführt. Die Bank-Schaltroutine liest Basis-Registerwerte CS0 und CS1 von jeder Bank in den Flash-Speicher 311 (Schritt 808). Der Basis-Registerwert CS1 wird als temporärer Basis-Registerwert TCS1 gespeichert, und der Basis-Registerwert CS0 wird in dem temporären Basis-Registerwert TCS0 gespeichert (Schritt 810). Die Basis-Register werden dann dadurch vertauscht, dass der temporäre Basis-Registerwert TCS0 als Basis-Registerwert CS1 und der temporäre Basis-Registerwert TCS1 als CS0 gespeichert wird (Schritt 812). Sobald die Basis-Registerwerte vertauscht wurden, wird die Verarbeitung bei der nächsten Adresse in der zweiten Bank in dem Flash-Speicher 311 fortgesetzt.
  • Obwohl hier spezielle Ausführungsformen zur Erläuterung beschrieben wurden, können vielfältige Modifikationen durchgeführt werden, ohne vom Schutzumfang der Erfindung abzuweichen. Entsprechend ist die Erfindung nicht auf die vorstehend beschriebenen Ausführungsbeispiele beschränkt, sondern statt dessen durch die beigefügten Ansprüche im Hinblick auf ihren vollen Schutzumfang von Äquivalenten definiert.

Claims (8)

  1. Verfahren zur Aufrüstung oder Aktualisierung eines von einem Netzwerksystem (109) verwendeten Software-Teilsystems, während Dienste von dem Software-Teilsystem bereitgestellt werden, mit den folgenden Schritten: Verarbeiten von Befehlen von einem primären Software-Teilsystem, das an einer ersten Basis-Adresse (418) geladen ist, die einer primären Speichereinheit (402) zugeordnet ist, die mit dem Netzwerksystem gekoppelt ist; Herunterladen (502) eines sekundären Software-Teilsystems an einer zweiten Basis-Adresse (420), die einer zweiten Speichereinheit (404) zugeordnet ist, die mit dem Netzwerk-System gekoppelt ist, wobei das Verfahren gekennzeichnet ist, durch: Aktivieren des sekundären Software-Teilsystems durch selektives Vertauschen (508) der ersten Basis-Adresse, die der primären Speichereinheit zugeordnet ist, mit der zweiten Basis-Adresse, die der sekundären Speichereinheit zugeordnet ist, wodurch das Software-Teilsystem aktualisiert wird, während Dienste von dem Software-Teilsystem bereitgestellt werden.
  2. Verfahren nach Anspruch 1, das weiterhin den Schritt des: Weiterschaltens (506) eines Versionszählers umfasst, der der sekundären Speichereinheit zugeordnet ist, was anzeigt, dass die sekundäre Speichereinheit eine aktualisierte Version des Software-Teilsystems enthält.
  3. Verfahren nach Anspruch 1 oder 2, bei dem das zweite Software-Teilsystem eine aktualisierte Version des primären Software-Teilsystems ist.
  4. Verfahren nach Anspruch 1, 2 oder 3, bei dem der Vertauschungsschritt weiterhin die folgenden Teilschritte umfasst: Speichern (804) der ersten Basis-Adresse, die der primären Speichereinheit zugeordnet ist, in einem temporären Speichergebiet (313); Zuordnen der zweiten Basis-Adresse zu der primären Speichereinheit; und Zuordnen der ersten in dem temporären Speichergebiet gespeicherten Basis-Adresse zu der sekundären Speichereinheit.
  5. Verfahren nach einem der vorhergehenden Ansprüche, das weiterhin nach dem Vertauschungsschritt den Schritt der Verarbeitung von Befehlen von dem sekundären Software-Teilsystem umfasst, das an einer ersten Basis-Adresse geladen ist, die der zweiten Speichereinheit zugeordnet ist.
  6. Computerprogramm-Produkt, das zur Konfiguration eines Datenprozessors zur Aktualisierung eines Software-Teilsystems fähig ist, das von einem Netzwerksystem verwendet wird, das mit einem Server-Computer über ein Netzwerk gekoppelt ist, während Dienste von dem Software-Teilsystem bereitgestellt werden, wobei das Computerprogramm-Produkt Programmcode umfasst, der bewirkt, dass der Datenprozessor die Schritte eines der Verfahren nach den Ansprüchen 1-5 ausführt.
  7. Vorrichtung, die so ausgelegt ist, dass sie ein Software-Teilsystem aktualisiert, das von einem Netzwerksystem verwendet wird, das mit einem Server-Computer (108118) über das Netzwerk gekoppelt ist, während Dienste von dem Software-Teilsystem bereitgestellt werden, mit: einem Verarbeitungs-Modul (204), das so konfiguriert ist, dass es Befehle von einem primären Software-Teilsystem verarbeitet, das an einer ersten Basis-Adresse (418) geladen ist, die einer primären, mit dem Netzwerksystem gekoppelten Speichereinheit (402) zugeordnet ist; einem Herunterlade-Modul (314) das zum Herunterladen eines zweiten Software-Teilsystems an einer zweiten Basis-Adresse (420) konfiguriert ist, die einer sekundären, mit dem Netzwerksystem gekoppelten Speichereinheit (404) zugeordnet ist, wobei die Vorrichtung gekennzeichnet ist durch: ein Vertauschungs-Modul (411), das zum selektiven Vertauschen der ersten Basis-Adresse, die der primären Speichereinheit zugeordnet ist, mit der zweiten Basis-Adresse konfiguriert ist, die der sekundären Speichereinheit zugeordnet ist, indem das sekundäre Software-Teilsystem aktiviert wird, wodurch das Software-Teilsystem aktualisiert wird, während Dienste von dem Software-Teilsystem bereitgestellt werden.
  8. Vorrichtung nach Anspruch 7, die weiterhin Folgendes umfasst: ein Zähler-Modul, das zum Weiterschalten (506) eines Versionszählers konfiguriert ist, der der sekundären Speichereinheit zugeordnet ist, was anzeigt, dass die sekundäre Speichereinheit eine aktualisierte Version des Software-Teilsystems enthält.
DE69926834T 1998-05-22 1999-05-20 Verfahren und Vorrichtung zum Aufrüsten von Software-Teilsystemen auf einem Netzwerksystem Expired - Fee Related DE69926834T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US83020 1998-05-22
US09/083,020 US6070012A (en) 1998-05-22 1998-05-22 Method and apparatus for upgrading software subsystems without interrupting service

Publications (2)

Publication Number Publication Date
DE69926834D1 DE69926834D1 (de) 2005-09-29
DE69926834T2 true DE69926834T2 (de) 2006-01-19

Family

ID=22175663

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69926834T Expired - Fee Related DE69926834T2 (de) 1998-05-22 1999-05-20 Verfahren und Vorrichtung zum Aufrüsten von Software-Teilsystemen auf einem Netzwerksystem

Country Status (4)

Country Link
US (1) US6070012A (de)
EP (1) EP0959405B1 (de)
CA (1) CA2272508A1 (de)
DE (1) DE69926834T2 (de)

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6209127B1 (en) * 1997-06-05 2001-03-27 Matsushita Electrical Industrial Co., Ltd Terminal device capable of remote download, download method of loader program in terminal device, and storage medium storing loader program
US6141683A (en) * 1998-01-30 2000-10-31 Lucent Technologies, Inc. Method for remotely and reliably updating of the software on a computer with provision for roll back
US6330715B1 (en) * 1998-05-19 2001-12-11 Nortel Networks Limited Method and apparatus for managing software in a network system
JP4101368B2 (ja) * 1998-08-24 2008-06-18 松下電器産業株式会社 ボタン電話装置およびそのメンテナンス方法並びに記録媒体
JP3950589B2 (ja) * 1998-08-28 2007-08-01 キヤノン株式会社 情報処理装置、プログラム更新方法および記憶媒体
US6301709B1 (en) * 1998-11-30 2001-10-09 Lucent Technologies, Inc. Circuit pack system with semi-or fully-automatic upgrade capability
US6536039B2 (en) * 1998-12-24 2003-03-18 Avaya Technology Corp. Software for seamless interconnectivity between active program modules on integrated arrangement of CD drive, data server, and PC hard disk drive
US6614804B1 (en) * 1999-03-22 2003-09-02 Webtv Networks, Inc. Method and apparatus for remote update of clients by a server via broadcast satellite
US6487718B1 (en) * 1999-03-31 2002-11-26 International Business Machines Corporation Method and apparatus for installing applications in a distributed data processing system
US7363359B1 (en) * 1999-05-26 2008-04-22 Fujitsu Limited Element management system with automatic remote backup of network elements' local storage
US6622159B1 (en) * 1999-06-30 2003-09-16 International Business Machines Corporation Method, apparatus and computer program product for automatically restarting an RPC server without losing client RPC calls
US6397385B1 (en) * 1999-07-16 2002-05-28 Excel Switching Corporation Method and apparatus for in service software upgrade for expandable telecommunications system
US6324692B1 (en) * 1999-07-28 2001-11-27 Data General Corporation Upgrade of a program
US6854055B1 (en) * 1999-10-18 2005-02-08 Endress + Hauser Flowtec Ag Method and system for switching active configuration memory during on-line operation of programmable field mounted device
US6622246B1 (en) * 1999-11-12 2003-09-16 Xerox Corporation Method and apparatus for booting and upgrading firmware
US6681389B1 (en) * 2000-02-28 2004-01-20 Lucent Technologies Inc. Method for providing scaleable restart and backout of software upgrades for clustered computing
US6956941B1 (en) * 2000-04-12 2005-10-18 Austin Logistics Incorporated Method and system for scheduling inbound inquiries
GB2362064A (en) * 2000-05-04 2001-11-07 Marconi Comm Ltd Switching of software in a communications system
DE10030120B4 (de) * 2000-06-20 2005-07-21 Siemens Ag Verfahren und Vorrichtung zur Konfigurierung einer Telekommunikationsanlage
US6941353B1 (en) * 2000-06-29 2005-09-06 Auran Holdings Pty Ltd E-commerce system and method relating to program objects
US7142662B2 (en) 2000-07-11 2006-11-28 Austin Logistics Incorporated Method and system for distributing outbound telephone calls
US7502460B2 (en) 2006-11-20 2009-03-10 Austin Logistics Incorporated Method and system for distributing outbound telephone calls
US7103173B2 (en) * 2001-07-09 2006-09-05 Austin Logistics Incorporated System and method for preemptive goals based routing of contact records
DE10037177A1 (de) * 2000-07-31 2002-02-14 Giesecke & Devrient Gmbh Banknotenbearbeitungsmaschine und Verfahren zum Betreiben der Banknotenbearbeitungsmaschine
CA2320665C (en) * 2000-09-26 2010-08-17 Spielo Manufacturing Incorporated System and method for downloading electronic information to a video lottery terminal
US6976079B1 (en) * 2000-09-29 2005-12-13 International Business Machines Corporation System and method for upgrading software in a distributed computer system
DE10050604A1 (de) * 2000-10-12 2002-04-25 Siemens Ag Verfahren zum Starten einer Datenverarbeitungsanlage sowie zugehörige Komponenten
US20020183882A1 (en) * 2000-10-20 2002-12-05 Michael Dearing RF point of sale and delivery method and system using communication with remote computer and having features to read a large number of RF tags
EP1328888A4 (de) 2000-10-20 2004-10-27 Promega Corp Hochfrequenz-idenfikationsverfahren und system zum verteilen von produkten
USRE47599E1 (en) 2000-10-20 2019-09-10 Promega Corporation RF point of sale and delivery method and system using communication with remote computer and having features to read a large number of RF tags
US6611902B2 (en) 2000-11-13 2003-08-26 Matsushita Electric Industrial Co., Ltd. Information processor and information processing method
US6792499B1 (en) * 2000-11-14 2004-09-14 Cypress Semiconductor Corp. Dynamic swapping of memory bank base addresses
US7409685B2 (en) 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US7814474B2 (en) * 2000-11-17 2010-10-12 Hewlett-Packard Development Company, L.P. Updatable mobile handset based on Linux with compression and decompression techniques
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US6996815B2 (en) * 2000-11-29 2006-02-07 Microsoft Corporation Method and software tools for intelligent service pack installation
US20020112231A1 (en) * 2000-12-13 2002-08-15 Arne Lundback Software distribution at a multi-processor telecommunications platform
US7082603B2 (en) * 2001-01-03 2006-07-25 Intel Corporation Upgrading peripheral devices
EP1227667A1 (de) * 2001-01-18 2002-07-31 Sony Service Centre (Europe) N.V. Verfahren und Vorrichtung zur Bereitstellung von heruntergeladenen Objekten an eine Applikation
US7143406B2 (en) * 2001-01-23 2006-11-28 Wildtangent, Inc. Asynchronous software update
US20020159439A1 (en) * 2001-04-25 2002-10-31 Marsh Anita B. Dynamically downloading telecommunication call services
US20040015950A1 (en) * 2001-05-10 2004-01-22 International Business Machines Corporation Application service provider upgrades
US7065347B1 (en) 2001-06-27 2006-06-20 Peoplenet Communications Corporation System and method for over the air programming
US7715546B2 (en) * 2001-07-09 2010-05-11 Austin Logistics Incorporated System and method for updating contact records
US7054434B2 (en) * 2001-07-09 2006-05-30 Austin Logistics Incorporated System and method for common account based routing of contact records
JP2003025688A (ja) * 2001-07-12 2003-01-29 Fujitsu Ltd プリンタのファームウエアインストール方法、プリンタ及びプリンタシステム
DE10134463A1 (de) * 2001-07-16 2003-02-13 Tenovis Gmbh & Co Kg Verfahren zur Speicherung von Software einer TK-Anlage
US7130897B2 (en) * 2001-10-11 2006-10-31 International Business Machines Corporation Dynamic cluster versioning for a group
US7062763B2 (en) * 2001-11-13 2006-06-13 Sun Microsystems, Inc. Method and apparatus for remote software code update
US20030092438A1 (en) * 2001-11-14 2003-05-15 Moore Brian J. Method and apparatus for stabilizing calls during a system upgrade or downgrade
JP2003308215A (ja) * 2002-02-14 2003-10-31 Canon Inc 情報処理装置、制御方法、制御プログラム
US7253915B2 (en) * 2002-03-07 2007-08-07 Canon Kabushiki Kaisha Creating a locally managed instance of a network printer
US7174547B2 (en) * 2002-03-25 2007-02-06 Ciena Corporation Method for updating and restoring operating software in an active region of a network element
US7058711B2 (en) * 2002-04-04 2006-06-06 Avaya Technology Corp. Virtual network management
US20030200291A1 (en) * 2002-04-23 2003-10-23 Canon Kabushiki Kaisha Web based creation of printer instances on a workstation
US7689673B2 (en) * 2002-04-23 2010-03-30 Canon Kabushiki Kaisha Remote creation of printer instances on a workstation
US7213060B2 (en) * 2002-04-23 2007-05-01 Canon Kabushiki Kaisha Web based creation of printer instances on a workstation
AU2003242930A1 (en) * 2002-06-28 2004-01-19 Koninklijke Philips Electronics N.V. Software download into a receiver
US7200844B2 (en) * 2002-08-08 2007-04-03 Hewlett-Packard Development Company, Lp. User installation of imaging device control system
US7284234B2 (en) * 2002-11-06 2007-10-16 Alcatel Canada Inc. System and method for implementing maintenance functions for a switch
NO20033897D0 (no) * 2003-09-03 2003-09-03 Ericsson Telefon Ab L M Höytilgjengelighetssystem basert på separat kontroll og trafikksystem
US7313792B2 (en) * 2003-09-08 2007-12-25 Microsoft Corporation Method and system for servicing software
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US20050076333A1 (en) * 2003-10-07 2005-04-07 Nortel Networks Limited Method of installing a software release
US7506335B1 (en) * 2003-11-29 2009-03-17 Cisco Technology, Inc. Method and apparatus for software loading and initialization in a distributed network
US20040133809A1 (en) * 2003-12-16 2004-07-08 Dahl Nathaniel H. Method and system for automatically determining compatible and suitable hardware upgrades for computer hardware
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US7676804B2 (en) * 2004-05-20 2010-03-09 Caterpillar Inc. Systems and method for remotely modifying software on a work machine
EP1624373A1 (de) * 2004-08-06 2006-02-08 Telsey S.p.A. Verfahren und System zur Software-Aktualisierung eines Kommunikationssystems in einem Breitbandnetzwerk
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US8146073B2 (en) * 2004-09-30 2012-03-27 Microsoft Corporation Updating software while it is running
JP2006268172A (ja) * 2005-03-22 2006-10-05 Nec Corp サーバシステムおよびオンラインソフトウェア更新方法
JP4815938B2 (ja) * 2005-08-16 2011-11-16 ソニー株式会社 情報処理装置および方法、並びにプログラム
CN100512116C (zh) * 2005-11-24 2009-07-08 华为技术有限公司 网络设备远程加载系统及方法
FR2894420A1 (fr) * 2005-12-05 2007-06-08 Inventel Sa Combine telephonique, base et methode associee pour mettre a jour le logiciel du combine
EP2025095A2 (de) 2006-06-08 2009-02-18 Hewlett-Packard Development Company, L.P. Geräteverwaltung in einem netzwerk
US8752044B2 (en) 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
US20080115134A1 (en) * 2006-08-31 2008-05-15 Elliott Ian A Repair of system defects with reduced application downtime
US7710275B2 (en) 2007-03-16 2010-05-04 Promega Corporation RFID reader enclosure and man-o-war RFID reader system
US8132165B2 (en) * 2007-05-25 2012-03-06 Samsung Electronics Co., Ltd. Interception proxy-based approach for in-service software upgrade
US20090024712A1 (en) * 2007-07-17 2009-01-22 Intuit Inc. Method and system for suggesting an edition of product software
US7857222B2 (en) * 2007-08-16 2010-12-28 Hand Held Products, Inc. Data collection system having EIR terminal interface node
US20090100158A1 (en) * 2007-10-12 2009-04-16 Microsoft Corporation Backup and Recovery System for Multiple Device Environment
US8276136B2 (en) * 2007-12-11 2012-09-25 Red Hat, Inc. Transparent configuration of a network appliance
US8230416B2 (en) * 2007-12-31 2012-07-24 Sap Ag System, method and article of manufacture for using shadow installations of software modules during distributed system upgrade
US8418164B2 (en) 2008-05-29 2013-04-09 Red Hat, Inc. Image install of a network appliance
US9104521B2 (en) * 2009-03-16 2015-08-11 Tyco Electronics Subsea Communications Llc System and method for remote device application upgrades
US20100318720A1 (en) * 2009-06-16 2010-12-16 Saranyan Rajagopalan Multi-Bank Non-Volatile Memory System with Satellite File System
US8914788B2 (en) * 2009-07-01 2014-12-16 Hand Held Products, Inc. Universal connectivity for non-universal devices
US9497092B2 (en) * 2009-12-08 2016-11-15 Hand Held Products, Inc. Remote device management interface
US8335820B1 (en) * 2009-12-15 2012-12-18 Emc Corporation Techniques for persistence of connections
US20110265072A1 (en) * 2010-04-27 2011-10-27 Jack Matthew Dynamic Installation of Files for Running Programs
JP5655677B2 (ja) * 2011-04-04 2015-01-21 富士通株式会社 ハイパーバイザ置き換え方法および情報処理装置
DE102011102425A1 (de) * 2011-05-24 2012-11-29 Heidelberger Druckmaschinen Ag Simultanes Softwareupdate
US8539123B2 (en) 2011-10-06 2013-09-17 Honeywell International, Inc. Device management using a dedicated management interface
US8621123B2 (en) 2011-10-06 2013-12-31 Honeywell International Inc. Device management using virtual interfaces
US8826264B1 (en) * 2012-06-28 2014-09-02 Emc Corporation Non-disruptive upgrade of applications
US8997047B2 (en) * 2012-12-13 2015-03-31 International Business Machines Corporation Dynamically updating code without requiring processes to restart
US8739151B1 (en) 2013-03-15 2014-05-27 Genetec Inc. Computer system using in-service software upgrade
US9940148B1 (en) * 2013-08-05 2018-04-10 Amazon Technologies, Inc. In-place hypervisor updates
US10452561B2 (en) 2016-08-08 2019-10-22 Raytheon Company Central processing unit architecture and methods for high availability systems
US10133566B2 (en) * 2017-03-30 2018-11-20 Adtran, Inc. Software upgrading system and method in a distributed multi-node network environment
EP3655850A1 (de) * 2017-07-21 2020-05-27 Intel IP Corporation Multifunkschnittstelle für softwareneukonfiguration
US10838711B2 (en) 2018-09-20 2020-11-17 Mellanox Technologies Tlv Ltd. In-service software/firmware update
FR3100071B1 (fr) * 2019-08-20 2021-07-23 Psa Automobiles Sa Procédé et dispositif de mise à jour d’un logiciel d’un calculateur embarqué d’un véhicule, comportant une mémoire d’exécution et une mémoire de sauvegarde
TWI726524B (zh) * 2019-12-09 2021-05-01 新唐科技股份有限公司 電子處理裝置及記憶體控制方法
CN112860297A (zh) * 2021-01-19 2021-05-28 北京中科慧眼科技有限公司 基于汽车双目相机的存储系统和系统更新方法
US11741232B2 (en) 2021-02-01 2023-08-29 Mellanox Technologies, Ltd. Secure in-service firmware update

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US4954941A (en) * 1988-08-31 1990-09-04 Bell Communications Research, Inc. Method and apparatus for program updating
JP2886961B2 (ja) * 1990-09-19 1999-04-26 株式会社日立製作所 プログラム入替方法
US5339430A (en) * 1992-07-01 1994-08-16 Telefonaktiebolaget L M Ericsson System for dynamic run-time binding of software modules in a computer system
US5410703A (en) * 1992-07-01 1995-04-25 Telefonaktiebolaget L M Ericsson System for changing software during computer operation
ES2130194T3 (es) * 1993-01-18 1999-07-01 Siemens Ag Sistema de control en tiempo real.
CA2155593A1 (en) * 1994-08-19 1996-02-20 Takao Fujii Vehicle navigation system with upgradeable navigation software and a flexible memory configuration
US5682533A (en) * 1994-09-27 1997-10-28 Telefonaktiebolaget Lm Ericsson (Publ) Updating software within a telecommunications switch without interrupting existing communication and neither moving nor converting data
US5754785A (en) * 1995-04-27 1998-05-19 General Datacomm Communications network equipment
US5732275A (en) * 1996-01-11 1998-03-24 Apple Computer, Inc. Method and apparatus for managing and automatically updating software programs
US5960445A (en) * 1996-04-24 1999-09-28 Sony Corporation Information processor, method of updating a program and information processing system
DE19720990A1 (de) * 1997-05-20 1998-11-26 Alsthom Cge Alcatel Programmgesteuerte Einrichtung mit Nachlademöglichkeit für und Umschaltemöglichkeit auf zweites Betriebssystem ohne Programmunterbrechung
US6324411B1 (en) * 1997-05-20 2001-11-27 Telefonaktiebolaget Lm Ericsson (Publ) Background software loading in cellular telecommunication systems

Also Published As

Publication number Publication date
DE69926834D1 (de) 2005-09-29
EP0959405A3 (de) 2001-01-03
CA2272508A1 (en) 1999-11-22
EP0959405B1 (de) 2005-08-24
EP0959405A2 (de) 1999-11-24
US6070012A (en) 2000-05-30

Similar Documents

Publication Publication Date Title
DE69926834T2 (de) Verfahren und Vorrichtung zum Aufrüsten von Software-Teilsystemen auf einem Netzwerksystem
AU717645B2 (en) Method of synchronization allowing state transfer
US6385770B1 (en) Software upgrade
DE69837676T2 (de) Fernladung von software mit automatischer anpassung für datenzugriffskomptabilität
DE10350049B4 (de) Verfahren und System für die Konfiguration eines Netzwerkswitches
EP0753174B1 (de) Software-konfiguration in einem telekommunikationsgerät
US20050210081A1 (en) Data synchronization method
EP0648353A1 (de) System zum ändern von software während des rechnerbetriebs.
DE19803697C2 (de) Verfahren zum Aufrüsten eines Softwaresystems und Vorrichtung zur Durchführung des Verfahrens
DE10254410A1 (de) System und Verfahren für ein Laden einer Hochverfügbarkeits-Firmware
EP0632668A2 (de) Verfahren zum Aktualisieren eines Systemprogramms in einer Vermittlungseinrichtung
DE60306553T2 (de) Umkonfiguration von heterogenen programmierbaren plattformen
DE60202190T2 (de) Dienstleistungs-Server
DE10206001A1 (de) Verfahren zur Steuerung der Installation von Programmcode auf Netzelementen
DE60200111T2 (de) Verfahren zum Bereitstellen von Dienstverwaltung für Netzelemente eines zelluraren Kommunikationsnetzwerkes
EP1285543A1 (de) Vorrichtung zum optimieren von peripheren einrichtungen eines kommunikationssystems
EP0821533B1 (de) Verfahren zum Laden einer Befehlsfolge in einer Telekommunikationsanlage
US20030070163A1 (en) Method for distributing data in a data net
JP2001051838A (ja) ソフトウェア配布システム
EP0996890B1 (de) Realzeitrechnersystem mit reduzierter Funktion bei Wiederanlauf
US6081839A (en) Improving modifiability of computer management system to include selector part
EP0665698A1 (de) Verfahren zur Durchführung des Wiederanlaufs der peripheren Prozessoren der Steuerung eines Fernmeldevermittlungssystems
DE19830511A1 (de) Verfahren zum konsistenten Ausführen von Aufträgen und Steuerungseinrichtung für ein Netzelement
WO1997035446A1 (de) Verfahren zum übertragen von informationen von einer informationsquelle zu informationsempfängern

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee