BE1024233B1 - STANDARDIZED REMOTE MANAGEMENT OF TELECOMMUNICATIONS EQUIPMENT - Google Patents

STANDARDIZED REMOTE MANAGEMENT OF TELECOMMUNICATIONS EQUIPMENT Download PDF

Info

Publication number
BE1024233B1
BE1024233B1 BE2016/5450A BE201605450A BE1024233B1 BE 1024233 B1 BE1024233 B1 BE 1024233B1 BE 2016/5450 A BE2016/5450 A BE 2016/5450A BE 201605450 A BE201605450 A BE 201605450A BE 1024233 B1 BE1024233 B1 BE 1024233B1
Authority
BE
Belgium
Prior art keywords
description
tasks
protocol
trigger
variables
Prior art date
Application number
BE2016/5450A
Other languages
Dutch (nl)
Other versions
BE1024233A1 (en
Inventor
Benny Vandenberghe
Bert Vandenberghe
Jan Vanhove
Original Assignee
Skyline Communications Nv
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 Skyline Communications Nv filed Critical Skyline Communications Nv
Priority to BE2016/5450A priority Critical patent/BE1024233B1/en
Publication of BE1024233A1 publication Critical patent/BE1024233A1/en
Application granted granted Critical
Publication of BE1024233B1 publication Critical patent/BE1024233B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/022Multivendor or multi-standard integration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0266Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using meta-data, objects or commands for formatting management information, e.g. using eXtensible markup language [XML]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0681Configuration of triggering conditions

Abstract

Een uitvoeringsvorm voorziet in een werkwijze voor het gestandaardiseerd op afstand beheren van telecommunicatieapparaten omvattende a) het inladen en instantiëren van een protocol beschrijving (101) van één of meerdere van de telecommunicatieapparaten; de protocol beschrijving omvattende een beschrijving van één of meerdere taken (205) voor het beheren van de één of meerdere telecommunicatieapparaten en een beschrijving (202) van één of meerdere triggers (212, 213) waarbij een trigger een conditie omvat gerelateerd aan één of meerdere van de taken (205). De werkwijze omvat verder b) het opzetten van één of meerdere uitvoeringslijsten (218) voor het bijhouden van uit te voeren taken (221-226); c) het op de uitvoeringslijst plaatsen (230) van één of meerdere taken (221-222) gerelateerd aan een trigger (212) wanneer aan een conditie van de trigger is voldaan; en d) het afhandelen van de taken (221-226) op de uitvoeringslijst.An embodiment provides a method for standardized remote management of telecommunication devices comprising: a) loading and instantiating a protocol description (101) of one or more of the telecommunication devices; the protocol description comprising a description of one or more tasks (205) for managing the one or more telecommunication devices and a description (202) of one or more triggers (212, 213) wherein a trigger comprises a condition related to one or more of tasks (205). The method further comprises b) setting up one or more execution lists (218) for keeping track of tasks to be performed (221-226); c) placing (230) one or more tasks (221-222) related to a trigger (212) on the execution list when a condition of the trigger is met; and d) handling the tasks (221-226) on the execution list.

Description

GESTANDAARDISEERD OP AFSTAND BEHEREN VAN TELECOMMUNICATIEAPPARATUURSTANDARDIZED REMOTE MANAGEMENT OF TELECOMMUNICATIONS EQUIPMENT

Technisch Gebied [01] De onderhavige uitvinding heeft betrekking op een inrichting en werkwijze voor het beheren van telecommunicatieapparatuur.Technical Field The present invention relates to an apparatus and method for managing telecommunication equipment.

Stand van de Techniek [02] Bij het opzetten van een telecommunicatieverbinding dient telecommunicatieapparatuur afkomstig van diverse fabrikanten en met uiteenlopende functionaliteit ingesteld en beheerd te worden. Zo dienen bijvoorbeeld voor het aanbieden van een internetverbinding aan een eindgebruiker een kabelmodem, versterkers, switches, routers, glasvezel apparatuur etc. ingesteld en beheerd te worden. Eenzelfde probleem stelt zich bijvoorbeeld bij het opzetten van een livestream voor een televisie-uitzending via een satellietverbinding die uiteindelijk bij de mensen thuis op de buis dient te verschijnen.State of the art [02] When setting up a telecommunications connection, telecommunication equipment originating from various manufacturers and with varying functionality must be set up and managed. For example, to offer an internet connection to an end user, a cable modem, amplifiers, switches, routers, fiber optic equipment etc. must be set up and managed. The same problem arises, for example, when setting up a live stream for a television broadcast via a satellite connection that ultimately has to appear in people's homes at home.

[03] Typisch hebben de fabrikanten van de telecommunicatieapparatuur elk hun eigen protocol of standaard om deze te beheren. Dit kan al dan niet via communicatieprotocollen zoals TCP/IP, RS232, SNMP, HTTP, Telnet, SSH... Iedere fabrikant hanteert hierbij zowat een eigen apparaat protocol. Bij het instellen, beheren of monitoren van een telecommunicatieverbinding dient dan ook telkens van de specifieke gebruikersinterface aangeleverd door de fabrikant gebruik te worden gemaakt. De dag van vandaag zijn de meeste telecommunicatieapparaten op afstand te beheren, bijvoorbeeld via een web interface of command line interface. In andere gevallen dient nog een fysieke verbinding met het apparaat gemaakt te worden, bijvoorbeeld via een seriële interface. Het is echter zeer moeilijk om nog een overzicht te bewaren bij een complexe telecommunicatieverbinding waarbij tientallen of zelfs honderden telecommunicatieapparaten bij betrokken zijn.[03] Typically, telecommunications equipment manufacturers each have their own protocol or standard to manage it. This may or may not be via communication protocols such as TCP / IP, RS232, SNMP, HTTP, Telnet, SSH ... Every manufacturer uses its own device protocol. When setting up, managing or monitoring a telecommunications connection, the specific user interface provided by the manufacturer must therefore always be used. Today, most telecommunication devices can be managed remotely, for example via a web interface or command line interface. In other cases, a physical connection with the device still needs to be made, for example via a serial interface. However, it is very difficult to keep an overview of a complex telecommunication connection that involves dozens or even hundreds of telecommunication devices.

[04] Er is dan ook een nood aan een applicatie die toelaat alle telecommunicatieapparaten te beheren. Bij het implementeren van dergelijke applicatie is het echter een ganse uitdaging om voor ieder apparaat een apart stuurprogramma te schrijven. Zo’n stuurprogramma laat dan toe het apparaat in te stellen vanuit de applicatie te beheren via z’n eigen communicatie- en apparaat protocol.[04] There is therefore a need for an application that allows all telecommunications devices to be managed. When implementing such an application, however, it is quite a challenge to write a separate driver for each device. Such a driver then allows you to set up the device from within the application and manage it via its own communication and device protocol.

[05] Het is dan ook een doel van de onderhavige uitvinding om te voorzien in een inrichting en werkwijze die toelaat diverse stuurprogramma’s voor telecommunicatieapparatuur te definiëren, te draaien en aan te passen.[05] It is therefore an object of the present invention to provide a device and method that allows defining, running, and modifying various telecommunication equipment drivers.

Samenvatting van de Uitvinding [06] Dit doel wordt bereikt, volgens een eerste aspect, door een op een computer geïmplementeerde werkwijze voor het gestandaardiseerd op afstand beheren van telecommunicatieapparaten. De werkwijze omvat de volgende stappen: - het inladen en instantiëren van een protocol beschrijving van één of meerdere van de telecommunicatieapparaten; de protocol beschrijving omvattende: o een beschrijving van één of meerdere taken voor het beheren van de één of meerdere telecommunicatieapparaten volgens een apparaat protocol over een communicatie protocol; en o een beschrijving van één of meerdere triggers waarbij een trigger een conditie omvat gerelateerd aan één of meerdere van de taken; en - het opzetten van één of meerdere uitvoeringslijsten voor het bijhouden van uit te voeren taken; en - het op de uitvoeringslijst plaatsen van één of meerdere taken gerelateerd aan een trigger wanneer aan een conditie van de trigger is voldaan; en - het afhandelen van de taken op de uitvoeringslijst.Summary of the Invention This object is achieved, according to a first aspect, by a computer-implemented method for standardized remote management of telecommunication devices. The method comprises the following steps: - loading and instantiating a protocol description of one or more of the telecommunication devices; the protocol description comprising: o a description of one or more tasks for managing the one or more telecommunication devices according to a device protocol over a communication protocol; and o a description of one or more triggers wherein a trigger comprises a condition related to one or more of the tasks; and - setting up one or more execution lists to keep track of tasks to be performed; and - placing one or more tasks related to a trigger on the execution list when a condition of the trigger is met; and - handling the tasks on the implementation list.

[07] Een protocol beschrijving beschrijft dus hoe met één of meerdere van de telecommunicatieapparaten dient gecommuniceerd te worden. Een protocol beschrijving kan dus gezien worden als een specifieke vorm van een stuurprogramma, met dat verschil dat het geen uitvoerbaar of compileerbaar opzichzelfstaand programma is. Enkel in combinatie met bovenstaande stappen kan het stuurprogramma tot uitvoer gebracht worden. De protocol beschrijving kan daarom in een opmaaktaal zoals bijvoorbeeld XML opgesteld zijn. Bij het uitvoeren van de taken wordt de beschrijving van de taken dan geïnterpreteerd. Het uitvoeren van bovenstaande stappen maakt deel uit van een run-time omgeving (run-time environment) die toelaat meerdere protocol beschrijvingen in te laden en te instantiëren. Naar deze protocol run-time omgeving wordt verder in deze beschrijving verwezen als ‘protocol engine’.[07] A protocol description therefore describes how to communicate with one or more of the telecommunication devices. A protocol description can therefore be seen as a specific form of a driver, with the difference that it is not an executable or compilable stand-alone program. The driver can only be executed in combination with the above steps. The protocol description can therefore be written in a markup language such as XML. When performing the tasks, the description of the tasks is then interpreted. Performing the above steps is part of a run-time environment that allows you to load and instantiate multiple protocol descriptions. This protocol run-time environment is further referred to in this description as a "protocol engine".

[08] Indien er meerdere telecommunicatieapparaten in gebruik zijn, kan een protocolbeschrijving meerdere keren geïnstantieerd worden. Iedere beschrijving omvat verder een beschrijving van taken die dienen uitgevoerd te worden om de telecommunicatieapparaten aan te sturen. Om een taak uit voeren dient deze eerst op een uitvoeringslijst geplaatst te worden. Dit gebeurt enkel indien aan een bepaalde voorwaarde, een conditie, wordt voldaan zoals gespecifieerd in een trigger. Taken die op de uitvoeringslijst worden geplaatst worden zo spoedig mogelijk uitgevoerd. Dit kan gebeuren aan de hand van vooraf bepaalde volgordes zoals bijvoorbeeld First In First Out (FIFO). Taken kunnen eventueel ook bepaalde prioriteiten meekrijgen zodat ze voorrang krijgen op andere taken die eerder op de uitvoeringslijst werden geplaatst. Deze prioriteit is dan in de trigger beschreven.[08] If several telecommunication devices are in use, a protocol description can be instantiated several times. Each description further includes a description of tasks that must be performed to control the telecommunication devices. To perform a task, it must first be placed on an execution list. This only happens if a certain condition, a condition, is met as specified in a trigger. Tasks that are placed on the execution list are performed as soon as possible. This can be done on the basis of predetermined sequences such as First In First Out (FIFO). Tasks may also be assigned certain priorities so that they are given priority over other tasks that were previously placed on the implementation list. This priority is then described in the trigger.

[09] Het is een voordeel dat de protocol beschrijving geen code dient te omvatten die instaat voor het inplannen en afhandelen van de taken zelf. Het run-time gedeelte staat dus los van het protocol zelf en kan dus herbruikt worden voor andere protocollen. Op deze manier kan een apparaat protocol beschreven worden zonder dat specifiek dient beschreven te worden hoe de taken dienen afgehandeld te worden.[09] It is an advantage that the protocol description should not include a code that is responsible for scheduling and handling the tasks themselves. The run-time part is therefore separate from the protocol itself and can therefore be reused for other protocols. In this way a device protocol can be described without having to specifically describe how the tasks should be handled.

[10] Volgens een uitvoeringsvorm is de beschrijving van een trigger een op een tijd gebaseerde trigger. Een op een tijd gebaseerde trigger omvat dan een bepaald tijdstip waarop één of meerdere van de taken dienen uitgevoerd te worden. De werkwijze omvat dan verder het op de één of meerdere uitvoeringslijsten plaatsen van één of meerdere taken van de op tijd gebaseerde trigger op het bepaald tijdstip.[10] According to an embodiment, the description of a trigger is a time-based trigger. A time-based trigger then comprises a specific point in time at which one or more of the tasks must be performed. The method then further comprises placing on the one or more execution lists one or more tasks of the time-based trigger at the determined time.

[11] Op deze manier kan dus in de protocol beschrijving gespecifieerd worden wanneer een bepaalde taak dient afgehandeld te worden zonder dat de protocol beschrijving dient te voorzien in de programmatuur voor het afhandelen van de taak op het bepaalde tijdstip.[11] In this way, it is possible to specify in the protocol description when a specific task must be handled without the protocol description having to provide the software for handling the task at the specified time.

[12] Volgens een verdere uitvoeringsvorm is de beschrijving van een trigger een op een gebeurtenis gebaseerde trigger is. Een op een gebeurtenis gebaseerde trigger omvat dan een beschrijving van een gebeurtenis waarop één of meerdere van de taken dienen uitgevoerd te worden. De werkwijze omvat dan verder het op de één of meerdere uitvoeringslijst plaatsen van één of meerdere taken van de op de gebeurtenis gebaseerde trigger bij het verlopen van de gebeurtenis.[12] According to a further embodiment, the description of a trigger is an event-based trigger. An event-based trigger then includes a description of an event on which one or more of the tasks must be performed. The method then further comprises placing one or more tasks of the event-based trigger on the expiration of the event on the one or more execution list.

[13] Op deze manier kan dus in de protocol beschrijving gespecifieerd worden bij welke gebeurtenis een bepaalde taak dient afgehandeld te worden zonder dat de protocol beschrijving dient te voorzien in de programmatuur voor het afhandelen van de taak bij de bepaalde gebeurtenis.[13] Thus, in the protocol description it can be specified at which event a certain task must be handled without the protocol description having to provide the software for handling the task at the particular event.

[14] De protocol beschrijving kan verder een beschrijving van één of meerdere variabelen omvatten. Volgens een uitvoeringsvorm, omdat de beschrijving van de één of meerdere taken verder het versturen van een commando aan de één of meerdere van de telecommunicatieapparaten waarbij het commando één of meerdere van de variabelen omvat. Het afhandelen omvat dan verder het invoegen van de waarden van de één of meerdere van de variabelen en het versturen van het commando naar de één of meerdere van de telecommunicatieapparaten.[14] The protocol description may further include a description of one or more variables. According to an embodiment, because the description of the one or more tasks furthermore sends a command to the one or more of the telecommunication devices wherein the command comprises one or more of the variables. The handling then further comprises inserting the values of the one or more of the variables and sending the command to the one or more of the telecommunication devices.

[15] De protocolbeschrijving kan dus een formaat van een commando definiëren volgens het apparaat protocol. Sommige zaken in het commando liggen echter nog niet vast bij het opstellen van de protocol beschrijving en deze kunnen dan aan de hand van de variabelen gespecifieerd worden. Het is dan bij het versturen van het commando als taak op de uitvoeringslijst dat de waarden van de variabelen worden ingevoegd. Dit laat dus toe om op een dynamische manier commando’s uit te sturen.[15] The protocol description can therefore define a format of a command according to the device protocol. Some things in the command, however, are not yet fixed when drawing up the protocol description and these can then be specified on the basis of the variables. It is then when sending the command as a task on the execution list that the values of the variables are inserted. This makes it possible to send commands in a dynamic way.

[16] Volgens een verdere uitvoeringsvorm omvat de beschrijving van de één of meerdere taken het verwerken van een antwoord van de één of meerdere van de telecommunicatieapparaten. Het antwoord is verder gedefinieerd aan de hand van één of meerdere van de variabelen. Het afhandelen omvat dan verder het aanpassen van de waarden van de één of meerdere van de variabelen aan de hand van het antwoord.[16] According to a further embodiment, the description of the one or more tasks comprises processing a response from the one or more of the telecommunication devices. The answer is further defined on the basis of one or more of the variables. The handling then further comprises adjusting the values of the one or more of the variables based on the answer.

[17] Omgekeerd aan de commando’s kunnen dus ook antwoorden of responses van de telecommunicatieapparaten terug gemapt worden op variabelen.[17] Conversely with the commands, responses or responses from the telecommunications devices can also be mapped back to variables.

[18] Volgens een uitvoeringsvorm omvat de protocol beschrijving één of meerdere delen compileerbare code. Het inladen omvat dan verder het compileren van de compileerbare code in een dynamische bibliotheek en het relateren van de dynamische bibliotheek aan de geïnstantieerde protocol beschrijving.[18] According to an embodiment, the protocol description comprises one or more parts of compilable code. The loading then further comprises compiling the compilable code into a dynamic library and relating the dynamic library to the instantiated protocol description.

[19] Op deze manier kunnen complexere zaken van het protocol die niet in een opmaaktaal kunnen geschreven worden en dus niet kunnen geïnterpreteerd worden door de protocol engine toch aan de protocol beschrijving worden toegevoegd.[19] In this way, more complex issues of the protocol that cannot be written in a markup language and therefore cannot be interpreted by the protocol engine can still be added to the protocol description.

[20] De werkwijze kan verder omvatten het opnieuw uitvoeren van het inladen en instantiëren van een gewijzigde protocol beschrijving.The method may further include re-performing the loading and instantiation of a modified protocol description.

[21] Doordat het protocol beschreven staat in een opmaaktaal, kan deze makkelijk gewijzigd en geüpdatet worden. Het volstaat dan om enkel de beschrijving terug in te laden en te instantiëren. Het is dus niet nodig, zoals bij een standaard stuurprogramma van een besturingssysteem, om het systeem herop te starten of een volledige compilatie uit te voeren met complexe afhankelijkheden.[21] Because the protocol is described in a markup language, it can easily be changed and updated. All you have to do is re-load and instantiate the description. Thus, as with a standard operating system driver, there is no need to restart the system or perform a full compilation with complex dependencies.

[22] Volgens een uitvoeringsvorm omvat het inladen van de protocol beschrijving verder het inladen van een beschrijving van een overlappend sjabloon . Het instantiëren omvat dan verder het toepassen van het sjabloon.[22] According to an embodiment, the loading of the protocol description further comprises the loading of a description of an overlapping template. The instantiation then further comprises applying the template.

[23] In een overlappend sjabloon kunnen bijvoorbeeld waarden van variabelen geherdefinieerd worden. Ook kunnen namen van taken of variabelen in een andere taal gedefinieerd worden zodat een anderstalige gebruiker deze makkelijk kan begrijpen en aanpassen. Het overlappend sjabloon laat dus toe om wijzigingen aan te brengen aan de protocol beschrijving zonder de eigenlijke protocol beschrijving zelf aan te passen. Dit heeft als voordeel dat gebruikers toegang kan verschaft worden aan het overlappend sjabloon maar niet aan de protocol beschrijving zelf. Hierdoor kan een protocol makkelijk aangepast worden aan de behoeften van een specifieke gebruiker zonder dat de diverse kopieën van de protocol beschrijving dienen beheerd te worden.[23] For example, values of variables can be redefined in an overlapping template. Names of tasks or variables can also be defined in a different language so that a foreign-language user can easily understand and adjust them. The overlapping template thus makes it possible to make changes to the protocol description without modifying the actual protocol description itself. This has the advantage that users can be given access to the overlapping template but not to the protocol description itself. This allows a protocol to be easily adapted to the needs of a specific user without having to manage the various copies of the protocol description.

[24] De protocol beschrijving kan verder aanroepen omvatten naar een andere geïnstantieerde protocol beschrijving. Dit kan zowel een instantie van eenzelfde protocol beschrijving zijn als een instantie van een andere protocol beschrijving. De protocol engine zelf regelt dan de uitwisseling van data tussen de geïnstantieerde protocol beschrijvingen.[24] The protocol description may further include invocations to another instantiated protocol description. This can be either an instance of the same protocol description or an instance of a different protocol description. The protocol engine itself then controls the exchange of data between the instantiated protocol descriptions.

[25] Het is dus een voordeel dat makkelijk tussen verschillende protocollen kan gecommuniceerd worden zonder dat degene die de protocol beschrijving opstelt zich moet bekommeren om de specifieke details van de data uitwisseling. Het is de protocol engine zelf die dan zorgt voor uitwisseling van de data zelf.[25] It is therefore an advantage that it is easy to communicate between different protocols without the person drawing up the protocol description having to worry about the specific details of the data exchange. It is the protocol engine itself that ensures the exchange of the data itself.

[26] Het op de uitvoeringslijst plaatsen kan verder uitgevoerd worden volgens een prioriteit die is toegekend aan de één of meerdere taken gerelateerd aan de trigger .[26] Placing on the execution list can be further performed according to a priority assigned to the one or more tasks related to the trigger.

[27] Het is met andere woorden mogelijk om een taak die later op de uitvoeringslijst wordt geplaatst eerder te laten uitvoeren. De prioriteit van de taak staat gespecifieerd in de beschrijving van de trigger. Het is dus een voordeel dat prioriteiten makkelijk aan de protocol beschrijving kunnen toegevoegd worden.[27] In other words, it is possible to have a task that is later placed on the execution list performed earlier. The priority of the task is specified in the trigger description. It is therefore an advantage that priorities can easily be added to the protocol description.

[28] Volgens een tweede aspect voorziet de uitvinding in een computer systeem aangepast om de werkwijze volgens het eerste aspect uit te voeren.[28] According to a second aspect, the invention provides a computer system adapted to perform the method according to the first aspect.

[29] Volgens een derde aspect voorziet de uitvinding in een computer programma product bevattende op een computer uitvoerbare instructies om de werkwijze volgens het eerste aspect uit te voeren indien dit programma wordt uitgevoerd op een computer.According to a third aspect, the invention provides a computer program product containing instructions that can be executed on a computer to execute the method according to the first aspect if this program is executed on a computer.

[30] Volgens een vierde aspect voorziet de uitvinding in een door een computer leesbaar opslagmiddel bevattende het computer programma product volgens het derde aspect.According to a fourth aspect, the invention provides a computer-readable storage means containing the computer program product according to the third aspect.

[32] Figuur 1 illustreert een computer systeem voor het inladen en instantiëren van protocol beschrijvingen volgens een uitvoeringsvorm van de uitvinding; en [33] Figuur 2 illustreert een run-time omgeving met een ingeladen en geïnstantieerde protocol beschrijving volgens een uitvoeringsvorm van de uitvinding.[32] Figure 1 illustrates a computer system for loading and instantiating protocol descriptions according to an embodiment of the invention; and [33] Figure 2 illustrates a run-time environment with a loaded and instantiated protocol description according to an embodiment of the invention.

[34] Figuur 3 illustreert een run-time omgeving met een ingeladen en geïnstantieerde protocol beschrijving met overlappend sjabloon volgens een uitvoeringsvorm van de uitvinding.[34] Figure 3 illustrates a run-time environment with a loaded and instantiated protocol description with overlapping template according to an embodiment of the invention.

[35] Figuur 4 illustreert een geschikt computer systeem voor het uitvoeren van stappen volgens uitvoeringsvormen van de onderhavige uitvinding.Figure 4 illustrates a suitable computer system for performing steps according to embodiments of the present invention.

Beschrijving van Uitvoeringsvormen [36] Figuur 1 illustreert een computer systeem 130 voor het inladen en instantiëren van protocol beschrijvingen 101 volgens een uitvoeringsvorm van de uitvinding. Het computer systeem 130 omvat een run-time omgeving 100 (run-time environment) die instaat voor het instellen en beheren van telecommunicatieapparaten 121-123. Hierna wordt naar de run-time omgeving 100 verwezen als protocol engine 100. De protocol engine 100 communiceert via netwerk interface 103 over een communicatie netwerk 104 met de telecommunicatieapparaten 121-123. De protocol engine 100 kan als computer applicatie draaien onder een besturingssysteem op het computer systeem 130. Het protocol engine 100 kan dan gebruik maken van de communicatie protocollen die geïnstalleerd zijn op het besturingssysteem of specifiek geïnstalleerd zijn als bibliotheken bij de protocol engine zelf om te communiceren met de telecommunicatieapparaten.Description of Embodiments [36] Figure 1 illustrates a computer system 130 for loading and instantiating protocol descriptions 101 according to an embodiment of the invention. The computer system 130 comprises a run-time environment 100 (run-time environment) which is responsible for setting up and managing telecommunication devices 121-123. Hereinafter, the run-time environment 100 is referred to as the protocol engine 100. The protocol engine 100 communicates via a network interface 103 over a communication network 104 with the telecommunication devices 121-123. The protocol engine 100 can run as a computer application under an operating system on the computer system 130. The protocol engine 100 can then use the communication protocols installed on the operating system or specifically installed as libraries at the protocol engine itself to communicate with the telecommunications devices.

[37] Telecommunicatieapparaten 121-123 zijn apparaten van diverse leveranciers of fabrikanten die elk via hun eigen communicatie protocol en apparaat protocol kunnen beheerd, gemonitord en ingesteld worden. Het communicatie protocol is de technologie die gebruikt wordt om boodschappen of data uit te wisselen tussen het computer systeem 130 en de telecommunicatieapparaten 121-123. De communicatie protocollen kunnen communicatie functies in één of meerdere lagen van het Open Systems Interconnection model, het OSI model, beschrijven. Typische communicatie protocollen voor communicatie met telecommunicatieapparaten 121-123 zijn TCP/IP, RS232, SNMP, HTTP, Telnet en SSH. Het eigenlijke beheer van de telecommunicatieapparaten 121-123 gebeurt door het uitwisselen van informatie volgens een bepaald apparaat protocol over een communicatie link opgezet volgens een communicatie protocol.[37] Telecommunication devices 121-123 are devices from various suppliers or manufacturers that can each be managed, monitored and set up via their own communication protocol and device protocol. The communication protocol is the technology used to exchange messages or data between the computer system 130 and the telecommunication devices 121-123. The communication protocols can describe communication functions in one or more layers of the Open Systems Interconnection model, the OSI model. Typical communication protocols for communication with telecommunication devices 121-123 are TCP / IP, RS232, SNMP, HTTP, Telnet and SSH. The actual management of the telecommunication devices 121-123 is done by exchanging information according to a specific device protocol over a communication link established according to a communication protocol.

[38] Eén of meerdere apparaat protocollen zijn beschreven in een protocol beschrijving 101 die bijvoorbeeld opgeslagen is in een data opslagbank 102. Wanneer de protocol engine 100 opdracht krijgt om een apparaat te beheren laadt het de protocol beschrijving 101 zoals afgebeeld met pijl 105. In de protocol engine zelf wordt dan een instantie 110-112 (instance) gemaakt op basis van de protocol beschrijving. Hierdoor kan eenzelfde protocol beschrijving dus meerdere malen geladen en geïnstantieerd worden om bijvoorbeeld verschillende telecommunicatieapparaten van hetzelfde type te beheren.[38] One or more device protocols are described in a protocol description 101 which is stored, for example, in a data storage bank 102. When the protocol engine 100 is instructed to manage a device, it loads the protocol description 101 as shown with arrow 105. In the protocol engine itself then becomes an instance 110-112 (instance) based on the protocol description. As a result, the same protocol description can thus be loaded and instilled several times in order, for example, to manage different telecommunication devices of the same type.

[39] De protocol engine 100 kan verder informatie over de telecommunicatieapparaten 121-123 uitwisselen met bovenliggende software modules 113-115. Software modules 113-115 hoeven daarbij geen kennis te hebben van het apparaat protocol noch van de gebruikte communicatie protocollen. Een software module 113-115 kan bijvoorbeeld de toestand van een telecommunicatieapparaat op een grafische of tekstuele wijze weergeven. Een software module 113-115 kan bijvoorbeeld ook een gebruiker van computer systeem 130 toelaten om instellingen van telecommunicatieapparaten 121-123 te wijzigen. Met andere woorden, elke instantie 110-112 kan beschouwd worden als een stuurprogramma voor één of meerdere van de telecommunicatieapparaten 121-123.[39] The protocol engine 100 can further exchange information about telecommunication devices 121-123 with overlying software modules 113-115. Software modules 113-115 do not need to have knowledge of the device protocol or the communication protocols used. For example, a software module 113-115 can graphically or textually display the state of a telecommunications device. For example, a software module 113-115 may also allow a user of computer system 130 to change settings of telecommunication devices 121-123. In other words, each instance 110-112 can be considered as a driver for one or more of the telecommunication devices 121-123.

[40] Figuur 2 illustreert de protocol engine 100 met een ingeladen en geïnstantieerde protocol beschrijving 112 volgens een uitvoeringsvorm van de uitvinding. De protocol beschrijving 100 is bij voorkeur opgemaakt in een opmaaktaal zoals XML. Tijdens de uitvoering door de protocol engine 100 wordt de beschrijving dan geïnterpreteerd en uitgevoerd door de protocol engine 100. De protocol beschrijving bevat verschillende attributen die op een specifieke wijze door de protocol engine kunnen worden geïnterpreteerd en die ervoor zorgen dat de geïnstantieerde protocol beschrijving als stuurprogramma voor de telecommunicatieapparaten kan functioneren.Figure 2 illustrates the protocol engine 100 with a loaded and instantiated protocol description 112 according to an embodiment of the invention. The protocol description 100 is preferably formatted in a markup language such as XML. During the execution by the protocol engine 100, the description is then interpreted and executed by the protocol engine 100. The protocol description contains various attributes that can be interpreted in a specific way by the protocol engine and which ensure that the instantiated protocol description as a driver can function for the telecommunication devices.

[41] De protocol beschrijving omvat één of meerdere beschrijvingen van variabelen 201. Een variabele kan na instantiatie nog gewijzigd worden door de protocol engine 100 en dus de instantie 112. Een variabele kan ook onwijzigbaar zijn en dus als parameter functioneren. In XML kan een variabele gedefinieerd worden aan de hand van een identificatie (id), een naam en een waarde. Een waarde kan numeriek zijn, maar ook een interval, matrix, vector, tekst etc. Tijdens het instantiëren wordt door de protocol engine 100 een plaatselijke kopie 211 van alle variabelen aangemaakt en bijgehouden.[41] The protocol description includes one or more descriptions of variables 201. A variable can be modified after instantiation by the protocol engine 100 and therefore the instance 112. A variable can also be unchangeable and thus function as a parameter. In XML a variable can be defined on the basis of an identification (id), a name and a value. A value can be numeric, but also an interval, matrix, vector, text, etc. During the instantiation, the protocol engine 100 creates and maintains a local copy 211 of all variables.

[42] De protocol beschrijving 101 omvat verder de definitie van één of meerdere taken 205. Een taak kan bijvoorbeeld het opstellen en versturen van een commando naar het telecommunicatieapparaat omvatten. Een taak kan bijvoorbeeld ook het ontvangen van een boodschap van het telecommunicatieapparaat omvatten en het verder verwerken van de boodschap, bijvoorbeeld door de informatie uit de boodschap op te slaan in de variabelen 211. Een taak kan ook het uitwisselen van informatie met de bovenliggende modules 133-115 of met de protocol engine 100 zelf omvatten. Door informatie uit te wisselen met de protocol engine 100 zelf kan informatie uitgewisseld worden tussen de verschillende instanties 110-112. Bij het instantiëren wordt een kopie 217 van de taken bijgehouden in de instantie 112 door de protocol engine 100.[42] The protocol description 101 further includes the definition of one or more tasks 205. A task may, for example, include drafting and sending a command to the telecommunications device. For example, a task may also include receiving a message from the telecommunications device and further processing the message, for example by storing the information from the message in the variables 211. A task may also include exchanging information with the overlying modules 133 -115 or with the protocol engine 100 itself. By exchanging information with the protocol engine 100 itself, information can be exchanged between the different instances 110-112. Upon instantiation, a copy 217 of the tasks is kept in the instance 112 by the protocol engine 100.

[43] De protocol beschrijving 101 omvat verder de beschrijving 202, 203 van één of meerdere triggers. Een trigger omvat daarbij een voorwaarde die gerelateerd is aan één of meerdere van de taken 205. Indien op een gegeven moment aan de conditie wordt voldaan dienen deze taken te worden uitgevoerd door de protocol engine 112. Tijdens het laden en instantiëren van de triggers 202, 203 maakt de protocol engine een plaatselijke kopie of dus instantie 212215 van de triggers 202-203. De protocol engine maakt verder ook een uitvoeringslijst 218 of ook wel uitvoeringsdraad 218 (execution thread) aan. Voor elke trigger controleert de protocol engine dan continu of op geregelde tijdstippen of aan de conditie van de trigger is voldaan. Indien aan een conditie van een bepaalde trigger is voldaan, plaatst de protocol engine 100 dan de taken gelinkt aan de trigger op de uitvoeringslijst 218. Zo worden voor triggers 212-215 respectievelijk de taken 221-222, de taak 223, de taken 224-225 en de taak 226 op de uitvoeringslijst 218 geplaatst.[43] The protocol description 101 further comprises the description 202, 203 of one or more triggers. A trigger comprises a condition related to one or more of the tasks 205. If the condition is met at a given moment, these tasks must be performed by the protocol engine 112. During the loading and instantiation of the triggers 202, 203, the protocol engine makes a local copy or, therefore, instance 212215 of the triggers 202-203. The protocol engine also creates an execution list 218 or also execution thread 218 (execution thread). For each trigger, the protocol engine then continuously checks whether the condition of the trigger is met at regular intervals. If a condition of a particular trigger is met, the protocol engine 100 then places the tasks linked to the trigger on the execution list 218. For triggers 212-215, the tasks 221-222, the task 223, the tasks 224- 225 and the task 226 on the execution list 218.

[44] Wanneer de protocol beschrijving 101 is geïnstantieerd als instantie 112 controleert de protocol engine continu of op geregelde tijdstippen de voorwaarden van de triggers 212-215. Verder voert de protocol engine ook continu de taken 221-226 uit die op de uitvoeringslijst staan. Na het uitvoeren worden de taken van de uitvoeringslijst verwijderd door de protocol engine 100. Wanneer opnieuw aan de voorwaarde van de triggers is voldaan worden nieuwe taken op de uitvoeringslijst geplaatst.[44] When the protocol description 101 is instantiated as instance 112, the protocol engine continuously or regularly checks the conditions of the triggers 212-215. Furthermore, the protocol engine also continuously performs tasks 221-226 that are on the execution list. After execution, the tasks are removed from the execution list by the protocol engine 100. When the condition of the triggers is again met, new tasks are placed on the execution list.

[45] Taken kunnen met verschillende prioriteit aan de uitvoeringslijst worden toegevoegd. Deze prioriteit kan in de beschrijving van de trigger gespecifieerd worden. Een prioriteit kan bijvoorbeeld door een getal aangeduid worden. De protocol engine 100 zet dan de taken met de hoogste prioriteit bovenaan de takenlijst 218. Standaard kunnen taken zonder prioriteitsaanduiding volgens het eerst-komt-eerst-maalt of First-In-First-Out (FIFO) principe door de protocol engine op de takenlijst geplaatst worden.[45] Tasks can be added to the execution list with different priority. This priority can be specified in the description of the trigger. For example, a priority can be indicated by a number. The protocol engine 100 then places the tasks with the highest priority at the top of the task list 218. By default, tasks without priority designation according to the first-come-first-meal or First-In-First-Out (FIFO) principle can be placed by the protocol engine on the task list being placed.

[46] Een taak kan ook gedefinieerd worden aan de hand van één of meerdere variabelen. Bij het uitvoeren van een taak door de protocol engine 100 kan de huidige waarde van een variabele dan gebruikt worden of kan de waarde van een variabele overschreven worden door de taak. Indien een taak een commando voor een telecommunicatieapparaat omvat, kan het commando zelf ook gedefinieerd worden aan de hand van de variabelen. Bij het uitvoeren van het commando zal de protocol engine 100 dan de waarden van de variabelen invullen.[46] A task can also be defined on the basis of one or more variables. When performing a task by the protocol engine 100, the current value of a variable can then be used or the value of a variable can be overwritten by the task. If a task comprises a command for a telecommunications device, the command itself can also be defined on the basis of the variables. When executing the command, the protocol engine 100 will then enter the values of the variables.

[47] Omgekeerd kan een taak ook het ontvangen van een boodschap omvatten. In de taak wordt dan de boodschap gedefinieerd aan de hand van variabelen. Bij het uitvoeren van de taak zal de protocol engine 100 dan de waarden van de variabelen updaten met deze uit de boodschap.[47] Conversely, a task can also include receiving a message. In the task the message is then defined on the basis of variables. When performing the task, the protocol engine 100 will then update the values of the variables with those from the message.

[48] Een eerste type van triggers zijn op tijd gebaseerde triggers 212-213 waarbij de conditie gerelateerd is aan bepaald tijdstip waarop een bepaalde taak dient uitgevoerd te worden. Zo kan de op tijd gebaseerde trigger een bepaald tijdsinterval specifiëren. Telkens bij het aflopen van het tijdsinterval worden de bijhorende taken door de protocol engine 100 op de uitvoeringslijst geplaatst. Een op tijd gebaseerde trigger 212-213 is bijvoorbeeld interessant om een telecommunicatieapparaat te monitoren. Op deze manier kan de toestand van het apparaat periodiek gecontroleerd worden en de toestand worden doorgegeven aan de bovenliggende modules 113-115.[48] A first type of triggers are time-based triggers 212-213 where the condition is related to a specific time at which a specific task is to be performed. For example, the time-based trigger can specify a specific time interval. Each time the time interval expires, the associated tasks are placed on the execution list by the protocol engine 100. A time-based trigger 212-213, for example, is interesting for monitoring a telecommunications device. In this way, the state of the device can be periodically checked and the state passed on to the upper modules 113-115.

[49] Een tweede type van triggers zijn op gebeurtenis gebaseerde triggers 214-215. Een gebeurtenis kan bijvoorbeeld één van volgende zijn: - een bericht wordt ontvangen van een bovenliggende module 113-115; - een variabele 211 wordt gewijzigd; - een bericht wordt ontvangen van een telecommunicatieapparaat.[49] A second type of triggers are event-based triggers 214-215. For example, an event can be one of the following: - a message is received from a parent module 113-115; - a variable 211 is changed; - a message is received from a telecommunications device.

De protocol engine controleert dan voortdurend op het voordoen van de gebeurtenissen. Indien een gebeurtenis zich dan voordoet, zal de protocol engine de taken gerelateerd aan de trigger op de uitvoeringslijst plaatsen.The protocol engine then constantly checks for the occurrence of the events. If an event occurs, the protocol engine will place the tasks related to the trigger on the execution list.

[50] Volgens bovenstaande uitvoeringsvormen is de protocol beschrijving opgesteld in een opmaaktaal zoals bijvoorbeeld XML. Dit laat toe op een eenvoudige wijze een nieuw apparaat protocol te definiëren of aan te passen. De verdere interpretatie van bijvoorbeeld de taken en variabelen uit de protocol beschrijving gebeurt dan door de protocol engine 100. Het kan echter gebeuren dat bepaald functies niet door de protocol engine 100 zelf worden voorzien. Daarom kan in de protocol beschrijving ook compileerbare code 204 gebruikt worden. Deze delen compileerbare code 204 kunnen overal in de protocol beschrijving gebruikt worden, dus bijvoorbeeld in de beschrijving van een taak, een trigger of variabele.[50] According to the above embodiments, the protocol description is written in a markup language such as, for example, XML. This makes it easy to define or adjust a new device protocol. The further interpretation of, for example, the tasks and variables from the protocol description is then done by the protocol engine 100. However, it may happen that certain functions are not provided by the protocol engine 100 itself. Therefore, compile code 204 can also be used in the protocol description. These parts of compilable code 204 can be used anywhere in the protocol description, so for example in the description of a task, a trigger or variable.

[51] Tijdens het laden en instantiëren van de protocol beschrijving, compileert de protocol engine 100 de delen compileerbare code 204 in een software bibliotheek 216 en voegt referenties naar de bibliotheek toe in de instanties van de variabelen 211, triggers 212-215 en de taken 217. Wanneer, bijvoorbeeld tijdens het uitvoeren van een taak, de protocol engine zo’n referentie tegenkomt zal deze de gerelateerde functie in de software bibliotheek 216 aanroepen. De software bibliotheek is bij voorkeur een dynamische software bibliotheek. De delen compileerbare code 204 kunnen bijvoorbeeld in C# opgesteld worden.[51] While loading and instantiating the protocol description, the protocol engine 100 compiles the parts of compilable code 204 into a software library 216 and adds references to the library in the instances of variables 211, triggers 212-215 and the tasks 217. When, for example, while performing a task, the protocol engine encounters such a reference, it will call the related function in software library 216. The software library is preferably a dynamic software library. The parts of compilable code 204 can for example be arranged in C #.

[52] Een andere manier om naar specifieke code te verwijzen in de protocol beschrijving is door functies aan te roepen uit een software bibliotheek 219 die beschikbaar is voor alle instanties die binnen de protocol engine 100 aanwezig zijn. Dit kan bijvoorbeeld gebruikt worden wanneer specifieke functies uit een communicatie protocol dienen gebruikt te worden in de protocol beschrijving.[52] Another way to refer to specific code in the protocol description is to invoke functions from a software library 219 that is available to all instances that are present within the protocol engine 100. This can be used, for example, when specific functions from a communication protocol are to be used in the protocol description.

[53] Een protocol beschrijving 101 kan ook op ieder moment herladen en geherinstantieerd worden, bijvoorbeeld indien de protocol beschrijving gewijzigd werd. Op zo’n moment wordt de oude instantie 112 verwijderd en een nieuwe instantie 112 aangemaakt. Deze instantie 112 communiceert 220 dan opnieuw met dezelfde telecommunicatieapparatuur en eventueel dezelfde bovenliggende modules 113-115.[53] A protocol description 101 can also be reloaded and re-instantiated at any time, for example if the protocol description has been changed. At that moment the old instance 112 is deleted and a new instance 112 created. This instance 112 then communicates 220 again with the same telecommunication equipment and possibly the same overhead modules 113-115.

[54] Figuur 3 illustreert de protocol engine 100 met een ingeladen en geïnstantieerde protocol beschrijving 101 met overlappend sjabloon 300 volgens een uitvoeringsvorm van de uitvinding. De protocol beschrijving 101 wordt op eenzelfde manier ingeladen en geïnstantieerd als in voorgaande uitvoeringsvorm. Na het instantiëren wordt dan nog een overlappend sjabloon 300 ingeladen en geïnstantieerd. Dit sjabloon omvat dan een selectie van de variabelen 201, de triggers 202-203 en de taken 205 en herdefinieerd deze aan de hand van een geüpdatete beschrijving 301, 302 en 304.[54] Figure 3 illustrates the protocol engine 100 with a loaded and instantiated protocol description 101 with overlapping template 300 according to an embodiment of the invention. The protocol description 101 is loaded and instantiated in the same way as in the previous embodiment. After instantiation, an overlapping template 300 is then loaded and instantiated. This template then comprises a selection of the variables 201, the triggers 202-203 and the tasks 205 and redefined these on the basis of an updated description 301, 302 and 304.

[55] Het overlappend sjabloon 300 laat toe om de naam en/of waarden van variabelen opnieuw te definiëren. Op deze manier kan een gebruiker die geen toegang heeft tot de protocol beschrijving 101 beperkte mogelijkheid gegeven worden om waardes van variabelen aan te passen. Ook de naam van de variabelen kan hierbij aangepast worden. Zo kan de naam van een variabele in het sjabloon 300 in een andere taal geschreven worden dan in de eigenlijke protocol beschrijving 101. Op deze manier kan voor elke taal een ander overlappend sjabloon worden voorzien.[55] The overlapping template 300 makes it possible to redefine the name and / or values of variables. In this way, a user who does not have access to the protocol description 101 can be given limited opportunity to adjust values of variables. The name of the variables can also be adjusted here. For example, the name of a variable in the template 300 can be written in a different language than in the actual protocol description 101. In this way, a different overlapping template can be provided for each language.

[56] Fig. 4 toont een geschikt computer systeem 400 voor het uitvoeren van de stappen door de protocol engine 100 volgens bovenstaande uitvoeringsvormen. Computer systeem 400 kan in het algemeen zijn uitgevoerd als een geschikte computer voor algemene doeleinden en kan een bus 410, een processor 402, een lokaal geheugen 404, één of meer optionele invoerinterfaces 414, één of meer uitvoerinterfaces 416, een communicatie-interface 412, een opslagelementinterface 406 en één of meer opslagelementen 408 omvatten. Bus 410 kan één of meer geleiders omvatten, die communicatie tussen de componenten van het computersysteem 400 mogelijk maken. Processor 402 kan elk type conventionele processor of microprocessor omvatten, die programma-instructies interpreteert en uitvoert. Lokaal geheugen 404 kan een Random Access Memory (RAM) of een ander type dynamische opslag-inrichting omvatten die informatie en instructies voor uitvoering door processor 402 opslaat, en/of een Read-Only Memory (ROM) of een ander type statische opslag-inrichting omvatten, die statische informatie en instructies voor gebruik door processor 402 opslaat. Invoerinterface 414 kan één of meer conventionele mechanismen omvatten, die een gebruiker in staat stellen informatie in de computerinrichting 400 in te voeren, zoals een toetsenbord 420, een muis 430, een pen, stemherkenning en/of biometrische mechanismen, enz. Uitvoerinterface 416 kan één of meer conventionele mechanismen omvatten, die informatie aan de gebruiker afgeven, zoals een display 440, een luidspreker, enz. Communicatie-interface 412 kan een zendontvanger-achtig mechanisme omvatten, zoals bijvoorbeeld één of meer Ethernet-interfaces, dat het computersysteem 400 in staat stelt te communiceren met andere inrichtingen en/of systemen, bijvoorbeeld mechanismen voor het communiceren met telecommunicatieapparaten 121-123. De communicatie-interface 412 van computersysteem 400 kan met een dergelijk ander computersysteem verbonden zijn door middel van een Local Area Network (LAN) of een Wide Area Network (WAN), zoals bijvoorbeeld het internet. Opslagelementinterface 406 kan een opslaginterface omvatten, zoals bijvoorbeeld een Serial Advanced Technology Attachment (SATA) interface of een Small Computer System Interface (SCSI), voor het verbinden van bus 410 met één of meer opslagelementen 408, zoals één of meer lokale schijven, bijvoorbeeld SATA-schijfstations, en het lezen en schrijven van gegevens naar en/of van deze opslag-elementen 408 besturen. Hoewel de opslagelementen 408 hierboven als een lokale schijf zijn beschreven, zou in het algemeen elk ander geschikt computer-leesbaar medium , zoals een verwijderbare magnetische schijf, optische opslagmedia, zoals een CD of DVD, ROM-schijf, solid-state drives, flashgeheugenkaarten, kunnen worden gebruikt. Het hierboven beschreven systeem 400 kan ook werken als een Virtual Machine boven de fysieke hardware.FIG. 4 shows a suitable computer system 400 for performing the steps by the protocol engine 100 according to the above embodiments. Computer system 400 may generally be designed as a suitable general purpose computer and may include a bus 410, a processor 402, a local memory 404, one or more optional input interfaces 414, one or more output interfaces 416, a communication interface 412, a storage element interface 406 and one or more storage elements 408. Bus 410 can include one or more conductors that enable communication between the components of the computer system 400. Processor 402 can include any type of conventional processor or microprocessor that interprets and executes program instructions. Local memory 404 may include a Random Access Memory (RAM) or other type of dynamic storage device that stores information and instructions for execution by processor 402, and / or a Read-Only Memory (ROM) or other type of static storage device which stores static information and instructions for use by processor 402. Input interface 414 may include one or more conventional mechanisms that allow a user to input information into computer device 400, such as a keyboard 420, a mouse 430, a pen, voice recognition and / or biometric mechanisms, etc. Output interface 416 may include one or include more conventional mechanisms that deliver information to the user, such as a display 440, a speaker, etc. Communication interface 412 may include a transceiver-like mechanism, such as, for example, one or more Ethernet interfaces capable of enabling the computer system 400 allows to communicate with other devices and / or systems, for example, mechanisms for communicating with telecommunication devices 121-123. The communication interface 412 of computer system 400 may be connected to such another computer system by means of a Local Area Network (LAN) or a Wide Area Network (WAN), such as, for example, the internet. Storage element interface 406 may comprise a storage interface, such as, for example, a Serial Advanced Technology Attachment (SATA) interface or a Small Computer System Interface (SCSI), for connecting bus 410 to one or more storage elements 408, such as one or more local disks, e.g. SATA control disk drives, and read and write data to and / or from these storage elements 408. Although the storage elements 408 have been described above as a local disk, in general any other suitable computer-readable medium, such as a removable magnetic disk, optical storage media such as a CD or DVD, ROM disk, solid-state drives, flash memory cards, can be used. The system 400 described above can also work as a Virtual Machine above the physical hardware.

