-
BESCHREIBUNG DER ERFINDUNG
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf das Simulieren von Netzen,
und ganz besonders auf das Simulieren von Netzen mit heterogenem
Verkehr.
-
Hintergrund der Erfindung
-
Kapazitätsplanungstools
werden verwendet, um die Leistung eines Netzes zu untersuchen. Typischerweise
sind Kapazitätsplanungstools
für einen speziellen
Typ von Netzwerk und Verkehr maßgeschneidert.
Zum Beispiel verwenden bekannte Netzkapazitätsplanungstools das Erlang-B-Modell
um die Kapazität
eines leitungsvermittelten Netzes für den Sprachverkehr unter einem
gegebenen Satz von Umständen
zu berechnen. Jedoch sind, aufgrund der Annahmen, die in dem Erlang-B-Modell
verwendet werden, Tools, die dieses Modell verwenden, ungeeignet,
um andere Typen von Netzen oder Verkehr zu untersuchen, wie zum
Beispiel paketvermittelnde Netze, welche Datenverkehr übertragen,
oder ein Netz, das eine Mischung aus Daten und Sprachverkehr überträgt. Ein
Beispiel kann in der Anlage in Dokument
US 6272450 (Telefonaktiebolaget Ericcson) 7-08-2001
gefunden werden.
-
Netze,
die eine Mischung aus Verkehr übertragen,
werden immer üblicher.
Zum Beispiel können die „Next Generation
Wireless Mobile Networks",
bekannt als 3rd Generation (3G) Netze, sowohl
Sprach- als auch Datenverkehr unterstützen. Zusätzlich zu Sprachanrufen wird
erwartet, dass 3G-Netze Daten-Dienste, wie zum Beispiel Internet
World Wide Web Browsing, E-Mail, File Transfer Protocol („FTP")-Dienste und Multimedia-Clips
bereitstellen. Leider sind bekannte Tools für Netze, wie zum Beispiel 3G-Netze,
die eine Mischung aus Verkehr übertragen,
ungeeignet.
-
Es
wäre daher
wünschenswert,
Methoden, Apparate und Systeme bereitzustellen, welche geeignet
sind, um Netze zu analysieren, welche sowohl eine heterogene Mischung
von Verkehr als auch andere Schwächen
des bekannten Stands der Technik übertragen.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Entsprechend
eines Aspekts der vorliegenden Erfindung wird ein Verfahren zum
Simulieren eines Netzes bereitgestellt, das Verkehr auf Schaltungs-Basis
und Verkehr auf Paket-Basis verarbeitet, welches wenigstens ein
Modell verwendet. Es werden Informationen empfangen, die eine Anordnung von
Ressourcen in dem Netz angeben. Ein erster Satz von Parametern für schaltungsbasierten
Verkehr und ein zweiter Satz von Parametern für paketbasierten Verkehr werden
empfangen. Informationen werden empfangen, die spezifizieren, wie
Ressourcen in dem Netz gemeinsam genutzt werden, um den schaltungsbasierten
Verkehr und den paketbasierten Verkehr zu bedienen. Entsprechende
Anfragen für den
schaltungsbasierten Verkehr werden für den ersten Satz von den Parametern
erzeugt und wenigstens ein Modell zum Simulieren des schaltungsbasierten
Verkehrs, und für
den paketbasierten Verkehr, basierend auf dem zweiten Satz von Parametern
und wenigstens einem Modell, zum Simulieren des paketbasierten Verkehrs.
Ob Ressourcen in dem Netz verfügbar
sind, um die Anfragen zu bedienen, wird basierend auf der Anordnung
des Netzes und den Informationen bestimmt, die das gemeinsame Nutzen
der Ressourcen spezifizieren. Ereignisse für jede der Anfragen werden
basierend auf der Verfügbarkeit
von Ressourcen im Netz bestimmt. Statistiken, die eine Servicequalität angeben,
welche von dem Netz für die
Anfragen bereitgestellt wird, wird dann basierend auf den bestimmten
Ereignissen bestimmt.
-
Entsprechend
eines anderen Aspekts der vorliegenden Erfindung wird ein System
zum Simulieren eines Netzes bereitgestellt, das Verkehr auf Schaltungs-Basis
und Verkehr auf Paket-Basis verarbeitet, wobei wenigstens ein Modell
verwendet wird. Es wird eine Schnittestelle konfiguriert, um Informationen
zu erhalten, welche eine Anordnung von Ressourcen in dem Netz angeben,
ein erster Satz von Parametern für
schaltungsbasierten Verkehr und einen zweiten Satz von Parametern
für paketbasierten Verkehr.
Eine Ressourcen-Tabelle gibt Ressourcen in dem Netz an, die zum
Bedienen des schaltungsbasierten Verkehrs und des paketbasierten
Verkehrs verfügbar
sind. Es wird wenigstens ein Modell verwendet, um simulierten schaltungsbasierten
Verkehr, basierend auf dem ersten Satz von Parametern zu erzeugen,
und wenigstens ein Modell, um simulierten paketbasierten Verkehr,
basierend auf dem zweiten Satz von Parametern, zu erzeugen. Ein
Ressourcen-Manager weist Ressourcen zu, um den simulierten schaltungsbasierten
Verkehr und den simulierten paketbasierten Verkehr basierend auf
der Anordnung des Netzes und der Ressourcentabelle zu bedienen. Ein
Statistik-Sammler bestimmt dann Statistiken, die eine Servicequalität angeben,
welche durch das Netz bereitgestellt wird, wenn der simulierte schaltungsbasierte
Verkehr und der simulierte paketbasierte Verkehr, basierend auf
der Zuweisung von Ressourcen bedient wird.
-
Zusätzliche
Merkmale der Erfindung werden teilweise in der Beschreibung dargelegt,
welche folgt, und werden teilweise aus der Beschreibung deutlich, oder
können
durch Ausnutzen der Erfindung gelernt werden. Es versteht sich,
dass sowohl die vorangegangene allgemeine Beschreibung, als auch
die folgende detaillierte Beschreibung nur beispielhaft und erklärend ist,
und die Erfindung, wie beschrieben, nicht einschränken. Weitere
Merkmale und /oder Variationen können
zusätzlich
zu denen, die hierin dargelegt sind, bereitgestelltwerden.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Die
beigefügten
Zeichnungen, welche enthalten sind und einen Teil dieser Spezifikation
bilden, sind veranschaulichende Ausführungsformen der Erfindung,
und zusammen mit der Beschreibung, dienen sie dazu, die Prinzipien
der Erfindung zu beschreiben.
-
Für die Figuren,
gilt:
-
1 veranschaulicht
einen Simulator, um entsprechend der Prinzipien der vorliegenden
Erfindung Verkehr in einem Netz zu simulieren;
-
2 veranschaulicht
entsprechend der Prinzipien der vorliegenden Erfindung ein Blockdiagramm
des Simulators, welcher in 1 gezeigt
ist;
-
3 veranschaulicht,
entsprechend der Prinzipien der vorliegenden Erfindung, ein Blockdiagramm
eines Modellierungs-Moduls, welches verwendet wird, um Verkehr in
einem Netz zu simulieren;
-
4–5 veranschaulichen
entsprechend der Prinzipien der vorliegenden Erfindung, einen Prozess,
um Verkehr in einem Netz zu simulieren; und
-
6–17 zeigen,
entsprechend der Prinzipien der vorliegenden Erfindung, beispielhafte Kurven,
welche bereitgestellt werden können,
um die angenommene Leistung eines Netzes, basierend auf dem simulierten
Verkehr zu veranschaulichen.
-
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Es
werden Verfahren, Apparate und Systeme bereitgestellt, um ein Netz
zu simulieren, welches eine heterogene Mischung von Verkehr überträgt. Es werden
Eingabeparameter für
die Simulation empfangen. Basierend auf den Eingabeparametern wird eine
virtuelle Darstellung des Netzes und eine heterogene Mischung von
simuliertem Verkehr erzeugt. Es werden dann ein oder mehrere Simulationsdurchläufe ausgeführt, um
die virtuelle Darstellung des Netzes, basierend auf Ereignissen
der heterogenen Mischung des simulierten Verkehrs zu laden. Während jedes
Simulationslaufes werden Statistiken gesammelt, während die
Ereignisse durch die virtuelle Darstellung verarbeitet werden. Die
Statistiken können
dann dargestellt werden, zum Beispiel in Form einer Kurve, um eine
erwartete Leistung des Netzes basierend auf der Leistung der virtuellen
Darstellung zu zeigen. Die Statistiken können ebenfalls dargestellt
werden, um den Effekt der Variationen in der Mischung von simuliertem
Verkehr auf die Leistung des virtuellen Netzes zu zeigen.
-
Es
wird nun im Detail Bezug genommen auf beispielhafte Ausführungsformen
der Erfindung, Beispiele, welche in den beigefügten Zeichnungen veranschaulicht
sind. Wo immer es möglich
ist, werden dieselben Bezugszeichen über alle Zeichnungen hinweg
verwendet, um auf dieselben oder ähnliche Teile zu referenzieren.
-
1 veranschaulicht
einen Simulator 100, um entsprechend der Prinzipien der
vorliegenden Erfindung Verkehr in einem Netz zu simulieren. Ein
Simulator 100 stellt eine Verarbeitungsplattform bereit, um
die Simulationen durchzuführen.
Insbesondere kann ein Simulator 100 eingesetzt werden,
wobei eine bekannte Ausstattung verwendet wird, wie zum Beispiel
ein Personal-Computer und/oder eine Workstation mit einer Tastatur,
Maus, Anzeige, Drucker, Speichervorrichtung, etc.. Obwohl ein Simulator 100 als
ein einzelner Apparat oder Vorrichtung gezeigt wird, kann ein Simulator 100 eine
Vielzahl von Vorrichtungen umfassen, welche miteinander verbunden sind.
Zum Beispiel kann ein Simulator 100 einen oder mehrere
Client-Computer umfassen, welche über ein Netzwerk mit einem
Server verbunden sind.
-
Ein
Simulator 100 kann ebenfalls Software beinhalten, welche
als eine Schnittstelle für
einen Anwender (nicht gezeigt) dient, wie zum Beispiel eine Browser-Anwendung,
oder eine Hardware-Schnittstelle (nicht gezeigt), wie zum Beispiel
einen Netzwerk-Adapter, welcher eine andere Vorrichtung oder ein
Netz verbindet. Ein Simulator 100 kann ebenfalls ein oder
mehrere Module von ausführbaren
Programmcode enthalten, wie zum Beispiel Module von Java-Code.
-
Ein
Simulator 100 beinhaltet weiter eine virtuelle Darstellung 102.
Eine virtuelle Darstellung 102 kann so konfiguriert sein,
um einen Teil eines Netzes oder ein gesamtes Netz darzustellen.
Bei einer Ausführungsform
ist die virtuelle Darstellungsform 102 so konfiguriert,
um ein Global System for Mobile Communications („GSM") Netz 104 darzustellen, welches Knoten 106, 108 und 110 und
Basisstationen 112, 114 und 116 umfasst.
Eine virtuelle Darstellung 102 kann in einer Vielzahl von
Formen eingesetzt werden, wie zum Beispiel eine Tabelle oder Liste,
ein oder mehrere dauerhafter Softwareobjekte, welche in einer Speichervorrichtung
gespeichert werden (nicht gezeigt), die mit einem Simulator 100 verbunden
ist.
-
2 veranschaulicht
ein Blockdiagramm eines Simulators 100 entsprechend den
Prinzipien der vorliegenden Erfindung. Wie gezeigt, umfasst ein Simulator 100 verschiedene
Komponenten, um eine virtuelle Darstellung 102 einzusetzen,
und um Simulationen mit der virtuellen Darstellung 102 durchzuführen. Zum
Beispiel kann ein Simulator 100 eine Simulationssteuerung 200,
ein Schnittstellen-Modul 202, einen Zellen-Generator/Zellen-Leser 204,
einen Kanal-Ressourcen-Manager 206, ein Modellierungs-Modul 208,
eine Ereignis-Steuerung 210, einen Statistik-Sammler 212,
eine Ressourcen-Tabelle 214, eine Ereignis-Liste 216 und
eine Statistik-Tabelle 218 beinhalten.
-
Bei
einer Ausführungsform
werden die Komponenten des Simulators 100 eingesetzt, wobei
eine objektorientierte Programmiersprache, wie zum Beispiel die
Java-Programmiersprache, verwendet wird. Zum Beispiel können die
Komponenten des Simulators 100 eingesetzt werden, wobei
eine oder mehrere Java-Klassen verwendet werden. Die Komponenten des
Simulators 100 können
dann miteinander kommunizieren, wobei die Messaging-Technik von
Java verwendet wird. Alternativ können die Komponenten des Simulators 100 eingesetzt
werden, wobei andere bekannte Programmiersprachen, wie zum Beispiel die
C++ Programmiersprache verwendet wird.
-
Eine
Simulationssteuerung 200 steuert den Fortgang von Simulationsläufen bei
einer virtuellen Darstellung 102 für einen Simulator 100.
Eine Simulations-Steuerung 200 ist mit einem Schnittstellen-Modul 202,
einem Zellen-Generator/Zellen-Lesegerät 204, einem Modellierungs-Modul 206,
einer Ereignis-Steuerung 208, einem Kanal-Ressourcen-Manager 210 und
einem Statistik-Sammler 212 verbunden. Eine Simulations-Steuerung 200 kann
mit diesen Komponenten basierend auf dem Austausch von Nachrichten
verbunden werden. Insbesondere kann eine Simulations-Steuerung 200 objektorientierten Programm-Code
enthalten, welcher eine definierte Schnittstelle zum Austausch von
Nachrichten mit den anderen Komponenten aufweist.
-
Ein
Schnittstellen-Modul 202 dient für einen Simulator 100 als
eine externe Schnittstelle, um die Eingabeparameter zu empfangen,
welche jeden Simulationslauf festlegen. Ein Schnittstellen-Modul 202 kann
mit einer Anwender-Eingabe-Vorrichtung, wie zum Beispiel einer Tastatur,
verbunden werden, um die Eingabeparameter von dem Anwender zu empfangen.
Ein Schnittstellen-Modul 202 kann ebenfalls über eine
Netzwerkverbindung, wie zum Beispiel eine Ethernet-Verbindung mit
einer anderen Vorrichtung verbunden werden, um die Eingabeparameter von
einem File zu erhalten, welcher in einen Simulator 100 downgeloaded
wurde.
-
Außerdem ist
ein Schnittstellen-Modul 202 mit einer Simulations-Steuerung 200 verbunden.
Entsprechend kann ein Schnittstellen-Modul die Eingabeparameter
an eine Simulations-Steuerung 200 weitergeben, wobei eine
oder mehrere Nachrichten verwendet werden.
-
Die
Eingabeparameter können
Folgendes spezifizieren: Steuerungs-Informationen für die Simulation;
eine Konfiguration von jeder Zelle in einer virtuellen Darstellung 102;
eine Konfiguration der in jeder Zelle verfügbaren Ressourcen; einen oder mehrer
Sätze von
Parametern, welche verwendet werden, um simulierten Verkehr zu erzeugen;
Parameter, um die Ausbreitung von Verkehr in jeder Zelle zu simulieren,
und Parameter, um eine Mobilität
von Verkehr zwischen Zellen in einer virtuellen Darstellung 102 zu
simulieren.
-
Bei
einer Ausführungsform
beinhalten die Parameter, die Steuerungsinformationen für die Simulation
spezifizieren, Folgendes: eine Anzahl von Wiederholungen oder Durchläufen für die Simulation, eine
Laufzeit; eine Zeitgrenze; ein Wachsen der Kapazität der virtuellen
Darstellung 102; und ein Wachsen des simulierten Verkehrs,
welcher für
jeden Simulationslauf erzeugt wird.
-
Um
die Konfiguration für
jede Zelle bei der virtuellen Darstellung 102 zu spezifizieren,
können die
Parameter Informationen, wie zum Beispiel einen Standort der Zelle,
eine Orientierung des Zellen-Angehörigen, einen Zellen-Radius,
eine Sender-Höhe, eine
Antennen-Ausrichtung, eine Antennen-Strahl-Breite, eine Nachbarliste
für jede
Zelle und eine übertragene
Leistung beinhalten.
-
Die
Parameter können
ebenfalls die Konfiguration von Ressourcen von jeder Zelle spezifizieren, wie
zum Beispiele eine Gesamtzahl von Basiskanälen, eine Gesamtanzahl von Kanälen, welche
für schaltungsbasierten
Verkehr reserviert werden, eine Gesamtanzahl von Kanälen, welche
für paketbasierten
Verkehr reserviert werden, und eine Zeitgrenze, innerhalb der jede
gegebene Ressource zu einem bestimmten Typ von paketbasiertem Anruf
zugewiesen werden kann.
-
Um
simulierten schaltungsbasierten Verkehr für jede Zelle zu erzeugen, können die
Eingabeparameter einen oder mehrere Sätze von Parametern beinhalten,
die Folgendes spezifizieren: eine mittlere Anruf-Ankunfts-Rate;
eine mittlere Anruf-Länge;
einen Wachstumsfaktor der mittleren Anruf-Ankunfts-Rate pro Simulationslauf;
einen Aktivitätsfaktor;
eine Datenrate; eine Anzahl von Basiskanälen, welche von jedem schaltungsbasierten
Anruf verwendet werden müssen;
eine Service-Priorität;
einen Service-Typ, und Startparameter-Indikatoren und Startparameter
für Zufalls-Prozesse,
welche verwendet werden, um schaltungsbasierten Anruf-Verkehr zu
erzeugen.
-
Um
simulierten paketbasierten Anruf-Verkehr für jede Zelle zu erzeugen, können die
Eingabeparameter einen oder mehrere Sätze beinhalten, die Folgendes
spezifizieren: eine mittlere Anruf-Ankunfts-Rate; einen mittleren
Betrag und eine mittlere Länge
von Paketen für
einen Burst bei den paketbasierten Anrufen; eine mittlere Anzahl
von Bursts, welche Sätze
von kontinuierlichen Paketen pro paketbasierten Anruf enthalten;
eine mittlere Dauer zwischen Bursts pro paketorientiertem Anruf;
Informationen, um einen oder mehrere Bursts zu simulieren; ein Zeitlimit,
um eine Anfrage für
paketbasierte Anrufe zuzuordnen; eine Datenrate; eine maximale Anzahl von
Basiskanälen,
die von jedem paketbasierten Anruf verwendet werden müssen; eine
minimale Anzahl von Basiskanälen,
die von jedem paketbasierten Anruf verwendet werden müssen; einen
Indikator, welcher ein spezielles Verkehrsmodell spezifiziert, um einen
paketbasierten Anruf zu erzeugen; eine Service-Priorität; eine
maximal tolerierbare Verzögerung;
einen Service-Typ; und Startparameter-Indikatoren und Startparameter
für Zufallsprozesse,
welche verwendet werden, um paketbasierten Anrufverkehr zu erzeugen.
-
Um
die Ausbreitung von Verkehr in jeder Zelle und die Mobilität von Verkehr
zwischen Zellen in einer virtuellen Darstellung 102 zu
simulieren, können die
Eingabeparameter Folgendes beinhalten: Informationen, welche eine
Präferenz
für ein
bestimmtes Ausbreitungsmodell angeben; eine Frequenz, die verwendet
wird, um Verkehr in jede Zelle zu übertragen; einen oder mehrere
Faktoren einer Gleichung, welche verwendet wird, um Ausbreitung
in jeder Zelle zu berechnen; eine Höhe für einen Empfänger; und Informationen,
um Mobilität
des Verkehrs zwischen Zellen zu modellieren. Außerdem können die Eingabeparameter angeben,
ob oder ob nicht eine Modellierung von Ausbreitung und Mobilität angefragt
wird.
-
Außerdem kann
das Schnittstellen-Modul 202 Software beinhalten, welche
Statistiken darstellt, welche durch einen Simulator 100 gesammelt
werden. Zum Beispiel kann ein Schnittstellen-Modul 202 ein
Grafikprogramm beinhalten, welches verschiedene Kurven und Daten
ausgibt, um die Statistiken zu veranschaulichen, welche von einem
Simulator 100 gesammelt werden. Spezielle Beispiele dieser
Kurven werden unten mit Bezug auf 6–17 diskutiert.
-
Ein
Zellen-Generator/Zellen-Leser 204 ist mit einer Simulations-Steuerung 200 verbunden
und erzeugt eine virtuelle Darstellung 102, basierend auf den
Eingabeparametern. Ein Zellen-Generator/Zellen-Leser 204 kann
als ein objektorientierter Code eingeführt werden, der ein oder mehrere
Verfahren ausführt,
um eine Konfiguration für
jede Zelle zur virtuellen Darstellung 102 und eine Konfiguration
für die Ressourcen
in jeder Zelle, basierend auf den Eingabeparametern, zu erzeugen.
Ein Zellen-Generator/Zellen-Leser 204 ist ebenfalls mit
einer Ressourcen-Tabelle 214 verbunden und kann Programmcode beinhalten,
der ein oder mehrere Verfahren ausführt, um die Konfiguration der
virtuellen Darstellung 102 in einer Ressourcen-Tabelle 214 zu
speichern.
-
Eine
Ressourcen-Tabelle 214 ist mit einem Zellen-Generator/Zellen-Leser 204 verbunden,
und ist so konfiguriert, um die Konfiguration einer virtuellen Darstellung 102 zu
speichern. Insbesondere kann eine Ressourcen-Tabelle 214 so
strukturiert sein, um eine Vielzahl von Feldern oder Arrays (nicht
gezeigt) zu beinhalten, um die Konfiguration jeder einzelnen Zelle
einer virtuellen Darstellung 102 und ihrer entsprechenden
Ressourcen anzugeben. Zum Beispiel kann eine Ressourcen-Tabelle 214 folgende
Felder beinhalten:
identifiziere jede Zelle einer virtuellen
Darstellung 102; identifiziere jede Ressource von jeder
Zelle in einer virtuellen Darstellung 102; gib an, ob eine
Ressource oder ein Prozentsatz von Ressourcen für paketbasierten Verkehr oder
schaltungsbasierten Verkehr reserviert ist; und gib an, ob eine
Ressource bereits zugewiesen ist. Eine Ressource einer Zelle in
einer virtuellen Darstellung 102 kann zum Beispiel auf einem
Verkehrskanal, einem Satz von Frequenzen, oder einem Satz von Codes
basieren.
-
Eine
Ressourcen-Tabelle 214 kann ebenfalls Felder oder Arrays
beinhalten, welche angeben, welche Kanäle einer virtuellen Darstellung 102 ausschließlich für schaltungsbasierte
Anrufe oder paketbasierte Anrufe reserviert sind. Die Anzahl von
Kanälen,
welche paketbasierte Anrufe oder schaltungsbasierte Anrufe reserviert
ist, kann basierend auf den Eingabeparametern spezifiziert werden.
Eine Ressourcen-Tabelle kann so konfiguriert sein, um es einem Zellen-Generator/Zellen-Leser 204 zu
ermöglichen
die gemeinsame Nutzung von Ressourcen dynamisch abzuändern. Zum
Beispiel kann es eine Ressourcen-Tabelle 214 einem Zellen-Generator/Zellen-Leser 204 ermöglichen,
die Anzahl von reservierten Ressourcen, basierend auf einer oder mehreren
Nachrichten von der Simulations-Steuerung 200, abzuändern. Eine
Simulations-Steuerung 200 kann diese Nachrichten basierend
auf einer Überwachung
der Menge des Verkehrs erzeugen, welcher durch ein Modellierungs-Modul 206 erzeugt wird,
oder basierend auf Nachrichten von einem Statistik-Sammler 212.
-
Ein
Modellierungs-Modul 206 ist mit einer Simulations-Steuerung 200 verbunden
und erzeugt jeden einzelnen Typ von Verkehr, der für einen
Simulationslauf spezifiziert wird. Insbesondere kann ein Modellierungs-Modul 206 Programmcode
beinhalten, um eine Vielzahl von entsprechenden Anfragen oder Anrufen
zu erzeugen, um paketbasierten Verkehr und schaltungsbasierten Verkehr
zu simulieren. Zum Beispiel kann ein Modellierungs-Modul 206 als
ein objektorientierter Programmcode eingeführt werden, der ein oder mehrere
Verfahren ausführt,
um die Anrufe für
jeden individuellen Typ von Verkehr basierend auf den Eingabeparametern
zu erzeugen. Außerdem
kann ein Modellierungs-Modul 206 Programmcode für ein oder
mehrere Modelle für
jeden einzelnen Typ von Verkehr beinhalten. Ein Modellierungs-Modul 206 kann
Programmcode beinhalten, der bekannte Techniken in dem einen oder
mehreren Modellen, wie zum Beispiel Poisson, Exponential, Geometric,
Uniform, Pareto, Cauchy, etc., verwendet, um die Verteilung von
Anrufen zu steuern, die für jeden
einzelnen Typ für
Verkehr erzeugt werden.
-
Ein
Modellierungs-Modul 206 kann weiter Programmcode beinhalten,
um die Ausbreitungs- und Mobilitäts-Effekte
zu simulieren, die Basisstationen und mobile Einheiten in einem
drahtlosen Netz erfahren können,
welches durch eine virtuelle Darstellung 102 dargestellt
wird. Zum Beispiel kann ein Modellierungs-Modul 206 Programmcode
beinhalten, um Ausbreitungseffekte oder Interferenzen innerhalb
einer Zelle einer virtuellen Darstellung 102 zu simulieren.
Eine Ausführungsform
eines Modellierungs-Moduls 206 wird mit Bezug auf 3 beschrieben.
-
Eine
Ereignis-Steuerung 208 ist mit einer Simulations-Steuerung 200 und
einer Ereignisliste 216 verbunden. Eine Ereignis-Steuerung 208 ist
so konfiguriert, um die Anrufe für
jeden einzelnen Typ von Verkehr, der durch ein Modellierungs-Modell-206,
basierend auf Nachrichten von einer Simulationssteuerung erzeugt
wird, zu empfangen, entsprechende Ereignisse für jeden dieser Anrufe zu erzeugen,
und diese Ereignisse in eine Ereignis-Liste 216 hinzuzufügen, um
eine heterogene Mischung von Verkehr zu erzeugen. Zum Beispiel kann
eine Ereignis-Steuerung 208 Programmcode beinhalten, der
so konfiguriert ist, um paketbasierte Anrufe und schaltungsbasierte
Anrufe, welche durch ein Modellierungs-Modul 206, basierend
auf Nachrichten von einer Simulations-Steuerung 200, erzeugt
werden, zu empfangen. Eine Ereignis-Steuerung 208 kann
weiter Programmcode beinhalten, der entsprechende Ereignisse erzeugt,
wie zum Beispiel Ereignisse, welche einen Anfang und ein Ende von
jedem der Anrufe angeben. Eine Ereignis-Steuerung 208 beinhaltet
weiter Programmcode, der diese Ereignisse in eine Ereignis-Liste 216 hinzufügt, um eine
heterogene Mischung von Verkehr zu bilden. Zum Beispiel kann eine
Ereignis-Steuerung 208 ein oder mehrere objektorientierte
Verfahren ausführen,
um Ereignisse in eine Ereignis-Liste 216 einzufügen.
-
Eine
Ereignis-Liste 216 ist mit einer Ereignis-Steuerung 216 verbunden
und so konfiguriert, um eine Vielzahl von Feldern oder Arrays (nicht
gezeigt) einzufügen,
um die Ereignis der heterogenen Mischung von Verkehr unterzubringen.
Zum Beispiel kann eine Ereignis-Liste 216 folgende Felder
beinhalten: identifiziere jeden Anruf in dem simulierten Verkehr;
identifiziere einen Typ von Anruf (z. B. paketbasiert oder schaltungsbasiert);
zeige eine Priorität
an, die mit jedem Anruf verbunden ist; eine Länge für jeden Anruf (z. B. eine Anruflänge oder
Paketlänge);
und gib einen Standort für
jeden Anruf an. Für
jedes Ereignis kann eine Ereignis-Liste 216 Folgendes beinhalten:
einen Ereignis-Zeitpunkt; einen Ereignis-Typ, um den Anfang und
das Ende eines paketbasierten Anrufs oder eines schaltungsbasierten
Anrufs anzugeben, und den Anfang und das Ende eines Bursts in einem
paketbasierten Anruf; Informationen, die angeben, ob ein Anruf ein
Zufalls-Zugangs-Protokoll verwendet, um auf eine virtuelle Darstellung 102 zuzugreifen;
Informationen, die den Start und das Ende eines Paketes in einem
paketbasierten Anruf anzeigen; eine Kennung für jede Zelle in einer virtuellen
Darstellung 102; eine Kennung für jeden Anruf; eine Kennung
für einen
bestimmten Burts in einem paketbasierten Anruf, eine Kennung für ein Paket
in einem paketbasierten Anruf; eine Zählung der Ereignisse in einer
Ereignis-Liste 216; und eine Kennung, die einen Fortgang
von Paketen angibt, die für
eine paketbasierten Anruf erfolgreich übertragen wurden.
-
Ein
Kanal-Ressourcen-Manager 210 ist mit einer Simulations-Steuerung 200,
einer Ereignis-Liste 216 und einer Ressourcen-Tabelle 214 verbunden, um
die Zuweisung von Ressourcen einer virtuellen Darstellung 102 zu
handhaben. Insbesondere kann ein Kanal-Ressourcen-Manager 210 Programmcode beinhalten,
um auf eine Ereignis-Liste 216 zuzugreifen und zu bestimmen,
welche Anrufe für
den schaltungsbasierten- und paketbasierten Verkehr anhängig sind,
und zwar basierend auf den Ereignissen in einer Ereignis-Liste 216.
Ein Kanal-Ressourcen-Manager 210 kann dann eine oder mehrere
Warteschlangen (nicht gezeigt) beinhalten, um die anhängigen Anrufe
zu halten, während
in einer Ressourcen-Tabelle 214 nach verfügbaren Ressourcen
gesucht wird. Die Warteschlangen können als ein oder mehrere objektorientierte
Klassen eingeführt
werden, die so konfiguriert sind, um an einen Kanal-Ressourcen-Manager 210 anzukoppeln.
-
Ein
Kanal-Ressourcen-Manager 210 kann ebenfalls Programmcode
beinhalten, um auf eine Ressourcen-Tabelle 214 zuzugreifen
und eine oder mehrere Ressourcen den anhängigen Anrufen zuzuweisen,
zum Beispiel basierend auf deren Priorität. Ein Kanal-Ressourcen-Manager 210 kann
Programmcode beinhalten, um die Menge an Ressourcen zu bestimmen,
die einem anhängigen
Anruf zugewiesen werden müssen.
Ein Kanal-Ressourcen-Manager 210 kann dann die Menge an
Ressourcen basierend auf einer spezifizierten Kapazität für jede Ressource
bestimmen, wie zum Beispiel 8 bis 12 kbits pro Sekunde. Die Kapazität für jede Ressource
kann in einer Ressourcen-Tabelle 214 angegeben werden,
oder kann in einer Variablen gespeichert werden, die für einen
Kanal-Ressourcen-Manager 210 zugänglich ist. Zum Beispiel kann
ein Kanal-Ressourcen-Manager 210 Programmcode beinhalten,
der eine Ressource einem Sprachanruf für schaltungsbasierten Verkehr
zuweist und mehrfache Ressourcen einem Burst in einem paketbasierten Anruf
zuweist.
-
Für drahtlose
Netze, kann ein Kanal-Ressourcen-Manager 210 Programmcode
beinhalten, um ein Vielfachzugriff-Protokoll für Paketdaten einzuführen, um
festzulegen, wie mobile Einheiten, wie zum Beispiel mobile Telefone,
Zugang erhalten können,
und sendet Pakete an eine Basisstation, wie zum Beispiel eine Basisstation 114,
welche in einer virtuellen Darstellung 102 dargestellt
ist. Bei einer Ausführungsform
beinhaltet ein Ressourcen-Manager 210 Programmcode, der
eine modifizierte Version des Vielfachzugriff-Schemas einführt, welches durch
den GSM Phase 2+ General Packet Radio Service (GPRS) verwendet wird.
-
Weiter
kann ein Kanal-Ressourcen-Manager 210 für drahtlose Netze andere Programmcodes
beinhalten, um ein Vielfachzugriff-Protokoll basierend auf verschiedenen
Zugangs-Schemen einzuführen, wie
zum Beispiel einem Direkt-Zugriffs-Schema. Wenn ein Direkt-Zugriffs-Schema
verwendet wird, wird eine mobile Station (MS), welche mit einer virtuellen
Darstellung 102 verbunden ist, einen Burst übertragen,
sobald eine Ressource verfügbar
wird. Entsprechend kann ein Kanal-Ressourcen-Manager 210 Programmcode
beinhalten, der ein Direkt-Zugriffs-Schema durch Zuweisung eines
anhängigen Anrufs
als ein Burst simuliert, wenn eine oder mehrere Ressourcen in einer
Ressourcen-Tabelle 214 verfügbar werden.
-
Ein
Statistik-Sammler 212 ist mit einer Simulations-Steuerung 200 und
einer Statistik-Tabelle 218 verbunden und überwacht
den Fortgang jedes Simulationslaufs. Insbesondere beinhaltet ein
Statistik-Sammler 212 Programmcode, der so konfiguriert ist,
um die Ereignisse für
jeden der Anrufe in dem simulierten Verkehr zu überwachen und Daten aufzuzeichnen,
welche mit jedem dieser Ereignisse verbunden sind. Zum Beispiel
kann ein Statistik-Sammler 212 Daten wie zum Beispiel Sperrung,
Durchsatz und Verzögerung
für jede
Zelle einer virtuellen Darstellung 102 aufzeichnen.
-
Ein
Statistik-Sammler 212 kann Daten in einer Statistik-Tabelle
basierend auf empfangenen Nachrichten von einer Simulations-Steuerung 200 aufzeichnen,
oder basierend auf einem Abrufen einer Simulations-Steuerung 200 auf
einer periodischen Basis. Außerdem
kann ein Statistik-Sammler 212 das Sammeln von Statistiken
für eine
angeforderte „Stabilisierungs-Periode" basierend auf den
Eingangsparametern vorläufig
zurückhalten.
Eine Stabilisierungs-Periode kann zum Beispiel nützlich sein, um es einem Modellierungs-Modul 206 und
einer Ereignis-Steuerung 208 zu ermöglichen, die Erzeugung des
simulierten Verkehrs zu stabilisieren.
-
Eine
Statistik-Tabelle 218 ist mit einem Statistik-Sammler 212 verbunden,
und ist so konfiguriert, um die Daten zu speichern, welche durch
einen Statistik-Sammler 212 aufgezeichnet werden. Zum Beispiel
kann eine Statistik-Tabelle 218 für schaltungsbasierte Anrufe
die folgenden Felder oder Arrays (nicht gezeigt) für schaltungsbasierte
Anrufe enthalten: eine Zählung
von aktuellen schaltungsbasierten Anrufen; eine Gesamtzählung von
schaltungsbasierten Anrufen; eine Zählung von schaltungsbasierten Anrufen
die gesperrt wurden; eine mittlere Anruflänge für schaltungsbasierte Anrufe;
eine Zählung
von Ressourcen oder Kanälen
in einer virtuellen Darstellung 102, welche für schaltungsbasierte
Anrufe verwendet wird; einen Durchsatz-Wert für schaltungsbasierte Anrufe;
und einen Durchsatz-Wert für
den letzten schaltungsbasierten Anruf.
-
Eine
Statistik-Tabelle 218 kann ebenfalls konfiguriert werden,
um für
paketbasierte Anrufe die folgenden Felder oder Arrays (nicht gezeigt)
zu beinhalten: eine Zählung
von aktuellen paketbasierten Anrufen; eine Zählung von aktuellen Bursts
bei paketbasierten Anrufen; eine Gesamtzählung von paketbasierten Anrufen;
eine Gesamtzählung
von Bursts in paketbasierten Anrufen; eine Zählung von Bursts in paketbasierten
Anrufen, die abgezweigt wurden; eine Zählung von Bursts in paketbasierten Anrufen,
die verzögert
wurden; einen minimalen Prozentsatz von Bursts in paketbasierten
Anrufen, die abgezweigt wurden; einen maximalen Prozentsatz von
Bursts in paketbasierten Anrufen, die abgezweigt wurden; eine mittlere
Wartezeit-Verzögerung
für Bursts
in paketbasierten Anrufen; einen quadrierten Wert der mittleren
Wartezeit-Verzögerung
für Bursts in
paketbasierten Anrufen; eine Standardabweichung für die Wartezeit-Verzögerung der
Bursts in den paketbasierten Anrufen; eine minimale mittlere Wartezeit-Verzögerung für Bursts
in paketbasierten Anrufen; eine maximale mittlere Wartezeit-Verzögerung für Burst
in paketbasierten Anrufen; eine gesamte mittlere Wartezeit-Verzögerung für Bursts
in paketbasierten Anrufen; einen quadrierten Wert der gesamten mittleren
Wartezeit-Verzögerung
für Bursts
in paketbasierten Anrufen; eine Standardabweichung der gesamten
Wartezeit-Verzögerung
für Bursts
in paketbasierten Anrufen; einen minimalen Wert für die mittlere
Wartezeit-Verzögerung
für Bursts
in paketbasierten Anrufen; einen maximaler Wert für die gesamte mittlere
Wartezeit-Verzögerung
für Bursts
in paketbasierten Anrufen; die gesamte mittlere Wartezeit für Bursts,
plus eine Servicezeit-Verzögerung
für paketbasierte
Anrufe; die gesamte Burstquadrierte Wartezeit-, die für Bursts
verzögert
wurde, plus einer Servicezeit-Verzögerung für paketbasierte Anrufe; die gesamte
Burst-Wartezeit plus die Standardabweichung für Servicezeit-Verzögerungen
für paketbasierte
Anrufe; die gesamte Burst-Mittlere Wartezeit, plus den minimalen
Wert der Servicezeit-Verzögerungen
für paketbasierte
Anrufe; die gesamte Burst-Mittlere Wartezeit, plus dem maximalen
Wert der Servicezeit-Verzögerung
für paketbasierte
Anrufe; einen minimalen Wert der Burst-Wartezeit-Verzögerung;
einen maximalen Wert der Burst-Wartezeit-Verzögerung; eine Verteilung der
Burst-Wartezeit-Verzögerungen;
die minimale Burst-Wartezeit, plus Servicezeit-Verzögerungen
für paketbasierte Anrufe;
die maximale Burst-Wartezeit, plus Servicezeit-Verzögerungen
für paketbasierte
Anrufe; eine Verteilung der Burst-Wartezeit-Verzögerung,
plus Servicezeit-Verzögerungen
für paketbasierte
Anrufe; einen mittlere Burst, klassiert pro paketbasiertem Anruf;
die mittlere Anzahl von Paketen pro Burst; eine mittlere Burst-Länge; die
aktuelle Anzahl von Bursts, welche durch einen Kanal-Ressourcen-Manager 210 eingereiht
wurden; eine Zählung
von Ressourcen oder Kanälen,
welche für
paketbasierte Anrufe verwendet werden; einen Durchsatz für paketbasierte Anrufe;
einen Durchsatz für
den letzten paketbasierten Anruf.
-
Weiter
kann eine Statistik-Tabelle 218 Felder oder Arrays (nicht
gezeigt) beinhalten, um Daten bezüglich der Ereignisse für jede Zelle
in dem simulierten Verkehr zu speichern. Zum Beispiel kann eine Statistik-Tabelle 218 die
folgenden Felder beinhalten: eine Zählung der Ereignisse in einer
Ereignis-Liste 216; einen Zeitpunkt, der mit jedem Ereignis
in der Ereignis-Liste 216 verbunden ist; einen Auslastungsfaktor;
einen Endzeitpunkt für
ein vorangegangenes Ereignis; einen Minimalwert für den Auslastungsfaktor;
einen Maximalwert für
den Auslastungsfaktor; eine Verteilung von Ressourcen und Kanälen, welche
in einer virtuellen Darstellung 102 verwendet werden; eine
Verteilung von der Zeitdauer zwischen Anrufen und Bursts; eine Verteilung
von Anruf- und Burst-Längen;
und einen Startzeitpunkt für
ein vorangegangenes Ereignis.
-
3 veranschaulicht
ein Blockdiagramm eines Modellierungs-Moduls 206, welches
dazu verwendet wird, um Verkehr entsprechend der Prinzipien der
vorliegenden Erfindung in einem Netz zu simulieren. Wie gezeigt,
kann das Modellierungs-Modul 206 einen Zufalls-Prozess-Generator 300,
einen oder mehrere schaltungsbasierte Anruf-Generatoren 302,
einen oder mehrere paketbasierte Anruf-Generatoren 304,
ein Mobilitäts-Modell 306 und
ein Ausbreitungs-Modell 308 beinhalten. Ein Modellierungs-Modul 206 verwendet
schaltungsbasierte Anruf-Generatoren 302 und paketbasierte
Anruf-Generatoren 304, um Anrufe für jeden Typ von Verkehr zu erzeugen,
der simuliert werden soll.
-
Um
die Zufälligkeit
von aktuellem Verkehr zu simulieren, beinhaltet ein Modellierungsmodul 206 einen
Zufalls-Prozess-Generator 300 als eine Quelle für Zufälligkeit.
Insbesondere beinhaltet ein Zufalls-Prozess-Generator 300 Programmcode,
um eine Vielzahl von Zufalls-Start-Parametern zu erzeugen und aufrecht
zu erhalten, wobei bekannte Pseudo-Zufalls-Zahlen-Generatoren verwendet
werden. Ein Zufalls-Prozess-Generator 300 kann dann den schaltungsbasierten
Anruf-Generatoren 302 und den paketbasierten Anruf-Generatoren 304 die
Zufalls-Start-Parameter bereitstellen.
-
Schaltungsbasierte
Anruf-Generatoren 302 beinhalten Programmcode, um Anrufe
zu erzeugen, die schaltungsbasierten Verkehr simulieren. Zum Beispiel
können
schaltungsbasierte Anruf-Generatoren 302 so konfiguriert
sein, um ein oder mehrere objektorientierte Verfahren auszuführen, um
Anrufe, basierend auf den Zufalls-Start-Parametern von einem Zufalls-Prozess-Generator 300 und
Parametern, welche von einer Simulations-Steuerung 200 zu
erzeugen, die zum Beispiel eine Anruf-Ankunfts-Rate und Anruflänge spezifizieren.
Bei einer Ausführungsform beinhalten schaltungsbasierte
Anruf-Generatoren 302 Programmcode, die das Erlang-B-Modell
einführen,
um schaltungsbasierte Anrufe zu erzeugen.
-
Paketbasierte
Anruf-Generatoren 304 beinhalten Programmcode, um paketbasierte
Anrufe zur Simulation eines paketbasierten Verkehrs zu erzeugen.
Zum Beispiel können
paketbasierte Anruf-Generatoren 304 so konfiguriert sein,
um ein oder mehrere objektorientierte Verfahren auszuführen, um
Anrufe, basierend auf den Zufalls-Start-Parametern von einem Zufalls-Prozess-Generator,
zu erzeugen. Außerdem
können
paketbasierte Anruf-Generatoren 304 Programmcode enthalten,
um paketbasierten Verkehr zu modellieren, wobei die Eingabeparameter,
welche von einer Simulations-Steuerung 200 verwendet werden,
wie zum Beispiel Sätze
von Parametern, welche Paket-Anruf-Ankunftszeiten, eine Anzahl von
Paket-Anrufen oder -Bursts pro Session, eine Lesezeit zwischen Paket-Anrufen,
eine Anzahl von Paketen innerhalb eines Paket-Anrufs, eine Zeitdauer
zwischen Paketen innerhalb eines Paket-Anrufs und eine Paketlänge, angeben.
-
Bei
einer Ausführungsform
beinhalten paketbasierte Anruf-Generatoren 304 Programmcode,
der den bekannten Poisson-Prozess einführt, um Anrufe für paketbasierten
Verkehr zu erzeugen. Paketbasierte Anruf-Generatoren 304 können ebenfalls
Programmcode beinhalten, um die Anzahl von Bursts in paketbasierten
Anrufen und die Zeit zwischen Bursts in paketbasierten Anrufen,
basierend auf einer geometrischen Verteilung, bestimmen. Paketbasierte Anruf-Generatoren 304 können die
mittlere Anzahl von Paketen eines Bursts in einem paketbasierten Anruf
für jeden
Typ von Dienst, der simuliert wird, verändern. Zum Beispiel können für WWW-Internet-Browsing, paketbasierte
Anruf-Generatoren Programmcode beinhalten, der eine geometrische
Verteilung erzeugt, um die Anzahl von Paketen innerhalb eines Bursts
in einem paketbasierten Anruf zu bestimmen. Paketbasierte Anruf-Generatoren 304 können ebenfalls
Programmcode beinhalten, die eine geometrische Verteilung beinhalten,
um die Zeitdauer zwischen zwei Paketen innerhalb eines Bursts in einem
paketbasierten Anruf zu bestimmen.
-
Weiter
können
paketbasierte Anruf-Generatoren 304 Programmcode beinhalten,
um die Paketgröße innerhalb
eines paketbasierten Anrufes, basierend auf der Anwendung, welche
simuliert, wird und einer Pareto-Verteilung, verändern.
-
Ein
Modellierungs-Modul 206 kann ebenfalls ein Mobilitäts-Modell 306 und
ein Ausbreitungs-Modell 308 beinhalten, um die Mobilität von Verkehr
zwischen Zellen in einer virtuellen Darstellung 102 zu
simulieren, und die Abweichungen in der Ausbreitung des Verkehrs
in jeder Zelle einer virtuellen Darstellung 102 zu simulieren.
Zum Beispiel kann ein Mobilitäts-Modell 306 Programmcode
beinhalten, um ein oder mehrere Ereignisse zu erzeugen, die durch
eine Ereignis-Steuerung 208 eingefügt werden, um anzugeben, dass
sich ein Anruf von einer Zelle zu einer anderen bewegt. Als Antwort
auf diese Ereignisse kann ein Kanal-Ressourcen-Manager 210 dann
versuchen, diesem Anruf unterschiedliche Ressourcen in einer Ressourcen-Tabelle 214 zuzuweisen.
-
Ein
Ausbreitungs-Modell 308 kann Programmcode beinhalten, um
Informationen zu erzeugen, die die Anrufe ergänzen, die durch schaltungsbasierte
Anruf-Generatoren 302 und paketbasierte Anruf-Generatoren 304 erzeugt
werden. Insbesondere kann ein Ausbreitungs-Modell 308 Programmcode beinhalten,
um Informationen zu erzeugen, die den Effekt der Ausbreitung eines
Verkehrs oder Interferenzen für
diesen Anruf angeben, zum Beispiel basierend auf der Frequenz des
Anrufs, und einem Abstand, welcher mit diesem Anruf verbunden ist.
Eine Simulations-Steuerung 200 kann diese Informationen
in einer Nachricht von einem Modellierungs-Modul 206 empfangen,
und sie an eine Ereignis-Steuerung 208 weiterleiten. Wenn
die Ereignisse für
den Anruf erzeugt werden, kann eine Ereignis-Steuerung 208 dann
diese Informationen mit dem Ereignis, so wie es in einer Ereignis-Liste 216 gespeichert
ist, integrieren. Ein Kanal-Ressourcen-Manager 210 kann dann
Ausbreitungs-Informationen, basierend auf den Informationen in einer
Ereignis-Liste 216, betrachten.
-
4–5 veranschaulichen
einen Prozess zum Simulieren von Verkehr in einem Netz, gemäß den Prinzipien
der vorliegenden Erfindung. Nun Bezug nehmend auf 4,
empfängt
ein Schnittstellen-Modul 202 in einer Stufe 400 die
Eingabe-Parameter für
die Simulation. Zum Beispiel kann ein Schnittstellen-Modul 202 die
Eingabe-Informationen basierend auf einer Eingabe von einem Anwender oder
von einem File empfangen, der in den Simulator 100 downgeloaded
wurde. Ein Schnittstellen-Modul 202 stellt dann der Simulations-Steuerung 200 die Eingabe-Parameter
bereit. Die Simulations-Steuerung 200 interpretiert die
Eingabe-Parameter und bestimmt Steuerungs-Informationen für die Simulation, wie
zum Beispiel eine Zeitspanne, welche durch einen Simulationslauf
abgedeckt wird, eine Zeitspanne, um den Simulationslauf durchzuführen und
eine Anzahl von Durchläufen,
die die Simulation wiederholt werden muss. Außerdem verteilt eine Simulations-Steuerung 200 die
erhaltenen Eingabe-Parameter an die anderen Komponenten eines Simulators 100.
-
In
Stufe 402 werden eine Ereignis-Liste 216 und eine
Ressourcen-Tabelle 214 initialisiert. Zum Beispiel kann
eine Simulations-Steuerung 200 der Ereignis-Steuerung 208 und
einem Zellen-Generator/Zellen-Leser 204 Parameter bereitstellen.
Eine Ereignis-Steuerung 208 und ein Zellen-Generator/Zellen-Leser 204 können dann
jeweils eine Ereignis-Liste 216 und eine Ressourcen-Tabelle 214 initialisieren.
Während
eine Ereignis-Liste 216 initialisiert wird, kann eine Ereignis-Steuerung 208 die
aktuellen Werte, die in einer Ereignis-Liste 216 gespeichert sind,
löschen,
und eine Ereignis-Liste 216 konfigurieren, um die Felder
einzufügen,
welche durch die empfangenen Eingabe-Parameter spezifiziert werden.
Während
eine Ressourcen-Tabelle 214 initialisiert wird, kann ein
Zellen-Generator/Zellen-Leser 204, die aktuellen Werte,
die in einer Ressourcen-Tabelle 214 gespeichert sind, löschen, und
eine Ressourcen-Tabelle 214 konfigurieren, um Ressourcen einer
virtuellen Darstellung 102 zu erzeugen, wie durch die Eingabe-Parameter
spezifiziert wird.
-
In
Stufe 404 erzeugt ein Modellierungs-Modul 206 Anfragen
oder Anrufe für
jeden einzelnen Typ von Verkehr. Zum Beispiel kann eine Simulations-Steuerung 200 dem
Modellierungs-Modul 206 Sätze von Parametern aus den
empfangenen Eingabe-Parametern bereitstellen. Ein Modellierungs-Modul 206 kann
dann Anfragen oder Anrufe erzeugen, wobei eines oder mehrere Modelle
verwendet werden. Zum Beispiel kann, wie oben erklärt, ein
Modellierungs-Modul 206 Anfragen oder Anrufe, basierend auf
bekannten Modellen, für
schaltungsbasierten Verkehr und paketbasierten Verkehr erzeugen.
Außerdem
kann ein Modellierungs-Modul 206 den Effekt der Ausbreitung
und Mobilität
für jeden
Anruf modellieren. Ein Modellierungs-Modul 206 gibt die
Anfragen in Nachrichten an eine Simulations-Steuerung 200 weiter.
Eine Simulations-Steuerung 200 gibt dann die Anfragen an
eine Ereignis-Steuerung 208 weiter.
-
Eine
Ereignis-Steuerung 208 empfängt die Anfragen und erzeugt
entsprechende Ereignisse. Eine Ereignis-Steuerung 208 aggregiert
diese Ereignisse in einer Ereignis-Liste 216. Zum Beispiel
kann bis zum Empfangen der erzeugten Anrufe von einem Modellierungs-Modul 206,
eine Simulations-Steuerung 200 die Anrufe an eine Ereignis-Steuerung 208 weitergeben.
Eine Ereignis-Steuerung 208 interpretiert dann jeden der
erzeugten Anrufe, erzeugt ein entsprechendes Ereignis, und fügt dieses
Ereignis in eine Ereignis-Liste 216 ein, um eine heterogene
Mischung von Verkehr zu erzeugen.
-
Außerdem kündigt eine
Simulations-Steuerung 200 einem Statistik-Sammler 212 die
Anfragen an. Als Antwort aktualisiert ein Statistik-Sammler 212 eine
Statistik-Tabelle 218 und beginnt, für jeden Anruf Daten zu verfolgen.
-
In
Stufe 406 liest der Kanal-Ressourcen-Manager 210 die
Ereignisse in eine Ereignis-Liste 216 und bestimmt, ob
ein Ereignis Ressourcen von einer virtuellen Darstellung 102 anfordert.
Insbesondere kann ein Kanal-Ressourcen-Manager 210 Informationen
in einem oder mehreren Feldern der Ereignis-Liste 216 interpretieren,
um zu bestimmen, ob Ressourcen angefordert werden. Zum Beispiel
kann ein Kanal-Ressourcen-Manager 210 ein Ereignis interpretieren,
welches den Start eines Anrufs angibt, der Ressourcen von einer
virtuellen Darstellung 102 anfordert. Wenn Ressourcen nicht
angefordert werden, dann fließt
die Verarbeitung zu Stufe 420. Wenn jedoch Ressourcen angefordert
werden, dann fließt die
Verarbeitung zu Stufe 408.
-
In
Stufe 408 bestimmt der Kanal-Ressourcen-Manager 210,
ob Ressourcen für
den Anruf, welcher in einer Ereignis-Liste 216 angegeben
wird, verfügbar
sind. Speziell kann ein Kanal-Ressourcen-Manager 210 auf
eine Ereignis-Liste 216 zugreifen und bestimmen, welche
Anrufe aktuell anhängig sind.
Ein Kanal-Ressourcen-Manager 210 kann dann die anhängigen Anrufe,
zum Beispiel basierend nach ihrer Priorität oder einem Verkehrs-Typ,
einreihen. Ein Kanal-Ressourcen-Manager 210 kann dann auf eine
Ressourcen-Tabelle 214 zugreifen und suchen, um zu bestimmen,
welche Ressourcen für
die anhängigen
Anrufe verfügbar
sind.
-
Wenn
Ressourcen verfügbar
sind, dann fließt
die Verarbeitung zu Stufe 410. In Stufe 410 weist
der Kanal-Ressourcen-Manager 210 eine oder mehrere Ressourcen
einem anhängigen
Anruf zu. Ein Kanal-Ressourcen-Manager 210 kann Ressourcen
einem anhängigen
Anruf, basierend auf einem oder mehreren Algorithmen, wie zum Beispiel
einem First-In, First-Out-Algorithmus, einer modifizierten Version
des Vielfachzugriffs-Schemas, welches von dem GSM Phase 2+ GPRS
verwendet wird, gewichtetes, angemessenes Einreihen, etc. zuweisen,
und abhängig
davon, ob Up-Link- oder Down-Link-Kommunikationen simuliert werden. Außerdem kann
ein Kanal-Ressourcen-Manager 210 Ressourcen, basierend
auf den empfangenen Eingabe-Parametern, welche zum Beispiel angeben,
wie Ressourcen einer virtuellen Darstellung 102, welche
in einer Ressourcen-Tabelle 214 angegeben sind, zwischen
schaltungsbasierten Verkehr und paketbasiertem Verkehr verteilt
werden, zuweisen.
-
In
Stufe 412 aktualisiert ein Kanal-Ressourcen-Manager 210 eine
Ressourcen-Tabelle 214, um anzugeben, welche Ressourcen
einer virtuellen Darstellung 102 einem Anruf zugeordnet
werden. Bis zur Zuweisung der Ressourcen, sendet ein Kanal-Ressourcen-Manager 210 eine
Nachricht an eine Simulations-Steuerung 200, um anzugeben,
dass Ressourcen einer virtuellen Darstellung 102 einem
Anruf zugeordnet werden. Als Antwort kann dann die Simulations-Steuerung 200 eine
Nachricht an eine Ereignis-Steuerung 208 und eine Statistik-Steuerung 212 senden.
Die Nachricht an eine Ereignis-Steuerung 208 triggert eine
Ereignis-Steuerung 208, um das nächste Ereignis zu erzeugen
und eine Ereignis-Liste 216 zu aktualisieren. Die Nachricht
an eine Statistik-Steuerung 212 veranlasst diese, die Daten
in einer Statistik-Tabelle 218 zu aktualisieren, um zum Beispiel
wiederzugeben, dass Ressourcen einer virtuellen Darstellung 102 dem
Anruf zugeordnet wurden, und der Zeitpunkt, zu dem die Ressourcen
zugeordnet wurden.
-
Wenn
keine Ressourcen verfügbar
sind, fließt
die Verarbeitung zu Stufe 414. In Stufe 414 bestimmt
ein Kanal-Ressourcen-Manager 210, ob die anhängigen Anrufe
ihre Verzögerungs-
oder Störungs-Grenze
erreicht haben. Insbesondere kann ein Kanal-Ressourcen-Manager 210 bestimmen,
wie lange ein anhängiger
Anruf verzögert
worden ist, und zwar basierend auf Zeitablauf-Informationen, wie zum
Beispiel einem Startzeitpunkt, der für diesen Anruf in einer Ereignis-Liste 216 angegeben
wird. Außerdem
kann ein Kanal-Ressourcen-Manager 210 bestimmen, ob ein
Anruf durch Störung
beeinflusst wird, und zwar basierend auf Ausbreitungs-Informationen,
welche für
diesen Anruf in einer Ereignis-Liste 216 bereitgestellt
werden. Ein Kanal-Ressourcen-Manager 210 kann dann die
Zeitablauf-Informationen und Ausbreitungs-Informationen mit festgelegten
Grenzen vergleichen. Zum Beispiel kann ein Kanal-Ressourcen-Manager 210 Grenzen
bestimmen, und zwar basierend auf Informationen in einer Ereignis-Liste 216,
oder basierend auf den empfangenen Eingabe-Parametern.
-
Wenn
die Verzögerungs-
oder Störungs-Grenze
erreicht worden ist, dann fließt
die Verarbeitung zu Stufe 416. In Stufe 416 zweigt
der Kanal-Ressourcen-Manager 210 den Anruf ab, und benachrichtigt
eine Simulations-Steuerung 200. Als Antwort kann eine Simulations-Steuerung 200 eine Nachricht
an einen Statistik-Sammler 212 senden, um eine Statistik-Tabelle 218 zu
aktualisieren, um aufzuzeichnen, dass der Anruf abgezweigt wurde.
-
Wenn
die Verzögerungs-
oder Störungs-Grenze
noch nicht erreicht worden ist, dann fließt die Verarbeitung zu Stufe 418.
In Stufe 418 hält der
Kanal-Ressourcen-Manager 210 den Anruf für eine spätere Verarbeitung
in seiner Warteschlange, und benachrichtigt eine Simulations-Steuerung 200, dass
der Anruf verzögert
sein wird. Als Antwort kann eine Simulations-Steuerung 200 eine
Nachricht an einen Statistik-Sammler 212 senden, um eine
Statistik-Tabelle 218 zu aktualisieren und den Zeitbetrag, um
den der Anruf sich verzögern
wird, aufzuzeichnen.
-
Nun
Bezug nehmend auf 5, bestimmt ein Kanal-Ressourcen-Manager 210 in
Stufe 420, ob ein Anruf beendet wurde. Insbesondere kann
eine Ereignis-Steuerung 218 ein Ereignis erzeugen, um anzugeben,
dass ein Anruf geendet hat. Eine Ereignis-Steuerung 208 kann
dieses Ereignis zum Beispiel basierend auf einer Anruflängen-Information
erzeugen, welche von einem Modellierungs-Modul 206 bereitgestellt
wird. Wenn eine Anruflänge
erreicht ist, kann eine Ereignis-Steuerung 208 ein Ereignis
in eine Ereignis-Liste 216 einfügen, dass der Anruf zu Ende
ist. Wenn ein Kanal-Ressourcen-Manager 210 eine Ereignis-Liste 216 liest,
kann ein Kanal-Ressourcen-Manager 210 dieses Ereignis identifizieren, und
bestimmen welche Ressourcen einer virtuellen Darstellung 102 dem
endenden Anruf zugewiesen wurden, und zwar basierend auf einer Suche
in einer Ressourcen-Tabelle 214.
-
Wenn
ein Anruf geendet hat, dann fließt die Verarbeitung zu Stufe 422.
In Stufe 422 gibt ein Kanal-Ressourcen-Manager 210 jede
Ressource einer virtuellen Darstellung 102 frei, die zu
dem Anruf zugeordnet ist, indem eine Ressourcen-Tabelle 214 aktualisiert
wird. Anderenfalls kann, wenn ein Anruf nicht geendet hat, die Verarbeitung
direkt mit Stufe 426 fortfahren.
-
In
Stufe 424 aktualisiert eine Ereignis-Steuerung 208 eine
Ereignis-Liste 216, um das beenden eines Anrufs wiederzugeben.
Insbesondere kann, bis zum Freigeben der Ressourcen einer virtuellen
Darstellung 102, welche dem endenden Anruf zugewiesen wird,
ein Kanal-Ressourcen-Manager 210 die Ereignisse für den Anruf
aus der Ereignis-Liste 216 löschen. Außerdem kann ein Kanal-Ressourcen-Manager 210 eine
Simulations-Steuerung 210 benachrichtigen, dass ein Anruf
geendet hat. Eine Simulations-Steuerung 200 kann dann eine
oder mehrere Nachrichten an eine Ereignis-Steuerung 208 und
einen Statistik-Sammler 212 senden. Als Antwort auf diese
Nachrichten können
eine Ereignis-Steuerung 208 neue Ereignisse für Anrufe
erzeugen, welche durch ein Modellierungs-Modul 206 erzeugt
werden, und eine Ereignis-Liste 216 entsprechend aktualisieren.
Außerdem
können
die Nachrichten an einen Statistik-Sammler 212 das Aktualisieren
einer Statistik-Tabelle 218 triggern, um den Abschluss
des Anrufs aufzuzeichnen.
-
In
Stufe 426 prüft
eine Simulations-Steuerung 200, ob der Simulationslauf
vollständig
ist. Insbesondere kann eine Simulations-Steuerung 200 die Steuerungs-Informationen
aus den Eingabe-Parametern prüfen,
um zum Beispiel eine Laufzeit zu bestimmen, welche für die Simulation
in den empfangenen Parametern spezifiziert wurde. Außerdem kann eine
Simulations-Steuerung 200 ebenfalls prüfen, ob eine angeforderte Anzahl
von Wiederholungen des Simulationslaufes abgeschlossen worden ist.
-
Wenn
die Simulation abgeschlossen ist, dann endet die Verarbeitung bei
Stufe 428. Wenn die Simulation jedoch nicht abgeschlossen
ist, dann fließt
die Verarbeitung zu Stufe 430. In Stufe 430 fährt der
Kanal-Ressourcen-Manager 210 mit dem nächsten Ereignis in der Ereignis-Liste 216 fort.
Die Verarbeitung fängt
dann wieder bei Stufe 408 an, welche oben mit Bezug auf 4 beschrieben
wurde.
-
6–17 zeigen
beispielhafte Kurven, die bereitgestellt werden können, um
die antizipierte Leistung eines Netzes basierend auf dem simulierten Verkehr
zu veranschaulichen, und zwar in Übereinstimmung mit den Prinzipien
der vorliegenden Erfindung. Zum Beispiel zeigt 6 eine
Kurve, welche den Prozentsatz von Bursts veranschaulicht, der seine
Verzögerungsgrenzen
versus einen aggregierten Zellendurchsatz zeigt. In dieser Simulation
wurde eine virtuelle Darstellung 102 als ein GSM-GPRS-System
konfiguriert, belastet mit mehreren Mischungen aus schaltungsbasiertem
und paketbasiertem Verkehr. Außerdem
wurde die Leistung einer virtuellen Darstellung 102 getestet,
indem die Anzahl von Ressourcen, welche für schaltungsbasierten und paketbasierten
Verkehr reserviert wurden, geändert
wurde.
-
7 und 8 zeigen
Kurven, welche die resultierende Sperrung für schaltungsbasierten Verkehr
versus den Durchsatz von paketbasiertem Verkehr veranschaulichen.
In diesen Simulationen wurde eine virtuelle Darstellung 102 als
ein GSM-Netz konfiguriert, und mit verschiedenen Mischungen aus schaltungsbasiertem
und paketbasiertem Verkehr belastet. Außerdem wurde eine virtuelle
Darstellung 102 so konfiguriert, dass zum Beispiel alle
Ressourcen zur Verwendung durch schaltungsbasiertem und paketbasiertem
Verkehr ohne Einschränkung
verfügbar
waren.
-
9 zeigt
eine Kurve, welche den Durchsatz von paketbasiertem Verkehr versus
den Prozentsatz an Bursts veranschaulicht, der Verzögerung erfährt. In
dieser Simulation wurde eine virtuelle Darstellung 102 mit
verschiedenen Mischungen aus schaltungsbasiertem und paketbasiertem
Verkehr belastet, wobei der mittlere Level an Sprachverkehr verändert wurde.
-
10 zeigt
eine Kurve, welche die Verteilung des Prozentsatzes an Bursts zeigt,
die einen gegebenen Betrag an mittlerer Verzögerung für eine gegebene Mischung von
schaltungsbasiertem und paketbasiertem Verkehr erfahren.
-
11 zeigt
eine Kurve, welche den Prozentsatz von paketbasierten Bursts veranschaulicht die
verzögert
waren, versus einen mittleren Durchsatz für paketbasierten Verkehr. In
dieser Simulation wurde eine virtuelle Darstellung 102 mit
verschiedenen Mischungen aus schaltungsbasiertem und paketbasiertem
Verkehr belastet, wobei verschiedene Ressourcen-Teilungs-Schemen
verwendet werden.
-
12 zeigt
eine Kurve, welche eine mittlere Bursts-Verzögerung für paketbasiertem Verkehr versus
paketbasiertem Verkehr-Durchsatz veranschaulicht. In dieser Simulation
wurde eine virtuelle Darstellung 102 mit verschiedenen
Mischungen aus schaltungsbasiertem und paketbasiertem Verkehr belastet,
wobei der mittlere Level von schaltungsbasiertem Verkehr verändert wurde.
-
13 und 14 veranschaulichen
Kurven, welche eine Kanal-Besetzungs-Verteilung versus die Menge
an Zeit zeigen, indem ein gegebener Prozentsatz von Kanälen besetzt
war. In dieser Simulation wurde eine virtuelle Darstellung 102 mit
einer speziellen Mischung aus schaltungsbasiertem und paketbasiertem
Verkehr belastet.
-
15 veranschaulicht
eine Kurve, welche eine Beziehung zwischen der mittleren Burst-Verzögerung für paketbasiertem
Verkehr und dem Prozentsatz an Bursts zeigt, der verzögert war.
In dieser Simulation wurde eine virtuelle Darstellung 102 mit
verschiedenen Mischungen aus schaltungsbasiertem und paketbasiertem
Verkehr belastet, wobei die Ressourcen-Teilungs-Schemen verändert wurden.
Wie in 15 gezeigt, wächst der
Prozentsatz an verzögerten
Bursts für
eine gegebene Menge an Ressourcen in einer virtuellen Darstellung 102,
da die Menge an schaltungsbasiertem und paketbasiertem Verkehr wächst.
-
16 veranschaulicht
eine Kurve, welche die mittlere Wartezeit-Verzögerung paketbasierter Bursts
versus Durchsatz für
paketbasierten Verkehr zeigt. In dieser Simulation wurde eine virtuelle
Darstellung 102 mit verschiedenen Mischungen aus schaltungsbasiertem
und paketbasiertem Verkehr belastet, wobei die Ressourcen-Teilungs-Schemen verändert wurden.
-
17 veranschaulicht
eine Kurve, welche eine Verteilung der gesamten Verzögerungen
in Bursts in paketbasiertem Verkehr versus den Prozentsatz an verzögerten Bursts
zeigt. In dieser Simulation wurde eine virtuelle Darstellung 102 mit
einer bestimmten Mischung aus schaltungsbasiertem und paketbasiertem
Verkehr belastet.