DE19833886A1 - System zum Isolieren von Codesegmenten eines Computerprogramms sowie Telekommunikationssystem - Google Patents
System zum Isolieren von Codesegmenten eines Computerprogramms sowie TelekommunikationssystemInfo
- Publication number
- DE19833886A1 DE19833886A1 DE19833886A DE19833886A DE19833886A1 DE 19833886 A1 DE19833886 A1 DE 19833886A1 DE 19833886 A DE19833886 A DE 19833886A DE 19833886 A DE19833886 A DE 19833886A DE 19833886 A1 DE19833886 A1 DE 19833886A1
- Authority
- DE
- Germany
- Prior art keywords
- message
- computer program
- telephone
- code
- protocols
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Description
Die Erfindung betrifft ein System nach dem Oberbegriff des
Anspruchs 1 und ein Telekommunikationssystem nach dem Oberbe
griff des Anspruchs 6. Die Erfindung ist allgemein auf Compu
tersysteme und Computerprogramme anwendbar, die mit mehrfa
chen Plattformen arbeiten.
Da Computersysteme ständig leistungsfähiger werden, werden
Aufgaben, die vorher durch spezielle Hardwaresysteme ausge
führt werden, nunmehr durch generische oder Generic Hardware
durchgeführt, die mit spezialisierter Computer-Software
arbeitet. Infolgedessen wird Computer-Software immer kompli
zierter und erfordert einen wesentlichen Aufwand beim Entwer
fen sowie die Anwendung von strengen Qualitätskontrollverfah
ren, um sicherzustellen, daß die Software unter allen Bedin
gungen richtig arbeitet.
Ein Gebiet, auf welchem Computer-Software zunehmend verwendet
wird, sind Telekommunikationsanlagen. Bisher hatten Telefon
schaltanordnungen, wie Nebenstellenanlagen oder Fernmeldezen
tralen, spezielle Hardware-Ausstattungen, die spezielle Arten
von Telefonanlagen, wie Wählscheibentelefone, Digitaltelefo
ne, Nachrichtentelefone und dergl., verbinden oder steuern.
Die zur Steuerung dieser Anlagen verwendete Software beruhte
auf einem großen In-Line-Code-File, der von einer Zentralein
heit oder durch einen aus einer Anzahl von einzelnen Prozes
soren durchgeführt wurde.
Während ein einziger In-Line-Code-File für Software, die voll
operational ist, gut arbeitet, bietet diese Architektur
Probleme, wenn Abänderungen durchgeführt werden sollen. Wenn
beispielsweise ein neues Merkmal, wie ein unterscheidendes
Läutsignal, einer besonderen Art von Telefonanlage zugegeben
werden soll, dann war es bisher nötig, den großen In-Line-
Code-File zu editieren. Der zur Schaffung der neuen Funktion
erforderliche Software-Code mußte dem In-Line-Code-File
zugefügt werden, und alle Beziehungen innerhalb des Code-Files,
die sich auf das Merkmal beziehen, mußten abgeändert
werden, um die neu vorgesehenen Funktionen zu berücksichti
gen. Durch Editieren des In-Line-Code-Files konnte der Pro
grammierer nie sicher sein, daß nicht eine Änderung unab
sichtlich an einem Teil des Codes vorgenommen worden ist, der
nicht geändert werden sollte. Wenn beispielsweise ein Merk
mal, das ein neues Läutsignal vorsieht, einem Wählscheiben
telefon zugefügt wird, konnte ein Programmierer nicht sicher
sein, daß nicht eine unbeabsichtigte Änderung durchgeführt
wurde, welche den Betrieb der Digitaltelefone usw. beein
flußt. Bei jeder Änderung des In-Line-Codes waren daher
ausführliche Prüfverfahren erforderlich, um sicherzustellen,
daß alle von der Software vorgesehenen Funktionen noch arbei
ten. Dieses Verfahren zum Editieren eines In-Line-Code-Files
war sowohl aufwendig als auch kostspielig, auch wenn nur
einfache Änderungen an der Steuer-Software vorgenommen wur
den. Da ferner alle Software-Codes in einem einzigen Code-File
gruppiert waren, konnte nur ein Programmierer in einem
bestimmten Zeitpunkt auf den Code zugreifen, wodurch die
Programmierer-Wirksamkeit herabgesetzt wurde.
Im Licht der Probleme, die mit dem Ändern großer In-Line-
Code-Files verbunden waren, wurde erkannt, daß Verfahren
erforderlich waren, die es Computerprogrammen, die auf Ein
richtungen mit Mehrfachplattform arbeiten, ermöglichen, ohne
das Erfordernis einer abermaligen Prüfung dieser Teile des
Codes, die unbeeinflußt blieben, leicht abgeändert werden zu
können.
Diese Aufgabe wird erfindungsgemäß hinsichtlich des Systems
zum Isolieren von Codesegmenten aus einem Computerprogramm
durch die Merkmale dem Anspruchs 1 und hinsichtlich des
Telekommunikationssystems durch die Merkmale des Anspruchs 6
gelöst. Die Unteransprüche sind auf vorteilhafte Ausgestal
tungen der Erfindung gerichtet.
Beim erfindungsgemäßen System werden Teile eines Computerpro
gramms isoliert, das in einem Computersystem arbeitet, wel
ches Nachrichten von einer Anzahl von Hardware- und Soft
ware-Plattformen empfängt. Ein Generic-Protocol-Converter
empfängt die Nachrichten und wählt einen Satz von Tabellen
aufgrund der Plattformart der Quelle oder der Bestimmung der
Nachricht aus. Tabellen innerhalb eines Tabellensatzes werden
sodann aufgrund der Richtung der Nachricht ausgewählt. Für in
einer bestimmten Richtung gerichtete Nachrichten gibt die
Tabelle eine Subroutine an, die innerhalb eines gemeinsamen
Applikationsprogramms aufgerufen wird.
Wenn Abänderungen an dem gemeinsamen Applikationsprogramm
durchzuführen sind, müssen die Subroutinen, die durch ver
schiedenen Plattformen zugeordnete Tabellensätze spezifiziert
sind, nicht neu kompiliert oder neu geprüft werden. Da
ferner die Tabellen Subroutinen aufrufen, die hardwarespezi
fisch sind, kann das gemeinsame Applikationsprogramm so
geschrieben werden, daß es Nachrichten handhabt, die von
zahlreichen Arten von Plattformen ausgehen, indem Subroutinen
verwendet werden, um verschiedene Nachrichtenformate in ein
gemeinsames Protokoll umzuwandeln.
Bei einer aktuellen Ausführungsform der Erfindung wird der
Generic-Protocol-Converter in einem Telekommunikationssystem,
wie einer Nebenstellenanlage (PBX), verwendet. Jeder der
Tabellensätze ist einer bestimmten Art von Telefon-Hardware,
wie Wählscheibentelefonen, Digitaltelefonen, Telefonen mit
europäischem Format oder Nachrichtentelefonen usw., zugeord
net.
Anhand der Figuren wird die Erfindung beispielhaft näher
erläutert. Es zeigt:
Fig. 1 ein bekanntes Kommunikationssystem, das durch ein
In-Line-Code-Computerprogramm gesteuert wird;
Fig. 2 einen Generic-Distributed-Protocol-Converter ge
mäß der Erfindung; und
Fig. 3 ein Ablaufdiagramm der Schritte, die von dem Ge
neric-Distributed-Protocol-Converter durchgeführt
werden, um eine oder mehrere Subroutinen in einem
gemeinsamen Applikationsprogramm auszuwählen.
Wie oben angegeben, ist die Erfindung ein System zum Isolie
ren von Segmenten eines Computerprogramms in einem Nachrich
tenverarbeitungssystem, das mit einer Anzahl von verschiede
nen Hardware- und Software-Plattformen arbeitet. Das System
enthält einen Protocol-Converter, der verschiedenen Plattfor
men zugeordnete Funktionen trennt, so daß am Computerprogramm
vorgenommene Änderungen isoliert werden können, ohne daß das
ganze Programm neu kompiliert oder neu geprüft werden muß.
Obwohl die gegenwärtig bevorzugte Anwendung der Erfindung ein
Telekommunikationssystem ist, wird der Fachmann auf dem Gebiet
des Computerprogrammierens erkennen, daß die Erfindung auch
ebensogut in anderen Zusammenhängen angewendet werden kann.
Fig. 1 zeigt ein bekanntes Telekommunikationssystem, das
durch ein einziges In-Line-Computerprogramm gesteuert wird.
Das Kommunikationssystem 10 umfaßt eine Nebenstellenanlage
(PBX) oder eine andere Schaltanordnung 12, die eine Anzahl
von Telefonen mit einer entfernten Fernsprechzentrale 36
verbindet. Innerhalb der PBX 12 ist eine Anzahl von Netzwerk
karten 14 vorgesehen, die eine Anzahl von Eingangstelefonlei
tungen 16 aufweisen, welche die Karten mit einer Anzahl von
Telefonen oder Telefonanlagen, wie Voice-Mail-Anlagen, Faksi
milegeräten und dergl. verbinden. Zusätzlich enthalten die
Netzwerkkarten eine Anzahl von Ausgangstelefonleitungen 18,
welche die Karte mit der Fernmeldezentrale 36 verbinden.
Allgemein sind die Netzwerkkarten 14 für eine bestimmte Art
von Telefon-Hardware ausgebildet. Beispielsweise enthalten
die PBX Netzwerkkarten 14, die speziell für Digitaltelefone
22, Wählscheibentelefone 26, Telefone 30 mit europäischem
Format oder digitale Nachrichtentelefone 34 bestimmt sind.
Jede dieser unterschiedlichen Arten von Telefonanlagen ist
mit der PBX durch eine besondere Art von Telefonleitung
20, 24, 28 bzw. 32 verbunden.
Wie oben angegeben, wurde das Computerprogramm, das die PBX
12 und die Netzwerkkarten 14 steuert, vorher als In-Line-
Code-Computerprogramm 40 beschrieben. Das Computerprogramm 40
enthielt allgemein eine Folge von vermischten Instruktionen
und Subroutinen, welche die PBX veranlassen, sich mit jeder
der verschiedenen Arten von Telefonen oder Telefonanlagen
kombinieren zu lassen. Das Computerprogramm 40 arbeitet in
Abhängigkeit von Nachrichten, die von der Telefonanlage oder
von der Fernmeldezentrale 36 erzeugt werden. Jede Nachricht
enthält normalerweise einen Quellencode, der die Quelle der
Nachricht identifiziert, einen Bestimmungscode, der die
Bestimmung der Nachricht identifiziert, einen Ereigniscode,
der angibt, welche Art von Nachricht gesendet wird, und ein
Datenfeld, das den Inhalt der Nachricht enthält. Ein Beispiel
für eine solche Nachricht ist eine "Aushäng"-Nachricht, die
von den Telefonen zur PBX gesendet wird, wenn ein Benutzer
einen Hörer der Telefone 22, 26, 30 oder 34 aufnimmt. Es wird
bemerkt, daß das jeweilige Format, in dem die Aushängnach
richt gesendet wird, sich in Abhängigkeit von der Art des
Telefons, von welchem die Nachricht ausgeht, ändern kann.
Zusätzlich können Nachrichten zur PBX 12 von der Fernmelde
zentrale 36 gesendet werden. Ein Beispiel für eine solche
Nachricht ist eine Läutnachricht, die anzeigt, daß ein Anruf
für eine bestimmte Telefonleitung eingegangen ist.
Das In-Line-Computerprogramm 40 verarbeitet die Nachrichten
durch Ausführen einer Reihe von Befehlen oder Subroutinen,
die für die jeweilige Art der Telefonanlage oder Telefonlei
tung an der Quelle oder Bestimmung der Nachricht geschrieben
werden, sowie die jeweilige Art des in der Nachricht empfan
genen Ereigniscodes. Zum Beispiel kann das Computerprogramm
andere Aktionen durchführen, um ein Läutsignal zum Wählschei
bentelefon 26 zu senden, als es zum Senden eines Läutsignals
zum digitalen Nachrichtentelefon 34 unternimmt.
Wenn in der Vergangenheit das Computerprogramm 40 abgeändert
werden mußte, entweder um einen Fehler zu erfassen oder ein
neues Merkmal hinzuzufügen, mußte der neue Computercode dem
File zugefügt werden und das ganze Computerprogramm 40 wurde
rekompiliert. Zusätzlich war es erforderlich, das ganze
Computerprogramm ausführlich neu zu prüfen, um sicherzustel
len, daß keine unbeabsichtigten Irrtümer oder Fehler in den
Code eingeführt worden sind. Wenn beispielsweise ein unter
scheidendes Läutsignal für das Wählscheibentelefon 26 hinzu
gefügt wird, dann muß das Computerprogramm 40 so abgeändert
werden, daß es die Reihe von Befehlen enthält, welche die
Netzwerkkarte in der die Wählscheibentelefone steuernden PBX
veranlassen, ein unterscheidendes Läutsignal zu einem Wähl
scheibentelefon zu senden. Ferner müssen alle Teile des
Codes, die sich auf ein Läutsignal beziehen, abgeändert
werden, um die neue Art von zur Verfügung stehendem Läutsig
nal zu berücksichtigen. Da die Programmsegmente, die für die
verschiedenen Plattformen geschrieben sind, vermischt werden,
muß zuletzt das ganze Computerprogramm rekompiliert und
geprüft werden, um sicherzustellen, daß keine Fehler einge
führt wurden, als der Techniker die neuen Befehle eingab.
Wie oben erläutert, sind Zeit und Aufwand, die zum rekompi
lieren und ausführlichen abermaligen Prüfen eines Computer
programms erforderlich sind, wenn irgendeine Abänderung
gemacht wird, nicht nur kostspielig, sondern vergrößern auch
die Zeit, die zur Erzeugung eines neuen Computerprogramms
erforderlich ist.
Um die mit dem Vermischen des Codes, der verschiedene Arten
von Telefonen oder Telefonanlagen betreibt, verbundenen
Probleme zu lösen, sieht die Erfindung einen Distributed-Pro
tocol-Converter vor, der die Abtrennung eines Computercodes
ermöglicht, der auf verschiedene Hardware- oder Software-Plattformen
gerichtet ist. Durch Abtrennen von Teilen des
Codes gemäß den verschiedenen Plattformen, welche das Pro
gramm steuert, ist es möglich, den Code zu ändern oder
zu aktualisieren, ohne daß die mit anderen unbeeinflußten
Hardware-Plattformen verbundene Software rekompliliert und
geprüft werden muß.
Wie in Fig. 2 gezeigt, ist der Protocol-Converter 50 ein
Computerprogramm, das eine ankommende Nachricht, welche einen
Quellencode, einen Bestimmungscode, einen Ereigniscode und
ein Datenfeld enthält, von einer Telefonanlage oder einer
zentralen Schaltanordnung empfängt. Der Protocol-Converter 50
arbeitet dann so, daß er einen Satz von Tabellen basierend
auf der jeweiligen Hardware-Plattform der Quelle oder der
Bestimmung auswählt. Bei dem dargestellten Beispiel enthält
der Protocol-Converter vier Sätze von Tabellen. Ein Tabellen
satz 52 ist für Wählscheibentelefone ausgebildet. Ein Tabel
lensatz 54 ist für Digitaltelefone ausgebildet. Ein Tabellen
satz 56 ist für Telefone ausgebildet, die gemäß einem europä
ischen Protokoll arbeiten, und ein Tabellensatz 58 ist für
digitale Nachrichtentelefone ausgebildet. Die Tabellensätze
52 bis 58 stellen lediglich ein Beispiel dar. Wenn weitere
Hardware-Plattformen in einem Kommunikationssystem verwendet
werden, würden zusätzliche Tabellensätze vorgesehen werden.
Statt dessen könnten die Tabellen auch durch andere Faktoren
bestimmt werden, wie die Versionszahl der Software, welche
die Quelle oder die Bestimmung der Nachricht steuert.
Innerhalb jedes Tabellensatzes sind Tabellen vorhanden, die
entsprechend der Richtung der Nachricht angeordnet sind.
Beispielsweise ist eine Tabelle 52a für Nachrichten ausgebil
det, die von der PBX zum Telefonnetzwerk gerichtet sind. Eine
Tabelle 52b ist für Nachrichten ausgebildet, die vom Netzwerk
zur PBX kommen, und eine Tabelle 52c ist für Nachrichten
ausgebildet, die für die PBX intern sind.
Beim Auswählen des richtigen Tabellensatzes unter Verwendung
des Quellencodes oder des Bestimmungscodes, wie oben be
schrieben, wählt der Protocol-Converter 50 die geeignete
Tabelle innerhalb des gewählten Tabellensatzes aus und ruft
eine Subroutine auf, die mit dem Ereigniscode verbunden ist,
welcher in der empfangenen Nachricht enthalten ist. Jede
Tabelle innerhalb der Tabellensätze umfaßt eine Ereigniscodes
enthaltende Spalte sowie eine Spalte, die eine Subroutine
eines Generic-Application-Programms 70 an den jeweiligen
Ereigniscode anpaßt. Zusätzlich enthalten die Tabellen einen
Steuerblock, der die Adresse eines Scratch-Pad-Speichers
enthält, der von der Subroutine verwendet werden kann, sowie
eine Parameterspalte, die einen hartcodierten Wert oder eine
Speicheradresse enthalten kann, wenn gewünscht.
Beim Auswählen einer Subroutine für einen bestimmten Ereig
niscode wird die entsprechende Subroutine von einem Generic-
Application-Programm 70 aufgerufen. Das Application-Programm
70 kann als Anzahl von Codesegmenten in einer Anzahl von
Files gespeichert werden. Jedes Codesegment und sein ent
sprechender Tabellensatz sind mit einer besonderen Hardware-
oder Software-Plattform verbunden. Beispielsweise kann ein
Codesegment einen Wählscheibentelefone betätigenden Code
enthalten, und ein anderes Codesegment kann einen Digitalte
lefone betätigenden Code enthalten usw. Statt dessen kann das
Computerprogramm 70 ein Codesegment enthalten, das in einer
generic Form geschrieben ist, um für alle Plattformarten
bestimmte Nachrichten zu handhaben.
Der Protocol-Converter 50 ermöglicht eine Abänderung des
Application-Programms 70, ohne daß alle Codesegmente nach der
Abänderung rekompiliert und geprüft werden müssen. Wenn
beispielsweise das Application-Programm 70 abgeändert wird,
um eine Netzwerkkarte zu veranlassen, ein besonderes Läuten
in einem Wählscheibentelefon zu erzeugen, dann wird eine neue
Subroutine, die eine Folge von Befehlen enthält, welche zur
Veranlassung des besonderen Läutens erforderlich sind, zu dem
Codesegment hinzugefügt, das die Wählscheibentelefone betä
tigt. Eine neue Eingabe in die Tabelle 52b kann hinzugefügt
werden, welche die neue Subroutine auf eine Nachricht be
zieht, welche von dem Netzwerk empfangen wird und anzeigt,
daß ein besonderes Läutsignal auf ein Wählscheibentelefon zu
geben ist. Es werde beispielweise angenommen, daß eine beson
dere Läutnachricht durch einen Ereigniscode dargestellt wird,
der durch die Zahl 5 gekennzeichnet ist, dann öffnet der
Generic-Protocol-Converter die Tabelle 52b und sieht, daß die
Subroutine 2 aufgerufen werden sollte. Das Application-Pro
gramm 70 führt dann die Subroutine 2 aus. Die Subroutine 2
sieht in die Tabelle 52b und liest eine Adresse eines
Scratch-Speichers, der in der Steuerblockspalte der Tabelle
enthalten ist und als Subroutine zu verwenden ist, wenn
erforderlich.
Beim Abändern des Application-Programms 70 ist es immer
möglich, daß das Zufügen eines neuen Merkmals zum Code die
anderen Nachrichtenhandhabungsroutinen beeinflußt, die für
diese bestimmte Plattform geschrieben sind. Daher ist es
allgemein erforderlich, jede Subroutine zu prüfen, die in den
dieser bestimmten Plattform zugeordneten Tabellen aufgeführt
ist. Wenn jedoch keine Änderungen an den anderen Plattformen
durchgeführt worden sind, müssen die Files des Application-
Programms, das den anderen Plattformen zugeordnet ist, nicht
rekompiliert oder geprüft werden. So hat die Erfindung die
Wirkung, am Application-Programm 70 an den in einer bestimm
ten Tabelle aufgeführten Subroutinen durchgeführte Änderun
gen zu isolieren.
Der Generic-Distributed-Protocol-Converter 70 ermöglicht ein
generisches Schreiben des Application-Programms 70, d. h. die
Verwendung mit mehrfachen Plattformen. Zum Beispiel kann sich
in vielen Fällen das Format, in welchem die Nachricht empfan
gen wird, von Plattform zu Plattform ändern. Der Generic-Pro
tocol-Converter kann Subroutinen aufrufen, welche die Nach
richten in ein gemeinsames Format oder Protokoll umwandeln,
das durch eine einzige Routine innerhalb des Application-Pro
gramms 70 gehandhabt werden kann. Beispielsweise kann eine
Nachricht, die eine Telefonnummer, welche an einem bestimmten
Telefon gewählt worden ist, in einem von mehreren Formaten
empfangen werden, das von der Art des zum Wählen der Nummer
verwendeten Telefons abhängt. Ein Wählscheibentelefon kann
eine solche Nachricht als Folge von Aus-/Ein- Impulsen auf
einer Telefonleitung übertragen. Dagegen kann ein digitales
Telefon eine solche Nachricht als einziges Digitalpaket
übertragen.
Um zu ermöglichen, daß das Application-Programm 70 eine
einzige Subroutine hat, die alle ankommenden, mit Nummer
gewählten Nachrichten verarbeitet, enthält die Tabelle 52,
die Nachrichten von einem Wählscheibentelefon zum Netzwerk
zugeordnet ist, eine Eingabe für das Ereignis einer gewählten
Nummer. Die Tabelle 52b ordnet dieses Ereignis einer Subrou
tine zu, wie einer Subroutine 4, welche die Impulse in ein
Digitalpaket umwandelt, das zu einer gemeinsamen Subroutine
überträgt, welche die ankommenden Telefonnummernachrichten
von allen Telefonarten verarbeitet.
Fig. 3 zeigt ein Ablaufdiagramm der Schritte, die von dem
Generic-Protocol-Converter zur Verarbeitung einer ankommenden
Nachricht durchgeführt werden. Beginnend bei einem Schritt
100 wird der Protocol-Converter gestartet, wenn das Applica
tion-Programm für die PBX gestartet wird. In einem Schritt
102 wird der Protocol-Converter durch Aufrufen einer Anzahl
von Routinen ausgelöst, die in einer Auslösungstabelle 80
dargestellt sind (Fig. 2). Wenn ein bestimmter Teil der PBX-
oder Netzwerkkarte mit einer Subroutine beim Start der PBX
auszulösen ist, gibt der Software-Designer eine Auflistung
der Subroutine in die Auslösetabelle ein, die aufgerufen
wird, wenn der Protocol-Converter gestartet wird.
Nach dem Auslösen (initialization) beginnt der Protocol-Con
verter eine kontinuierliche Schleife, die ankommende Nach
richten verarbeitet. Im Schritt 104 bestimmt der Protocol-
Converter, ob eine Nachricht empfangen worden ist, und, wenn
nicht, kehrt die Verarbeitung zum Schritt 104 zurück, bis
eine Nachricht empfangen worden ist. Wenn eine Nachricht
empfangen worden ist, wählt der Protocol-Converter die geeig
nete Tabelle aus, was in einem Schritt 106 erfolgt, auf
Grundlage der jeweiligen Plattform, die entweder zum Senden
oder Empfangen der Nachricht verwendet wird. In einem Schritt
108 wählt der Protocol-Converter eine Tabelle innerhalb des
gewählten Tabellensatzes aufgrund der Richtung der Nachricht
aus. Wie oben angegeben, enthält der laufende Tabellensatz
getrennte Tabellen für Nachrichten, die von der PBX zum
Netzwerk, vom Netzwerk zur PBX gerichtet sind, und für Nach
richter, die für die PBX intern sind. Wenn die geeignete
Tabelle ausgewählt worden ist, ruft der Protocol-Converter
die Subroutine auf, die dem Ereigniscode zugeordnet ist,
welcher in der im Schritt 110 empfangenen Nachricht enthalten
ist. Nach dem Aufrufen der geeigneten Subroutine kehrt die
Verarbeitung zum Schritt 104 zurück, um die nächste empfange
ne Nachricht zu handhaben.
Wie aus der obigen Beschreibung hervorgeht, ermöglicht die
Erfindung, für verschiedene Plattformen bestimmte Software-
Routinen zu trennen, so daß eine Änderung in einem einzelnen
Codesegment kein Rekompilieren und ausführliches Prüfen der
Codesegmente erfordert, die nicht beeinflußt wurden. Durch
Verwendung des Generic-Protocol-Converters können Anwendungs-
und Nachrichtenhandhabungs-Subroutinen so ausgebildet werden,
daß sie mit Nachrichten von mehr als einer Plattform arbeiten
und dadurch die Wirksamkeit solcher Computerprogramme ver
größern.
Wie oben erläutert, ist die Erfindung nicht auf die Verwen
dung von Kommunikationssystemen eingeschränkt, sondern kann
auch in jedem anderen Computersystem angewendet werden, bei
welchem es zweckmäßig ist, verschiedene Teile eines Computer
programms von unbeabsichtigten Fehlern oder Änderungen gegen
unbeabsichtigte Verfälschungen oder Änderungen zu isolieren.
Beispielsweise kann die Erfindung in einem Computersystem
angewendet werden, das gleichzeitig einige Computerprogramme
mit unterschiedlichen Protokollen betreibt. Ein Computer kann
Daten empfangen, die in einem oder mehreren Formaten, wie
Postscript oder HTML, gedruckt werden sollen, aber so ausge
bildet sein, daß er einen einzigen Treiber für einen Drucker
verwendet. In diesem Fall kann ein Protocol-Converter mit auf
jedes Format gerichteten Tabellen ausgestattet sein, wobei
die in jeder Tabelle aufgerufene Subroutine die Daten in ein
gemeinsames Protokoll umwandelt, das vom Druckertreiber
verwendet wird. Wenn eine Änderung an den Routinen vorgenom
men wird, welche die HTML-Daten in das gemeinsame Protokoll
umwandeln, ist es nicht erforderlich, die Routinen zu rekom
pilieren oder wieder zu prüfen, welche die Postscript-Daten
in das gemeinsame Protokoll umwandeln.
Claims (7)
1. System zum Isolieren von Codesegmenten eines Computer
programms, das Nachrichten in einer Anzahl von Protokol
len sendet und empfängt, mit einer oder mehreren Zen
traleinheiten, die von einem Computerprogramm gesteuert
werden, das für jedes der Mehrzahl von Protokollen
bestimmte Codesegmente umfaßt, gekennzeichnet durch einen
Generic-Protocol-Converter, der eine Anzahl von Tabel
lensätzen enthält, wobei jeder Tabellensatz für eines
der Mehrzahl von Protokollen bestimmt ist, jeder Tabel
lensatz eine Zuordnung eines Codesegments in dem Compu
terprogramm zu einer Nachricht enthält, die in einem der
Mehrzahl von Protokollen empfangen wird, der Generic-
Protocol-Converter eine Tabelle aufgrund des Protokolls
der Nachricht auswählt und ein Codesegment aufruft, das
der Nachricht durch die gewählte Tabelle zugeordnet ist.
2. System nach Anspruch 1, dadurch gekennzeichnet, daß die
einem Protokoll zugeordneten Codesegmente und Tabellen
sätze in getrennten Files gespeichert sind.
3. System nach Anspruch 1 oder 2, dadurch gekennzeichnet,
daß das Computerprogramm eine Telekommunikationsanlage
betreibt.
4. System nach Anspruch 3, dadurch gekennzeichnet, daß die
Telekommunikationsanlage eine Telefonschaltanordnung
enthält.
5. System nach Anspruch 4, dadurch gekennzeichnet, daß die
Telefonschaltanordnung sich mit einer Anzahl von Tele
fonanlagen kombinieren läßt, die gemäß einer Anzahl von
Protokollen arbeiten.
6. Telekommunikationssystem, das eine Anzahl von Telefon
anlagen eines Netzwerks verbindet, gekennzeichnet durch
eine Schaltanordnung mit einer Anzahl von Netzwerkkar
ten, deren jede einen oder mehrere Eingänge, die mit
einer Art von Telefonanlage verbunden sind, und einen
oder mehrere Ausgänge aufweist, welche mit dem Netzwerk
verbunden sind; und durch einen Prozessor in der Schalt
anordnung, der ein Applikationsprogramm durchläuft, um
die Anzahl von Netzwerkkarten zu steuern, wobei das
Applikationsprogramm einen Protocol-Converter enthält,
der Nachrichten in einem der Mehrzahl von Protokollen
von der Telefonanlage oder dem Netzwerk empfängt und
eine Tabelle auswählt, die ein Codesegment im Applika
tionsprogramm mit dem Protokoll der empfangenen Nach
richt verbindet.
7. Telekommunikationssystem nach Anspruch 6, dadurch ge
kennzeichnet, daß das Codesegment und die Tabelle, die
jedem der Mehrzahl von Protokollen zugeordnet sind, in
getrennten Files gespeichert sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/907,225 US6259781B1 (en) | 1997-08-06 | 1997-08-06 | Generic distributed protocol converter |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19833886A1 true DE19833886A1 (de) | 1999-03-11 |
Family
ID=25423723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19833886A Ceased DE19833886A1 (de) | 1997-08-06 | 1998-07-28 | System zum Isolieren von Codesegmenten eines Computerprogramms sowie Telekommunikationssystem |
Country Status (3)
Country | Link |
---|---|
US (1) | US6259781B1 (de) |
DE (1) | DE19833886A1 (de) |
GB (1) | GB2330036B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10048979B4 (de) * | 2000-09-27 | 2006-05-04 | Walke, Bernhard, Prof. Dr.-Ing | Netzelement für eine Vielzahl von Kommunikationssystemen |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7116679B1 (en) * | 1999-02-23 | 2006-10-03 | Alcatel | Multi-service network switch with a generic forwarding interface |
US7783508B2 (en) | 1999-09-20 | 2010-08-24 | Numerex Corp. | Method and system for refining vending operations based on wireless data |
US6629163B1 (en) | 1999-12-29 | 2003-09-30 | Implicit Networks, Inc. | Method and system for demultiplexing a first sequence of packet components to identify specific components wherein subsequent components are processed without re-identifying components |
US20020019891A1 (en) * | 1999-12-30 | 2002-02-14 | James Morrow | Generic device controller unit and method |
US9235955B2 (en) * | 2000-12-22 | 2016-01-12 | Bally Gaming, Inc. | Universal game monitoring unit and system |
US7245928B2 (en) * | 2000-10-27 | 2007-07-17 | Cellemetry, Llc | Method and system for improved short message services |
KR100386597B1 (ko) * | 2001-06-26 | 2003-06-09 | 엘지전자 주식회사 | 통신 프로토콜 변환장치 및 방법 |
US6718237B1 (en) * | 2002-03-28 | 2004-04-06 | Numerex Investment Corp. | Method for reducing capacity demands for conveying geographic location information over capacity constrained wireless systems |
US7323970B1 (en) | 2004-01-21 | 2008-01-29 | Numerex Corporation | Method and system for remote interaction with a vehicle via wireless communication |
US20070162662A1 (en) * | 2005-12-23 | 2007-07-12 | Duggan Brian J | Methods and apparatuses for dynamically switching network protocols for use in a printing device |
US7680471B2 (en) | 2006-05-17 | 2010-03-16 | Numerex Corp. | System and method for prolonging wireless data product's life |
EP2118858A4 (de) | 2007-02-06 | 2010-03-31 | Numerex Corp | In einen dienst integriertes tragbares und drahtloses ereignisberichtsystem |
US8532637B2 (en) * | 2008-07-02 | 2013-09-10 | T-Mobile Usa, Inc. | System and method for interactive messaging |
US10509764B1 (en) | 2015-06-19 | 2019-12-17 | Amazon Technologies, Inc. | Flexible remote direct memory access |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3955180A (en) * | 1974-01-02 | 1976-05-04 | Honeywell Information Systems Inc. | Table driven emulation system |
JPS6226535A (ja) * | 1985-07-22 | 1987-02-04 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | プログラム内の変換テ−ブルの修正方法 |
US5140590A (en) * | 1990-01-31 | 1992-08-18 | Mitel Corporation | Telephone or data switching system with variable protocol inter-office communication |
GB2244354B (en) * | 1990-05-25 | 1994-02-23 | Silicon Systems Inc | Multi-device emulation |
US5329579A (en) * | 1992-07-27 | 1994-07-12 | At&T Bell Laboratories | Modular adjunct processor made of identical multi-function modules adaptable under direction of one of them to perform any of the adjunct-processor functions |
JP3375669B2 (ja) | 1993-03-23 | 2003-02-10 | 富士通株式会社 | I/oメモリカードのアクセス方法およびその運用方法 |
DE4321774C1 (de) | 1993-06-30 | 1994-06-09 | Siemens Ag | Verfahren zum Aktualisieren eines Systemprogramms in einer Vermittlungseinrichtung |
US5426694A (en) * | 1993-10-08 | 1995-06-20 | Excel, Inc. | Telecommunication switch having programmable network protocols and communications services |
US5519772A (en) * | 1994-01-31 | 1996-05-21 | Bell Communications Research, Inc. | Network-based telephone system having interactive capabilities |
US5664102A (en) * | 1995-02-07 | 1997-09-02 | At&T | Intelligent network internetworking access arrangement |
GB2299483A (en) | 1995-03-27 | 1996-10-02 | Northern Telecom Ltd | Switch reconfiguration |
US5717747A (en) | 1996-05-31 | 1998-02-10 | Lucent Technologies Inc. | Arrangement for facilitating plug-and-play call features |
US5917807A (en) * | 1997-01-28 | 1999-06-29 | Motorola, Inc. | Apparatus for and method of checking the validity of directory numbers in a device for interfacing communications equipment to a telephone line |
-
1997
- 1997-08-06 US US08/907,225 patent/US6259781B1/en not_active Expired - Lifetime
-
1998
- 1998-07-11 GB GB9814986A patent/GB2330036B/en not_active Expired - Lifetime
- 1998-07-28 DE DE19833886A patent/DE19833886A1/de not_active Ceased
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10048979B4 (de) * | 2000-09-27 | 2006-05-04 | Walke, Bernhard, Prof. Dr.-Ing | Netzelement für eine Vielzahl von Kommunikationssystemen |
Also Published As
Publication number | Publication date |
---|---|
GB2330036B (en) | 2002-10-02 |
GB2330036A (en) | 1999-04-07 |
GB9814986D0 (en) | 1998-09-09 |
US6259781B1 (en) | 2001-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69214978T2 (de) | Verfahren und Vorrichtung zur flexiblen und optimalen Entgegennahme und Vermittlung eines Telefonrufs | |
DE19818354B4 (de) | Verfahren und Vorrichtung zum Darstellen von Nummern in einem Fernmeldenetz | |
DE19833886A1 (de) | System zum Isolieren von Codesegmenten eines Computerprogramms sowie Telekommunikationssystem | |
DE19805891B4 (de) | Konfigurationsvorrichtung für eine Nebenstellenanlage | |
DE10010870B4 (de) | Adaptiver regelbasierter Mechanismus und Verfahren zur Lösung gegenseitiger Beeinflussung von Leistungsmerkmalen | |
DE68918772T2 (de) | Elektronisches Schaltsystem mit Anrufumleitungsfunktion. | |
DE4424896A1 (de) | Verfahren zum Errichten und Abrufen eines Telefonbenutzerprofils | |
DE4330031A1 (de) | Schaltungsanordnung zur Integration von EDV-Systemen bei der Benutzung von Telefonanlagen | |
DE69736989T2 (de) | Verfahren und Gerät zur Simultanen Sprach- Daten- und Videokommunikation in einem Computersystem | |
EP0355714B1 (de) | Verfahren und Anordnung zum Einstellen von Kommunikationsdiensten | |
EP0557566B1 (de) | Verfahren zur hierarchisch administrierbaren kennungsorientierten Freigabesteuerung für bedieneraufgabenbezogene Zugriffsanweisungen auf eine Datenbasis einer programmgesteuerten Kommunikationsanlage | |
DE68925886T2 (de) | Anordnung zur Wegzuordnung für Mehrfachendgerätegruppen | |
EP0529343B1 (de) | Verfahren zur Herstellung einer Verbindung zwischen einem an eine Kommunikationsanlage angeschlossenen Kommunikationsendegerät mit einer Mehrzahl von weiteren Geräten | |
DE19542724A1 (de) | ISDN-Endgerät mit einer Datenschnittstelle | |
DE3644228A1 (de) | Verfahren zur anrufumleitung in zentralgesteuerten vermittlungsanlagen | |
DE4336791C1 (de) | Verfahren zur Auswahl einer Rufnummer aus einem Rufnummernspeicher | |
EP0339467B1 (de) | Verfahren und Vorrichtung zur Bildung elektronischer, aus Sprach- und Nichtsprachbestandteilen bestehender Kommunikationsdienstnachrichten | |
EP1248430A1 (de) | Verfahren und Generierungsmodul zur Ermittlung von Filtermasken zur Relevanzprüfung von Kennzeichnern | |
EP1282293B1 (de) | Verfahren zur Rufbearbeitung in einem Telekommunikationsnetz sowie zugehörige Einheiten | |
EP0535602A2 (de) | Programmgesteuerte Kommunikationsanlage, bei der eine Verbindungsanforderung gleichzeitig an mehrere Kommunikationsendgeräte signalisiert wird | |
DE4209041C2 (de) | Periphere Einrichtung für besondere Dienste | |
WO1999007130A1 (de) | Verfahren zum bearbeiten und/oder abfragen der anschlussbezogenen daten eines teilnehmeranschlusses | |
DE4018381C2 (de) | Verfahren für Datenübertragungen in Kommunikations-Vermittlungsanlagen | |
EP0833487A2 (de) | Digitales Chipkartentelefon mit Faxweiche und Modemanschluss | |
EP3416346B1 (de) | Verfahren zur übertragung einer zusatzinformation beim aufbau und/oder beim betrieb einer telefonverbindung zwischen einem ersten kommunikationsteilnehmer und einem zweiten kommunikationsteilnehmer, system, computerprogramm mit programmcodemitteln und computerprogrammprodukt |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |