DE69937397T2 - Ressourcenzuweisung - Google Patents

Ressourcenzuweisung Download PDF

Info

Publication number
DE69937397T2
DE69937397T2 DE69937397T DE69937397T DE69937397T2 DE 69937397 T2 DE69937397 T2 DE 69937397T2 DE 69937397 T DE69937397 T DE 69937397T DE 69937397 T DE69937397 T DE 69937397T DE 69937397 T2 DE69937397 T2 DE 69937397T2
Authority
DE
Germany
Prior art keywords
resource
level
pool
units
blocks
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 - Lifetime
Application number
DE69937397T
Other languages
English (en)
Other versions
DE69937397D1 (de
Inventor
Staffan Engelbert Johansson
Patrik Johan RYNBÄCK
Christoffer Andersson
Nils Tore JÖNSSON
Peter Johansson
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Priority claimed from PCT/SE1999/000664 external-priority patent/WO1999056475A1/en
Publication of DE69937397D1 publication Critical patent/DE69937397D1/de
Application granted granted Critical
Publication of DE69937397T2 publication Critical patent/DE69937397T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0062Provisions for network management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/16Code allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • H04L2012/5604Medium of transmission, e.g. fibre, cable, radio
    • H04L2012/5607Radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5672Multiplexing, e.g. coding, scrambling
    • H04L2012/5676Code Division Multiple Access [CDMA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation

Description

  • VERWANDTE ANMELDUNG
  • Diese Anmeldung ist teilweise eine Fortsetzung des gemeinsamen US-Patents US-6333936 mit dem Titel „Method and Apparatus for Allocating Processing Ressources" (Verfahren und Vorrichtung zum Zuteilen von Verarbeitungsressourcen), das am 29. April 1998 eingereicht wurde.
  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft das Zuteilen von Ressourcen im Allgemeinen und insbesondere das Zuteilen verschiedener Daten-, Signal- und/oder Kommunikationsverarbeitungsressourcen.
  • ALLGEMEINER STAND DER TECHNIK UND KURZDARSTELLUNG DER ERFINDUNG
  • In bestimmten Umgebungen können Daten-, Signal- und Kommunikationsverarbeitungsressourcen der Verwendung durch bestimmte Hardware-Elemente, Software-Elemente (z. B. Anwendungsprogramme) und Bedienpersonen fest zugeordnet sein, die jeweils allgemein als „Ressourcenbenutzer" betrachtet werden können. Eine solche Zuordnung von Ressourcen ist zwar praktisch und stellt sicher, dass die notwendigen oder anderweitig angemessenen Ressourcen zur Verfügung stehen, wenn sie vom Ressourcenbenutzer angefordert werden, diese fest zugeordnete Eins-zu-eins-Beziehung zwischen einer Ressource und einem Ressourcenbenutzer ist jedoch ineffizient. Diese Ineffizienz ist hauptsächlich auf die Tatsache zurückzuführen, dass fest zugeordnete Ressourcen meist nicht voll ausgenutzt werden, da der Ressourcenbenutzer seine fest zugeordnete Ressource in der Regel zu weniger als 100% der Zeit benutzt.
  • Die vorliegende Erfindung setzt für die Ressourcenzuteilung einen effizienteren Ansatz ein, bei dem die Ressourcen zusammengelegt und bedarfsgerecht zugeteilt werden. Anders ausgedrückt wird eine Ressource (sofern verfügbar) auf eine Ressourcenanforderung hin aus einem Ressourcen-Pool entnommen und dem anfordernden Ressourcenbenutzer zur Verfügung gestellt. Wenn der Ressourcenbenutzer diese Ressource nicht mehr benutzt, wird sie wieder an den Ressourcen-Pool zurückgegeben. Die Effizienz erhöht sich, da (1) die Anzahl der Ressourcenbenutzer wesentlich größer sein kann als die Anzahl der Ressourcen im Pool und (2) die Ressourcen nur aus dem Pool entnommen werden, wenn sie tatsächlich benutzt werden.
  • Damit ein zusammengelegtes Ressourcensystem problemlos funktioniert, muss die Zuteilung und das Zurückgeben von Ressourcen aus und an den Ressourcen-Pool auf effektive und effiziente Weise verwaltet werden. Eine effiziente Verwaltung stellt eine größere Herausforderung dar, wenn sowohl der Ressourcen-Pool als auch die Ressourcenanforderungen nicht alle gleich sind. Eine Ressourcenanforderung kann beispielsweise eine relativ kleine Ressource betreffen, während es bei einer anderen um eine relativ große Ressource geht. Die Ressourcenanforderungen können sich darüber hinaus auch bei anderen Parameter als der Größe unterscheiden.
  • Die vorliegende Erfindung löst diese Probleme teilweise dadurch, dass der Ressourcen-Pool mit einer Struktur versehen wird, zu der bestimmte Regeln hinsichtlich der Art und Weise der Zuteilung von Ressourcen aus dem Pool gehören. Diese Regeln können sich in Abhängigkeit von der Endanwendung, die die Ressourcen anfordert und verwendet, ändern. Ein (nicht einschränkendes) Beispiel für eine Struktur ist die in 1 gezeigte Ressourcenhierarchie. Die Hierarchie enthält mehrere Ebenen oder Stufen, wobei jede Ebene mehrere Knotenpunkte aufweist, die einen Ressourcenblock auf dieser Ebene darstellen. Die Datenstruktur ist so organisiert, dass sie die physischen Ressourcen im Hinblick darauf widerspiegelt, wie diese physischen Ressourcen miteinander verbunden oder gruppiert sind. Die physischen Ressourcen werden mit Hilfe der Datenstruktur konfiguriert, rekonfiguriert, zugeteilt, zurückgenommen, organisiert und umorganisiert.
  • Es werden im Allgemeinen einige Ressourceneinheiten einer unteren Ebene miteinander gruppiert, um eine entsprechende Ressourceneinheit einer höheren Ebene zu bilden. Ressourcenblöcke der Ebene 1 entsprechen, wie in 1 gezeigt ist, einer Datenverarbeitungsressourceneinheit, wobei eine Ressourceneinheit Hardware und/oder Software umfassen kann. Jeder Ressourcenblock der Ebene 2 entspricht einer Gruppe (bei diesem Beispiel zwei) aus aufeinanderfolgenden Ressourcenblöcken der Ebene 1. Auf ähnliche Weise entspricht jeder Ressourcenblock der Ebene 3 der Ressourcenhierarchie einer Gruppe am aufeinanderfolgenden Ressourcenblöcken der Ebene 2.
  • Wenn also eine Ressourcenanforderung vier Datenverarbeitungsressourceneinheiten benötigt, würde dieser Anforderung ein Ressourcenblock der Ebene 3 zugeteilt werden. Ein Ressourcenblock der Ebene 3 entspricht bei diesem Beispiel zwei Ressourcenblöcken der Ebene 2, die wiederum vier Ressourcenblöcken der Ebene 1 entsprechen, die mit den vier Datenverarbeitungsressourceneinheiten gleichbedeutend sind.
  • Während Ressourcen nach dem Zufallsprinzip aus einer solchen Hierarchiestruktur zugeteilt und wieder an diese zurückgegeben werden können, kann ein solcher Ansatz letzendlich zu Ineffizienz führen. Insbesondere kann die geordnete Ausgangsstruktur der Ressourcenhierarchie nach mehreren Zuteilungen und Rückgaben von Ressourcenblöcken fragmentieren. Aufgrund der Fragmentierung können Ressourcenblocke auf bestimmten Ebenen leider nicht voll genutzt werden. 2 zeigt beispielsweise die Ressourcenhierarchie von 1 mit einer fragmentierten Ressourcenzuteilungskonfiguration. Die eingekreisten Ressourcenblöcke entsprechen einem derzeit zugeteilten Ressourcenblock, und ein einen Ressourcenblock umgebendes Quadrat steht für einen derzeit verfügbaren Ressourcenblock. Da der Ressourcenblock 14 der Ebene 1 derzeit zugeteilt ist, kann der Ressourcenblock 16 der Ebene 2, der mit beiden Ressourcenblöcken 14 und 15 der Ebene 1 logisch verbunden ist, nicht zugeteilt werden. Es kommt zu einem „Dominoeffekt": Da der Ressourcenblock 17 der Ebene 3 mit den Ressourcenblöcken 16 und 18 verbunden ist, kann er derzeit nicht zugeteilt werden, selbst wenn der Ressourcenblock 18 der Ebene 2 derzeit verfügbar wäre.
  • Andererseits stünde der Ressourcenblock 18 der Ebene 2 für die Zuteilung zur Verfügung, wenn der derzeit zugeteilte Ressourcenblock 19 aus dem derzeit verfügbaren Ressourcenblock 15 zugeteilt worden wäre. Auf ähnliche Weise stünde der derzeit nicht verfügbare Ressourcenblock 24 der Ebene 2 zur Verfügung, wenn der derzeit zugeteilte Ressourcenblock 21 der Ebene 1 nicht zugeteilt und stattdessen der derzeit verfügbare Ressourcenblock 23 der Ebene 1 der Ressourcenanforderung zugeordnet worden wäre. Der Ressourcenblock 24 der Ebene 2 könnte dann mit dem Ressourcenblock 25 der Ebene 2 kombiniert werden, damit der Ressourcenblock 26 der Ebene 3 verfügbar wird. Dementsprechend könnte es infolge der fragmentierten/ineffizienten Ressourcenzuteilung auf den unteren Ebenen der Hierarchie schwierig sein, einen Ressourcenblock einer höheren Ebene für eine Ressourcenanforderung zur Verfügung zu stellen, selbst wenn sich in dem Ressourcen-Pool genügend verfügbare Ressourcen befinden, um eine Anforderung für eine Ressource auf einer höheren Ebene befriedigen zu können.
  • Bei einem System mit zusammengelegten Ressourcen, in dem die Ressourcen nach einer bestimmten Strategie zugeteilt werden, gibt es für verschiedene Arten oder Gruppen von zusammengelegten Ressourcen wahrscheinlich unterschiedliche Strukturen oder Algorithmen für die Ressourcenzuteilung. Wenn für einzelne Dienstanforderungen mehr als eine Ressourcenart benötigt wird, wird das Koordinieren der Zuteilung beider Ressourcenarten mit Hilfe von zwei oder mehreren Ressourcenstrukturen und/oder algorithmen kompliziert und ineffizient.
  • Es soll das folgende Beispiel bei einem CDMA-Kommunikationssystem (CDMA – Code Division Multiple Access) betrachtet werden. Damit ein Benutzer Informationen übertragen kann, muss ihm ein Spreizcode (eine Software-Ressource) zugeteilt werden, der einer bestimmten Kanalkapazität entspricht. Bestimmte Spreizcodes besitzen eine geringere Kapazität. Andere Spreizcodes in einer Spreizcode-Ressourcenhierarchie oder Spreizcode-Ressourcenbaumstruktur können mehreren der kleineren Spreizcode-Ressourcen entsprechen. Infolgedessen kann ein Spreizcode-Elternobjekt mit höherer Kapazität nur dann zugeteilt werden, wenn alle seine entsprechenden untergeordneten Spreizcode-Objekte mit geringerer Kapazität verfügbar sind. Wenn eines dieser untergeordneten Spreizcode-Objekte bereits zugeteilt worden ist, kann das Spreizcode-Elternobjekt mit dem Kanal mit der höheren Kapazität nicht zugeteilt werden.
  • Zusätzlich zu einer Software-Spreizcode-Ressource muss einem Benutzer die für die Kommunikation notwendige Hardware-Ressource zugeteilt werden. Zu Beispielen für solche Hardware zählen Digitalsignalverarbeitungs- und/oder Funkgeräteschaltungen. Ein Kanal mit der geringsten Kapazität kann beispielsweise nur eine Digitalsignalverarbeitungs- und/oder Transceiver-Hardware-Einheit benutzen. Ein Kanal mit höherer Kapazität kann andererseits mehr als eine Digitalsignalverarbeitungs- und/oder Funkgeräte-Hardware-Einheit benötigen. Auf ähnliche Weise kann ein Elternobjekt mit höherer Kapazität nur dann zugeteilt werden, wenn alle seine untergeordneten Objekte verfügbar sind. Die Tatsache, dass bei dem obigen Beispiel zwei verschiedene Ressourcenhierarchien (d. h. Software- und Hardware-Ressourcen) navigiert werden müssen, macht das Bereitstellen von Hardware-Ressourcen mit geeigneter Kapazität für einen Spreizcode mit geeigneter Kapazität besonders mühsam und ineffizient. Es sind nicht nur für jeden Ressourcen-Pool zwei Ressourcenzuteilungsstrategien notwendig, es gibt auch keine Garantie dafür, dass, nur weil eine geeignete Ressource aus einem Pool verfügbar ist, auch eine entsprechende notwendige Ressource aus dem anderen Pool zur Verfügung steht.
  • Die folgenden Dokumente werden kurz beschrieben, um diese Erfindung besser verständlich zu machen, und stellen für die vorliegende Erfindung den Stand der Technik dar.
  • WO97/22213 offenbart ein generisches Informationsmodell für die Konfiguration, Steuerung und Verwaltung von Zusatzressourcen in einem Telekommunikationsnetz.
  • WO95/34974 offenbart ein Telekommunikationssystem mit einem Netzwerk von Elementen, das Netzwerkelementfunktionen bereitstellt, die eine Kommunikation mit anderen Netzwerkelementen ermöglichen.
  • US-PS 4713806 offenbart eine Kommunikationssystemsteuerung für ein digitales Netzwerk mit mehreren Diensten, bei dem durch eine Ressourcenverwaltungseinrichtung als Reaktion auf Teilnehmermitteilungen logische Rufwege eingerichtet werden.
  • Ein weiteres Dokument, WO95/34975 , offenbart ein Operation-Support-Netzwerk für den Betrieb und die Wartung eines Telekommunikationsnetzes, bei dem die verwalteten Objekte des Netzwerkelements mit Software-Verwaltungsbetrachtungsebene mit Namen versehen sind und das zur Darstellung anwendungsspezifischer Ressourcen in hierarchische Baumstrukturen organisiert ist.
  • Eine Aufgabe der vorliegenden Erfindung besteht darin, die Ineffizienz durch das Bereitstellen einer Ressourcen-Pool-Struktur zu beseitigen, die eine Datenstruktur aufweist, die die freien Ressourcen in dem Pool widerspiegelt und eine organisierte und effiziente, aber trotzdem flexible Zuteilung und Rücknahme von Ressourcen ermöglicht.
  • Eine weitere Aufgabe der vorliegenden Erfindung besteht darin sicherzustellen, dass Ressourceneinheiten in einem Ressourcen-Pool gleichmäßig genutzt werden.
  • Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, Ressourcen unter den Ressourcenbenutzern gezielt neu zuzuteilen, um andere Ressourcen freizusetzen, die für das Bilden von Ressourcenblöcken einer höheren Ebene verwendet werden können, damit ein bestimmter Ressourcenbedarf befriedigt werden kann oder einfach Ressourcenblöcke einer höheren Ebene zur Verfügung gestellt werden können.
  • Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, eine Datenstruktur für eine Ressourcen-Pool-Struktur festzulegen und umzusetzen, die die freien Ressourcen in dem Ressourcen-Pool widerspiegelt und am besten zu dem aktuellen Ressourcenbedarf passt.
  • Noch eine weitere Aufgabe der vorliegenden Erfindung besteht darin sicherzustellen, dass unterschiedliche Arten von Ressourceneinheiten, z. B. Hardware-Ressourcen und Software-Ressourcen, als Reaktion auf Ressourcenanforderungen auf effiziente und effektive Weise zusammenwirkend zugeteilt werden.
  • Die vorliegende Erfindung konfiguriert einen Pool aus Ressourceneinheiten mit Hilfe einer logischen Struktur, die Ressourcenblöcke der ersten und der zweiten Ebene aufweist. Die Begriffe „Ressourcen konfigurieren" oder „Konfiguration von Ressourcen" beziehen sich auf eine Datenstruktur, die so organisiert ist, dass sie tatsächliche oder physische Ressourcen widerspiegelt beziehungsweise darstellt. Die eigentlichen Ressourcen sind jedoch nicht unbedingt in einer Ressourcenhierarchie wie der in 1 gezeigten konfiguriert. Jeder Ressourcenblock der ersten Ebene entspricht einer einzelnen Ressourceneinheit, wobei es sich bei einer Ressourceneinheit um die kleinste Ressource handelt, die ein Ressourcenverarbeiter aus dem Ressourcen-Pool zuteilt. Die Ressourcenblöcke der ersten Ebene werden in Gruppen bereitgestellt, die eine unterste Ebene der Ressourcen-Pool-Struktur bilden. Jeder Ressourcenblock der zweiten Ebene entspricht einer der Gruppen aus Ressourcenblöcken der ersten Ebene. Zum Beispiel bilden zwei Ressourcenblöcke der ersten Ebene eine Ressourcenblockgruppe der ersten Ebene, die mit einem Ressourcenblock der zweiten Ebene logisch verbunden ist. Die Ressourcenblöcke der zweiten Ebene werden in Gruppen bereitgestellt und bilden eine nächsthöhere Ebene der Ressourcen-Pool-Struktur.
  • Die Ressourcen werden auf effiziente Weise aus dem Ressourceneinheiten-Pool zugeteilt. Wenn zum Beispiel ein Ressourcenblock der ersten Ebene angefordert wird, wird am einer partiell zugeteilten Ressourcengruppe der ersten Ebene, bei der derzeit ein oder mehrere Ressourcenblöcke der ersten Ebene bereits zugeteilt worden sind, ein verfügbarer Ressourcenblock der ersten Ebene zugeteilt. Wenn kein Ressourcenblock der ersten Ebene verfügbar ist, dann wird ein verfügbarer Ressourcenblock der ersten Ebene erstellt. In diesem Fall wird ein Ressourcenblock der zweiten Ebene in eine entsprechende Gruppe aus Ressourcenblöcken der ersten Ebene umgewandelt, und dann wird einer der umgewandelten Ressourcenblöcke der ersten Ebene der Anforderung zugeteilt. Auf einer nächsthöheren Ebene, d. h. bei Ressourcenblöcken und Gruppierungen der dritten Ebene, wird eine ähnliche Vorgehensweise verwendet. Anders ausgedrückt wird, wenn kein erster Ressourcenblock auf der ersten Ebene verfügbar ist und auch nicht durch Umwandlung eines Ressourcenblocks auf der zweiten Ebene erstellt werden kann, ein Ressourcenblock der dritten Ebene in eine entsprechende Gruppe aus Ressourcenblöcken der zweiten Ebene umgewandelt, ein umgewandelter Ressourcenblock der zweiten Ebene wird in eine entsprechende Gruppe aus Ressourcenblöcken der ersten Ebene umgewandelt, und einer der umgewandelten Ressourcenblöcke der ersten Ebene wird zugeteilt.
  • Die Ressourcenblöcke werden auch auf effiziente Weise wieder in die Struktur des Ressourceneinheiten-Pools eingegliedert. Ein zurückgegebener Ressourcenblock der ersten Ebene wird beispielsweise wieder in eine partiell zugeteilte Ressourcenblockgruppierung der ersten Ebene eingegliedert. Wenn dieser zurückgegebene Block diese Gruppierung vervollständigt, wird ein neuer Ressourcenblock der zweiten Ebene zur Verfügung gestellt. Bei einer bevorzugten Ausführungsform wird eine physische Ressource, wenn ein Ressourcenblock wieder eingegliedert wird, in der Ressourcenanordnung wieder in die gleiche Position eingegliedert, aus der sie ursprünglich zugeteilt wurde. Der entsprechende Ressourcenblock in der Datenstruktur wird jedoch in eine Liste am freien Ressourcenblöcken an letzter Stelle eingesetzt. Dies stellt sicher, dass alle physischen Ressourcen in dem Pool mit ungefähr gleicher Häufigkeit benutzt werden.
  • Der Ressourcen-Pool wird von einem Ressourcenverarbeiter verwaltet, der im Speicher eine Datenstruktur speichert, die den derzeitigen Status (frei oder belegt) der Ressourcen in dem Ressourcen-Pool widerspiegelt. Die Struktur des Ressourcen-Pools stellt die logische Beziehung zwischen den Ressourceneinheiten/-blöcken dar und erhält diese aufrecht. Die Datenstruktur kann beispielsweise mehrere Listen umfassen, von denen jede einer Ressourcenblockebene entspricht, und jeder Datensatz/Eintrag in der Liste stellt eine freie Ressourceneinheit dar. Die Liste enthält keine zugeteilten Ressourceneinheiten.
  • Um den Ressourceneinheiten-Pool ordnungsgemäß verwalten oder anderweitig einer bestimmten Ressourcenanforderung/einem bestimmten Ressourcenbedarf gerecht werden zu können, kann ein Ressourcenverarbeiter Ressourceneinheiten neu zuteilen, indem er einen Ressourcenbenutzer von einem Ressourcenblock zu einem anderen auf der gleichen Ebene verlegt, um zusätzliche Ressourcenblöcke auf der nächsthöheren Ebene zu erstellen. Der Ressourcenverarbeiter kann auch Verkehrsstatistiken über die Anzahl der Anforderungen für Ressourcenblöcke der verschiedenen Ebenen empfangen, die von einem Statistikanalysator gesammelt werden, und ermitteln, welche Ebene in der Ressourceneinheiten-Pool-Struktur die meisten Anforderungen erhält, d. h. die beliebteste Ebene ist. Bei einem Beispiel-Kommunikationssystem soll davon ausgegangen werden, dass die Systemkapazität acht Sprachverbindungen oder zwei Datenverbindungen beträgt. Zu Stoßzeiten handelt es sich bei den meisten Verbindungen im System um Sprachverbindungen. Wenn die gesamte Systemkapazität zu Stoßzeiten Datenverbindungen zugeteilt wird, können keine Sprachverbindungen erfolgen, was zu einer unzureichenden Dienstgüte für Teilnehmer in dem Gebiet führt. Indem die Verwendung der Übertragungskapazität eingeschränkt wird, lässt sich zumindest eine Mindestdienstgüte für Daten- und Sprachverbindungen gewährleisten. Der Ressourcenverarbeiter teilt dann Ressourceneinheiten in der derzeitigen Ressourcen-Pool-Konfiguration neu zu, um auf der beliebtesten Ebene zusätzliche Ressourcenblöcke zu erstellen.
  • Die vorliegende Erfindung teilt auch als Reaktion auf eine Ressourcenanforderung zusammenwirkend auf effiziente und effektive Weise unterschiedliche Arten von Ressourceneinheiten zu. Zu einem Beispiel für verschiedene Arten von Ressourceneinheiten, die zusammenwirkend zugeteilt werden können, gehören Software-Ressourcen und Hardware-Ressourceneinheiten. Eine erste Datenstruktur kann so konfiguriert werden, dass sie einem ersten Pool einer ersten Art von Ressourceneinheiten entspricht, z. B. Software-Ressourceneinheiten. Eine zweite Datenstruktur kann so konfiguriert werden, dass sie einem zweiten Pool einer zweiten Art von Ressourceneinheiten entspricht, z. B. Hardware-Ressourceneinheiten. Zwischen den Ressourceneinheiten im ersten und im zweiten Ressourceneinheiten-Pool wird eine Beziehung hergestellt, so dass, wenn eine der ersten Ressourceneinheiten zugeteilt werden kann, mit Sicherheit auch eine entsprechende zweite Ressourceneinheit zugeteilt werden kann. Wenn eine Anforderung für eine Ressource eingeht, können dann mit Hilfe der hergestellten Beziehung eine oder mehrere verfügbare Ressourceneinheiten aus dem ersten und dem zweiten Ressourcen-Pool zugeteilt werden.
  • Die zwischen zwei Ressourcen-Pools hergestellte Beziehung kann beispielsweise mit Hilfe eines Adressierungsmechanismus wie einer Matrix implementiert werden, bei der jede Reihe in der Matrix verschiedene Ressourceneinheiten der ersten Art und jede Spalte verschiedene Ressourceneinheiten der zweiten Art darstellt. Durch die Auswahl einer Reihe, die einer Ressourceneinheit einer ersten Art entspricht, wird automatisch eine entsprechende Ressourceneinheit der zweiten Art ausgewählt, die zu einer aktivierten Spalte in der Matrix gehört. Für eine Eineindeutige Beispiel-Beziehung ist die Matrix so konfiguriert, dass sich jede Reihe nur mit einer Spalte aktiv schneidet. Die Adressierungsbeziehung kann rekonfiguriert werden, indem man die aktiven Reihe-Spalte-Schnittpunkte ändert.
  • Bei Verwendung der hergestellten Beziehung wird nur ein Ressourcenauswahlalgorithmus eingesetzt, was die Ressourcenzuteilungsvorgänge vereinfacht, an denen mehr als nur ein Ressourceneinheiten-Pool beteiligt ist. Somit wird die Verwendung von zwei oder mehreren separaten Ressourcenauswahlalgorithmen vermieden. Es wird auch die Notwendigkeit vermieden, separate Ressourcenalgorithmen „synchronisieren" zu müssen. Anders ausgedrückt führt eine fehlende Synchronisierung mehrerer Ressourcenauswahlalgorithmen ohne die vorliegende Erfindung zu (bei der vorliegenden Erfindung nicht entstehenden) Situationen, in denen eine verfügbare Ressourceneinheit in einem Pool zugeteilt wird, ohne dass eine entsprechende notwendige Ressourceneinheit am einem anderen Pool verfügbar ist, z. B. infolge unterschiedlicher Fragmentierungen, die durch bereits zugeteilte Ressourcen entstehen.
  • Die vorliegende Erfindung wird besonders vorteilhaft bei Kommunikationssystemen und insbesondere bei Funkkommunikationssystemen angewendet. Ein bevorzugtes Ausführungsbeispiel für die vorliegende Erfindung wird in Zusammenhang mit einem WCDMA-Spreizspektrum-Funkkommunikationssystem (WCDMA – Wide band Code Division Multiple Access) offenbart. Im Kontext eines WCDMA-Funkkommunikationssystems kann der erste Pool aus Ressourceneinheiten WCDMA-Spreizcodes (Software-Ressourceneinheiten) und ein zweiter Pool aus Ressourceneinheiten Datenverarbeitungs- und Transceiver-Einheiten (Hardware-Ressourceneinheiten) entsprechen. Wie am der obigen Beschreibung hervorgeht, besitzt die vorliegende Erfindung natürlich allgemeine Anwendbarkeit und ist nicht auf Kommunikationsumgebungen beschränkt. Verschiedene Merkmale und Vorteile der vorliegenden Erfindung, von denen einige oben beschrieben worden sind, werden im Zusammenhang mit den Zeichnungen und der ausführlichen Beschreibung noch genauer offenbart.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Diese und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden nunmehr im Zusammenhang mit den Zeichnungen beschrieben, in denen die Figuren Folgendes zeigen:
  • 1 ist eine schematische Darstellung, die eine Ressourceneinheitenhierarchie zeigt, bei der es sich um eine Beispiel-Struktur handelt, die für einen Ressourcen-Pool angewendet werden kann,
  • 2 ist eine schematische Darstellung, die eine fragmentierte Ressourcenzuteilung zeigt, die die Ressourceneinheitenhierarchie aus 1 benutzt,
  • 3 ist ein Ressourcenverwaltungssystem gemäß einer allgemeinen Ausführungsform der vorliegenden Erfindung,
  • 4 ist ein Beispiel für eine effiziente Ressourcenzuteilung für die Ressourceneinheitenhierarchie aus 1 gemäß einem Anwendungsbeispiel für die vorliegende Erfindung,
  • 5 ist ein Ablaufdiagramm, das einen Satz Beispiel-Vorgänge für das effiziente Zuteilen von Ressourcen gemäß einem Aspekt der vorliegenden Erfindung darstellt,
  • 6 ist ein Ablaufdiagramm, das einen Satz Beispiel-Vorgänge für das effiziente Zurückgeben von Ressourcen gemäß einem Aspekt der vorliegenden Erfindung darstellt,
  • 7 ist ein Ablaufdiagramm, das einen Satz Beispiel-Vorgänge für das Rekonfigurieren einer Ressourcenstruktur gemäß einem Aspekt der vorliegenden Erfindung darstellt,
  • 8 ist ein Funktionsblockdiagramm, das ein Funkkommunikationssystem darstellt, bei dem die vorliegende Erfindung vorteilhafterweise angewendet werden kann, und einen Satz Vorgänge für das effiziente Zurückgeben von Ressourcen an den Ressourcen-Pool gemäß einem bevorzugten Ausführungsbeispiel für die vorliegende Erfindung,
  • 9 ist ein Funktionsblockdiagramm, das eine Implementierung der vorliegenden Erfindung bei einer Basisstation in einem WCDMA-Funkkommunikationssystem gemäß einem bevorzugten Ausführungsbeispiel für die vorliegende Erfindung genauer darstellt,
  • 10 ist ein Ressourcenverwaltungssystem gemäß einer weiteren Ausführungsform der vorliegenden Erfindung, das Ressourceneinheiten aus verschiedenen Ressourcen-Pools bezieht,
  • 11 ist ein Ablaufdiagramm, das einen Beispiel-Satz von Vorgängen für das Adressieren von Ressourceneinheiten unterschiedlicher Art gemäß einem Ausführungsbeispiel für die vorliegende Erfindung darstellt, und
  • 12 ist eine schematische Darstellung, die ein Beispiel für hierarchische Datenstrukturen für den ersten und den zweiten Ressourcen-Pool darstellt, die über eine rekonfigurierbare Ressourcenadressierungsmatrix zueinander in Beziehung stehen.
  • AUSFÜHRLICHE BESCHREIBUNG DER ZEICHNUNGEN
  • In der nachfolgenden Beschreibung werden lediglich zu Erläuterungszwecken spezielle Einzelheiten wie beispielsweise bestimmte Ausführungsformen, Datenströme, Techniken usw. dargelegt, damit die vorliegende Erfindung vollständig verständlich wird. Fachleuten wird jedoch klar sein, dass die vorliegende Erfindung in anderen Ausführungsformen in die Praxis umgesetzt werden kann, die von diesen speziellen Einzelheiten abweichen. Während ein bevorzugtes Ausführungsbeispiel für die vorliegende Erfindung zwar beispielsweise im Zusammenhang mit einem WCDMA-Funknetz beschrieben wird, werden Fachleute jedoch erkennen, dass die vorliegende Erfindung bei Kommunikations- und Datenverarbeitungssystemen breite Anwendung finden kann. In anderen Fällen werden ausführliche Beschreibungen allgemein bekannter Verfahren, Schnittstellen, Einrichtungen und Signalisierungstechniken weggelassen, um die Beschreibung der vorliegenden Erfindung nicht durch unnötige Einzelheiten unübersichtlich zu machen.
  • Eine allgemeine Ausführungsform der vorliegenden Erfindung als Ressourcenverwaltungssystem 10 in 3 konfiguriert eine Datenstruktur, die die freien Ressourcen in einem Ressourcen-Pool 12 widerspiegelt, mit Hilfe einer hierarchischen oder anderen Schichtstruktur. Eine hierarchische Beispiel-Struktur mit Ressourcenblöcken auf verschiedenen Ebenen eins, zwei, drei, ..., N ist in 1 gezeigt. Ressourcenblöcke auf jeder Ebene sind in Gruppen konfiguriert, und jede Gruppe ist mit einem Ressourcenblock auf der nächsthöheren Ebene verbunden. Somit bilden bei dem Beispiel in 1 zwei Ressourcenblöcke der Ebene 1 eine Ressourcenblockgruppe der Ebene 1. Ein einziger Ressourcenblock der Ebene 2 ist mit einer der Ressourcenblockgruppierungen der Ebene 1 verbunden. Bin einziger Ressourcenblock der Ebene 3 ist mit einer Ressourcenblockgruppierung der Ebene 2 verbunden, die bei dem in 1 gezeigten Beispiel zwei aufeinanderfolgenden Ressourcenblöcken der Ebene 2 entspricht. Es können natürlich andere Gruppierungen und/oder Strukturen als die in 1 gezeigten eingesetzt werden.
  • Das in 3 gezeigte Ressourcenverwaltungssystem 10 enthält auch einen Ressourcenverarbeiter 11 und einen Statistikanalysator 13, damit es die Zuteilung und Rückgabe von Ressourcen aus dem Ressourcen-Pool 12 effizient und anderweitig optimal verwalten kann. Der Ressourcenverarbeiter 11 enthält einen Speicher 11a und einen Datenprozessor 11b. Der Statistikanalysator 13 enthält ebenfalls einen Datenprozessor 13a und einen geeigneten Speicher 13b. Der Statistikanalysator 13 überwacht wie oben erläutert die Zuteilungen oder/und die Rückgaben von Ressourcen aus/zu dem Ressourcen-Pool 12. Der Statistikanalysator stellt diese Informationen in geeignetem Format dem Ressourcenverarbeiter 11 zur Verfügung, der die Hierarchie des Ressourcen-Pools in Abhängigkeit von einer Analyse der Statistik umorganisieren oder anderweitig rekonfigurieren kann. Der Ressourcenverarbeiter 11 und der Statistikanalysator 13 sind zwar als separate Elemente gezeigt, von denen jedes seinen eigenen Datenprozessor und Speicher besitzt, Fachleuten wird jedoch klar sein, dass sie mit gemeinsam genutzten Datenverarbeitungsschaltungen und gemeinsam genutztem Speicher implementiert werden können.
  • Der Ressourcenverarbeiter 11 versucht im Allgemeinen (jedoch nicht immer), so weit wie möglich Ressourcenblöcke so zuzuteilen, dass Ressourcenblöcke höherer Ebenen für die Zuteilung erhalten bleiben. Folglich versucht der Ressourcenverarbeiter 11 zunächst, Ressourcenblöcke aus einer Gruppierung zuzuteilen, bei der bereits ein anderer Ressourcenblock zugeteilt worden ist. Erst wenn alle Ressourcenblöcke bei einer partiell zugeteilten Gruppierung zugeteilt worden sind, nimmt der Ressourcenverarbeiter 11 eine andere Ressourcenblockgruppe auf der gleichen Ebene in Anspruch. Wenn es auf der angeforderten Ressourcenebene keine verfügbaren Gruppen mehr gibt, wandelt der Ressourcenverarbeiter 11 einen verfügbaren Ressourcenblock auf einer nächsthöheren Ebene (wenn möglich wieder aus einer Gruppe, die derzeit partiell zugeteilt ist) in eine Gruppe auf der angeforderten Ressourcenblockebene um. Dann wird einer der umgewandelten Ressourcenblöcke der Ressourcenanforderung zugeteilt. Wenn es auf dieser höheren Ebene keine für eine Umwandlung verfügbaren Ressourcenblöcke gibt, dann geht der Ressourcen verarbeiter zur nächsthöheren Ebene über und führt die notwendigen Umwandlungen über zwei Ebenen durch, um den angeforderten Ressourcenblock zur Verfügung zu stellen.
  • Auf ähnliche Weise gibt der Ressourcenverarbeiter 11, wenn ein Ressourcenblock an den Ressourcen-Pool 12 zurückgegeben wird, diesen Ressourcenblock mit einem von „belegt" auf „frei" geänderten Status an die gleiche Position in der Ressourcenanordnung zurück, aus der er zugeteilt worden ist. Darüber hinaus versucht der Ressourcenverarbeiter 11 bei einem bevorzugten Ausführungsbeispiel ebenfalls, Ressourcen auf eine solche Weise zurückzugeben, dass nicht immer die gleichen Ressourcen zugeteilt werden, d. h. durch eine Auswahl und Rückgabe im Rundlauf-Verfahren (Round Robin). Die Nutzung der Ressourcenblöcke auf jeder Ebene wird stattdessen im Zeitablauf gleichmäßig über alle Ressourcenblöcke auf dieser Ebene verteilt.
  • Da die Zuteilung und Wiedereingliederung von Ressourcenblöcken in die Hierarchie des Ressourcen-Pools in der Regel von externen Faktoren abhängig ist, rekonfiguriert der Ressourcenverarbeiter 11 vorzugsweise periodisch oder bei Bedarf den Ressourcen-Pool 12, um eine effizientere Konfiguration zu erzielen. Es kann beispielsweise ein derzeit zugeteilter Ressourcenblock zurückgenommen und dieser Anforderung ein anderer Ressourcenblock in einer effizienteren Position auf der gleichen Ebene in der Hierarchie zugeteilt werden, wodurch Ressourcenblöcke auf einer höheren Ebene für eine später erfolgende Zuteilung zur Verfügung gestellt werden.
  • 4 zeigt ein Beispiel für die Konfiguration einer Ressourcenhierarchie, bei der mit Hilfe der vorliegenden Erfindung im Vergleich zu der in 2 gezeigten ineffizienten, fragmentierten Ressourcenblockzuteilung Ressourcen auf effiziente Weise zugeteilt werden. Die Ressourcenblöcke der Ebene 1 werden über jede Hierarchieebene hinweg nacheinander von links nach rechts zugeteilt. Bei diesem Beispiel sind derzeit die Ressourcenblöcke 2023 der Ebene 1 zugeteilt. Die nächsten zwei Ressourcenblöcke der Ebene 1 werden einem Ressourcenblock 24 der Ebene 2 zugeteilt. Als Reaktion auf eine Ressourcenanforderung für einen Ressourcenblock der Ebene 1 oder der Ebene 2 würde der Ressourcenverarbeiter 11 die Ressourcenblöcke 2527 der Ebene 1 beziehungsweise der Ebene 2 in Anspruch nehmen. Infolge dieser effizienten Ressourcenzuteilung stehen ein Ressourcenblock 28 der Ebene 3 oder alternativ zwei zusätzliche Ressourcenblöcke 29 und 30 der Ebene 2 für die Zuteilung bei Anforderungen auf höherer Ebene zur Verfügung.
  • 5 zeigt ein Ablaufdiagramm, das Beispiel-Vorgänge (mit dem Titel „effiziente Ressourcenzuteilung" bei Block 50) für das effiziente Zuteilen von Ressourcen aus dem Ressourcen-Pool 12 gemäß einem bevorzugten Ausführungsbeispiel für die vorliegende Erfindung darstellt, denen der Ressourcenverarbeiter 11 folgen kann. Der Ressourcenverarbeiter 11 analysiert eine eintreffende Ressourcenanforderung, um die Ebene der Anforderung in der Hierarchie des Ressourcen-Pools oder einer anderen Struktur zu ermitteln (Block 52). Die Ressourcenanforderung kann beispielsweise eine bestimmte Anzahl Ressourceneinheiten benötigen. Wenn man die in 1 gezeigte hierarchische Beispiel-Konfiguration verwendet, so muss, wenn eine Ressourceneinheit angefordert wird, ein Ressourcenblock der Ebene 1 zugeteilt werden, wenn zwei Ressourceneinheiten angefordert werden, muss ein Ressourcenblock der Ebene 2 zugeteilt werden, wenn vier Ressourceneinheiten angefordert werden, muss ein Ressourcenblock der Ebene 3 zugeteilt werden, und so weiter.
  • Die Konfiguration des Ressourcen-Pools spiegelt sich in einer listenbasierten Datenstruktur wider, die in dem Speicher 11a gespeichert ist, auf den der Ressourcenverarbeiter 11 zugreift. Eine entsprechende Liste wird für jede Ebene in der Konfigurationsstruktur des Ressourcen-Pools geführt. Ein ausführliches Beispiel für eine solche listenbasierte Datenstruktur wird nachfolgend im Zusammenhang mit dem Ausführungsbeispiel in den 8 und 9 beschrieben.
  • Auf der Grundlage dieser Analyse zeigt der Ressourcenverarbeiter 11 zu der Liste der entsprechenden Ebene (Block 54) und entscheidet, ob die entsprechende Liste leer ist (Block 56). Die Liste der Ebene 1 (L1) wird als Beispiel benutzt. Anders ausgedrückt wird die Liste L1 von Ressourcen in dem Ressourcen-Pool 12, die in dem Speicher 11a des Ressourcenverarbeiters gespeichert ist, auf L1-Ressourcenblöcke, d. h. von einer L1-Gruppierung mit einem oder mehreren derzeit zugeteilten Ressourcenblöcken, überprüft.
  • Wenn die Liste L1 nicht leer ist, teilt der Ressourcenverarbeiter 11 den ersten verfügbaren L1-Ressourcenblock in der Liste L1 zu und entfernt ihn aus der Liste L1 in dem Speicher 11a (Block 58). Wenn die Liste L1 andererseits leer ist, ermittelt der Ressourcenverarbeiter 11, ob die Liste der nächsten Ebene, bei diesem Beispiel der Ebene 2 (L2), leer ist (Block 60). Wenn in der Liste L2 Einträge vorhanden sind, entfernt der Ressourcenverarbeiter 11 (sofern vorhanden) den ersten Ressourcenblock der Ebene 2 von der Liste L2 und fügt eine Gruppe von (bei diesem Beispiel) zwei Ressourcenblöcken der Ebene 1 zu der Liste L1 hinzu (Block 62). Allgemeiner ausgedrückt erstellt der Ressourcenverarbeiter 11 aus einem einzigen Ressourcenblock der Ebene 2 eine Gruppe von Ressourcenblöcken der Ebene 1. Der Ressourcenverarbeiter 11 teilt einen der neu hinzugefügten Ressourcenblöcke der Ebene 1 der Anforderung zu und entfernt ihn aus der Liste L1 in seinem Speicher 11a (Block 64).
  • Wenn auf der Listenebene L2 im Speicher 11a derzeit keine Einträge angezeigt sind (Block 60), ermittelt der Ressourcenverarbeiter 11 alternativ dazu, ob die nächste Listenebene, bei diesem Beispiel die Liste für Ebene 3 (L3) in der Hierarchie, leer ist (Block 66). Wenn dies nicht der Fall ist, wählt der Ressourcenverarbeiter 11 den ersten verfügbaren Ressourcenblock von der Liste L3 aus und wandelt diesen L3-Ressourcenblock in eine Gruppe aus Ressourcenblöcken der Ebene 2 (bei diesem Beispiel zwei) um. Durch diese Umwandlung werden praktisch zwei L2-Ressourcenblöcke zur Liste L2 hinzugefügt, und der L3-Ressourcenblock wird aus der Liste L3 entfernt (Block 70). Der Ressourcenverarbeiter 11 wandelt den ersten der beiden neu erstellten L2-Ressourcenblöcke in eine Gruppe aus L1-Ressourcenblöcken um und fügt dadurch zwei Ressourcenblockeinträge zur Liste L1 hinzu (Block 72). Die umgewandelten L2-Ressourcenblöcke werden dementsprechend aus der Liste L2 in dem Speicher 11a des Ressourcenverarbeiters entfernt. Der Ressourcenverarbeiter 11 teilt dann den ersten der beiden neu erstellten L1-Ressourcenblöcke der Ressourcenanforderung zu und entfernt diesen L1-Ressourcenblock aus der Liste L1 im Speicher 11a. Wenn die Liste L3 leer ist, fährt die Steuerung mit der nächsten Ebene fort (Block 68), und es werden ähnliche Vorgänge ausgeführt.
  • 6 stellt eine Routine für die effiziente Rückgabe von Ressourcen dar (Block 80), die von dem Ressourcenverarbeiter 11 implementiert wird. Jeder zurückgegebene Ressourcenblock (RB) wird zur Liste seiner entsprechenden Ebene hinzugefügt (Block 82). Wenn Ressourcenblöcke an einem Ende einer bestimmten Liste in der Hierarchie oder anderen Struktur zugeteilt werden, dann wird die Nutzung von Ressourcenblöcken vorzugsweise gleichmäßig verteilt, indem die Ressourcenblöcke an das gegenüberlie gende Ende dieser Liste zurückgegeben werden, so dass alle anderen Ressourcen auf dieser Ebene benutzt werden, bevor die soeben zurückgegebene Ressource erneut verwendet wird. Diese Technik für das Zuteilen und Zurücknehmen von Ressourcen lässt die Ressourcenblocke umlaufen, so dass sie alle im Wesentlichen gleichmäßig benutzt werden.
  • Beim Zurückgeben eines Ressourcenblocks an den Ressourcen-Pool 12 durchsucht der Ressourcenverarbeiter 11 aufeinander folgende Ressourcenblöcke auf der Liste der untersten Ebene (Block 84). Es wird entschieden (Block 86), ob die Anzahl der aufeinanderfolgenden Ressourcenblöcke in dieser Liste eine Ressourcenblockgruppe bildet (Block 86). Wenn dies der Fall ist, wandelt der Ressourcenverarbeiter 11 diese in einen Ressourcenblock einer höheren Ebene um und korrigiert die Listen beider Ebenen dementsprechend (Block 88). Es wird dann entschieden (Block 90), ob die oberste Listenebene erreicht worden ist. Wenn dies nicht der Fall ist, zeigt der Ressourcenverarbeiter 11 zur nächsten Listenebene in dem Speicher 11a (Block 92), und die Steuerung kehrt zu Block 84 zurück, um die in den Blöcken 8490 angegebenen Operationen zu wiederholen. Somit werden die Ressourcenblöcke an die Liste zurückgegeben und so gruppiert, dass die Ressourcenblöcke der höchsten Ebene zur Verfügung gestellt werden können.
  • Es soll das folgende Anschauungsbeispiel betrachtet werden. Wenn die zuzuteilenden Ressourcen beispielsweise Hardware-Ausrüstung darstellen, dann ist es vorteilhaft, die Ressourcenzuteilungen auf alle Ressourcen zu verteilen. Auf diese Weise wird die gesamte Hardware statt lediglich bei einer starken Belastung, die eine Zuteilung fast aller oder aller Ressourceneinheiten erforderlich macht, periodisch auf Funktionstüchtigkeit überprüft. Dies lässt sich durch die Verwendung des oben bezüglich 6 kurz dargestellten Verfahrens erzielen, indem stets freie Ressourcen am vorderen Ende der Liste zugeteilt und die Ressourcen an das hintere Ende zurückgegeben werden. Dies lässt sich folgendermaßen veranschaulichen:
    Figure 00110001
  • Die Ressource an Position 5 (eine Ressourceneinheit, die einer Kapazität 32 entspricht) wird dann an die letzte Position in der Liste L1 zurückgegeben. Dadurch verbleiben die folgenden freien Ressourcen:
    Figure 00110002
  • Der Ressourcenverarbeiter 11 führt auch periodische Ressourcenverwaltungsfunktionen durch, was in der in 7 gezeigten Beispiel-Routine „Ressourcenverwaltung" (Block 100) erläutert wird. Der Ressourcenverarbeiter 11 ermittelt, ob die Konfiguration des Ressourcen-Pools derzeit fragmentiert ist (Block 102). Wenn dies der Fall ist, rekonfiguriert der Ressourcenverarbeiter 11 die Ressourcenhierarchie oder andere Struktur (Block 104), um die derzeitige Konfiguration zu defragmentieren. Bestimmte Ressourcenanforderungen können verschiedenen Ressourcenblöcken neu zugeteilt werden, damit die Ressourcenblöcke so gruppiert werden, dass wie oben beschrieben die größte Anzahl von Ressourcenblöcken der höchsten Ebene zur Verfügung steht.
  • Der Ressourcenverarbeiter 11 empfängt auch periodisch Statistiken von dem Statistikanalysator 13, die ständig von dem Datenprozessor 13a des Statistikanalysators gesammelt und in dem entsprechenden Speicher 13b gespeichert werden, bevor sie zum Speicher 11a des Ressourcenverarbeiters übertragen werden (Block 106). Der Ressourcenverarbeiter 11 analysiert periodisch die angesammelten Statistiken (Block 108) und entscheidet auf der Grundlage dieser Analyse, ob eine Mehrzahl der Ressourcenanforderungen auf einer bestimmten Ressourcenblockebene auftreten. Während die Ressourcenhierarchie allgemein rekonfiguriert wird, um die Ressourcenblöcke der höchstmöglichen Ebene zur Verfügung zu stellen, kann es zum Beispiel sein, dass die meisten Ressourcenanforderungen auf einer Ebene unterhalb der höchsten Ressourcenblockebene auftreten. Bei einem einfachen Beispiel, in dem es drei Ressourcenblockebenen gibt, kann es somit sein, dass nur eine geringe Anzahl Ressourcenblöcke der Ebene 3 angefordert werden und die Ressourcenblöcke der Ebene 2 am beliebtesten sind. Statt den Ressourcen-Pool zu rekonfigurieren, was eine (wenn auch wahrscheinlich nur minimale) Dienststörung für die zugeteilten Ressourcenblöcke verursacht, die neu zugeteilt werden, rekonfiguriert der Ressourcenverarbeiter 11 die Ressourcenhierarchie dementsprechend so, dass so viele Ressourcenblöcke der Ebene 2 wie möglich entstehen (Block 112). Wenn später elf Ressourcenblock der höheren Ebene 3 angefordert wird, erzeugt der Ressourcenverarbeiter 11 (sofern dies möglich ist) zum Zeitpunkt dieser Anforderung einen Ressourcenblock der Ebene 3, indem er (wieder sofern verfügbar) eine vollständige Ressourcenblockgruppierung der Ebene 2 so kombiniert, dass elf einzelner Ressourcenblock der Ebene 3 entsteht. Diese Art der statistischen Analyse und Rekonfiguration beschränkt Dienststörungen auf elf Minimum und reduziert außerdem den Datenverarbeitungs-Overhead, der beim Kombinieren und Unterteilen verschiedener Ressourcenblockgruppierungen notwendig ist, um einen Ressourcenblock einer höheren Ebene zur Verfügung zu stellen.
  • Während die vorliegende Erfindung vorteilhafterweise bei vielen Umgebungen angewendet werden kann, ist die mobile Funkkommunikation ein Beispiel für eine solche Umgebung. 8 stellt im Format eines Funktionsblockdiagramms elf mobiles Funkkommunikationssystem 150 dar. Die Mobilvermittlungsstelle 156 koppelt ein öffentliches Fernsprechnetz 152 an das mobile Kommunikationsnetz 150. Elf Paketradiodienstknoten 158 koppelt Datenkommunikation aus dem Internet 154 mit dem mobilen Funkkommunikationssystem. Sowohl die Mobilvermittlungsstelle 156 als auch der Paketradiodienstknoten 158 sind mit einer Funknetzsteuerung 160 gekoppelt. Zur Vereinfachung der Darstellung ist zwar nur eine Funknetzsteuerung gezeigt, Fachleuten wird jedoch klar sein, dass mehr als eine Funknetzsteuerung verwendet werden kann. Die Funknetzsteuerung 160 ist mit mehreren Basisstationen (BS) 162 gekoppelt. Mobilfunkgeräte, die als Mobilstationen (MS) 164 dargestellt sind, kommunizieren mit Hilfe verschiedener Protokolle und Verfahren, die Fachleuten auf dem Gebiet der Funkkommunikation bekannt sind, über eine Luftschnittstelle mit einer oder mehreren Basisstationen 162.
  • Zu jeder Basisstation gehört (unter anderem) ein Ressourcenverarbeiter 11 und ein Ressourcen-Pool 12, wie sie in 3 gezeigt sind. Der Ressourcen-Pool 12 besteht aus Funktionsblöcken 68, wobei jeder Funktionsblock in verschiedene Ressourceneinheiten unterteilt ist, die eindeutig angesteuert und zur Unterstützung verschiedener Dienste zugeteilt werden können, die von dem mobilen Funkkommunikationssystem 150 zur Verfügung gestellt werden. Die Funktionsblöcke 68 in dem Ressourcen-Pool 12 können Hardware- und/oder Sofware-Ressourcen entsprechen, die beispielsweise für das Zuordnen von Funkkanälen erforderlich sind, um eine Funkkommunikation mit den Mobilstationen 164 zu ermöglichen.
  • In Abhängigkeit von den Parametern für einen bestimmten Verbindungsaufbau werden für die Verbindung mehr oder weniger Ressourcen benötigt. Wenn es sich bei der Verbindung beispielsweise um eine einfache Sprachverbindung handelt, dann wird eine geringere Anzahl Ressourceneinheiten benötigt als für eine kompliziertere Verbindung, z. B. eine Multimedia-Verbindung mit Sprache, Daten, Video usw. Selbst bei Datenverbindungen gibt es für schnelle beziehungsweise langsame Datenverbindungen einen unterschiedlichen Bandbreitenbedarf, wobei Datenverbindungen mit größerer Bandbreite mehr Ressourceneinheiten benötigen als Datenverbindungen mit geringerer Bandbreite.
  • Für die drahtlose Multimediakommunikation muss eine effiziente Zuteilung und Rückgabe von Ressourceneinheiten erfolgen, so dass sowohl Multimedia-Verbindungen und andere Verbindungen mit hoher Bandbreite, die Ressourcenblöcke höherer Ebenen benötigen, als auch Ressourcenblöcke niedrigerer Ebenen, die zu weniger anspruchsvollen Verbindungen gehören, verarbeitet werden können. Eine bevorzugte Zugangsmethode, die für Multimedia- und andere anspruchsvolle Kommunikationsdienste geeignet ist, ist WCDMA (Wideband Code Division Multiple Access). Verbindungen werden über eine sehr große Frequenzbandbreite, z. B. 5, 10, 15 MHz usw., mit Hilfe orthogonaler Spreizcodes zugeteilt, wobei jeder Verbindung ein oder mehrere Codes zugeordnet werden. Jeder orthogonale Spreizcode ist ein Beispiel für einen Software-Ressourcenblock. Jeder Basisstation wird eine begrenzte Anzahl Spreizcodes zugeordnet.
  • Wenn man davon ausgeht, dass es sich bei dem mobilen Kommunikationssystem 150 um ein WCDMA-System handelt, dann kann zur Basisstation 162 eine Steuerung 170, ein ATM-Transport (ATM – asynchroner Übertragungsmodus) 172 und ein Funkgerät 174 gehören. Es wird eine ATM-Transportschnittstelle zur Funknetzsteuerung 160 bevorzugt, da sie eine hohe Effizienz und Durchsatzrate aufweist. Zu jeder Steuerung 170 gehört unter anderem ein Ressourcenverarbeiter 11 und ein Statistikanalysator 13, wie sie in 3 gezeigt sind. Das Funkgerät 174 enthält eine Anzahl Funktionsressourcenblöcke wie beispielsweise einen Codierer 176, einen CDMA-Spreizer 178, einen Modulator 180 für Funkübertragungen zu den Mobilstationen 164. Es werden zusätzliche Funktionsressourcenblöcke in Form eines Demodulators 182, eines CDMA-Entspreizers 184 und eines Decoders 186 für das Demodulieren, Entspreizen und Decodieren von Funkübertragungen von den Mobilstationen 164 eingesetzt.
  • Jeder Funktionsressourcenblock entspricht einer oder mehreren Hardware- und/oder Software-Ressourceneinheiten, wobei eine Ressourceneinheit eine integrale Funktionseinheit mit einer eindeutigen Adresse ist, die individuell angesteuert und betrieben werden kann. So setzt beispielsweise ein Codierer sowohl Hardware- als auch Software-Ressourceneinheiten ein. Wenn eine Ressourceneinheit einer Ressour cenanforderung zugeteilt wird, wird sie aktiviert und kann dann von der anfordernden Einheit bereitgestellte Eingabedaten verarbeiten.
  • Der Ressourcenverarbeiter 11 führt einen „Gesamtüberblick" über die Ressourceneinheiten in einer listenförmigen Datenstruktur mit einer entsprechenden Liste für jede freie Ressourcenblockebene in seinem Speicher 11a. Jeder Datensatz/Eintrag in einer Liste steht für einen freien Ressourcenblock und kann Informationen wie die Art der Ressourceneinheit (z. B. Spreizcode, Codierer, Modulator usw.), die Adresse der Ressourceneinheit, die derzeitige Konfiguration, den derzeitigen Status (aktiviert/deaktiviert) usw. enthalten.
  • Wenn ein Weg für eine Verbindung über die Basisstation 162 eingerichtet wird, müssen eine oder mehrere Ressourceneinheiten aus den verschiedenen Funktionsblöcken 176186 zugeteilt werden. Für eine relativ einfache Sprachverbindung (einen einfachen Weg) über die Basisstation können 8 kbit/s, die 32 Kilosymbolen pro Sekunde (kS/s) entsprechen, eine Codiererressourceneinheit benutzen. Die Beziehung zwischen Bitrate und Symbolrate ist von der jeweiligen im Codierer eingesetzten Codierung abhängig. Ein 64-kS/s-Weg kann andererseits zwei Codiererressourceneinheiten benötigen.
  • Es soll ein Beispiel betrachtet werden, bei dem es vier Ressourcenblockebenen gibt, von denen Ebene 1 32-kS/s-Ressourcenblöcken, Ebene 2 64-kS/s-Ressourcenblöcken, Ebene 3 128-kS/s-Ressourcenblöcken und Ebene 4 256-kS/s-Ressourcenblöcken entspricht. Es wird für jede Ebene L1–L4 eine Liste geführt. Wenn eine Liste auf einer bestimmten Ebene leer ist, geht der Ressourcenverarbeiter wie oben beschrieben zur nächsten Ebene über und wandelt einen verfügbaren Ressourcenblock in mehrere Ressourcenblöcke auf der nächstniedrigeren Ebene um. Bei diesem Beispiel enthält die Basisstation 162 32 Ressourceneinheiten. Nachfolgend ist eine Abbildung der freien Ressourceneinheiten zu einem bestimmten Zeitpunkt zu sehen, bei der die schraffierten Blöcke derzeit zugeteilten Ressourceneinheiten entsprechen und jeder Block mit einer Kennziffer bezeichnet ist, wobei die Kennziffern 0, 4, 8, 15, 16, 24 und 31 gezeigt sind.
  • Figure 00140001
  • Es sei darauf hingewiesen, dass derzeit die Ressourcenblöcke 1, 2 und 3 zugeteilt sind. Einem 32-kS/s-Kanal muss wie oben erwähnt eine Ressourceneinheit oder einer der 32 Blöcke zugeteilt werden. Ein 64-kS/s-Kanal benötigt zwei Ressourceneinheiten und muss daher bei Kennziffer/Adresse 0, 2, 4, ..., 28 oder 30 beginnend zugewiesen werden. Ein 128-kS/s-Kanal benötigt vier aufeinander folgende Ressourceneinheiten, beginnend mit den Kennzifferpositionen 0, 4, 8, ..., 24 oder 28. Ein 256-kS/s-Kanal benötigt acht aufeinander folgende Ressourceneinheiten, beginnend mit den Kennzifferpositionen 0, 8, 16 oder 24. Wenn man davon ausgeht, dass die Ressourceneinheiten so konfiguriert sind, dass sie die größtmögliche Anzahl von Gruppen auf der höchsten Ebene zur Verfügung stellen, so entsteht die nachfolgend gezeigte Ressourcenstruktur:
    Figure 00150001
  • Bei dem obigen Beispiel führt eine Anforderung für einen 64-kS/s-Kanal dazu, dass der Ressourcenverarbeiter 11 die Liste (L2) der Ebene 2 durchsucht. Da die Liste L2 leer ist, wandelt der Ressourcenverarbeiter 11 bei Kennziffer 4 beginnend einen 128-kS/s-Ressourcenblock in zwei 64-kS/s-Ressourcenblöcke um, wodurch sich Folgendes ergibt:
    Figure 00150002
  • Durch die Umwandlung entstehen zwei 64-kS/s-Blöcke bei den Kennziffern 4 und 6. Der 64-kS/s-Block bei Kennziffer 4 wird zugeteilt (d. h. weil er der erste in der Liste L2 ist) und aus der Liste L2 entfernt, wodurch sich Folgendes ergibt:
    Figure 00150003
  • Die aktuelle Ressourcenabbildung sieht dann folgendermaßen aus:
    Figure 00150004
  • Wenn Ressourceneinheiten zurückgegeben (zurückgenommen) werden, werden sie in der Liste auf der entsprechenden Ebene, d. h. in die Liste von Ressourcenblöcken mit der gleichen Größe, an die letzte Stelle gesetzt. Der Ressourcenverarbeiter 11 sucht in der Liste aufeinander folgende Ressourcenblöcke, und wenn er die erforderliche Anzahl aufeinander folgender Ressourcenblöcke entdeckt, erstellt er einen Ressourcenblock der nächsten Ebene.
  • Es soll nun zum Beispiel die Rückgabe eines 32-kS/s-Ressourcenblocks an die Liste der freien 32-kS/s-Ressourcenblöcke betrachtet werden. Wenn man außerdem davon ausgeht, dass die Gruppierungen zwei Ressourcenblöcke enthalten, dann erstellt der Ressourcenverarbeiter 11, wenn sich zwei aufeinander folgende 32-kS/s-Ressourcenblöcke in der Liste befinden, einen 64-kS/s-Ressourcenblock und löscht die beiden 32-kS/s-Ressourcenblöcke von ihren jeweiligen Listen. Es soll nun die nachfolgende Beispiel-Abbildung freier Ressourcenblöcke an der Basisstation 162 betrachtet werden, die wie oben erwähnt eine Gesamtanzahl von 32 Ressourcen aufweist.
  • Figure 00160001
  • Es sei davon ausgegangen, dass der 32-kS/s-Ressourcenblock an der Kennzifferposition 1 an den Ressourcen-Pool zurückgegeben wird. Der Ressourcenverarbeiter 11 fügt diesen Ressourcenblock in die Liste freier 32-kS/s-Ressourcenblöcke an letzter Stelle ein, wodurch sich Folgendes ergibt:
    Figure 00160002
  • Der Ressourcenverarbeiter 11 sucht dann in dieser Liste zwei aufeinander folgende Ressourcenblöcke, die folgendermaßen zu einem 64-kS/s-Ressourcenblock zusammengelegt werden können:
    Figure 00160003
  • Der Ressourcenverarbeiter 11 sucht auch in der Liste der 64-kS/s-Ressourcenblöcke nach aufeinanderfolgenden Ressourcenblöcken. Da die beiden Ressourcenblöcke bei Null beginnen und aufeinander folgen, werden sie folgendermaßen zu einem 128-kS/s-Ressourcenblock zusammengelegt:
    Figure 00170001
  • Der Ressourcenverarbeiter 11 sucht in der Liste der 128-kS/s-Ressourcenblöcke nach aufeinanderfolgenden Ressourcenblöcken. Da es in dieser speziellen Liste nur einen Ressourcenblock gibt, kann kein 256-kS/s-Ressourcenblock gebildet werden. Die Ressourcenabbildung sieht nach dieser Zuteilung folgendermaßen aus:
    Figure 00170002
  • Eine solche Listenstruktur ist auch für die Defragmentierung der Ressourcenstruktur besonders vorteilhaft. Bei den zu verschiebenden Ressourcenblöcken handelt es sich in der Regel um Ressourcenblöcke auf Listen der unteren Ebenen. Ausgehend von den 32-kS/s-Ressourcenblöcken der untersten Ebene werden zugeteilte Ressourcenblöcke so verschoben, dass mit Hilfe der geringstmöglichen Anzahl von Rücknahmen so wenige Ressourcenblöcke einer höheren Ebene wie möglich erstellt werden. Es soll mm das folgende Beispiel für fragmentierte Ressourcen betrachtet werden:
    Figure 00170003
  • Diese Konfiguration fragmentierter Ressourcen ist wahrscheinlich in der nachfolgenden Ressourcenstrukturabbildung einfacher zu erkennen.
  • Figure 00170004
  • Die Ressourcenstruktur könnte effizienter konfiguriert sein, wenn die derzeit zugeteilten 32-kS/s-Ressourcenblöcke an den Kennzifferpositionen 1, 2 und 29 nebeneinander zugeteilt würden, damit an ihren jeweiligen derzeitigen Positionen größere Ressourcenblöcke zur Verfügung gestellt werden können. Das erste Ressourcenelement an der Kennzifferposition Null könnte für das Erstellen eines 64-kS/s-Ressourcenblocks verwendet werden, wenn die 32-kS/s-Zuteilung an der Kennzifferposition 1 zu einer anderen Kennzifferposition verschoben würde. Dementsprechend wird diese 32-kS/s-Zuteilung logisch in einen Zwischenspeicher für zugeteilte Ressourcen verschoben, die verschoben werden sollen. Abgesehen von der höchsten Ebene mit 256 kS/s werden die Listen für jede Ebene auf die gleiche Weise verarbeitet.
  • Die Ressourceneinheiten werden neu zusammengesetzt, wobei die Anzahl der zu verschiebenden Ressourcenblöcke auf ein Minimum beschränkt wird. Jeder 256-kS/s-Ressourcenblock wird untersucht, um zu ermitteln, wie viele Ressourcenblöcke verschoben werden müssen, damit dieser 256-kS/s-Ressourcenblock vervollständigt werden kann. Bei diesem Beispiel müssen nur zwei Blöcke aus den Positionen 16 und 29 in die erste Position (beginnend bei Kennzifferposition 0) der ersten 256-kS/s-Blöcke verschoben werden. Nach der Defragmentierung befinden sich die 32-kS/s-Ressourcenblöcke in den nebeneinander liegenden Kennzifferpositionen 0, 1 und 2. Der 64-kS/s-Ressourcenblock belegt nun die Kennzifferpositionen 4 und 5. Die Ressourcenstrukturabbildung sieht folgendermaßen aus:
    Figure 00180001
  • Ein weiterer Aspekt der vorliegenden Erfindung betrifft die effiziente Zuteilung von Ressourcen aus verschiedenen Ressourceneinheiten-Pools. Eine Anforderung von Ressourcen bedingt sehr häufig die Zuteilung unterschiedlicher Arten von Ressourceneinheiten. Eine Ressourcenanforderung kann beispielsweise sowohl Software- als auch Hardware-Ressourcen benötigen. Im Kontext eines WCDMA-Funkkommunikationssystems erfordert eine Anforderung einer Ressource, die einem Kommunikationskanal entspricht, die Zuteilung eines benutzerspezifischen Spreizcodes (einer Software-Ressourceneinheit) und einer Signalverarbeitungs- und Transceiver-Einheit (einer Hardware-Ressourceneinheit). Jeder Ressourcen-Pool kann in einer hierarchischen Baumstruktur wie der bereits beschriebenen konfiguriert sein, und jeder Ressourcen-Pool kann seine eigene Ressourcenzuteilungsstrategie besitzen. Das Koordinieren von zwei oder mehreren Ressourcenzuteilungsstrategien für zwei Pools von Ressourceneinheiten unterschiedlicher Art kann ziemlich kompliziert und ineffizient sein. Werden verschiedene Zuteilungsstrategien verwendet, fragmentieren die jeweiligen Hierarchien auf unterschiedliche Weise. Eine Elternressourceneinheit mit höherer Kapazität kann, wie oben beschrieben wurde, nur dann zugeteilt werden, wenn alle ihre untergeordneten Objekte mit geringerer Kapazität verfügbar sind. Durch all diese Faktoren können gut und gerne Situationen entstehen, in denen eine Ressourceneinheit einer Art, z. B. ein Spreizcode, einer Ressourcenanforderung zugeteilt wird, eine entsprechende notwendige Ressourceneinheit der anderen Art, z. B. eine Transceiver-Einheit, jedoch nicht verfügbar ist (und umgekehrt).
  • Die vorliegende Erfindung löst diese Probleme dadurch, dass eine Beziehung zwischen den Ressourceneinheiten in dem ersten und dem zweiten Ressourcen-Pool hergestellt wird. Das Ausführungsbeispiel setzt zwar zu Beschreibungszwecken zwei Pools mit Ressourceneinheiten unterschiedlicher Art ein, die Erfindung ist jedoch für mehr als zwei Ressourcen-Pools anwendbar. Bei dem in 10 gezeigten Ressourcenverwaltungssystem konfiguriert ein Ressourcenverarbeiter 200 eine erste Datenstruktur 202, die die freien Ressourceneinheiten einer ersten Art in einem ersten Ressourcen-Pool widerspiegelt, der zu den Ressourcen-Pools 210 gehört, beispielsweise mit Hilfe einer hierarchischen oder anderen Scichtstruktur. Für das Organisieren der Ressourcen könnte jedoch eine beliebige Struktur verwendet werden. Eine zweite Datenstruktur 204 wird so, dass sie die freien Ressourceneinheiten einer zweiten Art widerspiegelt, die in einem zweiten Ressourcen-Pool zu finden sind, wieder vorzugsweise mit Hilfe einer hierarchischen oder anderen Schichtstruktur konfiguriert. Eine hierarchische Beispiel-Struktur mit Ressourceneinheiten auf verschiedenen Ebenen 1, 2, 3, ..., N ist in 1 oben gezeigt. Ressourceneinheiten auf jeder Ebene sind in Gruppen konfiguriert, und jede Gruppe ist mit einer Ressourceneinheit auf der nächsthöheren Ebene verbunden. Somit bilden bei dem Beispiel in 1 zwei Ressourcenblöcke der Ebene 1 eine Ressourceneinheitengruppe der Ebene 1. Eine einzelne Ressourceneinheit der Ebene 2 ist mit einer der Ressourceneinheitengruppierungen der Ebene 1 verbunden. Ein einziger Ressourcenblock der Ebene 3 ist mit einer Ressourceneinheitengruppierung der Ebene 2 verbunden, die bei dem in 1 gezeigten Beispiel zwei aufeinanderfolgenden Ressourceneinheiten der Ebene 2 entspricht. Ein Beispiel für den ersten Pool aus Ressourceneinheiten können Software-Ressourceneinheiten wie CDMA-Spreizcodes sein. Der zweite Pool aus Ressourceneinheiten kann aus Hardware-Ressourceneinheiten wie Signalverarbeitungs- und Transceiver-Einheiten bestehen.
  • Der Ressourcenverarbeiter 200 weist eine Adressierungseinheit 206 auf, die zwischen Ressourceneinheiten im ersten Pool, die die Datenstruktur 202 widerspiegelt, und Ressourceneinheiten im zweiten Pool, die die Datenstruktur 204 wiederspiegelt, eine Beziehung herstellt. Die Adressierungseinheit 206 kann verschiedene Arten von geeigneten Beziehungen herstellen. Zu der Beziehung kann beispielsweise eine Eineindeutigkeit zwischen einzelnen Ressourceneinheiten in dem ersten und dem zweiten Pool gehören. Bei einer hierarchischen oder Schichtkonfiguration kann die Eineindeutigkeit pro Einheit und Ebene vorliegen.
  • Eine Steuerung 208 steuert die Zuteilung von Ressourcen in Übereinstimmung mit der von der Adressierungseinheit 206 hergestellten Beziehung und versucht außerdem, Ressourceneinheiten niedrigerer Ebenen zuzuteilen, so dass Ressourceneinheiten höherer Ebenen für die Zuteilung erhalten bleiben. Anders ausgedrückt versucht die Steuerung 208 zunächst, Ressourceneinheiten aus einer Gruppierung zuzuteilen, bei der bereits eine andere Ressourceneinheit zugeteilt worden ist. Erst wenn alle Ressourceneinheiten bei einer partiell zugeteilten Gruppierung zugeteilt worden sind, nimmt die Steuerung eine andere Ressourcengruppe auf der gleichen Ebene in Anspruch. Wenn es auf der angeforderten Ressourcenebene keine verfügbaren Ressourceneinheiten mehr gibt, wandelt die Steuerung 208 eine verfügbare Ressourceneinheit auf einer nächsthöheren Ebene (wenn möglich wieder aus einer Gruppe, die derzeit partiell zugeteilt ist) in eine Gruppe auf der angeforderten Ressourceneinheitenebene um. Die Steuerung 208 gibt außerdem auch Ressourceneinheiten an ihren Ressourcen-Pool zurück und verfolgt nach, welche Ressourceneinheiten derzeit zugeteilt und welche derzeit verfügbar sind. Die Steuerung 208 gibt, sofern dies möglich ist, Ressourceneinheiten so zurück, dass nicht immer die gleichen Ressourcen zugeteilt werden und die Nutzung der Ressourceneinheiten auf jeder Ebene im Zeitablauf gleichmäßig über alle Ressourceneinheiten auf jeder Ebene verteilt ist.
  • Bei der Ressourcenadressierungsroutine (Block 220) in 11, die von dem Ressourcenverarbeiter 200 eingesetzt werden kann, wird eine erste Datenstruktur für einen ersten Pool aus Ressourceneinheiten, z. B. Software-Ressourcen wie CDMA-Spreizcodes, konfiguriert (Block 222). Für einen zweiten Pool aus Ressourcen, z. B. Hardware-Ressourcen wie Funkgeräten, wird eine zweite Datenstruktur konfiguriert (Block 224). Zwischen den Ressourceneinheiten im ersten und im zweiten Ressourceneinheiten-Pool wird dann eine Beziehung hergestellt, so dass, wenn eine der Ressourceneinheiten aus dem ersten Pool verfügbar ist, automatisch auch eine entsprechende Ressourceneinheit aus dem zweiten Pool verfügbar ist (Block 226). Aufgrund dieser Beziehung wird nur ein Ressourceneinheit-Zuteilungsvorgang benötigt, um Ressourceneinheiten aus zwei (oder mehreren) Ressourcen-Pools, die eine bestimmte Anforderung erfüllen sollen, koordinieren und effizient zuteilen zu können (Block 228).
  • 12 zeigt ein Implementierungsbeispiel für eine Adressierungseinheit 206 als einer vorzugsweise in Software eingebettete Matrix. Die erste Datenstruktur 202 ist als hierarchische Datenstruktur von Software-Ressourcen wie CDMA-Spreizcodes mit mehreren Ebenen gezeigt. Die Datenstruktur 204 ist auch als hierarchische Datenstruktur von Hardware-Ressourcen wie Transceiver-Einheiten mit mehreren Ebenen gezeigt. Bei dieser Matrix-Implementierung entsprechen die Software-Ressourcen Reihen der Matrix und die Hardware-Ressourcen Spalten. 12 zeigt als Beispiel eine einfache Eineindeutigkeit, bei der jede Ressourceneinheit in einer Reihe (über eine aktive Schnittstelle in der Matrixstruktur) mit einer einzigen Ressourceneinheit in einer Spalte verbunden ist.
  • Aktive Matrixschnittstellen lassen sich modifizieren oder rekonfigurieren, um sich ändernden Bedürfnissen, dem Hinzufügen neuer Ressourceneinheiten oder dem Entfernen von Ressourceneinheiten Rechnung tragen zu können. Es ist zwar als Beispiel für einen Adressierungsmechanismus eine Matrix gezeigt, Fachleuten wird jedoch klar sein, dass auch andere Adressierungsmechanismen eingesetzt werden können.
  • Die Erfindung ist zwar in Verbindung mit der derzeit als am praktischsten und als bevorzugt betrachteten Ausführungsform beschrieben worden, es versteht sich jedoch, dass sie nicht auf die offenbarte Ausführungsform beschränkt ist, sondern ganz im Gegenteil verschiedene Modifikationen und gleichwertige Anordnungen abdecken soll, die in den Schutzumfang der beiliegenden Ansprüche fallen.

Claims (48)

  1. Verfahren, das die folgenden Schritte umfasst: Konfigurieren einer ersten Datenstruktur, die einem ersten Pool einer ersten Art von Ressourceneinheiten entspricht, zu denen Folgendes gehört: Ressourcenblöcke der ersten Ebene (4: 20, 21, 22, 23, 25, 26), die jeweils einer oder mehreren Ressourceneinheiten der ersten Art entsprechen, in Gruppen aus Ressourcenblöcken der ersten Ebene bereitgestellt werden und eine niedrigste, erste Ebene des ersten Ressourceneinheiten-Pools bilden, und Ressourcenblöcke der zweiten Ebene (4: 24, 27, 29, 30), die jeweils einer der Gruppen aus Ressourcenblöcken der ersten Ebene entsprechen, in Gruppen aus Ressourcenblöcken der zweiten Ebene bereitgestellt werden und eine höhere, zweite Ebene des ersten Ressourceneinheiten-Pools bilden, gekennzeichnet durch: das Empfangen einer Anforderung einer Ressource, die eine oder mehrere Ressourceneinheiten aus zumindest dem ersten Ressourceneinheiten-Pool benötigt, und das Zuteilen mindestens eines verfügbaren Ressourcenblocks aus einer der Ressourcenblockgruppen der ersten Ebene, bei denen einer der Ressourcenblöcke der ersten Ebene bereits zugeteilt worden ist.
  2. Verfahren nach Anspruch 1, das des Weiteren Folgendes umfasst: Zuteilen eines Ressourcenblocks aus einer Ressourcenblockgruppierung der ersten Ebene, die einem der Ressourcenblöcke der zweiten Ebene entspricht, wenn kein Ressourcenblock aus der Ressourcenblockgruppierung der ersten Ebene, bei der einer der Ressourcenblöcke der ersten Ebene bereits zugeteilt wurde, verfügbar ist.
  3. Verfahren nach Anspruch 2, bei dem der erste Ressourceneinheiten-Pool des Weiteren Folgendes enthält: Ressourcenblöcke der dritten Ebene (4: 28), die jeweils einer der Gruppen aus Ressourcenblöcken der zweiten Ebene entsprechen, in Gruppen aus Ressourcenblöcken der zweiten Ebene bereitgestellt werden und eine höhere, dritte Ebene bilden, wobei das Verfahren des Weiteren Folgendes umfasst: Zuteilen eines Ressourcenblocks aus einer der Ressourcenblockgruppierungen der dritten Ebene, wenn kein Ressourcenblock aus einer Ressourcenblockgruppierung der ersten oder der zweiten Ebene verfügbar ist.
  4. Verfahren nach Anspruch 3, das des Weiteren Folgendes umfasst: Empfangen einer Anforderung für einen Ressourcenblock der zweiten Ebene und Zuteilen eines verfügbaren Ressourcenblocks der zweiten Ebene aus einer Ressourcenblockgruppierung der zweiten Ebene, die mindestens einen Ressourcenblock der zweiten Ebene umfasst, der bereits zugeteilt worden ist.
  5. Verfahren nach Anspruch 4, das des Weiteren Folgendes umfasst: Zuteilen eines Ressourcenblocks der zweiten Ebene aus einer Ressourcenblockgruppierung der zweiten Ebene, die einem der Ressourcenblöcke der dritten Ebene entspricht, wenn kein Ressourcenblock der zweiten Ebene aus einer Ressourcenblockgruppierung der zweiten Ebene, bei der einer der Ressourcenblöcke der zweiten Ebene bereits zugeteilt wurde, verfügbar ist.
  6. Verfahren nach Anspruch 1, das des Weiteren Folgendes umfasst: Wiedereingliedern eines zurückgegebenen Ressourcenblocks der ersten Ebene in eine Ressourcenblockgruppierung der ersten Ebene, bei der einer der Ressourcenblöcke der ersten Ebene bereits zugeteilt worden ist.
  7. Verfahren nach Anspruch 1, das des Weiteren Folgendes umfasst: Zuteilen von Ressourcenblöcken aus einem Teil des Ressourceneinheiten-Pools, und Wiedereingliedern zurückgegebener Ressourcenblöcke aus einem anderen Teil des Ressourceneinheiten-Pools.
  8. Verfahren nach Anspruch 1, das des Weiteren Folgendes umfasst: Umorganisieren des Ressourceneinheiten-Pools durch Verschieben von Ressourcenblöcken der ersten Ebene von einer Gruppierung zu einer anderen, um einen zusätzlichen Ressourcenblock der zweiten Ebene zu erstellen.
  9. Verfahren nach Anspruch 8, bei dem das Umorganisieren nur dann durchgeführt wird, wenn eine Anforderung für einen Ressourcenblock der zweiten Ebene vorliegt und zu diesem Zeitpunkt kein Ressourcenblock der zweiten Ebene verfügbar ist.
  10. Verfahren nach Anspruch 1, das des Weiteren Folgendes umfasst: Festlegen, welche Ebene in dem ersten Ressourceneinheiten-Pool eine hohe Anzahl Anforderungen erhält, und Umorganisieren des ersten Ressourceneinbeiten-Pools durch Verschieben von Ressourcenblöcken von einer Gruppierung zu einer anderen, um einen zusätzlichen Ressourcenblock einer höheren Ebene bis hin zur festgelegten Ebene zu erstellen.
  11. Verfahren nach Anspruch 1, das des Weiteren die folgenden Schritte umfasst: Konfigurieren einer zweiten Datenstruktur, die einem zweiten Pool einer zweiten Art von Ressourceneinheiten entspricht, Herstellen einer Beziehung zwischen Ressourceneinheiten der ersten Art in der ersten Datenstruktur und Ressourceneinheiten der zweiten Art in der zweiten Datenstruktur, Benutzen der hergestellten Beziehung für das Zuteilen verfügbarer Ressourceneinheiten aus dem ersten und dem zweiten Ressourceneinheiten-Pool, um auf die Anforderung zu reagieren.
  12. Verfahren nach Anspruch 11, bei dem zu der Beziehung eine Eineindeutigkeit zwischen einzelnen Ressourceneinheiten der ersten und der zweiten Art gehört.
  13. Verfahren nach Anspruch 12, bei dem der erste Ressourceneinheiten-Pool erste Ressourceneinheiten der ersten Art auf der niedrigsten Ebene, die in Gruppen bereitgestellt werden, und zweite Ressourceneinheiten der ersten Art auf einer höheren Ebene, die in Gruppen bereitgestellt werden, enthält, die jeweils einer der Gruppen aus Ressourcenblöcken der ersten Ebene entsprechen, und bei dem der zweite Ressourceneinheiten-Pool erste Ressourceneinheiten der zweiten Art auf der niedrigsten Ebene, die in Gruppen bereitgestellt werden, und zweite Ressourceneinheiten der zweiten Art auf einer höheren Ebene, die in Gruppen bereitgestellt werden, enthält, die jeweils einer der Gruppen aus Ressourceneinheiten der zweiten Art auf der ersten Ebene entsprechen.
  14. Verfahren nach Anspruch 11, bei dem zu der Herstellung einer Beziehung das Herstellen einer Matrix gehört, wobei jede Reihe in der Matrix für eine Ressourceneinheit der ersten Art und jede Spalte für eine Ressourceneinheit der zweiten Art steht, so dass durch die Auswahl einer Reihe oder einer Spalte, die einer Ressourceneinheit der einen Art entspricht, gleichzeitig eine Spalte beziehungsweise eine Reihe ausgewählt wird, die einer Ressourceneinheit der anderen Art entspricht.
  15. Verfahren nach Anspruch 14, das des Weiteren Folgendes umfasst: Konfigurieren der Matrix, so dass jede Reihe nur eine der Spalten auswählt.
  16. Verfahren nach Anspruch 15, das des Weiteren Folgendes umfasst: Rekonfigurieren der Matrix.
  17. Verfahren nach Anspruch 11, bei dem es sich bei den Ressourceneinheiten der ersten Art um Software-Ressourceneinheiten und bei den Ressourceneinheiten der zweiten Art um Hardware-Ressourceneinheiten handelt.
  18. Verfahren nach Anspruch 11 bei Anwendung in einem CDMA-Kommunikationssystem (CDMA = Code Division Multiple Access), bei dem es sich bei den Ressourceneinheiten der ersten Art um CDMA-Spreizcodes und bei den Ressourceneinheiten der zweiten Art um Datenverarbeitungs- und Sende-Empfangs-Hardware handelt.
  19. Kommunikationssystem, das Folgendes umfasst: einen ersten Pool (12) aus Kommunikationsressourceneinheiten, die in einer Struktur mit mehreren Ebenen konfiguriert sind, die Folgendes enthält: Ressourcenblöcke der ersten Ebene (4: 20, 21, 22, 23, 25, 26), die jeweils einer oder mehreren Ressourceneinheiten entsprechen, in Gruppen aus Ressourcenblöcken der ersten Ebene bereitgestellt werden und eine niedrigste, erste Ebene bilden, und Ressourcenblöcke der zweiten Ebene (4: 24, 27, 29, 30), die jeweils einer ersten Gruppierung der Ressourcenblöcke auf der ersten Ebene entsprechen und über der ersten Ebene eine zweite Ebene bilden, und gekennzeichnet durch: einen Kommunikationsressourcen-Manager (11, 200), der dafür vorgesehen ist, als Reaktion auf Kommunikationsressourcen-Anforderungen verschiedene der Ressourcenblöcke zuzuteilen, zugeteilte Ressourcenblöcke zu entfernen und regelmäßig umzuorganisieren, indem er einen oder mehrere Ressourcenblöcke einer niedrigeren Ebene von einer Gruppierung zu einer anderen verschiebt, um einen zusätzlichen Ressourcenblock einer höheren Ebene zu erstellen.
  20. Kommunikationssystem nach Anspruch 19, bei dem der Kommunikationsressourcen-Manager dafür vorgesehen ist, die Struktur umzuorganisieren, wenn eine Anforderung für eine Ressource auf höherer Ebene vorliegt und zu diesem Zeitpunkt keine Ressource auf höherer Ebene verfügbar ist.
  21. Kommunikationssystem nach Anspruch 19, bei dem der Kommunikationsressourcen-Manager dafür vorgesehen ist, mit Hilfe einer minimalen Anzahl von Verschiebungen von Ressourcenblöcken der niedrigeren Ebene von einer Gruppierung zu einer anderen umzuorganisieren, um einen zusätzlichen Ressourcenblock einer höheren Ebene zu erstellen.
  22. Kommunikationssystem nach Anspruch 19, bei dem der Kommunikationsressourcen-Manager dafür vorgesehen ist, verfügbare Ressourcenblöcke aus einem Teil der Struktur zuzuteilen, und zurückgegebene Kommunikationsressourcenblöcke aus einem anderen Teil der Struktur wieder eingliedert.
  23. Kommunikationssystem nach Anspruch 19, bei dem der Pool aus Kommunikationsressourceneinheiten Folgendes enthält: dritte Ressourcenblöcke (4: 28), die jeweils einer zweiten Gruppierung der zweiten Ressourcenblöcke entsprechen und über der zweiten Ebene eine dritte Ebene bilden, und bei dem der Kommunikationsressourcen-Manager dafür vorgesehen ist, Ressourcenblöcke so zuzuteilen, dass die größtmögliche Anzahl an Ressourcen der höheren Ebene für die Zuteilung erhalten bleibt.
  24. Kommunikationssystem nach Anspruch 19, bei dem der Pool aus Kommunikationsressourceneinheiten Folgendes enthält: dritte Ressourcenblöcke, die jeweils einer zweiten Gruppierung der zweiten Ressourcenblöcke entsprechen und über der zweiten Ebene eine dritte Ebene bilden, und bei dem der Kommunikationsressourcen-Manager dafür vorgesehen ist, zurückgegebene Ressourcenblöcke so wieder einzugliedern, dass die größtmögliche Anzahl an Ressourcen der höheren Ebene verfügbar ist.
  25. Kommunikationssystem nach Anspruch 19, bei dem es sich bei der Struktur um eine listenförmige Datenstruktur handelt, die in einem Speicher gespeichert ist.
  26. Kommunikationssystem nach Anspruch 19, das des Weiteren Folgendes umfasst: einen zweiten Pool aus entsprechenden Kommunikationsressourceneinheiten, die in einer Struktur mit mehreren Ebenen konfiguriert sind, eine Adressierungseinheit (206), die dafür vorgesehen ist, Ressourceneinheiten des ersten Pools mit entsprechenden Ressourceneinheiten des zweiten Pools zu adressieren, einen Kommunikationsressourcen-Manager, der dafür vorgesehen ist, als Reaktion auf eine Kommunikationsressourcen-Anforderung eine oder mehrere der Ressourceneinheiten in dem ersten Pool zuzuteilen, und außerdem auf der Grundlage der ermittelten Adressierung die entsprechende eine oder die entsprechenden mehreren Ressourceneinheiten in dem zweiten Pool zuteilt.
  27. Kommunikationssystem nach Anspruch 26, bei dem der erste Pool aus Ressourceneinheiten Software-Ressourceneinheiten und der zweite Pool aus Ressourceneinheiten Hardware-Ressourceneinheiten enthält.
  28. Kommunikationssystem nach Anspruch 26, wobei das Kommunikationssystem ein CDMA-Funkkommunikationssystem ist, bei dem es sich bei dem ersten Ressourceneinheiten-Pool um CDMA-Spreizcodes und bei dem zweiten Ressourceneinheiten-Pool um Datenverarbeitungs- und Sende-Empfangs-Hardware-Einheiten handelt.
  29. Kommunikationssystem nach Anspruch 28, bei dem die Adressierungseinheit eine Matrix enthält, wobei jede Reihe in der Matrix für einen anderen CDMA-Spreizcode und jede Spalte für eine andere Datenverarbeitungs- und Sende-Empfangs-Einheit steht, so dass durch die Auswahl eines CDMA-Spreizcodes oder einer Datenverarbeitungs- und Sende-Empfangs-Einheit gleichzeitig eine entsprechende Datenverarbeitungs- und Sende-Empfangs-Einheit beziehungsweise ein entsprechender CDMA-Spreizcode ausgewählt wird.
  30. Kommunikationssystem nach Anspruch 29, bei dem die Adressierungseinheit ein Mittel enthält, mit dem die Matrix so konfiguriert werden kann, dass sich jede Reihe nur auf eine der Spalten bezieht.
  31. Kommunikationssystem nach Anspruch 28, bei dem die Adressierungseinheit ein Mittel enthält, mit dem die Matrix rekonfiguriert werden kann.
  32. Vorrichtung, die Folgendes umfasst: ein Mittel, mit dem eine erste Datenstruktur gespeichert werden kann, die einem ersten Pool aus Ressourceneinheiten einer ersten Art entspricht, wobei der erste Ressourceneinheiten-Pool erste Ressourceneinheiten der ersten Art auf der niedrigsten Ebene (4: 20, 21, 22, 23, 25, 26), die in Gruppen bereitgestellt werden, und zweite Ressourceneinheiten der ersten Art auf einer höheren Ebene (4: 24, 27, 29, 30), die in Gruppen bereitgestellt werden, enthält, die jeweils einer der Gruppen aus Ressourcenblöcken der ersten Ebene entsprechen, ein Mittel, mit dem eine Anforderung für eine oder mehrere Ressourceneinheiten empfangen werden kann, gekennzeichnet durch das Vorhandensein eines Zuteilungsmittels, mit dem eine verfügbare erste Ressourceneinheit aus einer der ersten Ressourcenblockgruppen zugeteilt werden kann, bei der einer der ersten Ressourcenblöcke bereits zugeteilt worden ist.
  33. Vorrichtung nach Anspruch 32, bei der das Zuteilungsmittel dafür vorgesehen ist, einen ersten Ressourcenblock aus einer ersten Ressourcenblockgruppierung zuzuteilen, die einem der zweiten Ressourcenblöcke entspricht, wenn kein erster Ressourcenblock aus einer ersten Ressourcenblockgruppierung, bei der einer der ersten Ressourcenblöcke bereits zugeteilt wurde, verfügbar ist.
  34. Vorrichtung nach Anspruch 33, bei der der erste Ressourceneinheiten-Pool des Weiteren Folgendes enthält: dritte Ressourcenblöcke, die jeweils einer der Gruppen aus zweiten Ressourcenblöcken entsprechen, in Gruppen aus zweiten Ressourcenblöcken bereitgestellt werden und eine höhere, dritte Ebene bilden, und wenn kein erster Ressourcenblock aus einer ersten oder einer zweiten Ressourcenblockgruppierung verfügbar ist, ist das Zuteilungsmittel dafür vorgesehen, einen ersten Ressourcenblock aus einer der dritten Ressourcenblockgrappierungen zuzuteilen.
  35. Vorrichtung nach Anspruch 34, bei der das Empfangsmittel dafür vorgesehen ist, eine Anforderung von einem zweiten Ressourcenblock zu empfangen, und das Zuteilungsmittel dafür vorgesehen ist, einen verfügbaren zweiten Ressourcenblock aus einer zweiten Ressourcenblockgruppierung zuzuteilen, bei der einer der zweiten Ressourcenblöcke bereits zugeteilt worden ist.
  36. Vorrichtung nach Anspruch 35, bei der: das Zuteilungsmittel dafür vorgesehen ist, einen zweiten Ressourcenblock aus einer zweiten Ressourcenblockgruppierung zuzuteilen, die einem der dritten Ressourcenblöcke entspricht, wenn kein zweiter Ressourcenblock aus einer zweiten Ressourcenblockgruppierung, bei der einer der zweiten Ressourcenblöcke bereits zugeteilt wurde, verfügbar ist.
  37. Vorrichtung nach Anspruch 32, bei der: ein Wiedereingliederungsmittel dafür vorgesehen ist, einen zurückgegebenen ersten Ressourcenblock wieder in eine erste Ressourcenblockgruppierung, bei der einer der ersten Ressourcenblöcke bereits zugeteilt worden ist, einzugliedern.
  38. Vorrichtung nach Anspruch 32, bei der: das Zuteilungsmittel dafür vorgesehen ist, Ressourcenblöcke aus einem Teil des Ressourceneinheiten-Pools zuzuteilen, und das Wiedereingliederungsmittel dafür vorgesehen ist, zurückgegebene Ressourcenblöcke aus einem anderen Teil des Ressourceneinheiten-Pools wieder einzugliedern.
  39. Vorrichtung nach Anspruch 32, die des Weiteren Folgendes umfasst: ein Umorganisierungsmittel, mit dem der Ressourceneinheiten-Pool durch Verschieben von ersten Ressourcenblöcken von einer Gruppierung zu einer anderen umorganisiert werden kann, um einen zusätzlichen zweiten Ressourcenblock zu erstellen.
  40. Vorrichtung nach Anspruch 39, bei der das Umorganisieren des Ressourceneinheiten-Pools durchgeführt wird, wenn eine Anforderung für einen zweiten Ressourcenblock vorliegt und zu diesem Zeitpunkt kein zweiter Ressourcenblock verfügbar ist.
  41. Vorrichtung nach Anspruch 32, die des Weiteren Folgendes umfasst: ein Festlegungsmittel, mit dem festgelegt werden kann, welche Ebene in dem ersten Ressourceneinheiten-Pool eine größere Anzahl Anforderungen erhält, und ein Umorganisationsmittel, mit dem der erste Ressourceneinheiten-Pool durch Verschieben von Ressourcenblöcken von einer Gruppierung zu einer anderen umorganisiert werden kann, um einen zusätzlichen Ressourcenblock einer höheren Ebene bis hin zur festgelegten Ebene zu erstellen.
  42. Vorrichtung nach Anspruch 32, die des Weiteren Folgendes umfasst: ein Mittel, mit dem eine zweite Datenstruktur gespeichert werden kann, die einem zweiten Pool einer zweiten Art von Ressourceneinheiten entspricht, ein Mittel, mit dem eine Beziehung zwischen Ressourceneinheiten der ersten Art in der ersten Datenstruktur und Ressourceneinheiten der zweiten Art in der zweiten Datenstruktur hergestellt werden kann, und ein Mittel, mit dem eine Anforderung einer Ressource empfangen werden kann, die eine oder mehrere Ressourceneinheiten aus dem ersten und dem zweiten Ressourceneinheiten-Pool benötigt, und das die ermittelte Beziehung für das Zuteilen verfügbarer Ressourceneinheiten aus dem ersten und dem zweiten Ressourceneinheiten-Pool als Reaktion auf die Anforderung benutzen kann.
  43. Vorrichtung nach Anspruch 42, bei der die Beziehung sicherstellt, dass, wenn eine der Ressourceneinheiten der ersten Art in dem ersten Pool zugeteilt werden kann, auch eine entsprechende Ressourceneinheit der zweiten Art in dem zweiten Pool zugeteilt werden kann.
  44. Vorrichtung nach Anspruch 42, bei der zu der Beziehung eine Eineindeutigkeit zwischen einzelnen Ressourceneinheiten der ersten und der zweiten Art gehört.
  45. Vorrichtung nach Anspruch 42, bei der der erste Ressourceneinheiten-Pool erste Ressourceneinheiten der ersten Art auf der niedrigsten Ebene, die in Gruppen bereitgestellt werden, und zweite Ressourceneinheiten der ersten Art auf einer höheren Ebene, die in Gruppen bereitgestellt werden, enthält, die jeweils einer der Gruppen aus Ressourcenblöcken der ersten Ebene entsprechen, und bei dem der zweite Ressourceneinheiten-Pool erste Ressourceneinheiten der zweiten Art auf der niedrigsten Ebene, die in Gruppen bereitgestellt werden, und zweite Ressourceneinheiten der zweiten Art auf einer höheren Ebene, die in Gruppen bereitgestellt werden, enthält, die jeweils einer der Gruppen aus Ressourceneinheiten der zweiten Art auf der ersten Ebene entsprechen.
  46. Vorrichtung nach Anspruch 42, bei der das Beziehungsherstellungsmittel dafür vorgesehen ist, eine Matrix herzustellen, wobei jede Reihe in der Matrix für eine Ressourceneinheit der ersten Art und jede Spalte für eine Ressourceneinheit der zweiten Art steht, so dass durch die Auswahl einer Reihe oder einer Spalte, die einer Ressourceneinheit der einen Art entspricht, gleichzeitig eine Spalte beziehungsweise eine Reihe ausgewählt wird, die einer Ressourceneinheit der anderen Art entspricht.
  47. Vorrichtung nach Anspruch 42, die des Weiteren Folgendes umfasst: ein Mittel, mit dem die Matrix so konfiguriert werden kann, dass jede Reihe nur eine der Spalten auswählt.
  48. Vorrichtung nach Anspruch 42, die des Weiteren Folgendes umfasst: ein Mittel, mit dem die Matrix rekonfiguriert werden kann.
DE69937397T 1998-04-29 1999-04-23 Ressourcenzuweisung Expired - Lifetime DE69937397T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US09/069,168 US6333936B1 (en) 1998-04-29 1998-04-29 Method and apparatus for allocating processing resources
US69168 1998-04-29
US143619 1998-08-28
US09/143,619 US6466559B1 (en) 1998-04-29 1998-08-28 Method and apparatus for allocating processing resources
PCT/SE1999/000664 WO1999056475A1 (en) 1998-04-29 1999-04-23 Resource allocation

Publications (2)

Publication Number Publication Date
DE69937397D1 DE69937397D1 (de) 2007-12-06
DE69937397T2 true DE69937397T2 (de) 2008-08-07

Family

ID=22087184

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69937397T Expired - Lifetime DE69937397T2 (de) 1998-04-29 1999-04-23 Ressourcenzuweisung

Country Status (5)

Country Link
US (2) US6333936B1 (de)
KR (1) KR100639593B1 (de)
AR (1) AR018597A1 (de)
DE (1) DE69937397T2 (de)
TW (1) TW412695B (de)

Families Citing this family (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19827347A1 (de) * 1998-06-19 1999-12-23 Alcatel Sa Verfahren zum Anbieten und Bereithalten von Netzkapazität sowie Netzmanagementeinrichtung zur Durchführung des Verfahrens
FR2784525B1 (fr) * 1998-10-12 2006-07-28 Cit Alcatel Procede d'allocation de codes orthogonaux dans un systeme de radiocommunications mobiles du type a acces multiple par repartition de codes utilisant des codes de longueur variable
US8234650B1 (en) 1999-08-23 2012-07-31 Oracle America, Inc. Approach for allocating resources to an apparatus
US6779016B1 (en) * 1999-08-23 2004-08-17 Terraspring, Inc. Extensible computing system
US7703102B1 (en) 1999-08-23 2010-04-20 Oracle America, Inc. Approach for allocating resources to an apparatus based on preemptable resource requirements
US8032634B1 (en) 1999-08-23 2011-10-04 Oracle America, Inc. Approach for allocating resources to an apparatus based on resource requirements
US8179809B1 (en) * 1999-08-23 2012-05-15 Oracle America, Inc. Approach for allocating resources to an apparatus based on suspendable resource requirements
US8019870B1 (en) 1999-08-23 2011-09-13 Oracle America, Inc. Approach for allocating resources to an apparatus based on alternative resource requirements
US7103647B2 (en) * 1999-08-23 2006-09-05 Terraspring, Inc. Symbolic definition of a computer system
US7463648B1 (en) 1999-08-23 2008-12-09 Sun Microsystems, Inc. Approach for allocating resources to an apparatus based on optional resource requirements
EP1100215A1 (de) 1999-11-09 2001-05-16 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Verfahren, Vorrichtung und Rechnerprogramm zur Kodezuweisung für variable Datenraten in einem CDMA-system
JP4434408B2 (ja) * 2000-02-02 2010-03-17 富士通株式会社 情報処理装置
US7093005B2 (en) * 2000-02-11 2006-08-15 Terraspring, Inc. Graphical editor for defining and creating a computer system
US6714980B1 (en) 2000-02-11 2004-03-30 Terraspring, Inc. Backup and restore of data associated with a host in a dynamically changing virtual server farm without involvement of a server that uses an associated storage device
US6836888B1 (en) * 2000-03-17 2004-12-28 Lucent Technologies Inc. System for reverse sandboxing
US7269185B2 (en) * 2000-05-22 2007-09-11 Nortel Networks Limited Management and control of multi-layer networks
US7487152B1 (en) * 2000-05-31 2009-02-03 International Business Machines Corporation Method for efficiently locking resources of a global data repository
US6768901B1 (en) * 2000-06-02 2004-07-27 General Dynamics Decision Systems, Inc. Dynamic hardware resource manager for software-defined communications system
US7050807B1 (en) 2000-06-12 2006-05-23 General Dynamics Decision Systems, Inc. Hardware resource identifier for software-defined communications system
JP2002057699A (ja) * 2000-08-11 2002-02-22 Nec Corp パケット伝送方式、パケット伝送方法及び記録媒体
GB0028261D0 (en) * 2000-11-20 2001-01-03 Nokia Networks Oy Network resource reallocation in iub
US7412492B1 (en) 2001-09-12 2008-08-12 Vmware, Inc. Proportional share resource allocation with reduction of unproductive resource consumption
US20030061262A1 (en) * 2001-09-25 2003-03-27 Hahn Stephen C. Method and apparatus for partitioning resources within a computer system
US6952828B2 (en) * 2001-09-26 2005-10-04 The Boeing Company System, method and computer program product for dynamic resource management
US7254813B2 (en) * 2002-03-21 2007-08-07 Network Appliance, Inc. Method and apparatus for resource allocation in a raid system
US7437727B2 (en) * 2002-03-21 2008-10-14 Network Appliance, Inc. Method and apparatus for runtime resource deadlock avoidance in a raid system
DE10235544B4 (de) * 2002-03-25 2013-04-04 Agere Systems Guardian Corp. Verfahren für eine verbesserte Datenkommunikation aufgrund einer verbesserten Datenverarbeitung innerhalb eines Senders/Empfängers
US7426182B1 (en) * 2002-08-28 2008-09-16 Cisco Technology, Inc. Method of managing signal processing resources
US7236512B2 (en) * 2002-09-09 2007-06-26 Qualcomm Incorporated Code channel allocations in a wireless communications system
CN1523797B (zh) * 2003-02-17 2012-07-04 北京三星通信技术研究有限公司 Wcdma系统增强型上行专用信道harq的重排序方法
US7328364B1 (en) 2003-03-21 2008-02-05 Network Appliance, Inc. Technique for coherent suspension of I/O operations in a RAID subsystem
US7606892B2 (en) * 2003-04-22 2009-10-20 Hewlett-Packard Development Company, L.P. Method and system of supporting a computer network resource pool
FR2855008B1 (fr) * 2003-05-12 2005-11-04 Nortel Networks Ltd Procede de controle d'allocation de codes orthogonaux a facteur d'etalement variable dans un reseau radio cellulaire, et equipements de controle pour la mise en oeuvre du procede.
DE60315293T2 (de) * 2003-08-11 2008-05-08 Alcatel Lucent Verfahren zur dynamischen Zuordnung von CDMA-Codes zu einer Basisstation
US9778959B2 (en) 2004-03-13 2017-10-03 Iii Holdings 12, Llc System and method of performing a pre-reservation analysis to yield an improved fit of workload with the compute environment
CA2559603A1 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
CA2559584A1 (en) * 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method of providing a self-optimizing reservation in space of compute resources
US7890629B2 (en) * 2004-03-13 2011-02-15 Adaptive Computing Enterprises, Inc. System and method of providing reservation masks within a compute environment
US7971204B2 (en) 2004-03-13 2011-06-28 Adaptive Computing Enterprises, Inc. System and method of co-allocating a reservation spanning different compute resources types
US20050240928A1 (en) * 2004-04-09 2005-10-27 Brown Theresa M Resource reservation
US20050245267A1 (en) * 2004-04-30 2005-11-03 Guethaus Roland J Methods of allocating a channel to baseband processing units in a communication system
US7583658B1 (en) 2004-06-17 2009-09-01 Cisco Technology, Inc. Signal processing allocation using credit prediction
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US7506009B2 (en) * 2005-01-28 2009-03-17 Dell Products Lp Systems and methods for accessing a shared storage network using multiple system nodes configured as server nodes
US9075657B2 (en) 2005-04-07 2015-07-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
WO2006098725A2 (en) 2005-03-11 2006-09-21 Cluster Resources, Inc. System and method for enforcing future policies in a compute environment
US7996455B2 (en) * 2005-06-17 2011-08-09 Adaptive Computing Enterprises, Inc. System and method for providing dynamic roll-back reservations in time
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
DE602005007224D1 (de) * 2005-08-30 2008-07-10 Ntt Docomo Inc gers, Basisstation für ein mobiles Kommunikationsnetz, Verfahren und Computerprogramme zu ihrem Betrieb
EP1981302A4 (de) * 2006-01-23 2012-02-01 Sharp Kk Basisstationsgerät, mobilstationsgerät, verfahren für die zuweisung von mobilstationsidentifikatoren, programm und aufzeichnungsmedium
GB2436416A (en) 2006-03-20 2007-09-26 Nec Corp Signal resource allocation in a communication system using a plurality of subcarriers
KR101319877B1 (ko) * 2006-11-01 2013-10-18 엘지전자 주식회사 자원 할당 방법 및 자원 할당 정보 전송 방법
US8068513B2 (en) * 2007-05-07 2011-11-29 Nokia Siemens Networks Gmbh & Co. Kg Determining load measure for network element
US8204008B2 (en) * 2007-06-22 2012-06-19 Apple Inc. Techniques for resource block mapping in a wireless communication system
US8127295B1 (en) * 2007-08-03 2012-02-28 Oracle America, Inc. Scalable resource allocation
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US9532347B2 (en) * 2007-10-18 2016-12-27 Samsung Electronics Co., Ltd. Method and apparatus for allocating resources in a wireless communication system
US20090257392A1 (en) * 2008-04-14 2009-10-15 Futurewei Technologies, Inc. System and Method for Efficiently Packing Two-Dimensional Data Bursts in a Downlink of a Wireless Communications System
CN101621845B (zh) * 2008-07-01 2012-04-04 中兴通讯股份有限公司 资源指示方法和装置
JP5280322B2 (ja) * 2009-09-07 2013-09-04 Kddi株式会社 周波数ブロック割当装置、周波数ブロック割当方法及びコンピュータプログラム
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
WO2011074817A2 (ko) * 2009-12-15 2011-06-23 (주)팬택 무선통신 시스템에서의 자원 구성 방법과 구성된 자원에서의 데이터 송수신 방법 및 이를 위한 장치
US8589936B2 (en) 2010-03-16 2013-11-19 Alcatel Lucent Method and apparatus for managing reallocation of system resources
US8463908B2 (en) * 2010-03-16 2013-06-11 Alcatel Lucent Method and apparatus for hierarchical management of system resources
US8863140B2 (en) * 2011-08-29 2014-10-14 Oracle International Corporation Method for resource management allocating and freeing credits from and to a resource credit tree
CN104640211B (zh) * 2013-11-08 2019-06-25 电信科学技术研究院 一种发送和接收数据的方法、系统及设备
EP3349388B1 (de) * 2015-09-11 2022-04-20 LG Electronics Inc. Verfahren zum senden und empfangen von signalen in einem v2x-drahtloskommunikationssystem und vorrichtung dafür
JP6462179B2 (ja) * 2016-02-23 2019-01-30 京セラ株式会社 無線端末、基地局、及び方法
CN107124323B (zh) * 2016-02-24 2020-02-14 华为技术有限公司 确定资源指标的方法和装置
US10223171B2 (en) * 2016-03-25 2019-03-05 Intel Corporation Mitigating load imbalances through hierarchical performance balancing
US10291480B2 (en) * 2016-03-29 2019-05-14 Cisco Technology, Inc. Fog-based hybrid system for optimal distribution of anomaly detection and remediation services
WO2017179133A1 (ja) * 2016-04-12 2017-10-19 富士通株式会社 移動局、基地局、無線通信システム及び無線通信方法
KR20180059306A (ko) * 2016-11-25 2018-06-04 삼성전자주식회사 안테나를 포함하는 장치 및 그 제어 방법
US11301305B2 (en) 2020-01-07 2022-04-12 Bank Of America Corporation Dynamic resource clustering architecture
US11334393B2 (en) 2020-01-07 2022-05-17 Bank Of America Corporation Resource cluster chaining architecture
US10938742B1 (en) 2020-01-31 2021-03-02 Bank Of America Corporation Multiplexed resource allocation architecture
US11182096B1 (en) 2020-05-18 2021-11-23 Amazon Technologies, Inc. Data storage system with configurable durability
US11704058B2 (en) 2020-07-28 2023-07-18 Samsung Electronics Co., Ltd. Systems and methods for resource-based scheduling of commands
US11620159B2 (en) 2021-04-23 2023-04-04 Samsung Electronics Co., Ltd. Systems and methods for I/O command scheduling based on multiple resource parameters
CN113254223B (zh) * 2021-07-14 2021-10-15 苏州浪潮智能科技有限公司 一种系统重启后的资源分配方法、系统及相关组件

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4713806A (en) * 1986-03-14 1987-12-15 American Telephone And Telegraph Company, At&T Bell Laboratories Communication system control arrangement
US4720850A (en) 1986-03-14 1988-01-19 American Telephone And Telegraph Company At&T Bell Laboratories Communication system control arrangement
US5257387A (en) * 1988-09-09 1993-10-26 Compaq Computer Corporation Computer implemented method and apparatus for dynamic and automatic configuration of a computer system and circuit boards including computer resource allocation conflict resolution
US5440563A (en) * 1993-10-12 1995-08-08 At&T Corp. Service circuit allocation in large networks
SE502999C2 (sv) 1994-06-13 1996-03-11 Ericsson Telefon Ab L M Telekommunikationssystem
SE503021C2 (sv) 1994-06-13 1996-03-11 Ericsson Telefon Ab L M Driftstödsnät för ett telekommunikationsnät innefattande nätelement, telekommunikationsnät innefattande nätelement, nätelement samt sätt att strukturera programvara i ett nätelement
US5713075A (en) 1995-11-30 1998-01-27 Amsc Subsidiary Corporation Network engineering/systems engineering system for mobile satellite communication system
US6163544A (en) * 1995-12-08 2000-12-19 Telefonaktiebolaget Lm Ericsson Configuration method for auxiliary resources
SE508573C2 (sv) 1995-12-08 1998-10-19 Ericsson Telefon Ab L M Generisk informationsmodell för konfigurering, styrning och hantering av hjälpresurser i ett telekommunikationsnät
US5838968A (en) * 1996-03-01 1998-11-17 Chromatic Research, Inc. System and method for dynamic resource management across tasks in real-time operating systems
US5870378A (en) * 1996-08-20 1999-02-09 Lucent Technologies Inc. Method and apparatus of a multi-code code division multiple access receiver having a shared accumulator circuits
EP0861547B1 (de) * 1996-09-18 2005-07-06 Koninklijke Philips Electronics N.V. Nachrichtenverteilungssystem
US5890011A (en) * 1997-01-27 1999-03-30 International Business Machines Corporation Method and system for dynamically translating bus addresses within a computer system

Also Published As

Publication number Publication date
KR20010074492A (ko) 2001-08-04
AR018597A1 (es) 2001-11-28
US6333936B1 (en) 2001-12-25
TW412695B (en) 2000-11-21
DE69937397D1 (de) 2007-12-06
KR100639593B1 (ko) 2006-10-27
US6466559B1 (en) 2002-10-15

Similar Documents

Publication Publication Date Title
DE69937397T2 (de) Ressourcenzuweisung
DE69535010T2 (de) System und Verfahren zur Optimierung der spektralen Effizienz unter Verwendung von Zeit-Frequenz-Kode-Teilung
DE69726845T2 (de) Zeitmultiplexverfahren und zugehörige Anordnungen zur Verwendung in einer zentralen Station und Netzwerkendstellen eines Nachrichtenübertragungsnetzwerkes
DE69936847T2 (de) Verfahren und einrichtungen zur zuweisung von zeitschlitzen zu leitungsvermittelten kanälen
DE60214611T2 (de) Verfahren zur strukturierte Frequenzsprunganpassung
DE69727660T2 (de) Dynamische zuordnung der bandbreite für ein kommunikationsmetz
EP1206083B1 (de) Drahtloses Netzwerk und zugeordnete Apparate für eine Auswahl von Transport-Format-Kombinationen
DE60032919T2 (de) Verbesserte rahmenstruktur für drahtloses nachrichtenübertragungssystem mit adaptiver modulation
EP3323257B1 (de) Aufbau und aufrechterhaltung eines netzwerkes
DE69936665T2 (de) Verfahren zur verwaltung von physischen betriebsmitteln in einem funkzugriffsnetz
DE60315293T2 (de) Verfahren zur dynamischen Zuordnung von CDMA-Codes zu einer Basisstation
EP1075769B1 (de) Ressourcenzuweisung
DE60036428T2 (de) Paketkommunikationssystem und darin benutzte netzseitige Vorrichtung, sowie Zeitschlitzzuweisungsverfahren.
DE69927782T2 (de) Uebertragung von einen Baum der zugeteilten Kodes für ein CDMA system
DE69937486T2 (de) Verfahren und gerät in einem mobilen telekommunikationsnetz
EP1246484A2 (de) Verfahren und Basisstation zur Basisband-Verarbeitung von Empfangssignalen
DE102020200973A1 (de) Verfahren, systeme und vorrichtungen für drahtloskommunikation basierend auf digitalen ofdma-modulationsschemata
DE60320532T2 (de) Präemptive Ablaufsteuerung mit Präzedenz zur Bandbreitenkommunikationsverbindung
DE60210627T2 (de) Burst-Reservierungsschema mit Vielfachzugriff mit freier Bandbreitenzuweisung auf Anforderung
DE60200046T2 (de) System zur Zuweisung und Freigabe von Walsh-Codes
DE19909779A1 (de) Verfahren zur Ressourcenzuteilung in einem Funk-Kommunikationssytem
DE60311639T2 (de) Basisstation mit diversität für ein telekommunikationssystem
WO2000008789A1 (de) Verfahren und einrichtung zur kanalzuteilung in einem kommunikationssystem mit cdma-teilnehmerseparierung
DE60225838T2 (de) Verfahren zur Codeneuzuteilung in Telekommunikationssystemen diesbezügliches System und Computerprodukt
EP0966798B1 (de) Netz zum übertragen von datenpaketen und verfahren zum betreiben des netzes

Legal Events

Date Code Title Description
8364 No opposition during term of opposition