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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 37
- 230000005540 biological transmission Effects 0.000 title description 3
- 238000012545 processing Methods 0.000 claims abstract description 31
- 238000004891 communication Methods 0.000 abstract description 4
- 241001522296 Erithacus rubecula Species 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 238000003754 machining Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling 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
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
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.
- 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
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
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
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
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
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
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
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)
- 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).
- 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).
- 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).
- 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).
- 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.
- 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).
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1998
- 1998-10-08 DE DE19846274A patent/DE19846274A1/en not_active Ceased
-
1999
- 1999-08-20 EP EP99440232A patent/EP0992903B1/en not_active Expired - Lifetime
- 1999-08-20 DE DE59912293T patent/DE59912293D1/en not_active Expired - Lifetime
- 1999-08-20 AT AT99440232T patent/ATE300062T1/en not_active IP Right Cessation
- 1999-10-01 CA CA002284339A patent/CA2284339A1/en not_active Abandoned
- 1999-10-07 US US09/414,311 patent/US6675190B1/en not_active Expired - Lifetime
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 |