[57] De door de bovenstaande uitvoeringsvormen getoonde protocol engine 100 kan als programma-instructies worden geïmplementeerd, die in lokaal geheugen 404 van het computersysteem 400 zijn opgeslagen, voor uitvoering door de processor 402 daarvan. Als alternatief kunnen de instructies worden opgeslagen op het opslagelement 408 of vanaf een ander computersysteem toegankelijk zijn via de communicatie-interface 412.The protocol engine 100 shown by the above embodiments can be implemented as program instructions stored in local memory 404 of the computer system 400 for execution by the processor 402 thereof. Alternatively, the instructions may be stored on the storage element 408 or accessible from another computer system via the communication interface 412.

[58] Hoewel de onderhavige uitvinding werd geïllustreerd aan de hand van specifieke uitvoeringsvormen, zal het voor de vakman duidelijk zijn dat de uitvinding niet is beperkt tot de details van de voorgaande illustratieve uitvoeringsvormen, en dat de onderhavige uitvinding kan worden uitgevoerd met verschillende wijzigingen en aanpassingen zonder daarbij het toepassingsgebied van de uitvinding te verlaten. De onderhavige uitvoeringsvormen moeten daarom op alle vlakken worden beschouwd als illustratief en niet restrictief, waarbij het toepassingsgebied van de uitvinding wordt beschreven door de bijgevoegde conclusies en niet door de voorgaande beschrijving, en alle wijzigingen die binnen de betekenis en de reikwijdte van de conclusies vallen, zijn hier derhalve mee opgenomen. Er wordt met andere woorden van uitgegaan dat hieronder alle wijzigingen, variaties of equivalenten vallen die binnen het toepassingsgebied van de onderliggende basisprincipes vallen en waarvan de essentiële attributen worden geclaimd in deze octrooiaanvraag. Bovendien zal de lezer van deze octrooiaanvraag begrijpen dat de woorden "omvattende" of "omvatten" andere elementen of stappen niet uitsluiten, dat het woord "een" geen meervoud uitsluit, en dat een enkelvoudig element, zoals een computersysteem, een processor of een andere geïntegreerde eenheid de functies van verschillende hulpmiddelen kunnen vervullen die in de conclusies worden vermeld. Eventuele verwijzingen in de conclusies mogen niet worden opgevat als een beperking van de conclusies in kwestie. De termen "eerste", "tweede", "derde", "a", "b", "c" en dergelijke, wanneer gebruikt in de beschrijving of in de conclusies, worden gebruikt om het onderscheid te maken tussen soortgelijke elementen of stappen en beschrijven niet noodzakelijk een opeenvolgende of chronologische volgorde. Op dezelfde manier worden de termen "bovenkant", "onderkant", "over", "onder" en dergelijke gebruikt ten behoeve van de beschrijving en verwijzen ze niet noodzakelijk naar relatieve posities. Het moet worden begrepen dat die termen onderling verwisselbaar zijn onder de juiste omstandigheden en dat uitvoeringsvormen van de uitvinding in staat zijn om te functioneren volgens de onderhavige uitvinding in andere volgordes of oriëntaties dan die beschreven of geïllustreerd in het bovenstaande.[58] Although the present invention has been illustrated with reference to specific embodiments, it will be apparent to those skilled in the art that the invention is not limited to the details of the foregoing illustrative embodiments, and that the present invention may be practiced with various modifications and modifications without leaving the scope of the invention. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being described by the appended claims and not by the foregoing description, and all modifications falling within the meaning and scope of the claims, are therefore included here. In other words, it is assumed that this covers all changes, variations or equivalents that fall within the scope of the underlying basic principles and whose essential attributes are claimed in this patent application. In addition, the reader of this patent application will understand that the words "comprising" or "include" do not exclude other elements or steps, that the word "a" does not exclude a plural, and that a single element, such as a computer system, a processor or other integrated unit can fulfill the functions of different tools mentioned in the claims. Any references in the claims should not be construed as limiting the claims in question. The terms "first", "second", "third", "a", "b", "c" and the like, when used in the description or in the claims, are used to distinguish between similar elements or steps and do not necessarily describe a sequential or chronological order. Similarly, the terms "top", "bottom", "over", "under" and the like are used for the purposes of the description and do not necessarily refer to relative positions. It is to be understood that those terms are interchangeable under the proper conditions and that embodiments of the invention are capable of functioning according to the present invention in sequences or orientations other than those described or illustrated in the above.

Claims (14)

