DE69328349T2 - System zur Kontrolle der Teilnehmer-Programmierbarkeit - Google Patents
System zur Kontrolle der Teilnehmer-ProgrammierbarkeitInfo
- Publication number
- DE69328349T2 DE69328349T2 DE69328349T DE69328349T DE69328349T2 DE 69328349 T2 DE69328349 T2 DE 69328349T2 DE 69328349 T DE69328349 T DE 69328349T DE 69328349 T DE69328349 T DE 69328349T DE 69328349 T2 DE69328349 T2 DE 69328349T2
- Authority
- DE
- Germany
- Prior art keywords
- program
- execution
- subscriber
- telecommunications network
- connection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012360 testing method Methods 0.000 claims description 77
- 238000000034 method Methods 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 50
- 239000004744 fabric Substances 0.000 claims description 21
- 239000000203 mixture Substances 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 238000004088 simulation Methods 0.000 claims 2
- 230000004913 activation Effects 0.000 claims 1
- 230000006399 behavior Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 9
- 238000003066 decision tree Methods 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 238000012550 audit Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000011990 functional testing Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000005309 stochastic process Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/22—Arrangements for supervision, monitoring or testing
- H04M3/36—Statistical metering, e.g. recording occasions when traffic exceeds capacity of trunks
- H04M3/362—Traffic simulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/22—Arrangements for supervision, monitoring or testing
- H04M3/2254—Arrangements for supervision, monitoring or testing in networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/42—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
- H04Q3/54—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
- H04Q3/545—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
- H04Q3/54575—Software application
- H04Q3/54591—Supervision, e.g. fault localisation, traffic measurements, avoiding errors, failure recovery, monitoring, statistical analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S379/00—Telephonic communications
- Y10S379/914—Programmable telephone component
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Monitoring And Testing Of Exchanges (AREA)
- Telephonic Communication Services (AREA)
- Exchange Systems With Centralized Control (AREA)
Description
- Die vorliegende Erfindung betrifft Fernmelde- bzw. Kommunikationsnetze. Insbesondere betrifft die Erfindung teilnehmerprogrammierbare Fernmelde- bzw. Kommunikationsnetze.
- Gegenwärtig sind viele geschäftliche Teilnehmer nicht in der Lage, öffentliche Fernmeldenetze vollständig zu nutzen, um Wettbewerbsvorteile zu erlangen, da Verbindungsbearbeitungs- bzw. Vermittlungsprogramme, die auf ihre bestimmten Bedürfnisse zugeschnitten werden könnten, in den heutigen öffentlichen Fernmeldenetzen nicht erlaubt sind.
- Fernmeldenetzbetreiber bzw. -gesellschaften sind bisher zurückhaltend gewesen, wenn es darum ging, teilnehmerdefinierte Verbindungsbearbeitungsprogramme in ihren Netzen ausführen zu lassen, da negative Einwirkungen auf die Leistung ihrer Netze auftreten könnten, die durch die Abläufe dieser Programme verursacht werden. Beispielsweise kann ein teilnehmerdefiniertes Verbindungsbearbeitungsprogramm, das zu viele Netzbetriebsmittel verwendet, andere Teilnehmer daran hindern, ihre Verbindungen auszuführen. Damit teilnehmerdefinierte Programme akzeptabel werden, müssen demzufolge geeignete Sicherheitsmaßnahmen vorhanden sein, um Probleme im restlichen Netz zu verhindern.
- Es wird außerdem Bezug genommen auf eine internationale Veröffentlichung WO92/116033, die ein System zur Erzeugung eines teilnehmerspezifischen Verbindungsbearbeitungsprogramms beschreibt.
- Gemäß der Erfindung wird ein Verfahren und ein System zum Prüfen eines teilnehmerspezifischen Verbindungsbearbeitungsprogramms bereitgestellt, das in einem Fernmeldenetz auszuführen ist, wie in den beigefügten Ansprüchen ausgeführt.
- Fig. 1 zeigt ein Versorgungssteuersystem, das teilnehmerdefinierte Verbindungsbearbeitungsprogramme empfängt und statische Prüfvorgänge an diesen Programmen gemäß der Erfindung durchfuhrt.
- Fig. 2 zeigt ein Flußdiagramm von Funktionen, die von dem Versorgungssystem gemäß Fig. 1 durchgeführt werden.
- Fig. 3 zeigt einen zur Veranschaulichung dienenden Teilnehmerprüfdatensatz, der Referenzpunkte für Daten bereitstellt, die zur Programmausführung benötigt werden.
- Fig. 4 zeigt ein Beispiel eines Prüfsystems, das dynamische Prüfvorgänge gemäß der vorliegenden Erfindung durchführt.
- Fig. 5 ist ein Flußdiagramm, das die Funktionen darstellt, die von den Elementen gemäß Fig. 4 durchgeführt werden.
- Fig. 6 ist eine Tabelle, die zur Veranschaulichung dienende Befehlsfolgen in zur Veranschaulichung dienende Knotentypen umsetzt.
- Fig. 7 stellt einen Entscheidungsbaum eines zur Veranschaulichung dienenden teilnehmerdefinierten Verbindungsbearbeitungsprogramms dar.
- Fig. 8 und 9 sind Flußdiagramme, die zusätzliche Funktionen darstellen, die von den Elementen gemäß Fig. 4 durchgeführt werden.
- Fig. 1 zeigt ein Versorgungssystem, das teilnehmerdefinierte Verbindungsbearbeitungsprogramme empfängt und statische Prüfvorgänge an diesen Programmen gemäß der Erfindung durchführt. Ein teilnehmerdefiniertes Verbindungsbearbeitungsprogramm, das in einer anwendungsorientierten Sprache geschrieben sein kann, die von einem Netzcompiler erkannt werden kann, kann einen Satz von Verbindungsbearbeitungsanweisungen aufweisen, die zu Knotentypen gruppiert sein können, die unten ausführlicher beschrieben sind. Eine Folge von Knotentypen kann ausgeführt sein, um einen spezifischen Fernmeldedienst bereitzustellen, der auf Geschäftsbedürfnisse eines Teilnehmers zugeschnitten ist. Beispielsweise wünscht möglicherweise ein Heimdienstteilnehmer, ein Programm zu entwickeln, das eine Anmeldernummernsteuerungstabelle bzw. Tabelle zur Steuerung der Nummern der rufenden Teilnehmer verwendet, um ankommende Rufe zu differenzieren und verschiedene Dienststufen für verschiedene Klassen von rufenden Teilnehmern auf der Grundlage spezifischer Kriterien bereitzustellen.
- Mit dem Versorgungssystem gemäß Fig. 1 kann das teilnehmerdefinierte Verbindungsbearbeitungsprogramm auf richtige Syntax, strukturelle Richtigkeit und logische Folgerichtigkeit geprüft werden. Das Versorgungssystem gemäß Fig. 1 weist ein Versorgungssteuersystem 102 auf, das ein Prozessor mit Speichereinrichtungen ist, der unter anderem einen Netzcompiler und ein Prüfsoftwarepaket enthält, das geeignet ist, die Syntax des Programms zu prüfen, das von Geräten des Kundenbereichs kommend empfangen wird, z. B. von einer Teilnehmerarbeitsstation 101, die ein Personalcomputer oder ein Endgerät mit verbesserten Grafikmöglichkeiten sein kann. Speichereinrichtungen in einer Ausführungsumgebung eines Fernmeldenetzbetreibers 110 sind mit dem Versorgungssteuersystem 102 verbunden. Diese Speichereinrichtungen können logisch oder physisch zwischen den folgenden Komponenten aufgeteilt sein: a) ein Satz von Grundelementen des Netzbetreibers 103, die Steuerungs- und Leitweglenkungslogik enthalten, die geeignet ist, Verbindungsbearbeitungsanweisungen an eine Vermittlungseinrichtung oder an einen Zusatzprozessor auf der Grundlage eines Satzes von Rufweglenkungsparametern zu formulieren; b) eine Teilnehmerdatenbasis 104, die eine Aufbewahrungsstelle für teilnehmereigene Information ist, z. B. für Teilnehmerrechnungslegungsdaten; und c) eine Netzbetreiberdatenbasis 105, die netzbetreiberspezifische Information, z. B. Netzleitweglenkungstabellen, Netzverwaltungsinformation und anwendungsspezifische Daten, z. B. Ansagedateien oder Rechnungsinformation enthält.
- Zusätzliche Speichereinrichtungen, die im Versorgungssystem gemäß Fig. 1 vorhanden sind, sind eine Prüfdatenbasis 107, die Daten enthält, die zur Ausführung des Verbindungsbearbeitungsprogramms notwendig sind, und eine erweiterte Programmbibliothek 106, die das Verbindungsbearbeitungsprogramm des Teilnehmers speichert, nachdem es kompiliert und verbunden worden ist.
- Fig. 2 ist ein Flußdiagramm, das die Funktionen darstellt, die vom Versorgungssystem gemäß Fig. 1 ausgeführt werden. Im Flußdiagramm gemäß Fig. 1 erzeugt ein Teilnehmer ein Verbindungsbearbeitungsquellprogramm unter Verwendung eines Textverarbeitungspakets oder einer grafischen Anwenderschnittstelle in der Teilnehmerarbeitsstation 101, wie im Schritt 201 angezeigt. Das Quellprogramm und zugehörige Datenstrukturen werden in das Versorgungssteuersystem 102 heruntergeladen, wo das Quellprogramm im Schritt 202 auf Syntaxfehler geprüft wird. Außerdem werden die Datenstrukturen, die dem Verbindungsbearbeitungsprogramm zugeordnet sind, im Schritt 202 auch mit vorbestimmten Schwellgrößen verglichen. Im Schritt 203 wird dann bestimmt, ob Fehler im Programm gefunden wurden. Wenn Fehler gefunden wurden, ist das Versorgungssteuersystem 102 in der Lage, im Schritt 204 eine Fehlermeldung für jeden Syntaxfehler im Programm und einen Abweichungsbericht zu erzeugen, wenn Datenstrukturen im Programm sich auf nichtvorhandene Felder beziehen oder Schwellgrößenempfehlungen überschreiten. Beispielsweise bewirken falsch geschriebene Programmierwörter und nichtdefinierte Felder in einer Programmieranweisung, daß eine Fehlermeldung erzeugt wird. Ebenso wird, wenn ein Programm eine Matrix oder eine Tabelle erzeugt, deren Größe die vom Netzbetreiber empfohlene Größe für Matrices oder Tabellen überschreitet, im Schritt 204 ein Abweichungsbericht erzeugt. Die Syntaxprüfungs- und Datenstrukturgrößenvergleichsfunktionalität kann durch ein Softwarepaket bereitgestellt werden, das in den Speicher einer Teilnehmerarbeitsstation 101 geladen wird, wenn der Netzbetreiber dieses Paket für Teilnehmer verfügbar macht.
- Wenn keine Fehler festgestellt wurden, verwendet das Versorgungssteuersystem 102 im Schritt 205 netzbetreiberdefinierte, auf Regeln bezogene Software, um die strukturelle Korrektheit und logische Folgerichtigkeit des Programms zu prüfen. In diesem Schritt wird der logische Ablauf des Programms gründlich auf Mängel geprüft, z. B. auf potentielle Endlosschleifen. Außerdem ist die auf Regeln bezogene Software auch geeignet, auf überflüssigen Code hinzuweisen, der während des Ausführens des Programms zu einem erhöhten Netzbetriebsmittelverbrauch führt. Ferner wird das Verbindungsbearbeitungsprogramm analysiert, um sicherzustellen, daß beispielsweise Richtungswahlbäume richtig abgeschlossen werden, eine abschließende Bearbeitung von Verbindungen durchgeführt wird und eine Vorgabelogik für Zeitbegrenzungsbedingungen oder bei Nichtverfügbarkeit bestimmter Datenelemente, z. B. der Nummer des rufenden Teilnehmers, verfügbar ist was mitunter als automatische Nummernidentifikation (ANI) bezeichnet wird. Im Schritt 206 wird bestimmt, ob Fehler während des Prüfprozesses im Schritt 205 ermittelt wurden. Wenn Fehler ermittelt wurden, wird ein Fehlermeldungsbericht im Schritt 204 erzeugt. Wenn jedoch keine Fehler festgestellt wurden, kompiliert das Versorgungssteuersystem 102 im Schritt 207 das Teilnehmerprogramm. Man beachte, daß das Teilnehmerprogramm im Gegensatz zur Kompilierung auch interpretiert werden kann. Danach analysiert das Versorgungssteuersystem 102 im Schritt 208 das kompilierte Programm, um zu bestimmen, ob Teilnehmer- oder Netzbetreiberdaten für seine Ausführung benötigt werden. Wenn ja, kopiert das Versorgungssteuersystem 102 im Schritt 205 entsprechende Dateien von Teilnehmerdatenbasen 104 und von Netzbetreiberdatenbasen 105 in Prüfdatenbasen 107 und erzeugt oder aktualisiert einen Teilnehmerprüfdatensatz (nachstehend beschrieben). Beispielsweise wird eine Zipcodetabelle in eine Prüfdatenbasis 107 kopiert, wenn das Programm für eine Leitweglenkung von Rufen zu spezifischen Standorten auf der Grundlage einer ANI des rufenden Teilnehmers oder des zugehörigen Zipcodes geeignet ist.
- Eine zur Veranschaulichung dienende Darstellung eines Teilnehmerprüfdatensatzes ist in Fig. 3 gezeigt. Der Prüfdatensatz weist ein Teilnehmer-ID-Feld 301 auf, dessen Inhalt einen Teilnehmer eindeutig identifiziert. Skriptsprache-ID 302 ist ein Feld, das verwendet wird, um ein spezifisches Verbindungsbearbeitungsprogramm zu identifizieren, wenn ein Teilnehmer mehrere zu prüfende Programme hat. Ein Versionsnummernfeld 303 wird verwendet, um verschiedene Versionen eines Programms zu unterscheiden, die zu verschiedenen Zeiten geprüft werden können. Im Feld 304 stellen Prüfdatenadresse 1 bis Prüfdatenadresse n Zeiger dar, die anzeigen, wo verschiedene Typen von Daten, die für die Ausführung des Programms benötigt werden, in einer Prüfdatenbasis 107 gespeichert sind.
- Das Versorgungssteuersystem 102 erzeugt im Schritt 210 in Fig. 2 entsprechende Bibliotheksfunktionsaufrufe, um diese Netzbetreibergrundelemente mit dem kompilierten Programm zu verbinden, um ein vollständiges ausführbares Modul zu bilden, das in die Bibliothek 106 heruntergeladen wird, die erweiterte Programme enthält. Typen von Grundelementen, die dem teilnehmerdefinierten Verbindungsbearbeitungsprogramm hinzugefügt werden können, sind: a) Rechnungslegungsgrundelemente, die verwendet werden, um dem Teilnehmer Verbindungen in Rechnung zu stellen, die das Programm aufrufen; b) Netzverwaltungslogik, um das Netz über unnormale Verbindungsbearbeitungsbedingungen zu informieren; c) Umsetzungsgrundelemente zur Ableitung von herkömmlichen Zielnummern für spezielle Vorwahlnummern, beispielsweise 700-, 800- und 900er Nummern; und d) Steuerlogik, um sicherzustellen, daß Netzbetreiber nicht gegen die Federal Communications Commission (FCC) und die staatliche Public Utilities Commission (PUC) interLATA, intraLATA und internationale Verkehrsleitweglenkungsregeln und Regulierungen verstoßen.
- Zusätzlich zu den statischen Prüfvorgängen, die oben beschrieben sind, können dynamische Prüfvorgänge durchgeführt werden. Fig. 4 zeigt ein zur Veranschaulichung dienendes Prüfsystem, das solche dynamischen Prüfvorgänge gemäß der Erfindung durchführt. Ein dynamischer Prüfvorgang weist in diesem Beispiel der Erfindung drei getrennte Prozesse auf. In einem ersten Prozeß, der in dieser Anmeldung als "funktionaler Prüfprozeß" bezeichnet wird, simulieren automatisierte Prüfwerkzeuge eine Ausführungsumgebung, in der der Teilnehmer einzelne Verbindungen auslösen kann, die geeignet sind, die Ausführung des Programms auszulösen, und es dem Teilnehmer erlauben, den Algorithmus zu überprüfen, und jedes spezifische Merkmal, das vom Programm bereitgestellt wird, zu prüfen. In einem zweiten Prozeß, der in dieser Anmeldung als "Verbindungsbearbeitungsweganalyseprozeß" bezeichnet wird, wird eine Menge von Netzbetriebsmitteln, die verwendet werden, um bestimmte Sequenzen von Befehlen im Programm zu verarbeiten, das zu einer endgültigen Herstellung einer Verbindung führt, vorausberechnet. Schließlich erzeugt in einem dritten Prozeß, der in dieser Anmeldung als "Leistungsprüfprozeß" bezeichnet wird, ein netzbetreiberspezifisches Verkehrssimulationsprogramm eine Simultan- Mehrfachverbindungsauslösungsumgebung für verschiedene Netzlastbedingungen, um die Knotentypen im Teilnehmerprogramm zu prüfen und Laufzeitausführungsparameterschwellwerte für das Programm abzuleiten.
- In Fig. 4 verwendet ein Teilnehmer, der die funktionalen Fähigkeiten eines Verbindungsbearbeitungsprogramms zu prüfen wünscht, im Teilnehmerbereich befindliche Geräte, z. B. einen Fernsprechapparat 401 oder einen Computer 402 (mit einem geeigneten Wählprogramm), um eine Telefonnummer, die einer Fernverbindungsprüfeinheit (RCTU) 405 zugeordnet ist. Der Ruf wird von einem Fernmeldenetz 403 zur RCTU 405 vermittelt. Das Fernmeldenetz 403 kann die Vermittlungs-, Signalisier- und Übertragungseinrichtungen eines Ortsnetzbetreibers (LEC), eines Fernnetzbetreibers (IXC) oder beider aufweisen, die geeignet sind, Rufe zu entsprechenden Zielen zu leiteit.
- In Fig. 4 ist eine RCTU 405 mit einem Fernmeldenetz 403 über ein Leitungsbündel 404 verbunden. Die RCTU 405 ist ein prozessorgesteuertes, softwarebetriebenes Vermittlungssystem, das mit einer automatischen Rufleiteinrichtung ausgerüstet ist, die geeignet ist, ankommende Rufe zu beantworten und ein Mischen oder Überbrücken von Verbindungen von einem ankommenden Kanal des Leitungsbündels 404 zu einem abgehenden Kanal des Leitungsbündels 406 zu ermöglichen. Der Betrieb der RCTU 405 wird von einer Systemsoftware gesteuert, die aus Befehlen besteht, um i) ankommende Rufe zu beantworten; ii) rufende Teilnehmer anzuweisen, spezifische Information einzugeben, um deren Verbindungen zu bearbeiten; iii) Verbindungen auszulösen; iv) Verbindungen zu übergeben; und v) Verbindungen zu überbrücken. Die RCTU 405 ist auch mit Plattenspeicherplatz ausgerüstet, in dem der Teilnehmerprüfdatensatz (in Fig. 3 dargestellt) für das Teilnehmerverbindungsbearbeitungsprogramm gespeichert wird. Die RCTU 405 kann beispielsweise ein AT&T Conversant Voice Information System sein.
- Fig. 4 zeigt einen Vermittlungsstrukturemulator 407, der mit der RCTU 405 über ein Leitungsbündel 406 verbunden ist. Der Emulator 407 ist ein Prozessor mit Speichereinrichtungen, die Netzemulationssoftware speichern, die geeignet ist, die Vermittlungs- und Signalisierfunktionalität zu simulieren, die durch eines oder mehrere Fernsprechvermittlungssysteme, z. B. eine Amtsvermittlungseinrichtung oder eine Fernvermittlungseinrichtung oder beide, bereitgestellt wird. Insbesondere erzeugt ein Vermittlungsstrukturemulator 407 bei Empfang von Verbindungsauslösungssignalen (beispielsweise von einer RCTU 405) Vermittlungs- und Signalisiermeldungen, um die Ausführung bestimmter Befehle in einem Zusatzprozessor des Netzes auszulösen, um eine Verbindung zu bearbeiten. In diesem Beispiel ist der Zusatzprozessor eine Programmausführungseinrichtung 408, die in ihrem Speicher den Inhalt des erweiterten Programms speichert, das in der Bibliothek 106 gemäß Fig. 1 liegt.
- Die Prüfdatenbasis 107 gemäß Fig. 1 ist mit der Programmausführungseinrichtung 408 verbunden. Die Datenbasis 107 speichert Daten, die von der Programmausführungseinrichtung 408 benötigt werden, um zu prüfende Programme auszuführen. Meldungen, die vom Vermittlungsstrukturemulator 407 erzeugt werden, werden in Protokolldateien 412 gespeichert. Ergebnisse des Prüfvorgangs, die im Vermittlungsstrukturemulator 407 und in der Programmausführungseinrichtung 408 durchgeführt werden, werden in einer Meßdatenbasis 409 gespeichert. Insbesondere werden Messungen, z. B. CPU-Zyklen pro Verbindungstyp, Bestätigungsmeldungsantwortzeit pro Verbindungstyp, Speichernutzung pro Verbindungstyp, und andere Messungen in einer Meßdatenbasis 409 gespeichert. Die Meßdaten und die Protokolldateien, die vom Vermittlungsstrukturemulator 407 im Verlaufe des Funktionsprüfprozesses erzeugt werden, können für den Teilnehmer zu Fehlersuchzwecken verfügbar gemacht werden.
- Ein Lastgenerator 410 ist mit dem Vermittlungsstrukturemulator 407 über ein Leitungsbündel 414 verbunden. Der Lastgenerator 410 ist ein Prozessor, der in der Lage ist, Softwareprogramme auszuführen, die geeignet sind, verschiedene gleichzeitige simulierte Verbindungen zum Vermittlungsstrukturemulator 407 herzustellen. Außerdem ist der Lastgenerator 410 geeignet, Prüfdatenparameter für verschiedene Prüfszenarien zu erzeugen, um die Ausführung des Verbindungsbearbeitungsprogramms auszulösen und verschiedene Wahlmöglichkeiten innerhalb des Programms für verschiedene Verkehrsebenen auszulösen.
- Der Lastgenerator 410 empfangt vom Prüfungssteuersystem 413 Anweisungen, um spezifische Typen von Prüfdaten zu erzeugen. Das Prüfungssteuersystem 413 ist ein Prozessor, der eingerichtet ist, a) um auf Wunsch die geeignete Programmversion, die im erweiterten Programm 106 (gemäß Fig. 1) gespeichert ist in die Programmausführungseinrichtung 408 herunterzuladen und b) um Prüfszenarien (unten beschrieben) zu entwickeln, um spezifische Teile eines Teilnehmerprogramms zu prüfen.
- Ein dynamischer Prüfvorgang, der es einem Teilnehmer ermöglicht, die Merkmale und Funktionalität eines teilnehmerdefinierten Verbindungsbearbeitungsprogramms zu prüfen (nämlich der oben erwähnte "Funktionsprüfprozeß"), ist in Fig. 5 dargestellt. Dieser Prüfprozeß wird im Schritt 501 ausgelöst wenn der Teilnehmer eine Prüfverbindung zur RCTU 405 anmeldet. Der Ruf wird vom Fernmeldenetz 403 über einen Kanal des Leitungsbündels 404 zur RCTU 405 geleitet, die den Teilnehmer im Schnitt 502 auffordert, je nach Anwendungsfall einen Sicherheitscode, eine Teilnehmeridentifikationsnummer, eine Programmidentifikationsnummer und eine zugehörige Versionsnummer des Programms einzugeben. Bei Empfang dieser Information speichert die RCTU 405 diese in einem Puffer und bestimmt im Schritt 503 deren Gültigkeit, indem sie entsprechende Stücke der empfangenen Information mit einem Teil der Felder im Teilnehmerprüfdatensatz vergleicht, der in Fig. 3 dargestellt ist. Wenn die empfangene Information ungültig ist, wird die Verbindung im Schritt 504 beendet. Wenn die empfangene Information jedoch gültig ist, sendet die RCTU 405 im Schritt 505 ein Signal an das Prüfungssteuersystem 413, um die entsprechende Programmversion in RAM-Puffer in der Programmausführungseinrichtung 408 herunterzuladen. Im Schritt 506 fordert die RCTU 405 den Teilnehmer auf, die Nummer eines gerufenen Teilnehmers oder eine andere relevante Information einzugeben, z. B. eine AM, um die Ausführung des Verbindungsbearbeitungsprogramms auszulösen. Nach Empfang dieser Information löst die RCTU 405 im Schritt 507 eine Verbindung zum Vermittlungsstrukturemulator 407 aus. Im Schritt 508 überbrückt die RCTU 405 die Teilnehmerverbindung und die Verbindung, die an den Vermittlungsstrukturemulator 407 gerichtet ist, um einen Übertragungsweg vom Teilnehmer zum Vermittlungsstrukturemulator 407 zu erzeugen. Im Schritt 509 simuliert der Vermittlungsstrukturemulator 407 die Funktionen eines Fernsprechvermittlungssystems, das mit einem Zusatzprozessor im Dialog steht, der in diesem Beispiel durch die Programmausführungseinrichtung 408 dargestellt wird. Diese Dialogbetrieb weist auf a) Austausch von Verbindungsbearbeitungssignalisierungsmeldungen zwischen dem Vermittlungsstrukturemulator 407 und der Programmausführungseinrichtung 408; b) Fluß von Befehlen und Verbindungsbearbeitungsanweisungen zwischen dem Vermittlungsstrukturemulator 407 und der Programmausführungseinrichtung 408; und c) Lesen von Daten aus der Datenbasis 107, die benötigt werden, um eine Prüfverbindung zu bearbeiten. Meldungen, die vom Vermittlungsstrukturemulator 407 erzeugt werden, sind Einrichtmeldungen, die mindestens eine Zielnummer für eine simulierte Verbindung erfordern, Trennmeldungen, um Verbindungen zu beenden, oder andere Meldungen. Der Vermittlungsstrukturemulator 407 kann also mit dem Teilnehmer in Dialog treten, indem er Ansagen für die Teilnehmer bereitstellt, damit diese zusätzliche Information eingeben, damit die Verbindung bearbeitet werden kann. Im Schritt 510 stellt der Vermittlungsstrukturemulator 407 eine Kopie von jeder Verbindungsbearbeitungsmeldung her, z. B. von den Meldungen Transaction Capabilities Application Part (TCAP) oder ISDN User Part (ISUP), die zwischen m Vermittlungsstrukturemulator 407 und der Programmausführungseinrichtung 408 ausgetauscht werden. Der Emulator 407 speichert Meldungen in Protokolldateien 412. Fehler und Anomalien, die vom Vermittlungsstrukturemulator 407 erkannt oder von der Programmausführungseinrichtung 408 empfangen werden, werden in einer Fehlerdatei 411 gespeichert. Die Verbindungsbearbeitungsmeldungen und die Fehlerdateien können zu Fehlersuchzwecken an den Teilnehmer übergeben werden. Die Ausführung von Anweisungen in der Programmausführungseinrichtung 408, kombiniert mit simulierten Funktionen, die vom Vermittlungsstrukturemulator 407 ausgeführt werden, ermöglichen es dem Teilnehmer, einen Teil der Merkmale zu überprüfen, die vom Programm bereitgestellt werden. Beispielsweise kann ein Teilnehmer durch Analysieren einer Meldung, z. B. einer SETUP- (Einricht-)Meldung, die vom Vermittlungsstrukturemulator 407 als Antwort auf Anweisungen von der Programmausführungseinrichtung 408 erzeugt wird, den Leitweglenkungsalgorithmus eines Programms überprüfen.
- Wenn der Teilnehmer mit Ergebnissen des Funktionsprüfprozesses zufrieden ist, wird das Verbindungsbearbeitungsprogramm dem vorher erwähnten Prozeß unterzogen, der als "Verbindungsbearbeitungsweganalyseprozeß" bezeichnet wird. Um die Arbeitsschritte dieses Prozesses zu erläutern, ist ein spezifisches Beispiel eines teilnehmerspezifischen Verbindungsbearbeitungsprogramms in Fig. 6 und 7 dargestellt. Dieses Programm ist durch einen vereinfachten, zur Darstellung dienenden Pseudocodesatz von Programmieranweisungen dargestellt, der in Tabelle 1 unten gezeigt ist. TABELLE 1
- In diesem Fall wünscht der Teilnehmer, in einem öffentlichen Fernsprechwählnetz ein Programm zu entwickeln und zu installieren, um die folgenden Verbindungsbearbeitungsmöglichkeiten bereitzustellen. Der betreffende Teilnehmer wünscht, ankommende Rufe in zwei Gruppen zu klassifizieren, nämlich in Rufe, für die in der Teilnehmerdatenbasis 104 gemäß Fig. 1 ANI-Sätze vorhanden sind, und in Rufe, für die keine solchen ANI-Sätze vorhanden sind. Rufende Teilnehmer, die der ersten Gruppe von Rufen zugeordnet werden, sind auf der Grundlage bisheriger Geschäftsverbindungen mit dem Teilnehmer weiterhin als bevorzugte Teilnehmer und gute Teilnehmer zu klassifizieren. Die Programmieranweisungen, die 'case 3' (dem Fall 3) in Tabelle 1 zugeordnet sind, stellen zur Darstellung dienende Anweisungen dar, die verwendet werden können, um den oben erwähnten Teilnehmerklassifikationsprozeß auszuführen. Dieser Prozeß wird außerdem vom ANI-Steuerungsentscheidungsknotentyp 611 in Fig. 6 und 703 in Fig. 7 dargestellt.
- Außerdem wünscht der Teilnehmer, daß Rufe von "bevorzugten Teilnehmern" zunächst von einer speziellen Gruppe von Mitarbeitern überprüft werden, bevor diese Rufe an einen spezifischen Mitarbeiter weitergeleitet werden, z. B. einen Mitarbeiter, der entweder den letzten Ruf von diesem Teilnehmer bearbeitet hat oder ein Spezialist für diesen betreffenden Dienst- oder Warentyp des bevorzugten Kunden ist. Zur Veranschaulichung dienende, vereinfachte Programmieranweisungen für diesen Überprüfungs- und Weiterleitungsprozeß sind in Tabelle 1 unter 'case 4' (Fall 4) dargestellt. Der Knotentyp, der diesen Anweisungen zugeordnet ist, ist durch einen Beantwortungs- und Rufweiterleitungsknoten 612 in Fig. 6 und 704 in Fig. 7 dargestellt.
- Rufe von "guten Kunden" werden turnusmäßig verschiedenen Gruppen von Mitarbeitern zugeordnet, wie durch die zur Veranschaulichung dienenden Programmieranweisungen gezeigt, die 'case 5' (dem Fall 5) in Tabelle 1 zugeordnet sind. Der Rufzuordnungsprozeß wird auch durch den Rufzuordnungsknoten 613 in Fig. 6 und 705 in Fig. 7 dargestellt.
- Ein Teilnehmer, der während der Geschäftszeit einen Ruf auslöst, der der ANI unbekannt ist, wird aufgefordert, zusätzliche Information, z. B. einen Zipcode, bereitzustellen, der bewirkt, daß der Ruf an eine spezifische Gruppe von Mitarbeitern geleitet wird, die beauftragt sind, Rufe zu bearbeiten, die von Fernsprechapparaten ausgelöst werden, bei denen der Zipcode vom Teilnehmer eingegeben wird. Die zur Veranschaulichung dienenden Anweisungen von 'case 11' (Fall 11) in Tabelle 1 können verwendet werden, um zu bestimmen, ob der Ruf von dem Teilnehmer während der Geschäftszeit empfangen worden ist oder nicht. Die Anweisungen von 'case 9' (Fall 9) in Tabelle 1 können verwendet werden, um den Rufaufforderungsprozeß zu implementieren. Der Zeitentscheidungsprozeß ist als Zeitentscheidungsknoten 614 und 709 in Fig. 6 bzw. 7 dargestellt. Ebenso ist die Rufaufforderungsfähigkeit als Rufaufforderungsknoten 616 in Fig. 6 und 711 in Fig. 7 dargestellt. Außerhalb der Geschäftszeit würde eine Gefälligkeitsansage für rufende Teilnehmer, die der ANI unbekannt sind, bereitgestellt werden, die sie beispielsweise auffordert, während der Geschäftszeit zurückzurufen oder eine Telefonnummer zu hinterlassen, unter der sie zurückgerufen werden können. Die Gefälligkeitsansagsfähigkeit ist als Gefälligkeitsansageknoten 615 und 710 in Fig. 6 bzw. 7 dargestellt und kann unter Verwendung der vereinfachten Anweisungen unter 'case 13' (Fall 13) in Tabelle 1 implementiert werden. Schließlich zeigen "case 6, 7 und 8" (Fall 6, 7 und 8) in Tabelle 1 Leitweglenkungsanweisungen, die auch durch Leitwegknoten 617 in Fig. 6 und 706, 707, 708, 712 und 713 in Fig. 7 dargestellt werden.
- Fig. 6 zeigt eine Tabelle, die Gruppen oder Sequenzen von Befehlen im Programm von Tabelle 1 in spezifische, zur Veranschaulichung dienende Knotentypen umsetzt. Ein Knotentyp ist eine Sequenz von Programmieranweisungen, die normalerweise zusammen betrachtet werden und eine spezifische Verbindungsbearbeitungsfunktionalität definieren. Ein Knotentyp kann als Programmierwort angesehen werden, das eine Kette von Maschinensprachbefehlen aufweist, die eine spezifische Verbindungsbearbeitungsfunktion definieren. Wie in Fig. 6 gezeigt, entsprechen die Sätze von Anweisungen 601, 602, 603, 604, 605, 606 und 607 den Knotentypen 611, 612, 613, 614, 615, 616 bzw. 617. In Fig. 6 weist ein Rufaufforderungsknoten 616 eine Sequenz von Befehlen "Ansage wiedergeben", "Ziffern ansammeln" und "Wählen" auf. Ebenso weist ein Verbindungszuweisungsknotentyp für turnusmäßige Bearbeitung 613 eine Kette von Befehlen auf a) mit einer zugeordneten Variablen "inkrementieren"; b) "wenn, dann, sonst" unter einer Bedingung, die über diese Variable vorausgesagt wird; c) einer Tabelle mit dieser Variablen "wählen" und d) "weiterleiten" oder "zum nächsten Knoten gehen".
- Durch Zuordnen entsprechender Knotentypen zu Sequenzen von Befehlen im Programm gemäß Tabelle 1 kann also das Programm durch einen Entscheidungsbaum, z. B. den Entscheidungsbaum, der in Fig. 7 gezeigt ist, dargestellt werden. Der Entscheidungsbaum gemäß Fig. 7 weist mehrere Zweige auf, die als "Verbindungsbearbeitungswege" bezeichnet werden, die zu einer endgültigen Entscheidung einer Verbindung fahren. Das Verbindungsbearbeitungsprogramm, wie es vom Entscheidungsbaum gemäß Fig. 7 dargestellt wird, weist einen Verbindungsauslösungsknoten 701, einen Rechnungslegungsknoten 702 auf, der von einem ANI-Steuerungsentscheidungsknoten 703 gefolgt wird. Der Rechnungslegungsknoten ist eines der Netzbetreibergrundelemente, die dem teilnehmerdefinierten Programm hinzugefügt sind. Die Funktion dieses Knotens besteht darin, für Rechnungslegungszwecke Meßdaten einzurichten, die für Verbindungen zu sammeln sind, die eine Ausführung des Programms aufrufen. Abzweigungen vom ANI- Steuerungsentscheidungsknoten 703 sind: a) ein Beantwortungs- und Rufweiterleitungsknoten 704, der zu Leitweglenkungsknoten 714 und 715 führt; b) ein Verbindungszuordnungsknoten 705, der zu Leitweglenkungsknoten 706, 707 und 708 führt; und c) ein Zeitentscheidungsknoten 709, der entweder zu einem Gefälligkeitsansageknoten 710 oder zu einem Rufaufforderungsknoten 711 fuhrt, der von Leitweglenkungsnoten 712 und 713 gefolgt wird. Jede logische Kette von Knoten, die als "Verbindungsbearbeitungsweg" bezeichnet wird, führt zu einer endgültigen Verbindungsentscheidung im Entscheidungsbaum gemäß Fig. 7.
- Der "Verbindungsbearbeitunsgweganalyseprozeß" eines teilnehmerdefinierten Verbindungsbearbeitungsprogramms, z. B. des Programms, das in Fig. 6 und 7 dargestellt ist, wird im Schritt 801 gemäß Fig. 8 ausgelöst, wobei das Prüfungssteuersystem 413 das ausführbare Modul analysiert, um Sequenzen von Befehlen im Programm mit spezifischen Knotentypen zu korrelieren, wie in Fig. 6 dargestellt. Die Software, die im Speicher des Prüfungssteuersystems 413 geladen ist, ist eingerichtet, um Sequenzen von Befehlen zu erkennen und spezifische Knotentypen spezifischen Sequenzen von Befehlen zuzuordnen, wie in Fig. 6 dargestellt. Danach leitet das Prüfungssteuersystem 413 im Schritt 802 einen Entscheidungsbaum ab, wie das System, das in Fig. 7 dargestellt ist, von der Sequenz von Knotentypen, die im Programm vorhanden sind. Das Prüfungssteuersystem 413 verwendet im Schritt 803 zurückliegende Daten des Fernmeldenetzbetreibers, um Vorausberechnungen des Netzbetriebsmittelverbrauchs zuzuweisen, der als Ergebnis der Ausführung jedes Knotentyps im Entscheidungsbaum erwartet wird. Danach zählt das Prüfungssteuersystem 413 im Schritt 804 für jeden Verbindungsbearbeitungsweg die vorausberechnete Menge an Netzbetriebsmitteln, die zum Aufbau einer Verbindung auf diesem Weg benötigt wird. Die Verbindungsbearbeitungswege, die entweder spezielle Knotentypen aufweisen oder eine große Menge von Netzbetriebsmitteln verwenden, werden im Schritt 805 für eine zusätzliche Prüfung markiert. Ein Knoten wird als spezieller Knotentyp betrachtet, wenn die Vorausberechnung der Netzbetriebsmittel für diesen Knotentyp mit Wahrscheinlichkeit außerhalb der vorbestimmten Werte liegt. Beispielsweise werden der Zuordnungsknoten für turnusmäßige Bearbeitung und der Beantwortungs- und Rufweiterleitungsknoten als spezielle Knotentypen angesehen, da sie ungewöhnliche Mengen von Netzbetriebsmitteln erfordern, z. B. eine Bearbeitung einer großer Anzahl von Tabelleneinträgen oder eine Verarbeitung einer großen Anzahl von Variablen.
- Das Prüfungssteuersystem 413 im Schritt 806 analysiert jeden Verbindungsbearbeitungsweg und richtet entsprechende Befehle an den Lastgenerator 210. Der Lastgenerator 210 erzeugt entsprechende Prüfdatenparameter, die die Ausführung einer spezifischen Sequenz von Knotentypen erzwingen. Wenn beispielsweise kein ANI-Datensatz für einen spezifischen Bereichsknoten in der Prüfdatenbasis 107 gespeichert ist, erzeugt der Lastgenerator 210 ANI-Daten für diese spezifische Ortskennzahl, um den Rufaufforderungsknoten 711 zu prüfen, der, wie oben erwähnt, nur für Verbindungen ausgeführt wird, die der ANI unbekannt sind. Ebenso sendet das Prüfungssteuersystem 413 entsprechende Anweisungen an den Lastgenerator 210, um die entsprechenden Prüfdaten für den Zeitbereich zu erzeugen, die bewirken, daß für den rufenden Teilnehmer eine Ansage wiedergegeben wird.
- Um zu ermöglichen, daß die Prüfumgebung eine echte Ausführungsplattform reflektiert, muß die Prüfumgebung Verkehr simulieren, der Fernsprechverbindungen, die eine Ausführung des Programms aufrufen, und Fernsprechverbindungen, die keine Ausführung des Programms aufrufen, aufweist. Das Prüfungssteuersystem 413 erzeugt demzufolge im Schritt 807 Anweisungen, die vom Lastgenerator 210 auszuführen sind, um Daten zu erzeugen, die bewirken, daß der Vermittlungsstrukturemulator 207 ein Gemisch aus simulierten Verbindungen empfängt. Ein Teil der Verbindungen in diesem Gemisch erfordern die Ausführung des Programms, während andere Verbindungen in dem Gemisch die Rolle eines anderen Teilnehmerverkehrs im Netz spielen, der keine Ausführung des Programms erfordert. Verbindungen, die keine Ausführung des Programms erfordern, werden nachstehend als "Hintergrundlast" bezeichnet. Außerdem erzeugt das Prüfungssteuersystem 413 Anweisungen für den Lastgenerator 210, um für jeden Verbindungsbearbeitungsweg eine Prüfumgebung zu erzeugen, die als "Prüfszenario" bezeichnet wird. Die Charakteristika jedes Prüfszenarios können unter anderem aufweisen: a) die Anzahl der gleichzeitigen Fernsprechverbindungen, die ausgelöst werden können; b) ein Gemisch von Prüfdaten, die eine gleichzeitige Ausführung mehrerer Verbindungsbearbeitungswege auslösen; c) die Größe der Hintergrundlast; und d) die Länge der Prüfperiode. Beispielsweise haben markierte Verbindungsbearbeitungswege Prüfszenarien, in denen das teilnehmerdefinierte Programm für längere Zeitperioden mit einer höheren Hintergrundlast und einer größeren Anzahl von gleichzeitigen Fernsprechverbindungen geprüft wird. Im Schritt 808 gibt das Prüfungssteuersystem 413 alle Anweisungen und Prüfszenarien an den Lastgenerator 210 weiter, der die empfangenen Anweisungen ausführt, um (beispielsweise unter Verwendung eines stochastischen Prozesses) Prüfdaten für jedes Prüfszenario zu erzeugen, und diese in seinen internen Speichereinrichtungen speichert.
- Wenn für das Programm Prüfdaten erzeugt worden sind, wird der Prozeß des Prüfens der Leistung des Programms unter verschiedenen Lastbedingungen im Schritt 901 in Fig. 9 ausgelöst, wobei dann der Lastgenerator 210 die Auslösung mehrerer gleichzeitiger Verbindungen zum Vermittlungsstrukturemulator 207 unter Verwendung eines Testszenarios für einen bestimmten Verbindungsbearbeitungsweg simuliert. Die Anzahl der gleichzeitigen Verbindungen, die für ein bestimmtes Testszenario ausgelöst werden, kann während des Leistungsprüfprozesses variieren, um die normale und die Spitzenverkehrslast zu emulieren, die bei einem Netzbetreiber auftreten. Im Schritt 902 erzeugen der Vermittlungsstrukturemulator 207 und die Programmausführungseinrichtung 208 und entsprechende Befehle und Verbindungsbearbeitungsmeldungen und senden sich diese gegenseitig zu, um jede simulierte Verbindung zu bearbeiten. Im Schritt 903 zeichnet der Vermittlungsstrukturemulator 207 für jeden Befehl und für jede Verbindungsbearbeitungsmeldung die Anzahl der CPU-Zyklen und den Speicherplatz auf, der zur Bearbeitung des Befehls und zur Erzeugung der Meldung zugeordnet wird. Im Schritt 904 bestimmt der Lastgenerator 210, ob alle Prüfszenarien für alle Verbindungsbearbeitungswege ausgeführt worden sind. Wenn nicht alle Prüfszenarien ausgeführt worden sind, werden die Schritte 901 bis 903 wiederholt, bis alle Prüfszenarien ausgeführt sind. Dann zählt der Vermittlungsstrukturemulator 206 im Schritt 905 die verwendeten CPU-Zyklen und den für jeden Verbindungsbearbeitungsweg zugeordneten Speicherplatz und berechnet eine durchschnittliche CPU-Ausführungsszeit für eine Verbindung, die die Ausführung des Programms aufruft. Diese Information wird an das Versorgungssteuersystem 102 weitergeleitet, das diese Information verwendet, um im Schritt 906 Schwellwerte für CPU-Zyklen und Speicherzuweisungen zur Ausführung des Programms im Betreibernetz zuzuordnen.
- Zwei Anordnungen können benutzt werden, um die Schwellwerte zu bestimmen, die eine Verbindungsbeendigung auslösen, wenn diese Schwellwerte für Verbindungen, die das Programm aufrufen, überschritten werden. In der ersten Anordnung werden der höchste Wen für CPU-Zyklen und Speicherplatzzuweisung, der vom Zählwert abgeleitet wird, als Schwellwerte für die Programmausführung für jede Verbindung verwendet. Wenn insbesondere diese Schwellwerte für eine bestimmte Verbindung, die die Ausführung des Programms aufruft, überschritten werden, wird die Verbindung beendet, um einen negativen Einfluß auf die Bearbeitung von Verbindungen anderer Teilnehmer im Fernmeldenetz zu vermeiden.
- In der zweiten Anordnung wird jedem Teilnehmer ein Teil der CPU-Ausführungszeit in einem Prozessor (z. B. in der Programmausführungseinrichtung 208) zugewiesen, die der Programmausführung auf der echten Ausführungsplattform des Fernmeldenetzbetreibers zugeordnet ist. Der Teil der CPU- Ausführungszeit, die dem Teilnehmer zugewiesen wird, kann berechnet werden als die Anzahl von Verbindungen pro Sekunde, die der Teilnehmer erwartet, um eine Ausführung des Programms aufzurufen, geteilt durch die Anzahl der CPU-Zyklen, die für den betriebsmittelintensivsten Verbindungsbearbeitungsweg im Programm abgeleitet sind. Wenn der Teilnehmer seine zugewiesene CPU- Ausführungszeit überschreitet, muß er sich mit einer längerer Nachwählverzögerung für seinen Verkehr abfinden, obwohl das Netz nicht überlastet ist. Obwohl der Schwellwert überschritten wird, können Verbindungen, die das Programm aufrufen, hergestellt werden, da das Netz Ersatzbearbeitungsbetriebsmittel hat, die Teilnehmern zugewiesen werden, die den Prozessor gemeinsam benutzen, beispielsweise auf der Grundlage, wer zuerst kommt, wird zuerst bedient, um eine Beendigung von Verbindungen zu vermeiden, wenn der Netzbetreiber verfügbare freie Netzbetriebsmittel hat. Wenn der Netzbetreiber bei Netzspitzenverkehrslast seine zugewiesene CPU-Ausführungszeitschwelle überschreitet, werden Verbindungen, die das Programm aufrufen, vor der Programmausführung beendet, um zu verhindern, daß andere Teilnehmer durch die Ausführung des Programms negativ beeinflußt werden.
Claims (18)
1. Verfahren zum Prüfen eines teilnehmerspezifischen Verbindungsbearbeitungsprogramms, das in
einem Fernmeldenetz (403) auszuführen ist, wobei das Verfahren die Schritte aufweist:
Empfangen eines teilnehmerspezifischen Verbindungsbearbeitungs-programms von Geräten in
Teilnehmerbereich in einem Fernmeldenetz (403); dadurch gekennzeichnet, daß das Verfahren ferner die
Schritte aufweist:
Simulieren einer Verbindungsbearbeitungsumgebung, die eine Ausführung des Programms für
verschiedene simulierte Verkehrsebenen im Fernmeldenetz (403) erfordert; und
Messen der Verwendung der Netzbetriebsmittel in der simulierten
Verbindungsbearbeitungsumgebung.
2. Verfahren nach Anspruch 1, ferner mit den Schritten:
Ableiten von Netzbetriebsmittelverwendungsschwellwerten für das Programm; und
Zuweisen der Schwellwerte zu dem Programm, wenn das Programm zur Ausführung in das
Fernmeldenetz (403) geladen wird.
3. Verfahren zur Ausführung eines vorher nach dem Verfahren gemäß Anspruch 2 geprüften
teilnehmerspezifischen Verbindungsbearbeitungs-programms in einem Fernmeldenetz (403), mit den
Schritten:
Beenden von Verbindungen, die das Programm aufrufen, wenn die Schwellwerte durch Aufrufen
des Programms überschritten werden.
4. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Simulierens der
Verbindungsbearbeitungsumgebung die Schritte aufweist:
Anlegen eines oder einer gleichzeitigen Vielzahl von Verbindungsauslösungssignalen an einen
ersten Prozessor, der eine Vermittlungsstruktur emulgiert;
Erzeugen von Verbindungsbearbeitungsmeldungen und Programmanweisungen in dem ersten
Prozessor als Antwort auf das Anlegen der Verbindungs-auslösungssignale;
Weiterleiten der Bearbeitungsmeldungen und der Programmanweisungen an den zweiten
Prozessor, um eine Ausführung des Verbindungsbearbeitungs-programms in dem zweiten Prozessor
auszulösen;
Empfangen von Antwort- und Bestätigungsmeldungen in dem ersten Prozessor von dem zweiten
Prozessor; und
Bewerten der in dem ersten Prozessor empfangenen Antwort- und Bestätigungsmeldungen, um ein
Ausführungsverhalten des Programms zu beurteilen.
5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Verkehrsebenen ein Gemisch aus
Verbindungen aufweisen, die eine Ausführung des Programms aufrufen.
6. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Messens der
Verwendung der Netzbetriebsmittel folgenden Schritt aufweist:
Feststellen, wie viele CPU-Zyklen und wieviel Speicherplatz verwendet werden, um mindestens
eine Verbindung zu bearbeiten, die das Programm aufruft.
7. Verfahren nach Anspruch 6, wobei der Schritt, der feststellt, wie viele CPU-Zyklen und wieviel
Speicherplatz verwendet werden, um mindestens eine Verbindung zu bearbeiten, die das Programm aufruft
ferner den Schritt des Bestimmens eines Abrechnungstarifs für die Verbindung aufweist.
8. Verfahren nach einem der vorhergehenden Ansprüche, ferner mit den Schritten:
Kompilieren des Programms und Binden des Programms zu vorbestimmten Grundelementen in
dem Fernmeldenetz;
Beurteilen, ob das Programm in dem Fernmeldenetz richtig ausgeführt werden kann; und
Erzeugen von Prüfdaten, um eine Ausführung jeder Verbindungseinrichtung in dem Programm
auszulösen.
9. Verfahren nach Anspruch 8, wobei der Beurteilungsschritt die Schritte aufweist:
a) Sicherstellen, daß eine Ausführung des Programms zu zulässigen Leitweglenkungszielen
führt;
b) Überprüfen, ob das Programm für eine endgültige Einrichtung jeder Verbindung sorgt,
die die Ausführung des Programms aufruft; und
c) Prüfen des Programms auf logische Zuverlässigkeit und Folgerichtigkeit.
10. Verfahren nach Anspruch 9, wobei nach einer Bestimmung, nämlich daß das Programm
irgendeinen der Schritte a), b) und c) nicht erfüllt, eine Fehlermeldung erzeugt wird.
11. Verfahren nach Anspruch 8, 9 oder 10, wobei der Beurteilungsschritt ferner die Schritte aufweist:
Empfangen von Verbindungsauslösungssignalen von einem Rufenden; und
Auffordern des Rufenden, Information einzugeben, um eine Aktivierung der Simulation der
Verbindungsbearbeitungsumgebung auszulösen.
12. Verfahren nach einem der Ansprüche 8 bis 11, wobei der Schritt des Erzeugens von Prüfdaten die
Schritte aufweist:
Umsetzen von Sequenzen von Anweisungen in dem Programm in spezifische Knotentypen;
Feststellen von Bedingungen, die eine Ausführung jedes Knotentyps bewirken; und
Simulieren der Bedingungen für jeden Knotentyp.
13. Verfahren nach einem der Ansprüche 8 bis 12, wobei der Beurteilungs-schritt die Schritte
aufweist:
Prüfen des Programms auf Syntaxfehler;
Untersuchen jeder Datenstruktur in dem Programm, um zu bestimmen, ob ein charakteristisches
Merkmal der Datenstruktur eine vorbestimmte Schwelle überschreitet;
Feststellen von überflüssigem Code und Logikfehlern und
Ermitteln, ob das Programm eine Vorgabelogik für Zeitbegrenzungsbedingungen und eine
Abschlußbehandlung für jeden Verbindungsbearbeitungsweg aufweist.
14. System zum Prüfen eines teilnehmerspezifischen Verbindungs-bearbeitungsprogramms, das in
einem Fernmeldenetz (403) auszuführen ist, wobei das System aufweist:
eine Einrichtung in einem Fernmeldenetz (403) zum Empfangen eines für teilnehmerspezifischen
Verbindungsbearbeitungsprogramms von Geräten im Teilnehmerbereich dadurch gekennzeichnet, daß das
System ferner aufweist:
eine Einrichtung zum Simulieren einer Verbindungsbearbeitungsumgebung, die eine Ausführung
des Programms für verschiedene simulierte Verkehrsebenen im Fernmeldenetz (403) erfordert; und
eine Einrichtung zum Messen der Verwendung von Netzbetriebsmitteln in der simulierten
Verbindungsbearbeitungsumgebung.
15. System nach Anspruch 14, wobei die Einrichtung zum Simulieren der
Verbindungsbearbeitungsumgebung aufweist:
eine Einrichtung zum Erzeugen von Prüfdaten für das Programm; und
eine Einrichtung zum Emulieren einer Auslösung von gleichzeitigen Verbindungen, deren
Bearbeitung eine Ausführung des Programms unter Verwendung der Prüfdatenparameter erfordert, um
Laufzeitausführungs-parameterschwellwerte für das Programm abzuleiten.
16. System zur Ausführung eines nach dem System gemäß Anspruch 15 geprüften
teilnehmerdefinierten Verbindungsbearbeitungsprogramms in einem Fernmeldenetz (403), mit:
einer Einrichtung zum Zuweisen der Laufzeitausführungsparameter-schwellwerte zu dem
Programm in dem Fernmeldenetz (403); und
eine Einrichtung zum Beenden von Verbindungen, die das Programm aufrufen, wenn die
Schwellwerte überschritten werden.
17. System nach Anspruch 15, wobei die Einrichtung zum Erzeugen aufweist:
eine Einrichtung zum Feststellen von Knotentypen in dem Programm, wobei jeder Knotentyp eine
vorbestimmte Sequenz von Anweisungen aufweist;
eine Einrichtung zum Feststellen von Bedingungen, die eine Ausführung jedes Knotentyps
bewirken;
eine Einrichtung zum Simulieren der Bedingungen für jeden Knotentyp.
18. System nach Anspruch 14, 15 oder 17, in dem die Simulationseinrichtung eine Einrichtung zum
Auslösen einer Vielzahl von gleichzeitigen simulierten Verbindungen aufweist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/997,413 US5390232A (en) | 1992-12-28 | 1992-12-28 | System for control of subscriber progragmmability |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69328349D1 DE69328349D1 (de) | 2000-05-18 |
DE69328349T2 true DE69328349T2 (de) | 2000-11-09 |
Family
ID=25543989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69328349T Expired - Fee Related DE69328349T2 (de) | 1992-12-28 | 1993-12-06 | System zur Kontrolle der Teilnehmer-Programmierbarkeit |
Country Status (5)
Country | Link |
---|---|
US (1) | US5390232A (de) |
EP (1) | EP0608614B1 (de) |
JP (1) | JPH06284189A (de) |
CA (1) | CA2103236C (de) |
DE (1) | DE69328349T2 (de) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6084943A (en) * | 1992-05-19 | 2000-07-04 | Rockwell International Corp. | Diagnostic device for a telephone system |
US5588048A (en) * | 1992-07-31 | 1996-12-24 | 800 Adept, Inc. | Geographically mapped telephone routing method and system |
US5805689A (en) * | 1992-07-31 | 1998-09-08 | 800 Adept, Inc. | Geographically mapped telephone routing method and system |
US6385312B1 (en) * | 1993-02-22 | 2002-05-07 | Murex Securities, Ltd. | Automatic routing and information system for telephonic services |
US5848131A (en) * | 1993-02-22 | 1998-12-08 | Murex Securities, Ltd. | Automatic information and routing system for telephonic services |
US5982868A (en) * | 1993-02-22 | 1999-11-09 | Murex Securities, Ltd. | Automatic routing and information system for telephonic services |
US5506897C1 (en) * | 1993-02-22 | 2001-12-11 | Murex Securities Ltd | Automatic routing system for telephonic services |
US5629878A (en) * | 1993-10-07 | 1997-05-13 | International Business Machines Corporation | Test planning and execution models for generating non-redundant test modules for testing a computer system |
JP2812188B2 (ja) * | 1994-03-08 | 1998-10-22 | 日本電気株式会社 | 蓄積プログラム制御電子交換機のシミュレート試験方法 |
US6163597A (en) * | 1995-02-10 | 2000-12-19 | Bell Atlantic Network Services, Inc. | Method and apparatus for routing calls placed to a virtual telephone number |
US5835566A (en) * | 1996-03-29 | 1998-11-10 | Telecom Technologies, Inc. | System and method for providing in-band and out-of-band testing of telecommunications network components |
US6028858A (en) * | 1996-06-07 | 2000-02-22 | Cisco Tenchology, Inc. | ANI-dormant connections for frame relay |
US5901214A (en) * | 1996-06-10 | 1999-05-04 | Murex Securities, Ltd. | One number intelligent call processing system |
US6157640A (en) * | 1996-06-25 | 2000-12-05 | Ericsson Inc | Providing feature logic control in parallel with voice over a single subscriber access |
US5778049A (en) * | 1996-06-26 | 1998-07-07 | Mci Communications Corporation | Service engineering template |
US5809108A (en) * | 1996-09-27 | 1998-09-15 | Mci Communications Corporation | Automated test call generation and execution system |
US6591303B1 (en) * | 1997-03-07 | 2003-07-08 | Sun Microsystems, Inc. | Method and apparatus for parallel trunking of interfaces to increase transfer bandwidth |
US5983348A (en) | 1997-09-10 | 1999-11-09 | Trend Micro Incorporated | Computer network malicious code scanner |
US6173244B1 (en) * | 1998-04-09 | 2001-01-09 | Lucent Technologies, Inc. | System and method for testing a switching system in a telecommunication network |
JPH11331376A (ja) * | 1998-05-08 | 1999-11-30 | Fujitsu Ltd | 電子交換機の試験手順実行方法及びそのシステム |
US7562134B1 (en) | 2000-10-25 | 2009-07-14 | At&T Intellectual Property I, L.P. | Network traffic analyzer |
US7039577B1 (en) | 2000-10-25 | 2006-05-02 | Bellsouth Intellectual Property Corp. | Network traffic analyzer |
US20020097694A1 (en) * | 2001-01-19 | 2002-07-25 | Struhsaker Paul F. | Method for establishing a prioirity call in a fixed wireless access communication system |
AU7205300A (en) * | 2000-12-06 | 2002-06-13 | Alcatel | Versatile network termination unit and line interface |
EP1217811A1 (de) * | 2000-12-19 | 2002-06-26 | Tektronix, Inc. | Verfahren zum Emulieren eines Terminals und Testgerät zum Testen eines Telekommunikationsnetzwerks mit Funktionswahl mittles Windows Benutzerschnittstelle |
KR20040080844A (ko) * | 2003-03-14 | 2004-09-20 | 주식회사 안철수연구소 | 정적 분석을 이용한 악성 스크립트 감지 방법 |
US8520511B2 (en) * | 2003-09-11 | 2013-08-27 | Qualcomm Incorporated | Automatic handling of incoming communications at a wireless device |
US7904882B2 (en) * | 2003-10-16 | 2011-03-08 | Salesforce.Com, Inc. | Managing virtual business instances within a computer network |
US7043435B2 (en) * | 2004-09-16 | 2006-05-09 | Sbc Knowledgfe Ventures, L.P. | System and method for optimizing prompts for speech-enabled applications |
US8387052B2 (en) * | 2005-03-14 | 2013-02-26 | Qnx Software Systems Limited | Adaptive partitioning for operating system |
US7664041B2 (en) * | 2005-05-26 | 2010-02-16 | Dale Trenton Smith | Distributed stream analysis using general purpose processors |
KR20090020558A (ko) | 2006-03-27 | 2009-02-26 | 닐슨 미디어 리서치 인코퍼레이티드 | 무선통신장치에 표현되는 미디어 컨텐츠의 미터링 방법 및 시스템 |
US8056090B2 (en) * | 2007-06-29 | 2011-11-08 | International Business Machines Corporation | Reducing layering overhead in collective communication operations |
US8503991B2 (en) * | 2008-04-03 | 2013-08-06 | The Nielsen Company (Us), Llc | Methods and apparatus to monitor mobile devices |
US8396000B2 (en) * | 2009-11-24 | 2013-03-12 | At & T Intellectual Property I, Lp | Revenue assurances proactive testing method and system |
US8756573B2 (en) * | 2012-07-06 | 2014-06-17 | Amazon Technologies, Inc. | Digital item ingestion process |
US10404759B1 (en) | 2016-06-23 | 2019-09-03 | 8×8, Inc. | Client-specific control of shared telecommunications services |
US10142329B1 (en) * | 2016-06-23 | 2018-11-27 | 8×8, Inc. | Multiple-factor authentication |
US10348902B1 (en) | 2016-06-23 | 2019-07-09 | 8X8, Inc. | Template-based management of telecommunications services |
US11044365B1 (en) | 2016-06-23 | 2021-06-22 | 8X8, Inc. | Multi-level programming/data sets with decoupling VoIP communications interface |
US11671533B1 (en) | 2016-06-23 | 2023-06-06 | 8X8, Inc. | Programming/data sets via a data-communications server |
US11412084B1 (en) | 2016-06-23 | 2022-08-09 | 8X8, Inc. | Customization of alerts using telecommunications services |
US10447861B1 (en) | 2017-06-23 | 2019-10-15 | 8X8, Inc. | Intelligent call handling and routing based on numbering plan area code |
US10951484B1 (en) | 2017-06-23 | 2021-03-16 | 8X8, Inc. | Customized call model generation and analytics using a high-level programming interface |
US10425531B1 (en) | 2017-06-23 | 2019-09-24 | 8X8, Inc. | Customized communication lists for data communications systems using high-level programming |
US10686649B2 (en) * | 2018-11-16 | 2020-06-16 | At&T Intellectual Property I, L.P. | Method and apparatus for managing a local area network |
FR3118233B1 (fr) * | 2020-12-18 | 2024-01-19 | St Microelectronics Alps Sas | Procédé de détection d’ingénierie inversée sur une unité de traitement utilisant un registre d’instruction et circuit intégré correspondant |
US11715056B2 (en) | 2021-03-16 | 2023-08-01 | Bank Of America Corporation | Performance monitoring for communication systems |
US11595527B2 (en) | 2021-03-16 | 2023-02-28 | Bank Of America Corporation | Dynamic routing for communication systems |
CN116893913B (zh) * | 2023-09-08 | 2024-01-23 | 北京趋动智能科技有限公司 | 远程程序执行方法、装置、系统、电子设备及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4366350A (en) * | 1979-02-09 | 1982-12-28 | Stromberg-Carlson Corporation | Control system for telephone switching system |
DE2928492C2 (de) * | 1979-07-14 | 1985-04-18 | ANT Nachrichtentechnik GmbH, 7150 Backnang | Verfahren zur Überwachung von mehreren, Stationen verbindende Leitungen für Fernwirkmaschennetze |
US4611094A (en) * | 1983-12-01 | 1986-09-09 | At&T Bell Laboratories | Method for customer definable telephone capability |
DE3743959A1 (de) * | 1987-12-23 | 1989-07-13 | Siemens Ag | Verfahren zur ueberpruefung betriebstechnischer funktionen einer rechnergesteuerten kommunikationsvermittlungsanlage |
US4945559A (en) * | 1987-12-30 | 1990-07-31 | Keptel, Inc. | Telephone network interface apparatus |
US5101425A (en) * | 1990-08-07 | 1992-03-31 | Digital Systems International, Inc. | Operations monitoring system |
CA2190889C (en) * | 1990-12-18 | 1999-03-30 | David Leveau Babson, Iii | Systems and processes for specifying customized telecommunication services |
US5241580A (en) * | 1990-12-18 | 1993-08-31 | Bell Communications Research, Inc. | Method for validating customized telephone services |
US5132962A (en) * | 1990-12-20 | 1992-07-21 | International Business Machines Corporation | Fault isolation and bypass reconfiguration unit |
-
1992
- 1992-12-28 US US07/997,413 patent/US5390232A/en not_active Expired - Lifetime
-
1993
- 1993-11-16 CA CA002103236A patent/CA2103236C/en not_active Expired - Lifetime
- 1993-12-06 DE DE69328349T patent/DE69328349T2/de not_active Expired - Fee Related
- 1993-12-06 EP EP93309772A patent/EP0608614B1/de not_active Expired - Lifetime
- 1993-12-27 JP JP5346807A patent/JPH06284189A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US5390232A (en) | 1995-02-14 |
CA2103236A1 (en) | 1994-06-29 |
EP0608614A2 (de) | 1994-08-03 |
JPH06284189A (ja) | 1994-10-07 |
EP0608614A3 (de) | 1995-10-25 |
EP0608614B1 (de) | 2000-04-12 |
DE69328349D1 (de) | 2000-05-18 |
CA2103236C (en) | 1997-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69328349T2 (de) | System zur Kontrolle der Teilnehmer-Programmierbarkeit | |
DE69900810T2 (de) | Verfahren und Vorrichtung zum Testen von ereignisgesteuerten Programmen | |
DE69233618T2 (de) | Verarbeitungssystem zur Leitweglenkung für Teilnehmeranrufe | |
DE69228318T2 (de) | Funktionssteuersystem unter benutzung einer entwurfsorientierten zustandstabellensprache | |
DE69503759T2 (de) | Verfahren zur erkennung von dienstwechselwirkungen in intelligenten netzwerken | |
DE3879071T2 (de) | Verwaltung einer defekten Hilfsquelle in einem Multiplex-Kommunikationssystem. | |
DE3879072T2 (de) | Expertsystem zur Verarbeitung von Fehlern in einem Multiplex-Kommunikationssystem. | |
DE3879069T2 (de) | Schwellenalarme zur Verarbeitung von Fehlern in einem Multiplex-Kommunikationssystem. | |
AU710523B2 (en) | Tracing with keys and locks | |
DE69332632T2 (de) | Anrufverarbeitungssystem | |
DE69529846T2 (de) | Verfahren zum vergleich von attributwerten von steuerbaren objektausdrücken in einem netzwerkelement | |
DE69733543T2 (de) | Verfahren zum Anbieten von wenigstens einem Dienst an Fernmeldenetzbenutzern | |
DE69732221T2 (de) | Verfahren zum Anbieten von einem Dienst an Fernmeldenetzbenutzern | |
EP1217811A1 (de) | Verfahren zum Emulieren eines Terminals und Testgerät zum Testen eines Telekommunikationsnetzwerks mit Funktionswahl mittles Windows Benutzerschnittstelle | |
EP0580888B1 (de) | Steuerverfahren für ein Prüfsystem | |
DE3445030A1 (de) | Verkehrssimulationseinrichtung zum testen von vermittlungsanlagen unter beruecksichtigung der teilnehmer-system-interaktion | |
DE69731182T2 (de) | Nachrichtenverfahren zwischen einer Dienstvermittlungsstelle und einer Dienstkontrolleinrichtung in einem Fernmeldenetz | |
DE602004007879T2 (de) | Dienstbereitstellungssystem | |
DE60002455T2 (de) | Verfahren und vorrichtung zur automatischen softwareprüfung | |
EP0492251B1 (de) | Kommunikationssystem mit Anschlussbaugruppen, einem der Durchschaltung von Verbindungen dienenden Koppelfeld, einem zentralen Zeichenkanal sowie einem der zentralen Steuerung dienenden Multiprozessorsystem | |
DE69800322T2 (de) | Verfahren und Gerät für verbesserte Anrufsteuerungsablauffolgeplanung in einem verteilten System mit ungleichen Anrufverarbeitungsanlagen | |
DE69714066T2 (de) | Verkehrssteuerung in einem kommunikationsnetz | |
EP1038221B1 (de) | Verfahren zur überprüfung der pfadüberdeckung bei software-tests | |
Fantinato et al. | Applying extended finite state machines in software testing of interactive systems | |
Musa | Introduction to software reliability engineering and testing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |