DE19833886A1 - System zum Isolieren von Codesegmenten eines Computerprogramms sowie Telekommunikationssystem - Google Patents

System zum Isolieren von Codesegmenten eines Computerprogramms sowie Telekommunikationssystem

Info

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
Application number
DE19833886A
Other languages
English (en)
Inventor
Richard W Crouch
Goodfrey D Watson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Business Communication Systems Inc
Original Assignee
Siemens Business Communication Systems Inc
Rolm Systems
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Business Communication Systems Inc, Rolm Systems filed Critical Siemens Business Communication Systems Inc
Publication of DE19833886A1 publication Critical patent/DE19833886A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols 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.
DE19833886A 1997-08-06 1998-07-28 System zum Isolieren von Codesegmenten eines Computerprogramms sowie Telekommunikationssystem Ceased DE19833886A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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