-
Hintergrund
der Erfindung
-
Die
Erfindung betrifft Prozessorsysteme, die in den Netzelementen von
Telekommunikationssystemen verwendet werden, und insbesondere die
Zuweisung und Konfiguration von Ressourcen an digitale Signalprozessoren
(dsp).
-
Mit
Bezug auf 1 umfasst eine digitale Signalverarbeitungseinheit
DSPU, die eine Verbindung 11 bedient, zusätzlich zu
dem eigentlichen Prozessor (DSP) eine Schnittstelle I/O (Input/Output,
Eingang/Ausgang) zu der Verbindung, und Progammspeicher, der üblicherweise
Festspeicher ROM und Direktzugriffsspeicher RAM umfasst (und andere
unterstützende
Schaltungen, wie einen Taktgeber und Unterbrecher-Schaltkreise,
die jedoch nicht für
die Erfindung relevant sind). Die Verbindung 11 ist in zwei
Teile aufgeteilt: der Teil, auf dem eigentliche Informationen übertragen
werden, ist mit 11 gekennzeichnet, und die zugehörige Signalisierung
ist mit 112 gekennzeichnet.
-
Ein
Problem in einem System dieser An ist, dass die Konfiguration unflexibel
ist. Wenn es mehrere Prozessoreinheiten DSPU gibt und verschiedene Anwendungen
von diesen ausgeführt
werden, muss der Programmspeicher ROM jeder Prozessoreinheit ausreichend
groß sein,
um alle Anwendungen zu speichern. Die Anwendungen schließen zum
Beispiel verschiedene Sprachkodierungsverfahren, Verfahren zum Komprimieren
und Dekomprimieren eines Videosignals, Echokompensation etc. ein.
Da im Stand der Technik die Anwendungen entweder dauerhaft oder
semipermanent (z.B. in wiederbeschreibbarem ROM) installiert sind,
umfassen die bekannten Prozessoren keine schnelle Schnittstelle
zum Aktualisieren der Anwendung. Folglich tritt ein weiteres Problem
auf wenn eine Anwendung aktualisiert wird, kann die Prozessoreinheit
nicht benutzt werden.
-
Damit
nicht alle Anwendungen in allen Prozessoreinheiten benötigt werden,
sind die Prozessoreinheiten typischerweise in Zusammenschlüssen bzw.
Gruppen angeordnet. Die Datenströme,
die eine bestimmte Anwendung benötigen,
werden zu der Gruppe geleitet, der die betreffende Anwendung bedient.
Das Problem ist, dass die Gruppen dauerhaft sind, so dass die Verteilung
verschiedener Datenströme
nicht berücksichtigt
werden kann. US-Patent 5577105 offenbart eine Übertragung von Betriebsparametern
an eine Verarbeitungseinheit.
-
Kurze Beschreibung
der Erfindung
-
Das
Ziel der Erfindung ist, ein Verfahren und ein System, das das Verfahren
implementiert, bereitzustellen, welche die vorstehenden Probleme
lösen. Das
Ziel der Erfindung wird durch ein Verfahren und ein System erreicht,
die dadurch gekennzeichnet sind, was in den unabhängigen Ansprüchen angegeben
ist. Die bevorzugten Ausführungsformen
der Erfindung werden in den abhängigen
Ansprüchen
beansprucht.
-
Die
grundlegende Idee der Erfindung ist, ein breitbandiges paketvermitteltes
Telekommunikationsnetz zu verwenden, vorzugsweise ein ATM-Netz, um
Anwendungen von einer gemeinsamen Datenbank eines Multi-Prozessorsystems
zu Verarbeitungseinheiten zu übertragen,
mindestens zu Beginn jeder Verbindung und wenn nötig nochmals während der
Verbindung. Vorzugsweise wird das Protokoll des ATM-Netzes verwendet
und keine Umwandlung auf Protokolle höherer Ebenen des OSI-Modells
benötigt.
-
Eine
erste Ausführungsform
des beanspruchten Verfahrens und des Systems beruht darauf, mehrere
Verarbeitungseinheiten unter einer gemeinsamen Steuereinheit anzuordnen.
Die Anwendungen sind in einer gemeinsamen Datenbank gesammelt. Bei
jeder Verbindung werden die Anwendungen (Dienste), die von der Verbindung
angefordert bzw. benötigt
werden, identifiziert und danach unter der Steuerung der Steuereinheit
auf eine verfügbare
Verarbeitungseinheit geladen. Die Verarbeitungseinheit und die Datenbank,
welche die Anwendungen enthält,
sind unter Verwendung schneller Verbindungstechnologie miteinander
verbunden, vorzugsweise über
ein breitbandiges Paketnetz wie das ATM. Hier bedeutet die schnelle
Verbindungstechnologie, dass eine Anwendung von der Datenbank in die
Verarbeitungseinheit während
der Verbindung geladen werden kann, ohne dass der Benutzer, der die
Verbindung nutzt, irgendeine störende
Verzögerung
bemerkt.
-
Die
Technologie der Erfindung führt
zu einer flexiblen Verwendung der Ressourcen, da in jeder Verarbeitungseinheit
nur Speicher verwendet wird, um die größte Anwendung (oder einen Satz
von Anwendungen) zu speichern. Daher müssen nicht alle Anwendungen
in dem Speicher gespeichert werden. Jede beliebige Verarbeitungseinheit
kann jede beliebige Verbindung bedienen, da alle Anwendungen für alle Prozessoren
verfügbar
sind. Die geeignete Speichermenge in jeder Verarbeitungseinheit
ist leicht größer (z.B.
30 auf 100%) als die größte gleichzeitig benötigte Speichermenge
oder die Speichermenge, die von der größten einzelnen Anwendung oder
dem größten Satz
von Anwendungen benötigt
wird, aber dennoch deutlich kleiner als die zusammengefasste Speichermenge,
die von den verschiedenen Anwendungen benötigt wird. Ein Satz von Anwendungen meint
Anwendungen, die mit ein und derselben Verbindung gleichzeitig verknüpft sind.
Im GSM zum Beispiel könnte
ein Satz von Anwendungen einen Vollraten-Codec und Echokompensation
umfassen.
-
Die
Technologie der Erfindung ist auch in Bezug auf Modifikationen und
Aktualisierungen zuverlässig.
Wenn eine Anwendung aktualisiert wird, kann die ältere Version der Anwendung
beibehalten werden, auch wenn eine neuere Version in die Datenbank
geladen wird. Wenn die neue Anwendung nicht richtig funktioniert,
kann die ältere
Version dann sofort benutzt werden. Wenn Anwendungen aktualisiert werden,
wird keine der Verarbeitungseinheiten nicht benutzt. Da das Laden
aller Anwendungen aller Verbindungen von dem gemeinsamen Controller
gesteuert wird, wird ein weiterer Vorteil erreicht: die Anzahl von
Malen, die jede Anwendung verwendet wird, kann einfach gezählt werden,
falls der Betreiber Statistiken vorbereiten möchte oder wenn der Bereitsteller
der Anwendungen für
die Anzahl von Malen der Verwendung Kosten berechnen möchte, anstelle
eines Pauschalbetrags.
-
Eine
zweite Ausführungsform
des Verfahrens und des Systems der Erfindung ist ein Kompromiss
zwischen dem Stand der Technik (in dem Anwendungen sich in dauerhaften
Speichern befinden) und der ersten Ausführungsform der Erfindung (in
der die Anwendungen getrennt für
jede Verbindung geladen werden). Der Kompromiss wird zum Beispiel
erreicht, indem verfolgt wird, welche Verarbeitungseinheiten verfügbar sind
und welche Anwendungen in welchen Verarbeitungseinheiten geladen
wurden. Zu Beginn jeder Verbindung (und, wo nötig, auch während der Verbindung) werden
die von der betreffenden Verbindung benötigten Anwendungen identifiziert,
und eine verfügbare
Verarbeitungseinheit, auf die ein so großer Teil wie möglich der
benötigten
Anwendungen geladen wurde, wird für die Verbindung ausgewählt. Die
fehlenden Anwendungen werden dann von der Datenbank auf die Verarbeitungseinheit geladen.
-
Die
Definition von „ein
so großer
Teil wie möglich" kann auf mindestens
zwei Arten ausgelegt werden: entweder müssen so wenig Anwendungen wie
möglich
auf die gewählte
Verarbeitungseinheit geladen werden, oder eine Anwendung (eine Reihe von
Anwendungen), die so klein wie möglich
ist, muss geladen werden. Wenn eine Verarbeitungseinheit mehrere
Verbindungen bedienen kann, dann ist die „verfügbare Verarbeitungseinheit" hier eine Einheit,
die mindestens etwas Verarbeitungskapazität verfügbar hat.
-
Neben
den vorstehend beschriebenen Vorteilen hat die zweite Ausführungsform
auch den Vorteil, dass wenn die nötigen Anwendungen bereits in eine
Verarbeitungseinheit geladen wurden, keine Anwendungen auf die Verarbeitungseinheiten
geladen werden müssen.
Die ist besonders für
den Netzbetreiber in verteilten Systemen nützlich, in denen sich die Datenbank
und die Verarbeitungseinheiten weit entfernt voneinander befinden,
und in denen der Betreiber für
die Netzkapazität
bezahlen muss, die zum Übertragen
der Anwendungen reserviert wird.
-
Auch
wenn der maximale Vorteil durch die Erfindung erreicht wird, wenn
es mehrere Verarbeitungseinheiten gibt, kann die Technologie der
Erfindung auch angewendet werden, wenn es nur eine Verarbeitungseinheit
gibt, wenn erwartet werden kann, dass die Anzahl der Verarbeitungseinheiten ansteigt
(z.B. wenn die Verkehrslast ansteigt). Wenn es nur eine Verarbeitungseinheit
gibt, bedeutet das Auswählen
einer verfügbaren
Verarbeitungseinheit einfach, dass überprüft wird, ob bereits alle Kapazität der Verarbeitungseinheit
in Benutzung ist.
-
Kurze Beschreibung
der Zeichnungen
-
Im
folgenden wird die Erfindung mittels bevorzugter Ausführungsformen
und unter Bezugnahme auf die beigefügten Zeichnungen ausführlicher beschrieben,
wobei
-
1 ein
Blockdiagramm einer bereits bekannten digitalen Verarbeitungseinheit
ist, und
-
2 ein
Blockdiagramm eines Systems gemäß der vorliegenden
Erfindung ist.
-
Ausführliche
Beschreibung der Erfindung
-
Das
System gemäß der zweiten
Ausführungsform
der Erfindung, welches in 2 dargestellt
ist, umfasst eine Datenbank DB, auf die die Anwendungen geladen
werden, und eine Steuereinheit oder einen Controller CTRL, sowie
Verarbeitungseinheiten DSPU. Das System umfasst außerdem einen Breitband-Übertragungsweg,
der verschiedene Blöcke
kombiniert, wobei der Weg vorzugsweise ein ATM-Vermittlungssystem 22 ist.
Die Datenbank DB umfasst, d.h. in der Datenbank sind gespeichert,
alle Anwendungen, die in dem System ausgeführt werden sollen (verschiedene
Codierungsalgorithmen, etc.). Es ist möglich, die in der Datenbank
DB enthaltenen Anwendungen zum Beispiel mittels einer Tabelle 28
zu verfolgen, welche für
jede Anwendung mindestens eine Kennung App1_1 bis App1_n und die
Größe der Anwendung
zeigt, d.h. die Menge an Speicher, die von der Erfindung benötigt wird.
Die Tabelle kann auch den Ort jeder Anwendung in der Datenbank angeben
(außer
die Datenbank DB akzeptiert die Kennung App1_1 bis App1_n der Anwendung
als eine solche Angabe der betreffenden Anwendung. Die Tabelle kann
auch verwendet werden, um die Versionsnummer der Anwendungen aufrechtzuerhalten.
-
Die
Verarbeitungseinheiten DSPU entspricht im wesentlichen der bereits
bekannten Verarbeitungseinheit, die in 1 dargestellt
ist, doch Festwertspeicher ROM wird hier nur benötigt, um Anwendungen von der
Datenbank DB über
das Vermittlungssystem 22 zu übertragen. Das ROM entspricht daher
hauptsächlich
einem anfänglichen
oder durch Ureingabe geladenen Lader eines gemeinsamen Computers.
Das Laden einer Anwendung von der Datenbank auf die Verarbeitungseinheiten
findet bei einer optimalen Rate statt, wenn das Protokoll des Netzes
selbst (z.B. ATM-Netz) verwendet werden kann und weder Zeit noch
Ressourcen dazu verschwendet werden müssen, die Protokolle in die
Protokolle der höheren
Ebenen (z.B. TCP/IP) des OSI-Modells umzuwandeln. Es ist jedoch
ratsam, das Protokoll des ATM-Netzes mit Fehlererkennung und Neuübertragung
für den
Fall, dass ein Paket verloren oder verzerrt ist, zu ergänzen.
-
Die
Ressourcenverwaltung wird von dem Controller CTRL gesteuert. Bezugsnummer 21 kennzeichnet
eine Schnittstelle zwischen dem Controller CTRL und dem Vermittlungssystem 22,
und die Schnittstelle umfasst eine Steuerverbindung 211 , zum Steuern des Vermittlungssystems 22,
Betrieb und Verwaltung (Operation and Management) OAM 212 , und eine Signalisierungsverbindung 213 . Zu Beginn jeder Verbindung identifiziert
der Controller CTRL die Anwendungen, die von jeder Verbindung C1
bis Cn benötigt
werden, zum Beispiel auf der Grundlage der mit der Verbindung verknüpften Signalisierungsverbindung.
Die Identifizierung der Anwendungen, die von einer Verbindung benötigt werden,
ist für
einen Fachmann ein Standardvorgang, und in den Systemen nach dem
Stand der Technik würde
eine verfügbare
Verarbeitungseinheit, deren Software die erforderliche Anwendung
umfasst, für die
Verbindung auf der Grundlage der Identifizierung zugewiesen werden.
Gemäß der ersten
Ausführungsform
der Erfindung sind alle Verarbeitungseinheiten gleich; und der Controller
CTRL weist jede verfügbare
Verarbeitungseinheit DSPU für
die betreffende Verbindung zu. Gemäß der zweiten Ausführungsform
der Erfindung überprüft der Controller,
ob die nötigen
Anwendungen in eine verfügbare
Verarbeitungseinheit geladen wurden. Der Controller leitet dann
das Laden aller nötigen
Anwendungen von der Datenbank DB an die Verarbeitungseinheit ein,
welche die betreffende Verbindung bedient. Referenznummer 23 kennzeichnet
eine Schnittstelle zwischen der Datenbank DB und dem Vermittlungssystem,
und die Schnittstelle umfasst einen Breitband-Übertragungsweg 231 zum Laden von Anwendungen über das
Vermittlungssystem 22 auf die Verarbeitungseinheiten DSPU,
und eine Signalisierungsverbindung 232 ,
durch welche der Controller CTRL die Datenbank darüber benachrichtigt,
welche Anwendungen in welche Verarbeitungseinheiten geladen werden sollen.
-
Der
Controller CTRL kann Informationen über die Zuweisung der Verarbeitungseinheiten
führen,
zum Beispiel mittels einer Tabelle 29, welche für jede Verarbeitungseinheit
die Menge an Speicher (wenn die Menge nicht für alle Verarbeitungseinheiten
die gleiche ist) zeigt, die Verbindungen, die die Einheit bedient
und die Anwendungen, die sie enthält. Nun angenommen, dass in 2 jede
Verarbeitungseinheit zwei Verbindungen bedienen kann, und dass ein
Bedarf entsteht, eine neue Verbindung zu bedienen, die Anwendungen
App1_2 und App1_3 benötigt.
Verarbeitungseinheit DSPU3 hat die Anwendungen in ihrem Speicher
gespeichert, doch ihre gesamte Verarbeitungskapazität wurde
bereits zugewiesen. Der Verarbeitungseinheit DSPU1 fehlt die Anwendung
App1_3, und der Verarbeitungseinheit DSPU2 fehlt die Anwendung App1_2.
Wenn App1_3 vermutlich weniger Speicher benötigt als App1_2, dann wird
die geringste Lademenge benötigt,
wenn DSPU1 für
die neue Verbindung zugewiesen wird und App1_3 darauf geladen wird.
(Die Tabelle 28 aus 2 ist tatsächlich eine vereinfachte Darstellung: die
Größe einer
Anwendung in der Datenbank DB ist nicht immer die gleiche wie die Gesamtspeichermenge,
die von der Anwendung benötigt
wird. In der Realität
benötigen
die Anwendungen auch Datenspeicher, d.h. Arbeitsplatz, dessen Menge
bei der Speicherverwaltung der Verarbeitungseinheit berücksichtigt
werden muss, der jedoch nicht auf die Verarbeitungseinheiten geladen
werden muss. Wenn in dem RAM der Verarbeitungseinheit nicht genügend Platz vorhanden
ist, dass die neuen Anwendungen geladen werden können, kann der Controller der
Verarbeitungseinheit befehlen, aus dem Speicher eine Anwendung zu
löschen,
die in diesem Moment nicht benötigt
wird. Alternativ ist es möglich,
zu überprüfen, ob
es in dem Speicher irgendeiner andere Verarbeitungseinheit genügend Platz
gibt, dass die Anwendung geladen werden kann.
-
Der
Controller CTRL kann die Anwendung von der Datenbank DB einen Block
nach dem anderen laden und sie darauf an die Verarbeitungseinheit DSPU
weiterleiten. Alternativ kann der Controller CTRL die Übertragung
der Anwendung direkt von der Datenbank auf die Verarbeitungseinheit
starten, wenn die Datenbank DB und die Verarbeitungseinheiten ausreichend
unabhängig
sind.
-
Das
Vermittlungssystem 22 und der Controller CTRL können ansonsten
herkömmliche
Teile des ATM-Vermittlungssystems sein, doch der Controller CTRL
wird mit den oben beschriebenen Operationen ergänzt. Der Controller CTRL wird
vorzugsweise unter Verwendung eines digitalen Prozessors implementiert.
Die Programme des Controllers können sich
entweder in dem Controller selbst oder in der Datenbank DB befinden,
aus der der Controller sie abruft, wenn er aktiviert wird und/oder
wenn er auf der Grundlage der Signalisierungsverbindung 213 feststellt, dass die Software aktualisiert
wurde.
-
Der
Controller CTRL und die Datenbank DB sind als getrennte Einheiten
gezeigt. Die Unterteilung ist eher eine logische als eine physikalische,
und sie hilft dabei, die Funktionen zu verdeutlichen, die in der Anordnung
der Erfindung ausgeführt
werden. 2 könnte auch so gezeichnet werden,
dass sie die beiden Elemente kombiniert zeigt, wodurch es möglich wäre, von
einer „intelligenten
Datenbank" zu sprechen.
-
Die
Blöcke
aus 2 können
sich in ein und demselben Netzelement befinden. Ein Beispiel für ein solches
Element könnte
ein Basisstationcontroller oder eine Codeumsetzungs-Einheit eines Mobilsystems
sein, oder ein Video-Abruf-Server (video on demand). Da das System
gemäß der Erfindung
die Ausnutzung der Ressourcen verbessert, wird der maximale Vorteil
erreicht, wenn eine so große
Anzahl von Anwendungen wie möglich,
zum Beispiel verschiedene Codierungsmethoden und Echokompensation,
in ein und demselben System konzentriert sind.
-
Eine
Alternative zu dem vorstehenden kompakten System wäre eine
geographische Verteilung der Blöcke
aus 2, zum Beispiel auf eine solche Weise, dass der
gemeinsame Controller und die Datenbank eine große Anzahl von Verarbeitungseinheiten
bedienen würden,
die sich weit entfernt befinden. Ein bevorzugtes System ist, dass
der Ausrüstungsversorger
die Datenbank DB führt,
aber der Betreiber die entsprechenden Anwendungen in ihrem Cache-Speicher
ablegt. In dem System aus 2 könnte sich
der Cache entlang der Verbindung 23 (oder 21)
befinden. Dies ist ein relativ einfacher Weg, um Redundanz bereitzustellen:
eine abgesicherte Datenbank bedient alle Verarbeitungseinheiten
eines Netzes oder eines Teils des Netzes. Dies ermöglicht es
auch, dass die Netzelemente bei Spitzenbelastungen Verarbeitungseinheiten
voneinander „ausleihen".
-
Die
vorstehende erste Ausführungsform
der Erfindung kann daher implementiert werden, indem eine Datenbank
DB bereitgestellt wird, die mehrere Anwendungen umfasst und durch
Einrichten einer schnellen Schnittstelle 22, 23, 24 zwischen
den Verarbeitungseinheiten und der Datenbank DB. Zu Beginn jeder
Verbindung wird eine verfügbare
Verarbeitungseinheit für
die Verbindung zugewiesen, die von der betreffenden Verbindung benötigten Anwendungen
werden identifiziert, und die Anwendungen werden auf die zugewiesene
Verarbeitungseinheit von der Datenbank DB geladen.
-
Entsprechend
kann die zweite Ausführungsform
der Erfindung (in der die Anwendungen gegebenenfalls geladen werden)
durch ein Verfahren implementiert werden, dass die Schritte umfasst:
- (1) Bilden einer Datenbank DB, die mehrere
Anwendungen App1_1 bis App1_n umfasst und Einrichten einer schnellen
Schnittstelle 22, 23, 24 von der Datenbank
zu den Verarbeitungseinheiten DSPU_1 bis DSPU_n, um Anwendungen
auf diese zu laden;
- (2) Verfolgen verfügbarer
Verarbeitungseinheiten und davon, welche Anwendungen auf die Verarbeitungseinheiten
geladen wurden; und mindestens zu Beginn jeder Verbindung,
- (3) Identifizieren der Anwendungen, die von der betreffenden
Verbindung benötigt
werden,
- (4) Zuweisen einer verfügbaren
Verarbeitungseinheit für
die betreffende Verbindung, vorzugsweise eine, auf die ein möglichst
großer
Teil der von der betreffenden Verbindung benötigten Anwendungen geladen
wird, und
- (5) wenn der betreffenden Verarbeitungseinheit irgendwelche
der Anwendungen fehlen, die von der betreffenden Verbindung benötigt werden,
Laden der Anwendung auf sie von der Datenbank DB.
-
Die
Identifizierung der nötigen
Anwendungen und das Laden der Anwendungen auf die Verarbeitungseinheiten
DSPU kann auch später
während der
Verbindung stattfinden. Zum Beispiel können die Endgeräteeinheiten
während
der Verbindung des Mobilsystems das Sprachcodierungsverfahren ändern oder über die
Verwendung einer Echokompensation verhandeln (insbesondere, wenn
sie die Zellen wechseln). Der Controller CTRL erkennt dies (z.B. auf
der Grundlage der Signalisierungsverbindung) und wiederholt Schritte
(3) bis (5). Die Wiederholung der Schritte kann auf mindestens zwei
Arten interpretiert werden. Gemäß der ersten
Interpretation wird eine für
die Verbindung zugewiesene Verarbeitungseinheit während der
Verbindung nicht geändert,
sondern alle zusätzlichen
Anwendungen, die benötigt werden,
werden auf die Verarbeitungseinheit geladen, die zu Beginn der Verbindung
zugewiesen wurde. Gemäß der zweiten
Interpretation kann die Zuweisung einer Verarbeitungseinheit, die
in Schritt (4) stattfindet, auch während der Verbindung wiederholt werden.
Wenn zum Beispiel die Endgeräte
entscheiden, von einem Vollraten-Codec auf einen Halbraten-Codec überzuwechseln
und wenn mindestens eine Verarbeitungseinheit verfügbar ist,
auf die ein Halbraten-Codec geladen wurde, dann kann der Controller
CTRL diese Verarbeitungseinheit zuweisen, um die betreffende Verbindung
zu bedienen.
-
Anhand
technischer Fortschritte wird es für einen Fachmann offensichtlich
sein, dass die grundlegende Idee der Erfindung auf verschiedene
Arten umgesetzt werden kann. Die Erfindung und ihre Ausführungsformen
sind daher nicht auf die obigen Beispiele beschränkt, sondern können innerhalb
des Schutzbereichs der Ansprüche
variieren.