EP0992903B1 - Method for implementing cooperative multitasking in a message transmission network and network element therefor - Google Patents

Method for implementing cooperative multitasking in a message transmission network and network element therefor Download PDF

Info

Publication number
EP0992903B1
EP0992903B1 EP99440232A EP99440232A EP0992903B1 EP 0992903 B1 EP0992903 B1 EP 0992903B1 EP 99440232 A EP99440232 A EP 99440232A EP 99440232 A EP99440232 A EP 99440232A EP 0992903 B1 EP0992903 B1 EP 0992903B1
Authority
EP
European Patent Office
Prior art keywords
organisational
task
tasks
processed
cnt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
EP99440232A
Other languages
German (de)
French (fr)
Other versions
EP0992903A3 (en
EP0992903A2 (en
Inventor
Jörg Schabernack
Hartmut Dr. Kocher
Reimund Klamt
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.)
Alcatel CIT SA
Alcatel Lucent SAS
Original Assignee
Alcatel CIT SA
Alcatel SA
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 Alcatel CIT SA, Alcatel SA filed Critical Alcatel CIT SA
Publication of EP0992903A2 publication Critical patent/EP0992903A2/en
Publication of EP0992903A3 publication Critical patent/EP0992903A3/en
Application granted granted Critical
Publication of EP0992903B1 publication Critical patent/EP0992903B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Definitions

  • each Network element contains a database in which data about the current Network configuration are stored.
  • To manage a network element need several organizational tasks, called “tasks”, in parallel be processed.
  • These are operating systems, such as UNIX or MACH used to process the organization tasks Control access to one or more processors, with so-called “threads” are used.
  • These operating systems are known per se and numerous, e.g. in A. Silberschatz et al. written textbook “Operating System Concepts", third edition, Cape. 4.2.3, pages 96-97, published in 1991 by Addison-Wesley, Reading, Massachusetts, USA.
  • the object of the invention is a method and apparatus for Carrying out cooperative multitasking in one To propose telecommunications network, the above-mentioned Disadvantages do not have.
  • each organizational task becomes a counter and a Threshold assigned, with the threshold being a maximum number of machining cycles indicates within which the organizational task does not have to be processed immediately, and where the counter is those Machining cycles counts, within which the organizational task is not is processed.
  • the threshold being a maximum number of machining cycles indicates within which the organizational task does not have to be processed immediately
  • the counter is those Machining cycles counts, within which the organizational task is not is processed.
  • the selection criterion Priority criterion is, according to which is examined in which order the Organizational tasks are processed. This ensures that those who perform organizational tasks whose counts are greater than the corresponding thresholds are, first of all, the very important ones Organizational tasks and then the less important Organizational tasks are processed.
  • the selection criterion is a time duration that indicates how long each organizational task within a waiting loop and determines according to which organizational task as next is processed.
  • the order of processing will be so determined by the position of the organizational tasks within a Holding pattern. This so-called “round robin” principle can be very simply be incorporated into the process.
  • each threshold is a number that at most one less than the number N of all to be processed Organizational tasks, and if all thresholds by at least one be increased if another organizational task is to be processed.
  • N the number of thresholds that are around One increased to less than or equal to N-1. This will achieve that all organizational tasks within as few Machining cycles are processed.
  • the method is also particularly advantageous if a Organizational task only as one to be processed Organisotionsoufgabe is taken into account as soon as a specifiable Time interval has expired. This means that the organizational task is deactivated until the expiration of the time interval. The event is For example, the expiration of a predetermined maintenance interval and the Organizational task does a maintenance routine.
  • organizational tasks are also called “tasks” or “tasks” designated.
  • FIG. 1 the structure of a network element NE for a digital Message transmission network shown schematically.
  • the network element NE includes a processor CPU and a control module SDR for execution of cooperative multitasking, in which the processor performs tasks according to executes an order that determines the control module.
  • the control module to a memory, not shown, in which a list is stored.
  • the list is shown schematically in FIG. In her Only those tasks are entered which are for processing have registered. Individual tasks can be temporary or be deactivated due to the event.
  • the first Parameter PRY indicates with which priority the respective task to be processed.
  • the tasks TA to TD are active, i. logged in for editing.
  • the task TE however, it is inactive, i. not logged in and from editing suspended.
  • the status "active" or "inactive” will pass through the list a flag SP is displayed.
  • the order in which the Tasks are then processed then depends on the amount of Priority PRY.
  • the task TD has a higher priority PRY than the task TC TD is processed first.
  • the counter of the task TD is set to zero and the counters of the other tasks TA, TB, and TC increased by one.
  • the counter remains for the task TE unchanged on the state zero until this task TE activated by an event.
  • the specified in Figure 1 tasks TA to TE have to edit logged in and are performed by the network element NE to To control transmissions in an SDH communication network or monitor.
  • Each task uses one or more so-called “management objects” according to a procedure such as is known per se from the article "Management of SDH network elements: An Application of Information Modulation "by M. P. Bosse et al. published in the periodical published by the applicant "Electric neurological disorderectomy ", Issue No. 4, 1993, pages 329 to 338.
  • FIG. 1 also shows a task TF corresponding to that shown there List should be added.
  • this task TF are the parameters Assigned to PRY, CNT and THD.
  • the thresholds THD will be counted to the number N of all Tasks adapted. It should preferably be ensured that each threshold is at most one less than the number of all tasks to be processed (THD ⁇ N-1).
  • FIG. 2 schematically shows a flow chart of a method 100 to carry out cooperative multitasking.
  • the method comprises Steps 105 to 160.
  • the first step 105 is a preselection to the effect that only those tasks are considered, who have registered, i. currently managed by the network element become. In this example, it is all the tasks shown in FIG TA to TE.
  • the counter is added to each task CNT and threshold THD set.
  • each task assigned a PRY priority are in the in Fig. 1 List shown.
  • PRY 100
  • CNT 0
  • THD fourth Also the other tasks TB to TE become parameters allocated according to the list shown in FIG.
  • a next step 115 it is queried for each task, whether its counter CNT exceeds the threshold THD.
  • the counter of the task TC exceeds the corresponding one Threshold.
  • the counter of the task TD is queried for each task, whether its counter CNT exceeds the threshold THD.
  • the counter of the task TC exceeds the corresponding one Threshold.
  • the counter of the task TD is queried for each task, whether its counter CNT exceeds the threshold THD.
  • the counter of the task TC exceeds the corresponding one Threshold.
  • the counter of the task TD is taken into account. In this example, it is the tasks TC and TD, that need to be edited.
  • a subsequent step 125 checked whether the priorities PRY of these two tasks TC and TD differ from each other. If this is the case, then a not shown Priority list created.
  • step 140 The one which is to be preferred to the registered tasks here first the task TD, is thus processed in step 140, where after processing whose counter CNT is reset to zero. Then In a further step 150 follows the incrementing of those counters containing the other tasks that have not yet been processed. These counters are each increased by one. Other unregistered or suspended tasks are only executed if there is no task whose Threshold is greater than zero, more occurs.
  • step 160 where the proper execution the task is checked and then a return to step 115.
  • Step 115 is the processing cycle for the next task. This will be again checked if individual counters are larger than the corresponding ones Thresholds are. Should it be determined once in step 115 that none of the counters exceeds the corresponding threshold, then Immediately step 125 is performed, after which the differences of priorities is checked to create the priority list. Should also in this step If it is determined that all priorities are the same, then the step will be 130, after which the tasks according to the "round robin" principle be further processed.
  • the described method 100 ensures that all then too processing tasks are processed by the network element when individual have a very high priority. Tasks with high priorities can Do not block the editing of tasks with very low priorities. Thus, one could carry out the method described by the Designate the function of the network element as a "fair scheduler". If all Priorities are the same, according to the known "round robin "procedure is processed, thus processing the tasks the three different criteria, namely the waiting time (represents by the count CNT), the priority (represented by the Priority parameter PRY) and the classification within the Processing loop (“round robin" principle) performed.
  • the criterion of the waiting period takes precedence over the priority criterion and this in turn takes precedence over the "round robin" principle. It is conceivable to modify the procedure in such a way that a different ranking of the Criteria is selected. For example, the priority criterion could take precedence lifted before the criterion of the waiting period and before the "round robin" criterion. It is also conceivable to include the tests of further criteria in the Install procedure.
  • the method described is particularly suitable for use within an SDH network element to perform a fair scheduling.
  • other applications are conceivable in which so far a conventional "task scheduler" was used. That is why the Invention especially for use in Unix or MACH operated Systems to be used.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Superconductors And Manufacturing Methods Therefor (AREA)
  • Small-Scale Networks (AREA)
  • Manufacture, Treatment Of Glass Fibers (AREA)

Abstract

A counter (CNT) and a threshold (THD) is assigned to each task (TA to TE). At the start of each processing cycle, a check is made to determine if at least one of the counters has exceeded its threshold. If it has, a task (TD) is selected and processed and its counter is reset. Those counters of the remaining tasks are increased by one count. The processing cycle is the re-run if it is determined that at least one other task (TC) is to be processed. A network element for a digital communication network is also claimed.

Description

Im Bereich der digitalen Nachrichtenübertragungsnetze, insbesondere im Bereich der SDH-Netze (SDH: Synchrone Digitale Hierarchie), ist für jedes Netzelement eine Datenbank vorhanden, in der Daten über die aktuelle Netzkonfiguration gespeichert sind. Zur Verwaltung eines Netzelementes müssen mehrere Organisationsaufgaben, sogenannte "tasks", parallel abgearbeitet werden. Dazu werden Betriebssysteme, wie etwa UNIX oder MACH eingesetzt, die zur Abarbeitung der Organisationsaufgaben den Zugriff auf einen oder mehrere Prozessoren steuern, wobei sogenannte "threads" verwendet werden. Diese Betriebssysteme sind an sich bekannt und zahlreich beschrieben, z.B. in dem von A. Silberschatz et al. geschriebenen Fachbuch "Operating System Concepts", dritte Auflage, Kap. 4.2.3, Seiten 96-97, erschienen 1991 im Verlag Addison-Wesley, Reading, Massachusetts, USA. Mit Hilfe solcher Betriebssysteme wird der Zugriff von mehreren Organisationsaufgaben auf einen Prozessor, so gesteuert, daß für diejenige Organisationsaufgabe, die den Prozessor momentan beansprucht, entschieden wird, wann der Prozessor für die nächste Organisationsaufgabe frei gegeben wird. Für diese Art der Steuerung wird auch der Begriff "kooperatives Multitasking" verwendet. Die Reihenfolge, nach der die Organisationsaufgaben abgearbeitet werden, bestimmt ein Steuermodul, ein sogenannter "task scheduler". In the field of digital communications networks, in particular in Range of SDH Networks (SDH: Synchronous Digital Hierarchy), is for each Network element contains a database in which data about the current Network configuration are stored. To manage a network element need several organizational tasks, called "tasks", in parallel be processed. These are operating systems, such as UNIX or MACH used to process the organization tasks Control access to one or more processors, with so-called "threads" are used. These operating systems are known per se and numerous, e.g. in A. Silberschatz et al. written textbook "Operating System Concepts", third edition, Cape. 4.2.3, pages 96-97, published in 1991 by Addison-Wesley, Reading, Massachusetts, USA. With the help of such operating systems is the Access from multiple organizational tasks to a processor, so controlled that for the one organizational task involving the processor currently being claimed, it is decided when the processor for the next organizational task is released. For this type of Control is also the term "cooperative multitasking" used. The Order according to which the organizational tasks are executed determines a control module, a so-called "task scheduler".

In dem Artikel "Time-Function Scheduling: A General Approach to Controllable Resource Allocation" by L. Fong et al, IBM Research Report März 1995, Seiten A, 1-25, wird ein Verfahren zur Resourcenzuteilung beschrieben, das auf dem Konzept dynamischer Prioritäten basiert, welche für verschiedene Funktionsklassen in Abhängigkeit der Zeit verändert werden, die ein Job abwarten bis zur Ausführung muß.In the article "Time-Function Scheduling: A General Approach to Controllable Resource Allocation "by L. Fong et al, IBM Research Report March 1995, pages A, 1-25, describes a method for resource allocation based on the concept dynamic priorities based on different functional classes in Depending on the time to be changed, wait for a job to run got to.

Aus dem Artikel "Dual Priority Scheduling", R. Davis et al., Real-Time Systems Symposium 1995, Seiten 100-109, ist ein Verfahren zur Ablaufkoordination von Aufgaben mit weichen Zeitschranken in Echtzeitsystemen bekannt, deren Hauptfunktion in der Ausführung von Aufgaben mit harten Zeitschranken besteht. Dabei werden zwei verschiendene Arten von Prioritäten für die beiden Arten von Aufgaben vergeben. "Harte" Aufgaben haben eine Priorität in entweder einem oberen oder einem unteren Prioritätsbereich. Nach Ausführung einer harten Aufgabe wird deren Priorität in den unteren Prioritötsbereich versetzt und steigt nach einer fest vorgegebenen Zeit wieder in den oberen Prioritätsbereich auf. "Weiche" Aufgaben werden dagegen im mittleren Prioritätsbereich geführt. From the article "Dual Priority Scheduling", R. Davis et al., Real-Time Systems Symposium 1995, pp. 100-109, is a process coordination procedure of Tasks with soft time gates in real-time systems known whose Main function is the execution of tasks with hard time limits. There are two different types of priorities for the two types of Assign tasks. Hard tasks have a priority in either one upper or lower priority range. After execution of a hard The task is placed in the lower priority area and increases in priority a fixed time back to the upper priority range. "Soft" Tasks, on the other hand, are conducted in the medium priority area.

Aus US 5,437,032 ist ein solches Steuermodul und ein Verfahren zur Durchführung von kooperativem Multitasking bekannt. Dort werden mehrere Organisationsaufgaben zu sogenannten "jobs" zusammengefaßt. Jedem "job" wird ein Gewicht entsprechend einer Priorität zugeordnet. Der Anteil an dem Gesamtgewicht aller "jobs" entspricht dem aktuellen Aktivitöts-Niveau ("actual level of multitasking activity"). Es wird ein gewünschtes Aktivitats-Niveou ("desired level of multitasking activity") definiert, das der maximalen Anzahl von Organisationsaufgaben entspricht, die gleichzeitig abgearbeitet werden können. Die Diskrepanz zwischen diesen beiden Niveaus wird herangezogen um die Reihenfolge zu bestimmen, nach der die "jobs" abgearbeitet werden. Solche "jobs", deren aktuelles Aktivitäts-Niveau stark von dem gewünschten abweicht, werden bevorzugt. Bei dem aus US 5,437,032 bekannten Verfahren kann der Fall auftreten, daß einzelne Organisationsaufgaben deshalb nicht abgearbeitet werden, weil deren "jobs" lediglich eine sehr geringe Diskrepanz haben und stets hinter diejenigen "jobs" zurückgestellt werden, die eine hohe Diskrepanz haben.From US 5,437,032 is such a control module and a method for Carrying out cooperative multitasking. There will be summarized several organizational tasks to so-called "jobs". Each "job" is assigned a weight according to a priority. Of the Share in the total weight of all "jobs" corresponds to the current Activity level ("actual level of multitasking activity"). It will be a desired activity level ("desired level of multitasking activity") defined, which corresponds to the maximum number of organizational tasks, which can be processed at the same time. The discrepancy between these two levels are used for the order determine after which the "jobs" are processed. Such "jobs" whose current level of activity deviates greatly from the desired one prefers. In the method known from US 5,437,032 the case occur that individual organizational tasks therefore not processed because their "jobs" only have a very small discrepancy and always put behind those "jobs" that are high Have discrepancy.

In dem Artikel "Management von SDH-Netzelementen: eine Anwendung der Informationsmodellierung" von M. P. Bosse et.al., erschienen in der von der Anmelderin publizierten Zeitschrift "Elektrisches Nachrichtenwesen", Ausgabe Nr. 4, 1993, auf Seiten 329 - 338 sind allgemein ein Verfahren und Vorrichtungen zum Verwalten von Netzelementen in digitalen Nachrichtenübertragungsnetzen beschrieben. Ein "task scheduler" wird dort jedoch nicht beschrieben.In the article "Management of SDH network elements: an application of the Information Modeling "by M. P. Bosse et al., Published in the by the Applicant published the journal "Electric Communication", Issue No. 4, 1993, at pages 329-338 are generally a method and devices for managing network elements in digital Messaging networks described. A "task scheduler" will be there but not described.

Aufgabe der Erfindung ist es ein Verfahren und Vorrichtungen zur Durchführung von kooperativem Multitasking in einem Nachrichtenübertragungsnetz vorzuschlagen, die die eingangs genannten Nachteile nicht haben. The object of the invention is a method and apparatus for Carrying out cooperative multitasking in one To propose telecommunications network, the above-mentioned Disadvantages do not have.

Gelöst wird die Aufgabe durch ein Verfahren mit den Merkmalen nach Anspruch 1 sowie durch ein Netzelement mit den Merkmalen nach dem nebengeordneten Anspruch 9.The problem is solved by a method with the features Claim 1 and by a network element with the features of the independent claim 9.

Demnach werden jeder Organisationsaufgabe ein Zähler und ein Schwellenwert zugewiesen, wobei der Schwellenwert eine maximale Anzahl von Bearbeitungszyklen angibt, innerhalb derer die Organisationsaufgabe nicht sofort abgearbeitet muß, und wobei der Zähler diejenigen Bearbeitungszyklen zählt, innerhalb derer die Organisationsaufgabe nicht abgearbeitet wird. Zu Beginn eines jeden Bearbeitungszyklus wird geprüft, ob zumindest einer der Zähler den entsprechenden Schwellenwert übersteigt. Ist dies für eine einzige Organisationsaufgabe der Fall, so wird diese Organisationsaufgabe abgearbeitet und deren Zähler wird zurück gesetzt. Ist dies für mindestens zwei Organisationsaufgaben der Fall, so wird aus der Menge dieser Organisationsaufgaben gemäß mindestens einem Auswahlkriteriums eine Organisationsaufgabe ausgewählt. Dann wird diese abgearbeitet und ihr Zähler wird zurück gesetzt. Diejenigen Zähler, die den verbleibenden Organisationsaufgaben, d.h. den noch nicht abgearbeiteten Organisationsaufgaben, zugewiesen wurden, werden um einen Zählschritt erhöht. Der Bearbeitungszyklus wird erneut durchlaufen, falls festgestellt wird, daß zumindest noch eine der Organisationsaufgaben abzuarbeiten ist.Accordingly, each organizational task becomes a counter and a Threshold assigned, with the threshold being a maximum number of machining cycles indicates within which the organizational task does not have to be processed immediately, and where the counter is those Machining cycles counts, within which the organizational task is not is processed. At the beginning of each machining cycle it is checked whether at least one of the counters is the appropriate threshold exceeds. If this is the case for a single organizational task, then this organizational task is processed and its counter is reset set. If this is the case for at least two organizational tasks, then so is calculated from the set of these organizational tasks according to at least a selection task, an organizational task is selected. Then this is processed and their counter is reset. Those Counters representing the remaining organizational tasks, i. not yet completed organizational tasks, are assigned to increases a counting step. The processing cycle is repeated, if it is determined that at least one of the organizational tasks to work off.

Dadurch wird erreicht, daß die Wartezeiten mittels der Zähler überwacht werden und diejenigen Organisationsaufgaben, die bereits mehr als eine durch den Schwellenwert vorgegebene Zeitdauer lang warten, bevorzugt abgearbeitet werden. Zudem wird auch ein Auswahlkriterium berücksichtigt, um dann die Reihenfolge vorzugeben, wenn aufgrund der Wartezeiten keine der Organisationsaufgaben zu bevorzugen ist. This ensures that monitors the waiting times by means of the counter and those organizational tasks that are already more than one Wait for the time period predetermined by the threshold, preferably be processed. In addition, a selection criterion is taken into account, order the sequence then, if due to the waiting times none of the organizational tasks is to be preferred.

Vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen zu entnehmen.Advantageous embodiments of the invention are the dependent claims remove.

Demnach ist es besonders vorteilhaft, wenn das Auswahlkriterium ein Prioritätskriterium ist, gemäß dem geprüft wird, in welcher Reihenfolge die Organisationsaufgaben abgearbeitet werden. Dadurch wird erreicht, daß von den denjenigen Orgnisationsaufgaben, deren Zählerstände größer als die entsprechenden Schwellenwerte sind, zunächst die sehr wichtigen Organisationsaufgaben und dann die weniger wichtigen Organisationsaufgaben bearbeitet werden.Accordingly, it is particularly advantageous if the selection criterion Priority criterion is, according to which is examined in which order the Organizational tasks are processed. This ensures that those who perform organizational tasks whose counts are greater than the corresponding thresholds are, first of all, the very important ones Organizational tasks and then the less important Organizational tasks are processed.

Vorteilhaft ist es auch, das Auswahlkriterium eine Zeitdauer ist, die angibt wie lange jede Organisationsaufgabe innerhalb einer Warteschleife verweilt, und gemäß der bestimmt wird, welche Organisationsaufgabe als nächste abgearbeitet wird. Die Reihenfolge der Bearbeitung wird also bestimmt durch die Position der Organisationsaufgaben innerhalb einer Warteschleife. Durch dieses sogenannte "round robin"-Prinzip kann sehr einfach in das Verfahren eingegliedert werden.It is also advantageous that the selection criterion is a time duration that indicates how long each organizational task within a waiting loop and determines according to which organizational task as next is processed. The order of processing will be so determined by the position of the organizational tasks within a Holding pattern. This so-called "round robin" principle can be very simply be incorporated into the process.

Außerdem ist es vorteilhaft, wenn jeder Schwellenwert eine Zahl ist, die höchstens um Eins geringer ist als die Anzahl N aller zu bearbeitenden Organisationsaufgaben, und wenn alle Schwellenwerte zumindest um Eins erhöht werden, falls eine weitere Organisationsaufgabe zu bearbeiten ist. Durch diese Maßnahmen wird sichergestellt, daß alle Organisationsaufgaben, die sich zur Bearbeitung angemeldet haben, vom dem kooperativen Multitasking profitieren und innerhalb einer möglichst kurzen Zeitspanne abgearbeitet werden.Moreover, it is advantageous if each threshold is a number that at most one less than the number N of all to be processed Organizational tasks, and if all thresholds by at least one be increased if another organizational task is to be processed. These measures will ensure that everyone Organizational tasks that have logged on for editing from benefit from cooperative multitasking and within as much as possible short time span are processed.

Wenn der Fall auftritt, daß die Anzahl N um Eins (N' = N+1) steigt, weil die weitere Organisationsaufgabe sich für die Bearbeitung anmeldet hat, dann ist es besonders vorteilhaft, wenn nur diejenigen Schwellenwerte um Eins erhöht werden, die kleiner oder gleich N-1 sind. Dadurch wird erreicht, daß alle Organisationsaufgaben innerhalb von möglichst wenigen Bearbeitungszyklen bearbeitet werden. If the case occurs, the number N increases by one (N '= N + 1) because the further organizational task has logged on for processing, then it is especially advantageous if only those thresholds are around One increased to less than or equal to N-1. This will achieve that all organizational tasks within as few Machining cycles are processed.

Von besonderem Vorteil ist es auch, wenn eine einzelne Organisationsaufgabe nur dann berücksichtigt wird, wenn ein Ereignis auftritt, das die Bearbeitung dieser Organisationsaufgabe erforderlich macht. Das bedeutet, daß spezielle Organisationsaufgaben solange zurückgestellt werden können, bis zu erwartende Ereignisse eintreten, die die Bearbeitung dieser speziellen Organisationsaufgaben erforderlich machen. Beispielsweise können Systemwarnungen oder Notalarme auftreten, für die spezielle Organisationsaufgaben bereit gehalten werden. Diese Organisationsaufgaben werden bis zum Eintritt der Ereignisse von der Bereitschaft zur Bearbeitung suspendiert. Auf diese sehr einfache Art und Weise wird das Verfahren auf eine größere Menge von Organisationsaufgaben erstreckt, ohne daß diese speziellen Organisationsaufgaben ständig verwaltet werden müssen und das Steuermodul ("task scheduler") zusätzlich belastet wird.It is also particularly advantageous if a single Organizational task is considered only if an event occurs, which requires the processing of this organizational task power. This means that special organizational tasks as long as can be postponed until expected events occur the processing of these special organizational tasks is required do. For example, system alerts or emergency alerts occur for which special organizational tasks are kept ready. These organizational tasks will be until the events of the Willingness to work suspended. In this very simple way and Way, the process is applied to a larger amount of Organizational tasks extends without these special Organizational tasks must be constantly managed and the Tax module ("task scheduler") is additionally charged.

Das Verfahren gestaltet sich auch dann besonders vorteilhaft, wenn eine Organisationsaufgabe nur dann als eine zu bearbeitende Organisotionsoufgabe berücksichtigt wird, sobald ein vorgebbares Zeitintervall abgelaufen ist. Das bedeutet, daß die Organisationsaufgabe bis zum Ablauf des Zeitintervalls deaktiviert wird. Das Ereignis ist beispielsweise der Ablauf eines vorgebbaren Wartungsintervalls und die Organisationsaufgabe erledigt eine Wartungsroutine.The method is also particularly advantageous if a Organizational task only as one to be processed Organisotionsoufgabe is taken into account as soon as a specifiable Time interval has expired. This means that the organizational task is deactivated until the expiration of the time interval. The event is For example, the expiration of a predetermined maintenance interval and the Organizational task does a maintenance routine.

Im weiteren wird die Erfindung anhand eines Ausführungsbeispiels und unter Zuhilfenahme der folgenden Zeichnungen beschrieben:

Fig. 1,
die schematisch die Struktur eines Netzelementes mit einem Steuermodul zeigt; und
Fig. 2,
die das Ablaufdiagramm eines Multitasking-Verfahrens zeigt, das das Steuermodul steuert.
In the following, the invention will be described by means of an embodiment and with the aid of the following drawings:
Fig. 1,
schematically showing the structure of a network element with a control module; and
2,
showing the flowchart of a multitasking process that controls the control module.

Zur Vereinfachung der folgenden Beschreibung des Ausführungsbeispiels werden die Organisationsaufgaben auch kurz als "Aufgaben" oder "tasks" bezeichnet.To simplify the following description of the embodiment the organizational tasks are also called "tasks" or "tasks" designated.

In Figur 1 ist der Aufbau eines Netzelementes NE für ein digitales Nachrichtenübertragungsnetz schematisch dargestellt. Das Netzelement NE enthält einen Prozessor CPU und ein Steuermodul SDR zur Durchführung von kooperativen Multitasking, bei dem der Prozessor Aufgaben gemäß einer Reihenfolge abarbeitet, die das Steuermodul bestimmt. Dazu greift das Steuermodul zu auf einen nicht dargestellten Speicher, in dem eine Liste abgespeichert ist. Die Liste ist in Fig. 1 schematisch dargestellt. In ihr werden nur solche Aufgaben eingetragen, die sich zur Bearbeitung angemeldet haben. Einzelne Aufgaben können zeitweise oder ereignisbedingt deaktiviert werden.In Figure 1, the structure of a network element NE for a digital Message transmission network shown schematically. The network element NE includes a processor CPU and a control module SDR for execution of cooperative multitasking, in which the processor performs tasks according to executes an order that determines the control module. To do this the control module to a memory, not shown, in which a list is stored. The list is shown schematically in FIG. In her Only those tasks are entered which are for processing have registered. Individual tasks can be temporary or be deactivated due to the event.

Wie es in Figur 1 zu sehen ist, sind in der Liste für die Aufgaben TA, TB, TC, TD und TE jeweils drei verschiedene Parameter eingetragen. Der erste Parameter PRY gibt an mit welcher Priorität die jeweilige Aufgabe abgearbeitet werden soll. Der zweite Parameter CNT ist ein Zähler, der mit jedem Durchlauf des Bearbeitungszyklus um Eins erhöht wird. Für jede der Aufgaben gibt der Zähler also an, wieviel Bearbeitungszyklen bereits durchlaufen wurden, ohne daß diese Aufgabe abgearbeitet werden konnte. Beispielsweise wartet die Aufgabe TB bereits zwei Bearbeitungszyklen lang (CNT=2) darauf, abgearbeitet zu werden. Der dritte Parameter THD ist ein Schwellenwert, der vorgeben wird und der eine maximale Anzahl von Bearbeitungszyklen angibt, innerhalb derer die Aufgabe nicht abgearbeitet zu werden braucht. Beispielsweise wurde der Aufgabe TD ein Schwellenwert von THD=5 zugewiesen. Das heißt, es kann 5 Bearbeitungszyklen lang gewartet werden, bis die Aufgabe TD abgearbeitet werden sollte.As can be seen in FIG. 1, in the list for the tasks TA, TB, TC, TD and TE each entered three different parameters. The first Parameter PRY indicates with which priority the respective task to be processed. The second parameter CNT is a counter that uses each cycle of the processing cycle is increased by one. For each of the The counter therefore indicates tasks, how many processing cycles already were passed through without this task could be completed. For example, task TB already waits two processing cycles (CNT = 2) to be processed. The third parameter THD is on Threshold that will dictate and that will have a maximum number of Specifies processing cycles within which the task is not completed needs to be. For example, task TD became a threshold assigned by THD = 5. That means it can take 5 processing cycles be serviced until the task TD should be processed.

Die tasks TA bis TD sind aktiv, d.h. zur Bearbeitung angemeldet. Die task TE ist jedoch inaktiv, d.h. nicht angemeldet und von der Bearbeitung suspendiert. Der Status "aktiv" oder inaktiv" wird innerhalb der Liste durch ein flag SP angezeigt.The tasks TA to TD are active, i. logged in for editing. The task TE however, it is inactive, i. not logged in and from editing suspended. The status "active" or "inactive" will pass through the list a flag SP is displayed.

Wie der Figur 1 zu entnehmen ist, wurde der Aufgabe TA die Priorität PRY=100 und der Schwellenwert THD=4 zugewiesen. Der Zähler hat den momentanen Zählerstand CNT=0. Das bedeutet, daß die Aufgabe TA noch fünf Bearbeitungszyklen lang warten kann, bis der Zähler CNT den Schwellenwert THD übersteigt. Erst dann ist angezeigt, daß die Aufgabe TA möglichst rasch abgearbeitet werden sollte. Die Reihenfolge, in der die Aufgaben abgearbeitet werden, richtet sich dann nach der Höhe der Priorität PRY. Für die Aufgabe TB sind in der Liste folgende Eintröge zu finden: PRY=70, CNT=2 und THD=4. Die Einträge für die Aufgabe TC sind folgende : PRY=50, CNT=6 und THD=5. Für die task TD findet man folgende Einträge in der Liste: PRY=60, CNT=7 und THD= 5. Und für die Aufgabe TE sind die Parameter PRY=30, CNT=0 und THD=5 eingetragen. Das bedeutet, daß bei den Aufgaben TA und TB die Zähler CNT den entsprechenden Schwellenwert THD noch nicht überschritten haben. Der Zähler für die task TE ist auch unterhalb des Schwellenwertes und hat den Zählerstand "0". Für diese task TE bleibt der Zähler solange auf Null, wie diese task deaktiviert ist. Daß die task TE deaktiviert ist, zeigt das flag SP an. Die Zähler der Aufgaben TC und TD haben den entsprechenden Schwellenwert bereits überschritten und müssen möglichst rasch abgearbeitet werden.As can be seen from FIG. 1, the task TA became the priority PRY = 100 and the threshold THD = 4 assigned. The meter has the current counter reading CNT = 0. This means that the task TA still wait five processing cycles until the counter CNT the Threshold exceeds THD. Only then is it indicated that the task TA should be processed as quickly as possible. The order in which the Tasks are then processed, then depends on the amount of Priority PRY. For the task TB, the following entries are added to the list find: PRY = 70, CNT = 2 and THD = 4. The entries for the task TC are the following: PRY = 50, CNT = 6 and THD = 5. For the task TD one finds following entries in the list: PRY = 60, CNT = 7 and THD = 5. And for the Task TE the parameters PRY = 30, CNT = 0 and THD = 5 are entered. This means that in the tasks TA and TB, the counters CNT the corresponding threshold THD have not yet exceeded. Of the Counter for the task TE is also below the threshold and has the Counter reading "0". For this task TE, the counter remains at zero as long as this task is disabled. The fact that the task TE is deactivated indicates the flag SP. The counters of tasks TC and TD have the corresponding Threshold already exceeded and need to be as fast as possible be processed.

Dadurch, daß die Aufgabe TD eine höhere Priorität PRY als die Aufgabe TC hat, wird TD zunächst abgearbeitet. Am Ende des Bearbeitungszyklus wird der Zähler der Aufgabe TD auf Null gesetzt und es werden die Zähler der anderen Aufgaben TA, TB, und TC um Eins erhöht. Jedoch bleibt der Zähler für die task TE unverändert auf dem Stand Null solange, bis diese task TE durch ein Ereignis aktiviert wird.Because the task TD has a higher priority PRY than the task TC TD is processed first. At the end of the machining cycle is the counter of the task TD is set to zero and the counters of the other tasks TA, TB, and TC increased by one. However, the counter remains for the task TE unchanged on the state zero until this task TE activated by an event.

Die in Figur 1 angegebenen tasks TA bis TE haben sich zur Bearbeitung angemeldet und werden von dem Netzelement NE durchgeführt, um Übertragungen in einem SDH-Nachrichtenübertragungsnetz zu steuern oder zu überwachen. Eine jede task bedient sich eines oder mehrerer sogenannter "management objects" entsprechend einem Verfahren, wie es an sich bekannt ist aus dem Artikel "Management von SDH-Netzelementen: Eine Anwendung der Informationsmodulierung" von M. P. Bosse et al., erschienen in der von der Anmelderin publizierten Zeitschrift "Elektrisches Nachrichtenwesen", Ausgabe Nr.4, 1993, Seiten 329 bis 338.The specified in Figure 1 tasks TA to TE have to edit logged in and are performed by the network element NE to To control transmissions in an SDH communication network or monitor. Each task uses one or more so-called "management objects" according to a procedure such as is known per se from the article "Management of SDH network elements: An Application of Information Modulation "by M. P. Bosse et al. published in the periodical published by the applicant "Electric Nachrichtenwesen ", Issue No. 4, 1993, pages 329 to 338.

In Figur 1 ist außerdem eine task TF dargestellt, die zu der dort gezeigten Liste hinzugefügt werden soll. Dazu werden dieser task TF die Parameter PRY, CNT und THD zugewiesen. Bei einer solchen Erweiterung der Liste werden die Schwellenwerte THD an die Anzahl N aller zu bearbeitenden Aufgaben angepaßt. Es sollte vorzugsweise darauf geachtet werden, daß ein jeder Schwellenwert höchstens um Eins geringer ist als die Anzahl aller zu bearbeitenden Aufgaben (THD ≥ N-1). In dem hier beschriebenen Beispiel beträgt die Anzahl aller task TA bis TE gleich 5 (N=5) und wird bei Hinzufügen der task TE auf 6 (N'=6) erhöht.FIG. 1 also shows a task TF corresponding to that shown there List should be added. For this task TF are the parameters Assigned to PRY, CNT and THD. With such an extension of the list the thresholds THD will be counted to the number N of all Tasks adapted. It should preferably be ensured that each threshold is at most one less than the number of all tasks to be processed (THD ≥ N-1). In the here described For example, the number of all task TA to TE equals 5 (N = 5) and becomes at Adding task TE increased to 6 (N '= 6).

Das von dem in Figur 1 dargestellten Netzelement durchgeführte Verfahren wird im folgenden näher anhand der Figur 2 beschrieben:The method performed by the network element shown in FIG will be described in more detail below with reference to Figure 2:

Die Figur 2 zeigt schematisch ein Ablaufdiagramm eines Verfahrens 100 zur Durchführung von kooperativem Multitasking. Das Verfahren umfaßt die Schritte 105 bis 160. In dem ersten Schritt 105 wird eine Vorselektion dahingehend getroffen, daß nur solche Aufgaben berücksichtigt werden, die sich angemeldet haben, d.h. die momentan vom Netzelement verwaltet werden. In diesem Beispiel sind es alle die in Fig. 1 dargestellten Aufgaben TA bis TE. In einem nächsten Schritt 110 wird zu jeder Aufgabe der Zähler CNT und der Schwellenwert THD gesetzt. Außerdem wird jeder Aufgabe eine Priorität PRY zugewiesen. Diese Parameter werden in die in Fig. 1 dargestellte Liste eingetragen. Wie es bereits anhand von Fig.1 beschrieben wurde, hat die Aufgabe TA folgende Parameter: PRY= 100, CNT=0 und THD=4. Auch den anderen Aufgaben TB bis TE werden Parameter entsprechend der in Fig. 1 gezeigten Liste zugeteilt.FIG. 2 schematically shows a flow chart of a method 100 to carry out cooperative multitasking. The method comprises Steps 105 to 160. In the first step 105 is a preselection to the effect that only those tasks are considered, who have registered, i. currently managed by the network element become. In this example, it is all the tasks shown in FIG TA to TE. In a next step 110, the counter is added to each task CNT and threshold THD set. In addition, each task assigned a PRY priority. These parameters are in the in Fig. 1 List shown. As already described with reference to FIG Task TA has the following parameters: PRY = 100, CNT = 0 and THD = fourth Also the other tasks TB to TE become parameters allocated according to the list shown in FIG.

Dann wird in einem nächsten Schritt 115 für eine jede Aufgabe abgefragt, ob deren Zähler CNT den Schwellenwert THD überschreitet. In diesem Beispiel überschreitet der Zähler der Aufgabe TC den entsprechenden Schwellenwert. Gleiches gilt für den Zähler der Aufgabe TD. Durch diese Abfrage wird eine weitere Auswahl getroffen, nach der in einem nächsten Schritt 120 nur diejenigen Aufgaben, die dieses Kriterium erfüllen, berücksichtigt werden. In diesem Beispiel sind es die Aufgaben TC und TD, die bearbeitet werden müssen.Then, in a next step 115, it is queried for each task, whether its counter CNT exceeds the threshold THD. In this For example, the counter of the task TC exceeds the corresponding one Threshold. The same applies to the counter of the task TD. Through this Query will make another selection, after which in a next Step 120 only those tasks that meet this criterion, be taken into account. In this example, it is the tasks TC and TD, that need to be edited.

Um nun eine Rangfolge festzulegen, wird in einem nachfolgenden Schritt 125 geprüft, ob die Prioritäten PRY dieser beiden Aufgaben TC und TD voneinander abweichen. Ist dies der Fall, so wird eine nicht dargestellte Prioritätsliste erstellt. In diesem Beispiel wird die Aufgabe TD zuerst in die Prioritätsliste eingetragen, da ihre Priorität PRY=60 größer ist als die Priorität der Aufgabe TC (PRY=50). Demnach wird die Aufgabe TD bevorzugt abgearbeitet in einem Schritt 140.In order to determine a ranking, in a subsequent step 125 checked whether the priorities PRY of these two tasks TC and TD differ from each other. If this is the case, then a not shown Priority list created. In this example, the task TD is first entered in the Priority list entered because its priority PRY = 60 is greater than the Priority of task TC (PRY = 50). Thus, the task becomes TD preferably processed in a step 140.

Falls jedoch die Prioritäten gleich groß sein sollten, wird das Bearbeiten der tasks nach den an sich bekannten "round robin"-Verfahren durchgeführt. Das bedeutet, daß die Reihenfolge der Abarbeitung bestimmt ist durch die zeitliche Rangfolge, nach der die tasks in die Liste eingetragen worden sind. Diese Rangfolge wird in einem Schritt 130 durchgeführt. Dann wird die bevorzugte task in dem Schritt 140 abgearbeitet. Das "round robin"-Verfahren an sich ist etwa in dem Buch von H. M. Deitel "An Introduction to Operating System" beschrieben in dem Kap. 10.10 (zweite Auflage 1990, Verlag Addison-Wesley, Reading, Massachusetts, USA).However, if the priorities are the same, editing the tasks carried out according to the known "round robin" method. This means that the order of execution is determined by the chronological order according to which the tasks have been entered in the list. This ranking is performed in a step 130. Then the preferred task in the step 140 processed. The "round robin" method In itself, for example, in the book by H. M. Deitel "An Introduction to Operating System "described in Chapter 10.10 (second edition 1990, Publisher Addison-Wesley, Reading, Massachusetts, USA).

Diejenige Augabe, die von den angemeldeten Aufgaben zu bevorzugen ist, hier zunächst die task TD, wird also in dem Schritt 140 abgearbeitet, wobei nach dem Bearbeiten deren Zähler CNT auf Null zurückgesetzt wird. Dann folgt in einem weiteren Schritt 150 das Erhöhen derjenigen Zähler, die den anderen noch nicht abgearbeiteten tasks zugewiesen wurden. Diese Zähler werden jeweils um Eins erhöht. Andere nicht angemeldete oder suspendierte tasks werden nur dann abgearbeitet, wenn keine task, deren Schwellenwert größer Null ist, mehr vorkommt.The one which is to be preferred to the registered tasks here first the task TD, is thus processed in step 140, where after processing whose counter CNT is reset to zero. Then In a further step 150 follows the incrementing of those counters containing the other tasks that have not yet been processed. These counters are each increased by one. Other unregistered or suspended tasks are only executed if there is no task whose Threshold is greater than zero, more occurs.

Danach folgt der Schritt 160, bei dem das ordnungsgemäße Abarbeiten der tasks überprüft wird, und dann ein Rücksprung auf den Schritt 115. Damit schließt sich der Bearbeitungszyklus für eine task. Dann beginnt mit dem Schritt 115 der Bearbeitungszyklus für die nächste task. Dazu wird wiederum geprüft, ob einzelne Zähler größer als die entsprechenden Schwellenwerte sind. Sollte einmal im Schritt 115 festgestellt werden, daß keiner der Zähler den entsprechenden Schwellenwert überschreitet, so wird sofort der Schritt 125 durchgeführt, wonach die Unterschiede der Prioritäten geprüft wird, um die Prioritätsliste zu erstellen. Sollte auch in diesem Schritt 125 festgestellt werden, daß alle Prioritäten gleich sind, so wird der Schritt 130 durchgeführt, wonach die tasks entsprechend dem "round robin"-Prinzip weiter bearbeitet werden.This is followed by step 160, where the proper execution the task is checked and then a return to step 115. This completes the processing cycle for a task. Then start with Step 115 is the processing cycle for the next task. This will be again checked if individual counters are larger than the corresponding ones Thresholds are. Should it be determined once in step 115 that none of the counters exceeds the corresponding threshold, then Immediately step 125 is performed, after which the differences of priorities is checked to create the priority list. Should also in this step If it is determined that all priorities are the same, then the step will be 130, after which the tasks according to the "round robin" principle be further processed.

Das beschriebene Verfahren 100 stellt sicher, daß auch dann alle zu bearbeitenden Aufgaben vom Netzelement bearbeitet werden, wenn einzelne eine sehr hohe Priorität haben. Tasks mit hohen Prioritäten können die Bearbeitung von tasks mit sehr niedrigen Prioritäten nicht blockieren. Somit könnte man die nach dem beschriebenen Verfahren durchgeführte Funktion des Netzelementes als "fair scheduler" bezeichnen. Falls alle Prioritäten gleich hoch sind, wird nach dem an sich bekannten "round robin"-Verfahren abgearbeitet. Damit wird die Abarbeitung der Aufgaben den drei verschiedenen Kriterien, nämlich der Wartedauer (repräsentiert durch den Zählerstand CNT), der Priorität (repräsentiert durch den Prioritätsparameter PRY) und der Einordnung innerhalb der Bearbeitungsschleife ("round robin"-Prinzip) durchgeführt. The described method 100 ensures that all then too processing tasks are processed by the network element when individual have a very high priority. Tasks with high priorities can Do not block the editing of tasks with very low priorities. Thus, one could carry out the method described by the Designate the function of the network element as a "fair scheduler". If all Priorities are the same, according to the known "round robin "procedure is processed, thus processing the tasks the three different criteria, namely the waiting time (represents by the count CNT), the priority (represented by the Priority parameter PRY) and the classification within the Processing loop ("round robin" principle) performed.

Das Kriterium der Wartedauer hat Vorrang vor dem Prioritätskriterium und dieses wiederum hat Vorrang vor dem "round robin"-Prinzip. Es ist denkbar, das Verfahren derart abzuwandeln, daß eine andere Rangordnung der Kriterien gewählt wird. Beispielsweise könnte das Prioritätskriterium Vorrang hoben vor dem Kriterium der Wartezeitdauer und vor dem "round robin"-Kriterium. Es ist auch denkbar, die Prüfungen weiterer Kriterien mit in das Verfahren einzubauen.The criterion of the waiting period takes precedence over the priority criterion and this in turn takes precedence over the "round robin" principle. It is conceivable to modify the procedure in such a way that a different ranking of the Criteria is selected. For example, the priority criterion could take precedence lifted before the criterion of the waiting period and before the "round robin" criterion. It is also conceivable to include the tests of further criteria in the Install procedure.

Das beschriebene Verfahren ist besonders geeignet zum Einsatz innerhalb eines SDH-Netzelementes, um ein "fair scheduling" durchzuführen. Daneben sind auch andere Anwendungsfälle denkbar, bei denen bislang ein herkömmlicher "task scheduler" verwendet wurde. Deshalb ist die Erfindung besonders für den Einsatz in mit Unix oder MACH betriebenen Systemen eingesetzt zu werden.The method described is particularly suitable for use within an SDH network element to perform a fair scheduling. In addition, other applications are conceivable in which so far a conventional "task scheduler" was used. That is why the Invention especially for use in Unix or MACH operated Systems to be used.

Claims (10)

  1. Method (100) for executing cooperative multitasking in a computer-controlled network element of a digital message transfer network, in which organisational tasks (TA to TE) are processed according to a sequence, with the following steps:
    each organisational task (TA to TE) is assigned a counter (CNT) and a threshold value (THD), the threshold value (THD) specifying a number of processing cycles within which the organisational task does not have to be processed immediately, and the counter (CNT) counting those processing cycles within which the organisational task is not processed (step 110);
    at the beginning of each processing cycle it is checked whether at least one of the counters (CNT) exceeds the relevant threshold value (THD) (step 115);
    if this is the case, then according to at least one selection criterion (PRY) one (TD) of the corresponding organisational tasks (TC, TD) is selected and processed and its counter (CNT) is reset (steps 125 to 140);
    the counters that were assigned to the remaining organisational tasks (TA, TB, TC) are incremented by one counting step (step 150);
    the processing cycle (steps 115 to 150) is run through again if it is established that at least one more of the organisational tasks (TA-TE) is to be processed (step 160).
  2. Method (100) according to claim 1, in which the selection criterion is a priority criterion (PRY), according to which the order in which the organisational tasks (TA to TE) are processed is checked (step 125).
  3. Method according to claim 1, in which the selection criterion is the time, which indicates how long each organisational task dwells within a waiting loop, and according to which it is determined which organisational task is next to be processed (step 130).
  4. Method according to claim 1, in which each threshold value (THD) is a number that is smaller by a maximum of one than the number of all organisational tasks (TA to TE) to be processed, and in which all threshold values are incremented at least by one if a further organisational task (TF) to be processed is added (step 105).
  5. Method according to claim 1, in which the number of organisational tasks is incremented by one if a further organisational task logs on for processing, and in which only those threshold values that are smaller than or equal to the increased number are then incremented by one.
  6. Method according to claim 1, in which all threshold values are only incremented if an event occurs that necessitates the processing of the further organisational task (TF) (step 105).
  7. Method (100) according to claim 1, in which an individual organisational task (TE) is only taken into account if an event occurs that makes the processing of this organisational task necessary.
  8. Method according to claim 1, in which an organisational task is only taken into account as an organisational task to be processed as soon as a specifiable time interval has expired.
  9. Network element (NE) for a digital message transfer network with at least one processor (CPU) and a control module (SDR) for executing cooperative multitasking, in which the processor processes organisational tasks (TA to TE) according to a sequence that is determined by the control module (SDR), in which to determine the sequence the control module (SDR) assigns each organisational task (TA to TE) a counter (CNT) and a threshold value (THD), the threshold value (THD) indicating a number of processing cycles within which the organisational task does not have to be processed immediately, and the counter (CNT) counting those processing cycles within which the organisational task is not processed, in which the control module (SDR) checks at the beginning of the processing cycle whether at least one of the counters (CNT) exceeds the corresponding threshold value (THD) and, if this is the case, the processor (CPU) selects and processes one (TD) from the corresponding organisational tasks (TC, TD) according to at least one selection criterion (PRY), in which the control module (SDR) resets its counter (CNT) and at the end of the operating cycle increments those counters assigned to the other organisational tasks (TA, TB, TC, TE) by one counting step, and in which the control module (SDR) controls a fresh run-through of the operating cycle if it establishes that at least one more of the organisational tasks is to be processed.
  10. Network element according to claim 9, in which several processors linked to one another access several databases to process the organisational tasks according to cooperative multitasking, and in which one of the processors accesses the control module to determine the order for processing the organisational tasks.
EP99440232A 1998-10-08 1999-08-20 Method for implementing cooperative multitasking in a message transmission network and network element therefor Expired - Lifetime EP0992903B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19846274A DE19846274A1 (en) 1998-10-08 1998-10-08 Method for carrying out cooperative multitasking in a communications network and network element therefor
DE19846274 1998-10-08

Publications (3)

Publication Number Publication Date
EP0992903A2 EP0992903A2 (en) 2000-04-12
EP0992903A3 EP0992903A3 (en) 2004-09-01
EP0992903B1 true EP0992903B1 (en) 2005-07-20

Family

ID=7883746

Family Applications (1)

Application Number Title Priority Date Filing Date
EP99440232A Expired - Lifetime EP0992903B1 (en) 1998-10-08 1999-08-20 Method for implementing cooperative multitasking in a message transmission network and network element therefor

Country Status (5)

Country Link
US (1) US6675190B1 (en)
EP (1) EP0992903B1 (en)
AT (1) ATE300062T1 (en)
CA (1) CA2284339A1 (en)
DE (2) DE19846274A1 (en)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983350B1 (en) 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6606704B1 (en) * 1999-08-31 2003-08-12 Intel Corporation Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) * 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6661794B1 (en) * 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US6952824B1 (en) * 1999-12-30 2005-10-04 Intel Corporation Multi-threaded sequenced receive for fast network port stream of packets
US7480706B1 (en) * 1999-12-30 2009-01-20 Intel Corporation Multi-threaded round-robin receive for fast network port
MXPA03003036A (en) * 2000-10-09 2003-06-24 Nokia Corp Method and system for establishing a connection between network elements.
US6945453B1 (en) * 2001-08-13 2005-09-20 Bank One Delaware N.A. System and method for funding a collective account by use of an electronic tag
US7126952B2 (en) * 2001-09-28 2006-10-24 Intel Corporation Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method
US20030105794A1 (en) * 2001-11-09 2003-06-05 Jasinschi Radu S. Systems for sensing similarity in monitored broadcast content streams and methods of operating the same
US7178146B1 (en) * 2002-03-26 2007-02-13 Emc Corporation Pizza scheduler
US8024735B2 (en) * 2002-06-14 2011-09-20 Intel Corporation Method and apparatus for ensuring fairness and forward progress when executing multiple threads of execution
US7471688B2 (en) * 2002-06-18 2008-12-30 Intel Corporation Scheduling system for transmission of cells to ATM virtual circuits and DSL ports
US20040003019A1 (en) * 2002-06-28 2004-01-01 Sun Microsystems, Inc., A Delaware Corporation Process management for real time systems management controller
US7653906B2 (en) * 2002-10-23 2010-01-26 Intel Corporation Apparatus and method for reducing power consumption on simultaneous multi-threading systems
US7433307B2 (en) * 2002-11-05 2008-10-07 Intel Corporation Flow control in a network environment
US7657892B2 (en) * 2004-05-20 2010-02-02 Bea Systems, Inc. System and method for application server with self-tuned threading model
CN1327654C (en) * 2005-06-10 2007-07-18 浙江大学 Method for solving post-problem of dynamic key in pattern design coordinate conference
GB0519597D0 (en) * 2005-09-26 2005-11-02 Imagination Tech Ltd Scalable multi-threaded media processing architecture
CN100405360C (en) * 2006-06-23 2008-07-23 浙江大学 Adaptive display method for graphic image in cooperative design in pervasive environment
US8612862B2 (en) * 2008-06-27 2013-12-17 Microsoft Corporation Integrated client for access to remote resources
JP5324934B2 (en) * 2009-01-16 2013-10-23 株式会社ソニー・コンピュータエンタテインメント Information processing apparatus and information processing method
EP2323035B1 (en) * 2009-11-16 2019-04-17 Red Bend Software Scheduling system
US9547528B1 (en) 2010-03-29 2017-01-17 EMC IP Holding Company LLC Pizza scheduler
KR101690232B1 (en) * 2010-05-28 2016-12-27 엘지전자 주식회사 Electronic Device And Method Of Controlling The Same
US9645848B2 (en) 2013-05-20 2017-05-09 International Business Machines Corporation Scheduling homogeneous and heterogeneous workloads with runtime elasticity in a parallel processing environment
JP6384218B2 (en) * 2014-09-10 2018-09-05 日本電気株式会社 Information processing apparatus, information processing method, and program
US10394606B2 (en) 2014-09-30 2019-08-27 Hewlett Packard Enterprise Development Lp Dynamic weight accumulation for fair allocation of resources in a scheduler hierarchy
US10534542B2 (en) 2014-09-30 2020-01-14 Hewlett Packard Enterprise Development Lp Dynamic core allocation for consistent performance in a non-preemptive scheduling environment
US10545791B2 (en) 2014-09-30 2020-01-28 Hewlett Packard Enterprise Development Lp Methods to apply IOPS and MBPS limits independently using cross charging and global cost synchronization
US9483187B2 (en) * 2014-09-30 2016-11-01 Nimble Storage, Inc. Quality of service implementation in a networked storage system with hierarchical schedulers
US9600337B2 (en) 2014-09-30 2017-03-21 Nimble Storage, Inc. Congestion avoidance in network storage device using dynamic weights
US10387051B2 (en) 2017-08-24 2019-08-20 Hewlett Packard Enterprise Development Lp Acquisition of IOPS and MBPS limits independently at a scheduler in a scheduler hierarchy
US11243777B2 (en) * 2018-05-18 2022-02-08 Nuxeo Corporation Process stream replication for content management system synchronization
JP2020080119A (en) * 2018-11-14 2020-05-28 日本電信電話株式会社 Processing request management device, processing request management method, and program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442730A (en) * 1993-10-08 1995-08-15 International Business Machines Corporation Adaptive job scheduling using neural network priority functions
US5437032A (en) * 1993-11-04 1995-07-25 International Business Machines Corporation Task scheduler for a miltiprocessor system
US5487170A (en) * 1993-12-16 1996-01-23 International Business Machines Corporation Data processing system having dynamic priority task scheduling capabilities
DE19530483A1 (en) * 1995-08-18 1997-02-20 Siemens Ag Device and method for real-time processing of a plurality of tasks

Also Published As

Publication number Publication date
DE59912293D1 (en) 2005-08-25
EP0992903A3 (en) 2004-09-01
EP0992903A2 (en) 2000-04-12
CA2284339A1 (en) 2000-04-08
ATE300062T1 (en) 2005-08-15
DE19846274A1 (en) 2000-04-20
US6675190B1 (en) 2004-01-06

Similar Documents

Publication Publication Date Title
EP0992903B1 (en) Method for implementing cooperative multitasking in a message transmission network and network element therefor
DE69030340T2 (en) Broker for the selection of computer network servers
DE69514444T2 (en) Procedure for scheduling sequential tasks with time constraints
DE3781577T2 (en) MANAGEMENT OF THE SIZE AND NUMBER OF MEMORY SEGMENTS ASSIGNED TO THE PROCESSES IN A CONFIGURATION FOR MULTIPLE PROCESSING.
DE60220287T2 (en) SYSTEM AND METHOD FOR MONITORING SOFTWARE SERVICE SOFTWARE APPLICATIONS
DE69205690T2 (en) METHOD AND SYSTEM FOR PRODUCING AND RECEIVING SEVERAL DOCUMENT VERSIONS IN A DATA PROCESSING SYSTEM LIBRARY.
DE69523066T2 (en) SYSTEMS AND METHODS FOR WORK ASSIGNMENT AND ALLOCATION FROM A PROVIDER TO REMOTE MOBILE NODES
DE69515748T2 (en) Open computer system with multiple servers
DE4218025C2 (en) Apparatus and method for automatically associating data storage devices in a computer system
DE69513877T2 (en) Process and device for controlling and planning processing machines
DE68924525T2 (en) Community object status indicator.
DE68924954T2 (en) Transmission system for distributed databases.
DE69428972T2 (en) System and method for owner management of a shared synchronization mechanism
EP1831786B1 (en) Method for distributing computing time in a computer system
DE69410304T2 (en) Data processing system for managing objects
DE69829759T2 (en) DISTRIBUTION OF NEWS TO TAX ASSETS
DE10255125A1 (en) Decentralized Automatic Testing of Graphical User Interfaces (GUI) of Software
DE69719324T2 (en) REAL-TIME ENERGY PRICE CONTROL SYSTEM AND METHODS MATCHED THEREFOR
WO2007020144A2 (en) Method for allocating resources to tasks by means of network flow algorithms
EP0463207B1 (en) Program-controlled communications system
DE69112378T2 (en) PREDICTION CONTROL SYSTEM FOR A SET OF WORKPLACES.
DE69830421T2 (en) PREPARING EVENTS TO COMPILED A REPORT
DE69224710T2 (en) Device management system in a computer system
DE2453526A1 (en) PROCEDURE FOR REGULATING THE LOADING OF AN ELECTRONIC DATA PROCESSING SYSTEM
DE10231187A1 (en) Methods of preparing a manufacturing plan and methods of manufacturing semiconductor products using this manufacturing plan

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

RIC1 Information provided on ipc code assigned before grant

Ipc: 7G 06F 9/46 A

17P Request for examination filed

Effective date: 20040722

17Q First examination report despatched

Effective date: 20040909

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

RIN1 Information on inventor provided before grant (corrected)

Inventor name: KLAMT, REIMUND

Inventor name: KOCHER, HARTMUT DR.

Inventor name: SCHABERNACK, JOERG

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

AKX Designation fees paid

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20050720

Ref country code: IE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20050720

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20050720

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)

Effective date: 20050720

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20050820

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20050820

Ref country code: AT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20050820

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: GERMAN

REF Corresponds to:

Ref document number: 59912293

Country of ref document: DE

Date of ref document: 20050825

Kind code of ref document: P

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20050831

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20050831

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20050831

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20050831

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051020

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051020

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051020

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051031

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051221

NLV1 Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act
REG Reference to a national code

Ref country code: IE

Ref legal event code: FD4D

ET Fr: translation filed
REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20060421

BERE Be: lapsed

Owner name: ALCATEL

Effective date: 20050831

REG Reference to a national code

Ref country code: GB

Ref legal event code: 732E

Free format text: REGISTERED BETWEEN 20131114 AND 20131120

REG Reference to a national code

Ref country code: FR

Ref legal event code: GC

Effective date: 20140717

REG Reference to a national code

Ref country code: FR

Ref legal event code: RG

Effective date: 20141016

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 17

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20150821

Year of fee payment: 17

Ref country code: GB

Payment date: 20150819

Year of fee payment: 17

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20150820

Year of fee payment: 17

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: IT

Payment date: 20150824

Year of fee payment: 17

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 59912293

Country of ref document: DE

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20160820

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20170428

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20160831

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170301

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20160820

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20160820