CONCLUSIESCONCLUSIONS 1. Een op een computer geïmplementeerde werkwijze voor het gestandaardiseerd op afstand beheren van telecommunicatieapparaten (121123); de werkwijze omvattende: - het inladen (105) en instantiëren (110-112) van een protocol beschrijving (101) van één of meerdere van de telecommunicatieapparaten (121); de protocol beschrijving omvattende: o een beschrijving van één of meerdere taken (205) voor het beheren van de één of meerdere telecommunicatieapparaten (121)volgens een apparaat protocol over een communicatie protocol; en o een beschrijving (202) van één of meerdere triggers (212, 213) waarbij een trigger een conditie omvat gerelateerd aan één of meerdere van de taken (205); en - het opzetten van één of meerdere uitvoeringslijsten (218) voor het bijhouden van uit te voeren taken (221-226); en - het op de uitvoeringslijst plaatsen (230) van één of meerdere taken (221222) gerelateerd aan een trigger (212) wanneer aan een conditie van de trigger is voldaan; en - het afhandelen van de taken (221-226) op de uitvoeringslijst.A computer-implemented method for standardized remote management of telecommunications devices (121123); the method comprising: - loading (105) and instantiating (110-112) a protocol description (101) of one or more of the telecommunication devices (121); the protocol description comprising: o a description of one or more tasks (205) for managing the one or more telecommunication devices (121) according to a device protocol over a communication protocol; and o a description (202) of one or more triggers (212, 213) wherein a trigger comprises a condition related to one or more of the tasks (205); and - setting up one or more execution lists (218) for keeping track of tasks to be performed (221-226); and - placing (230) one or more tasks (221222) related to a trigger (212) on the execution list when a condition of the trigger is met; and - handling the tasks (221-226) on the execution list. 2. Werkwijze volgens conclusie 1 waarbij de beschrijving (202) van een trigger een op een tijd gebaseerde trigger (203) is; en waarbij de op een tijd gebaseerde trigger een bepaald tijdstip omvat waarop één of meerdere van de taken (214215, 217) dienen uitgevoerd te worden; en waarbij de werkwijze verder het op de één of meerdere uitvoeringslijsten plaatsen (231) van één of meerdere taken van de op tijd gebaseerde trigger omvat op het bepaald tijdstip.The method of claim 1 wherein the description (202) of a trigger is a time-based trigger (203); and wherein the time-based trigger comprises a specific time at which one or more of the tasks (214215, 217) are to be performed; and wherein the method further comprises placing (231) on the one or more execution lists one or more tasks of the time-based trigger at the determined time. 3. Werkwijze volgens conclusie 1 of 2 waarbij de beschrijving (202) van een trigger een op een gebeurtenis gebaseerde trigger is; en waarbij een op gebeurtenis gebaseerde trigger een beschrijving van een gebeurtenis omvat waarop één of meerdere van de taken (214-215, 217) dienen uitgevoerd te worden; en waarbij de werkwijze verder het op de één of meerdere uitvoeringslijst plaatsen (231) van één of meerdere taken van de op de gebeurtenis gebaseerde trigger omvat bij het verlopen van de gebeurtenis.The method of claim 1 or 2 wherein the description (202) of a trigger is an event-based trigger; and wherein an event-based trigger includes a description of an event on which one or more of the tasks (214-215, 217) is to be performed; and wherein the method further comprises placing (231) one or more tasks of the event-based trigger on the expiration of the event on the one or more execution list. 4. Werkwijze volgens één van voorgaande conclusies waarbij de protocol beschrijving een beschrijving (201) van één of meerdere variabelen (211) omvat.The method of any one of the preceding claims, wherein the protocol description comprises a description (201) of one or more variables (211). 5. Werkwijze volgens conclusie 4 waarbij de beschrijving van de één of meerdere taken een het versturen (220) van een commando aan één of meerdere van de telecommunicatieapparaten omvat waarbij het commando één of meerdere van de variabelen (211) omvat; en waarbij het afhandelen verder het invoegen van de waarden van de één of meerdere van de variabelen omvat en het versturen van het commando naar de één of meerdere van de telecommunicatieapparaten.The method according to claim 4, wherein the description of the one or more tasks comprises sending (220) a command to one or more of the telecommunication devices, wherein the command comprises one or more of the variables (211); and wherein the handling further comprises inserting the values of the one or more of the variables and sending the command to the one or more of the telecommunication devices. 6. Werkwijze volgens conclusie 4 of 5 waarbij de beschrijving van de één of meerdere taken het verwerken van een antwoord van de één of meerdere van de telecommunicatieapparaten omvat en waarbij het antwoord is gedefinieerd aan de hand van één of meerdere van de variabelen (211); en waarbij het afhandelen verder het aanpassen van de waarden van de één of meerdere van de variabelen omvat aan de hand van het antwoord.Method according to claim 4 or 5, wherein the description of the one or more tasks comprises processing a response from the one or more of the telecommunication devices and wherein the response is defined on the basis of one or more of the variables (211) ; and wherein the handling further comprises adjusting the values of the one or more of the variables based on the response. 7. Werkwijze volgens één van voorgaande conclusies waarbij de protocol beschrijving één of meerdere delen compileerbare code (204) omvat en waarbij het inladen (105) verder het compileren van de compileerbare code in een dynamische bibliotheek (216) omvat en het relateren van de dynamische bibliotheek aan de geïnstantieerde protocol beschrijving.The method of any preceding claim wherein the protocol description comprises one or more parts of compilable code (204) and wherein loading (105) further comprises compiling the compilable code into a dynamic library (216) and relating the dynamic library to the instantiated protocol description. 8. Werkwijze volgens één van voorgaande conclusies verder omvattende het opnieuw uitvoeren van het inladen en instantiëren van een gewijzigde protocol beschrijving.The method of any one of the preceding claims, further comprising performing again the loading and instantiation of a modified protocol description. 9. Werkwijze volgens één van voorgaande conclusies waarbij het inladen (105) (110-112) van de protocol beschrijving (101) verder het inladen van een beschrijving van een overlappend sjabloon omvat; en waarbij het instantiëren verder het toepassen van de sjabloon omvat.The method of any preceding claim wherein loading (105) (110-112) of the protocol description (101) further comprises loading a description of an overlapping template; and wherein instantiating further comprises applying the template. 10. Werkwijze volgens één van voorgaande conclusies waarbij de protocol beschrijving verder aanroepen naar een andere geïnstantieerde protocol beschrijving omvat.The method of any one of the preceding claims, wherein the protocol description further calls to another instantiated protocol description. 11. Werkwijze volgens één van voorgaande conclusies waarbij het op de uitvoeringslijst plaatsen wordt uitgevoerd volgens een prioriteit die is toegekend aan de één of meerdere taken (221-222) gerelateerd aan de trigger (212).The method of any one of the preceding claims wherein placing on the execution list is performed according to a priority assigned to the one or more tasks (221-222) related to the trigger (212). 12. Computer systeem aangepast om de werkwijze volgens één van voorgaande conclusies uit te voeren.A computer system adapted to perform the method according to any one of the preceding claims. 13. Een computer programma product bevattende op een computer uitvoerbare instructies om de werkwijze volgens één van de conclusies 1 tot 11 uit te voeren indien dit programma wordt uitgevoerd op een computer.A computer program product containing computer-executable instructions to perform the method of any one of claims 1 to 11 if this program is executed on a computer. 14. Een door een computer leesbaar opslagmiddel bevattende het computer programma product volgens conclusie 13.A computer-readable storage means comprising the computer program product of claim 13.
BE2016/5450A 2016-06-17 2016-06-17 STANDARDIZED REMOTE MANAGEMENT OF TELECOMMUNICATIONS EQUIPMENT BE1024233B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
BE2016/5450A BE1024233B1 (en) 2016-06-17 2016-06-17 STANDARDIZED REMOTE MANAGEMENT OF TELECOMMUNICATIONS EQUIPMENT

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
BE2016/5450A BE1024233B1 (en) 2016-06-17 2016-06-17 STANDARDIZED REMOTE MANAGEMENT OF TELECOMMUNICATIONS EQUIPMENT

Publications (2)

Publication Number Publication Date
BE1024233A1 BE1024233A1 (en) 2017-12-21
BE1024233B1 true BE1024233B1 (en) 2017-12-22

Family

ID=56507364

Family Applications (1)

Application Number Title Priority Date Filing Date
BE2016/5450A BE1024233B1 (en) 2016-06-17 2016-06-17 STANDARDIZED REMOTE MANAGEMENT OF TELECOMMUNICATIONS EQUIPMENT

Country Status (1)

Country Link
BE (1) BE1024233B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180089A1 (en) * 2006-01-31 2007-08-02 Kenny Fok Apparatus and methods for providing configurable task management of a wireless device
US20120173691A1 (en) * 2011-01-02 2012-07-05 Cisco Technology, Inc. Abstract representation and provisioning of network services
US20150237118A1 (en) * 2014-02-20 2015-08-20 Broadcom Corporation Extensible interoperability of network devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180089A1 (en) * 2006-01-31 2007-08-02 Kenny Fok Apparatus and methods for providing configurable task management of a wireless device
US20120173691A1 (en) * 2011-01-02 2012-07-05 Cisco Technology, Inc. Abstract representation and provisioning of network services
US20150237118A1 (en) * 2014-02-20 2015-08-20 Broadcom Corporation Extensible interoperability of network devices

Also Published As

Publication number Publication date
BE1024233A1 (en) 2017-12-21

Similar Documents

Publication Publication Date Title
CN110377413B (en) Distributed task asynchronous scheduling and monitoring system based on BPMN standard
US7657404B2 (en) Engineering method and system for industrial automation systems
US11385613B2 (en) Process image within controllers enabling visibility and accessibility of real world objects
CN112549029A (en) Robot behavior control method and device based on behavior tree
Lehmann et al. Meta-modeling runtime models
CN102650952A (en) Modeling tool order calling method and system based on MVC framework
EP0642077A1 (en) Open process control system
CN111984371A (en) Flow arrangement service scheduling and publishing method
US20060149790A1 (en) Synchronization method for an object oriented information system (IS) model
US20160011730A1 (en) Generic User Interface Client for Software Logistics Processes
US8260601B2 (en) Generating and delaying function calls in a discrete event modeling environment
BE1024233B1 (en) STANDARDIZED REMOTE MANAGEMENT OF TELECOMMUNICATIONS EQUIPMENT
CN113656001A (en) Platform component development method and device, computer equipment and storage medium
US20020116486A1 (en) Method of supervising and controlling a transport network
US20070266372A1 (en) Generating documentation from task execution
KR20010110097A (en) Archiving in workflow-management-systems
Theorin A sequential control language for industrial automation
EP1202167A1 (en) Method for model based object oriented development of external interfaces for distributed software systems
Lotz Managing non-functional communication aspects in the entire life-cycle of a component-based robotic software system
US20050132039A1 (en) Data processing system with automatable administration and method for automated administration of a data processing system
DeLine et al. Lessons on converting batch systems to support interaction: Experience report
US7809536B1 (en) Model-building interface
US20230376280A1 (en) Methods, systems and computer program products for optimizing computer programming for workflow development
Just et al. VjControl: an advanced configuration management tool for VR Juggler applications
Sarstedt et al. Targeting System Evolution by Explicit Modeling of Control Flows Using UML 2 Activity Charts.

Legal Events

Date Code Title Description
FG Patent granted

Effective date: 20171222