DE102008004658A1 - Method for the central control of processes in expandable medical platforms - Google Patents

Method for the central control of processes in expandable medical platforms Download PDF

Info

Publication number
DE102008004658A1
DE102008004658A1 DE102008004658A DE102008004658A DE102008004658A1 DE 102008004658 A1 DE102008004658 A1 DE 102008004658A1 DE 102008004658 A DE102008004658 A DE 102008004658A DE 102008004658 A DE102008004658 A DE 102008004658A DE 102008004658 A1 DE102008004658 A1 DE 102008004658A1
Authority
DE
Germany
Prior art keywords
order
resources
processes
queue
platform
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.)
Granted
Application number
DE102008004658A
Other languages
German (de)
Other versions
DE102008004658B4 (en
Inventor
Detlef Becker
Karlheinz Dorn
Sten Dr. Löcher
Artur Pusztai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Healthineers Ag De
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE102008004658A priority Critical patent/DE102008004658B4/en
Priority to US12/318,807 priority patent/US8117310B2/en
Publication of DE102008004658A1 publication Critical patent/DE102008004658A1/en
Application granted granted Critical
Publication of DE102008004658B4 publication Critical patent/DE102008004658B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations

Abstract

Das Verfahren verwendet eine zentralen Instanz (5) zum Empfangen aller Aufträge (1) innerhalb der Plattform. Eine Meta-Schnittstelle (30) regelt die Zuordnung von Ressourcen (20) zu Aufträgen (1). Ferner wird jeder Auftrag (1) durch mindestens einen Prozessbearbeiter (40) ausgeführt. Dadurch wird die dead-lock freie Verwendung von Ressourcen (20) innerhlab der Plattform sichergestellt. Darüber hinaus erlaubt die Erfindung ein kontrolliertes Anhalten aktiver Prozessbearbeiter (40) und damit ein Unterbrechen laufender Prozesse (4).The method uses a central entity (5) to receive all orders (1) within the platform. A meta-interface (30) controls the allocation of resources (20) to jobs (1). Furthermore, each job (1) is executed by at least one process handler (40). This ensures the dead-lock free use of resources (20) within the platform. In addition, the invention allows a controlled halt active process worker (40) and thus interrupting ongoing processes (4).

Description

Gegenstand der ErfindungSubject of the invention

Die Erfindung bezieht sich auf ein Verfahren zur zentralen Kontrolle von Ressourcen in erweiterbaren medizinischen Plattformen.The The invention relates to a method for central control resources in extensible medical platforms.

Medizinische erweiterbare Plattformen umfassen in der Regel komplexe Hardware zur Untersuchung von Patienten, zentrale und verteilte Festplatten zur Speicherung von großen Datenmengen. Erweiterbare medizinische Plattformen können sowohl der Verwaltung von medizinischen Patientendaten dienen, wie auch der Organisation von Klinikabläufen, der Therapieplanung, der Klinikverwaltung und der gleichen, wie sie dem Fachmann bekannt sind. Medizinische erweiterbare Plattformen umfassen ferner eine Vielzahl von Knoten bzw. Clients, die auf gespeicherte Daten zugreifen können, Prozesse anstoßen können, und evtl. Zugriff auf komplexe Hardware einer medizinischen Modalität haben.medical Expandable platforms typically include complex hardware for examining patients, centralized and distributed hard drives for storing large Amounts of data. Extensible medical platforms can both the Management of medical patient data, as well as the Organization of hospital procedures, the therapy planning, the clinic administration and the same as they are known in the art. Medical extensible platforms further comprise a plurality of nodes or clients stored on Can access data, Trigger processes can, and possibly have access to complex hardware of a medical modality.

Moderne medizinische Modalitäten, wie z. B. die Magnetresonanz-Tomographie (MR-Tomographie) ist gekennzeichnet durch die Verwendung komplexer Hardware-Geräte, z. B. eines MR-Scanners sowie zahlreiche aufwendige Prozesse, die z. B. von der Erfassung der Rohdaten über die Rekonstruktion von Bildern des Inneren des Körpers eines Patienten bis hin zu Methoden zur Diagnose-Erstellung bzw. Diagnose-Unterstützung reichen.modern medical modalities, such as As the magnetic resonance tomography (MR tomography) is characterized by using complex hardware devices, e.g. B. an MR scanner and numerous complex processes that z. B. from the acquisition of raw data on the Reconstruction of images of the inside of a patient's body all the way up to methods for diagnostic preparation or diagnostic support range.

In einer modernen medizinischen Modalität verfügt der Scanner über ein Echtzeit-Betriebssystem. Ein solches Echtzeit-Betriebssystem stellt sicher, dass zu jedem Zeitpunkt der Zustand des Scanners determiniert ist. Das bedeutet, das Verhalten der Prozesse in einem Echtzeitbetriebssystem, so ge nannter Echtzeitprozesse, ist zu jedem Zeitpunkt bekannt. Neben Echtzeitprozessen, wie z. B. die Erfassung von Rohdaten bei der Untersuchung eines Patienten, gibt es eine Vielzahl von Prozessen im Zusammenhang mit einer medizinischen Modalität, die nicht durch ein Echtzeitbetriebssystem gesteuert werden und gewissermaßen im Hintergrund laufen. Das bedeutet, sie werden im Idealfall vom Benutzer nicht bemerkt. Zu diesen Prozessen gehört die Rekonstruktion von Bildern aus einem 3D-Datensatz oder beispielsweise die Berechnung von Mikrokalzifikationen der weiblichen Brust zur Diagnose-Unterstützung bzw. der Therapieplanung.In The scanner has a modern medical modality Real-time operating system. Such a real-time operating system ensures that too at any time the condition of the scanner is determined. That means, the behavior of the processes in a real-time operating system, so-called Real-time processes are known at all times. In addition to real-time processes, such as B. the collection of raw data in the investigation of a Patients, there are a variety of processes related to a medical modality, which can not be controlled by a real-time operating system and so to speak running in the background. That means they will ideally by the User did not notice. These processes include the reconstruction of images from a 3D record or For example, the calculation of micro-calcifications of the female Breast for diagnosis support or therapy planning.

Im Gegensatz zu den Echtzeitprozessen, die etwa auf einem Scanner ablaufen, sind Prozesse bisher dadurch gekennzeichnet, dass das Verhalten der Prozesse nicht deterministisch ist. Das bedeutet in einer erweiterbaren medizinischen Plattform laufen eine Vielzahl von Prozessen gleichzeitig ab. Es kann deshalb vorkommen, dass z. B. das Schreiben von Rohdaten auf die Festplatte eines Scanners erheblich verlangsamt wird oder schlimmstenfalls gar nicht mehr möglich ist, wenn zu viele Prozesse parallel laufen, die gleichzeitig auf die Festplatte des Scanners zugreifen. Das bedeutet eine hohe Zahl von I/O-Operationen auf die Festplatte eines Scanners kann die Performance des Scanners, z. B. beim Scannen eines Patienten einschränken.in the Unlike the real-time processes that run on a scanner, processes are characterized by the fact that the behavior of the processes is not deterministic. That means in an expandable medical platform run a variety of processes simultaneously from. It may therefore happen that z. B. the writing of raw data on the hard disk of a scanner is slowed down considerably or in the worst case, it is no longer possible if too many processes parallel, accessing the hard disk of the scanner at the same time. This means a high number of I / O operations on the hard disk a scanner, the performance of the scanner, z. When scanning of a patient.

Durch eine verlangsamte Response des Scanners wird wertvolle Zeit verloren, z. B. bei der Untersuchung eines Schlaganfall-Patienten. Durch das geringe Zeitfenster, das zur erfolgreichen Therapie eines solchen Patienten bleibt, ist es erforderlich, für Prozesse innerhalb der medizinischen Plattform ein deterministisches Verhalten zu haben, um auch im Falle eines medizinischen Notfalls eine gesicherte Qualität der innerhalb der erweiterbaren medizinischen Plattform verfügbaren Dienste zu gewährleisten.By a slowed response of the scanner is lost valuable time z. B. in the study of a stroke patient. Due to the small time window, which remains the successful therapy of such a patient is it required for Processes within the medical platform are deterministic To have behavior even in case of a medical emergency a guaranteed quality the services available within the extensible medical platform to ensure.

Mögliche Lösungen dieses Problems sind separate Notfallsysteme, etwa zur Diagnose-Erstellung, die ausschließlich für den Notfall verwendet werden. Ein solches Vorgehen ist teuer, da separate Notfallsysteme in der Regel unbenutzt vorrätig gehalten werden müssen. Die hohen Kosten eines zusätzlichen, separaten Notfallsystems sind also nicht gerechtfertigt.Possible solutions this Problems are separate emergency systems, such as for the creation of a diagnosis, the exclusively for the emergency be used. Such a procedure is expensive because separate emergency systems usually unused in stock must be kept. The high cost of an additional, separate emergency system are therefore not justified.

Ferner wäre es möglich, keine der Prozesse auf Clients zuzulassen, die im Falle eines Notfalls benötigt werden. Ein solches Vorgehen ist ebenfalls teuer, da weitere Clients notwendig werden, die ausschließlich die innerhalb der erweiterbaren medizinischen Plattform anfallenden Prozesse erledigen. Darüber hinaus macht es die zunehmende Vernetzung aller Clients bzw. Knoten innerhalb einer erweiterbaren medizinischen Plattform (kurz Plattform) erforderlich, dass von allen Clients aus Daten empfangen und gesendet werden können. Für einen Client der Plattform, auf dem keine Prozesse zulässig sind, wäre insbesondere kein Netzwerkzugriff auf diesen Client oder von diesem Client auf andere möglich.Further would it be possible, None of the processes allowed on clients in case of an emergency needed become. Such a procedure is also expensive because more clients necessary, exclusively those arising within the extensible medical platform Do processes. About that It also makes the increasing networking of all clients or nodes within an expandable medical platform (short platform) requires that all clients receive and send data can be. For one Client of the platform on which no processes are allowed would be particular no network access to this client or from this client others possible.

Um das vorstehend beschriebene Problem zu lösen, wäre es weiterhin denkbar, Spezialbetriebssysteme für Clients einzusetzen, auf denen Prozesse laufen. Dabei müssten die Spezialbetriebsysteme eine gleich bleibende Quality of Service gewährleisten. Derlei Spezialbetriebsysteme sind dem Fachmann bekannt. Allerdings ist der Programmieraufwand für solche Quality of Service-Systeme hoch und das bedeutet einen zusätzlich Wartungsaufwand, Trainingszeiten für die Programmierer, sowie zusätzliche Programmübersetzungsläufe für Zielsysteme, also Clients, die unter dem Spezialbetriebssystem laufen. Ferner erhöht sich der Testaufwand für die Clients, auf denen Prozesse unter dem Spezialbetriebsystem laufen.In order to solve the problem described above, it would further be conceivable to use special operating systems for clients on which processes are running. The special operating systems would have to guarantee a consistent quality of service. Such special operating systems are known to the person skilled in the art. However, the programming effort for such quality of service systems is high and this means additional maintenance, training times for the programmers, as well as additional program translation runs for target systems, ie clients running under the special operating system. Furthermore, the test effort for the clients, on which processes under the special Be running system.

Weiter wäre es denkbar, Prozesse an ausgewählte dezidierte CPUs zu binden. Dadurch ließe sich zwar die Verfügbarkeit der CPU-Ressource steuern, allerdings ergibt sich daraus noch kein Einfluss auf stattfindende I/O-Aktivitäten, die von Prozessen angestoßen wurden. Das heißt, das gewünschte deterministische Verhalten für ein Notfallsystem wäre immer noch nicht gewährleistet.Further would it be conceivable, processes to selected bind committed CPUs. This could indeed be the availability control the CPU resource, but this does not give any Influence on occurring I / O activities triggered by processes. This means, the wished deterministic behavior for an emergency system would be still not guaranteed.

Ferner wäre es möglich, die Prioritäten für Prozesse herabzusetzen. Solche Verfahren werden in der Regel durch Betriebssysteme zur Verfügung gestellt und sind dem Fachmann bekannt. Möglicherweise beeinträchtigt ein Herabsetzten der Prioritäten für Prozesse das Scheduling-Verhalten des gesamten vom Betriebssystem gesteuerten Client bzw. der gesamten Plattform. Solch ein Ansatz setzt allerdings voraus, dass jeder einzelne Prozess als Prozess auf Betriebssystemebene realisiert ist. Bei der hohen Zahl von Prozessen, die innerhalb einer Plattform laufen, ist dieser Ansatz wenig effektiv. Darüber hinaus bedeutet ein solches Ändern der Betriebssystem-Prioritäten für Prozesse noch kein deterministisches Verhalten in Notfallsituationen.Further would it be possible, the priorities for processes decrease. Such procedures are usually performed by operating systems made available and are known in the art. possibly impaired a lowering of the priorities for processes the scheduling behavior of the entire OS controlled Client or the entire platform. Such an approach, however, requires that every single process as a process at the operating system level is realized. At the high number of processes within run a platform, this approach is not very effective. Furthermore means such a change the operating system priorities for processes no deterministic behavior in emergency situations yet.

Aufgabe der Erfindung ist es, die zuverlässige Verfügbarkeit von Ressourcen der Plattform in Notfallsitutationen zu gewährleisten. Darüber hinaus ist es Aufgabe der Erfindung, auch im regulären Betrieb der Plattform ein deterministisches Verhalten der Prozesse unter Einhaltung der erforderlichen Quality of Service sicherzustellen.task The invention is the reliable Availability to ensure resources of the platform in emergency situations. About that It is also an object of the invention, even in regular operation the platform a deterministic behavior of the processes under Ensure compliance with the required quality of service.

Diese Aufgabe wird durch ein Verfahren, eine Vorrichtung und ein Computerprogrammprodukt gemäß den beiliegenden Hauptansprüchen gelöst.These The object is achieved by a method, a device and a computer program product according to the attached main claims solved.

Nachstehend wird die Lösung der Aufgabe gemäß des Verfahrens beschrieben. Hierbei erwähnte Merkmale, alternative Ausführungsformen und/oder Vorteile sind ebenso auch auf die anderen beanspruchten Gegenstände zu übertragen und umgekehrt. Mit anderen Worten können auch die gegenständlichen Ansprüche mit den Merkmalen, die in Zusammenhang mit dem Verfahren beschrieben oder beansprucht sind, weitergebildet sein. Die entsprechenden funktionalen Merkmale des Verfahrens werden dabei durch entsprechende gegenständliche Module, insbesondere durch Hardware-Module und/oder Softwaremodule des Systems ausgebildet.below becomes the solution the task according to the method described. Mentioned here Features, alternative embodiments and / or Advantages are also to be transferred to the other claimed objects and vice versa. In other words, the figurative can claims with the features described in the context of the procedure or claimed, be further developed. The corresponding functional Features of the method are thereby by appropriate representational modules, in particular by hardware modules and / or software modules of the system educated.

Die Aufgabe wird insbesondere gelöst durch ein Computer implementiertes Verfahren zum Steuern von Zuweisungen von Ressourcen an Prozesse in erweiterbaren medizinischen Plattformen mit einer zentralen Instanz und einer Meta-Schnittstelle zu Ressourcen.The Task is solved in particular computer implemented method for controlling assignments resources to processes in extensible medical platforms with a central instance and a meta-interface to resources.

Ein Auftragstyp im Sinne dieser Erfindung ist eine konzeptionelle Entität, mit anderen Worten eine „Formularvorlage", die beschreibt, welche Informationen ein Client, der einen Auftrag absendet, angeben muss, um einen Auftrag hinreichend zu spezifizieren. Zum Beispiel gibt ein Druck-Auftragstyp an, dass der Client einen Druckernamen, einen Dokumentennamen und einen Druckmodus angeben muss.One Job type in the sense of this invention is a conceptual entity with others Words a "form template" that describes what information a client sending an order must specify to specify an order sufficiently. For example there A print job type indicates that the client has a printer name, a Document name and a print mode must specify.

Ein Auftrag im Sinne der vorliegenden Erfindung ist eine konkrete (dingliche) Instanz eines Auftragstyps. Das heißt eine konkrete Anweisung, was genau zu tun ist. Im Falle eines Druckauftrags zum Beispiel: Druckername = "MyPrinter", Dokumentenname = "Fischer.dcm" und Druckmodus = "600 dpi".One Order within the meaning of the present invention is a concrete (real) Instance of an order type. That means a concrete instruction, what exactly to do. In the case of a print job, for example: Printer name = "MyPrinter", document name = "Fischer.dcm" and print mode = "600 dpi".

Ein Prozessbearbeiter oder ein Auftragsbearbeiter im Sinne der vorliegenden Erfindung ist die Implementierung eines Services, der einen Auftrag ausführen kann. Die Begriffe Auftragsbearbeiter und Prozessbearbeiter werden im Rahmen dieser Beschreibung synonym verwendet.One Process worker or an order processor within the meaning of the present Invention is the implementation of a service that can execute a job. The terms order processor and process editor are used in the Used synonymously within this description.

Der Prozessbearbeiter wird in einem Prozess zur Ausführung gebracht. Das heißt der Prozess stellt einen Ablaufcontainer für den Prozessbearbeiter dar. Der Prozessbearbeiter kann immer nur genau einen Auftrag zu einer Zeit ausführen. Der Prozessbearbeiter kann so umgesetzt werden, dass er auch Aufträge unterschiedlicher Auftragstypen ausführen kann; aber immer nur streng sequentiell, einen Auftragstyp nach dem anderen. Darüber hinaus verfügt der Prozessbearbeiter über eine Vielzahl von Schnittstellen, welche die zentrale Instanz benötigt, um ein Abarbeiten der Aufträge durch Prozessbearbeiter anzuhalten, fortzusetzen oder abzubrechen. Der Prozessbear beiter kennt mindestens einen Auftragstyp, kann aber auch mehrere Auftragstypen verstehen.Of the Process worker is executed in one process. That means the process poses a drain container for the process worker. The process engineer can only ever Do exactly one job at a time. The process worker can be implemented so that it also orders different order types can perform; but always strictly sequential, one order after the other. About that In addition, the Process worker over a variety of interfaces that the central instance needs to a processing of the orders Stop, resume or abort by process operators. The process worker knows at least one order type but can also understand several order types.

In einem Prozess können ein oder mehrere Prozessbearbeiter zur Ausführung gebracht werden. Dabei ist die Zahl der Prozessbearbeiter innerhalb eines Prozesses konfigurierbar. Mit anderen Worten, ein Prozess im Sinne der Erfindung ist eine Instanzierung eines oder mehrerer Prozessbearbeiter.In a process can one or more process handlers are brought to execution. there is the number of process handlers within a process configurable. In other words, a process in the sense of the invention is one Instancing one or more process workers.

Prozesse bzw. Hintergrundprozesse im Sinne dieser Erfindung sind solche computer-bezogenen Aktivitäten, die in der Regel unbemerkt vom Benutzer ablaufen. Darüber hinaus handelt es sich bei den Prozessen um solche Prozesse, die nicht durch ein Echtzeitbetriebssystem gesteuert sind, wie etwa Prozesse auf einem Scanner, was bereits eingangs erwähnt wurde.processes or background processes in the sense of this invention are those computer-related Activities, which usually run unnoticed by the user. Furthermore the processes are those processes that are not controlled by a real-time operating system, such as processes on a scanner, which was already mentioned at the beginning.

Die Prozesse können auf Betriebssystem-Ebene laufen und die Funktionsweise eines Computersystems steuern. Ein Client im Zusammenhang mit der vorliegenden Erfindung ist z. B. ein solches Computersystem.The Processes can run at the operating system level and the functioning of a computer system Taxes. A client in the context of the present invention is z. B. such a computer system.

Vorzugsweise ist unter einem Prozess im Sinne dieser Erfindung eine Instanz einer ausführbaren Einheit, ein Executable, das heißt ausführbarer Programmcode gemeint. Der Prozessbearbeiter ist solch ein ausführbarer Programmcode, der als Instanzierung eines Prozessbearbeiters in einem Prozess zur Ausführung kommt.Preferably is an instance of a process under this invention executable Unit, an executable, that is to say executable program code. The process editor is such an executable program code as Instancing a process worker in a process comes to execution.

Die Prozesse laufen innerhalb der medizinischen Plattform und steuern die Funktionsweise der medizinischen Plattform.The Processes run within the medical platform and control the functioning of the medical platform.

Ein Prozess kann z. B. die Anzeige von MR-Bildern sein. Weitere Beispiele für Prozesse im Sinne der Erfindung können das Drucken von Bilddaten, sowie das Laden von Bilddaten aus dem Plattenspeicher der Plattform sein.One Process can z. B. be the display of MR images. Further examples for processes in the sense of the invention the printing of image data, as well as the loading of image data from the Be disk storage of the platform.

Prozesse werden durch Aufträge für Prozesse angestoßen, die in der Regel von einem Benutzer eines Clients ausgelöst werden. Prozesse sind ferner eine Instanzierung eines Prozessbearbeiters für einen Auftragstyp, wie bereits erwähnt.processes be through orders for processes initiated, which are usually triggered by a user of a client. Processes are also an instantiation of a process editor for one Order type, as already mentioned.

Ein Beispiel für einen Auftrag ist „Zeige die MR-Daten des Patienten Fischer". Aufträge können von ganz unterschiedlichen Typen sein und sind jeweils durch einen Auftragstyp gekennzeichnet. So ist zum Beispiel „Berechne die Mikrokalzifikation der Patientin Müller" ein weiterer Auftrag, dessen Auftragstyp sich vom vorangehenden Beispiel unterscheidet.One example for an order is "Show The MR data of the patient Fischer. "Orders can vary greatly Types and are each characterized by an order type. For example, "Calculate the microcalcification of the patient Mueller "another order whose order type different from the previous example.

Ein Auftrag für einen Prozess wird von der zentralen Instanz empfangen und ist ferner durch einen Auftragstyp gekennzeichnet.One Order for a process is received from the central entity and is further indicated by an order type.

Das bedeutet, die zentrale Instanz muss nicht mehr als den Auftragstyp eines eingehenden Auftrags kennen. Abhängig von dem Auftragstyp des Auftrags wird dieser durch die zentrale Instanz einem Warteschlangenzuweiser zugeordnet.The means the central instance does not have more than the order type an incoming order. Depending on the order type of the order this becomes a queue allocator through the central instance assigned.

Der Warteschlangenzuweiser analysiert den Auftrag und ermittelt für den Auftrag eine Vielzahl von Prozessressourcen aus allen im System verfügbaren Ressourcen, die zur Ausführung des Auftrags notwendig sind. Ferner ermittelt der Warteschlangenzuweiser die Warteschlange in welcher der Auftrag abzulegen ist.Of the Queue allocator analyzes the order and determines for the order a variety of process resources from all resources available in the system, to the execution of the order are necessary. The queue allocator also determines the queue in which the order is to be placed.

Daraufhin fragt die zentrale Instanz die Prozessressourcen wie von dem Warteschlangenzuweiser ermittelt an. Diese Anfrage durch die zentrale Instanz erfolgt bei einer Vielzahl von Meta-Schnittstellen, welche jeweils Ressourcen eines Typs verwalten.thereupon The central instance asks the process resources as from the queue allocator determined. This request by the central authority takes place at a variety of meta-interfaces, each containing resources Manage a type.

Falls es der zentralen Instanz gelingt, alle Prozessressourcen für den Prozess zu belegen, kommt der Prozess zur Ausführung. Nach Abschluss des Prozesses werden die Prozessressourcen freigegeben und die Meta-Schnittstellen über das Freiwerden der Prozessressourcen informiert. Dabei ist ein deterministisches Verhalten der Prozesse innerhalb der Plattform gewährleistet.If the central instance manages all process resources for the process to prove, the process comes to execution. After completing the process The process resources are released and the meta-interfaces are released via the Freeing the process resources informed. It is a deterministic one Ensuring the behavior of the processes within the platform.

Unter Ressourcen sollen im Rahmen dieser Beschreibung verstanden werden: Geräte, Gerätekomponenten und Betriebsmittel. Ressourcen können zum Beispiel sein: ein Drucker, eine dezidierte Graphik-Hardware zur Rekonstruktion von Bilddaten einer modernen medizinischen Modalität, Zugriff auf das Netzwerk oder Zugriffe auf Plattenspeicher. Weitere Ressourcen innerhalb der Plattform sind für den Fachmann offensichtlich.Under Resources should be understood in the context of this description: Equipment, device components and resources. Resources can for example: a printer, a dedicated graphics hardware for the reconstruction of image data of a modern medical modality, access on the network or accesses to disk storage. Other resources within the platform are for the obvious.

Die zentrale Instanz im Sinne der Erfindung koordiniert die Abarbeitung der eingehenden Aufträge für Prozesse und stellt die dead-lock freie Ausführung der Aufträge unter Verwendung der innerhalb der Plattform verfügbaren Ressourcen sicher. Die Ausführung der Aufträge erfolgt dabei durch Prozesse. Die Prozesse sind die Instanzierung des jeweiligen Prozessbearbeiters, wie bereits erwähnt.The central instance in the context of the invention coordinates the processing incoming orders for processes and sets the dead-lock free execution of orders Use the resources available within the platform safely. The execution of assignments takes place through processes. The processes are the instantiation of the respective process editor, as already mentioned.

Im Rahmen dieser Erfindung wird ein explizites Protokoll zur Verwaltung von Prozessen vorgeschlagen. Die zentrale Instanz beeinflusst die Abarbeitung von Aufträgen mittels Kontrollnachrichten an die Prozessbearbeiter, d. h. sie hält die Prozessbearbeiter an oder lässt sie mit der Abarbeitung weiter fortfahren. Das heißt, die zentrale Instanz hält nicht unbedingt einen ganzen Prozess an, in dem ja mehrere unterschiedliche Prozessbearbeiter laufen können. Insbesondere erfolgt die Verwaltung von Prozessen gemäß der vorliegenden Erfindung über die zentrale Instanz. Damit ist die Gesamtheit aller innerhalb der Plattform laufenden Prozesse bekannt.in the This invention provides an explicit protocol for administration proposed by processes. The central instance influences the Processing of orders by means of control messages to the process handlers, d. H. she Hold the Process editor or leaves they continue with the processing. That is, the central instance holds not necessarily a whole process, in which several different ones Process workers can run. In particular, the management of processes according to the present is done Invention over the central instance. This is the totality of all within the Platform known processes.

Beide Eigenschaften der Erfindung, also das Protokoll zum Anhalten von Prozessen sowie die zentrale Instanz zur Steuerung der Prozesse erlauben es, eine Vielzahl von in der Plattform vorhandenen Prozessen gewissermaßen „auf Zuruf" anzuhalten, sofern sich eine Notfallsituation einstellt.Both Features of the invention, so the protocol for stopping Processes and the central instance for controlling the processes allow a variety of existing processes in the platform in a sense "to stop", provided an emergency situation arises.

Die Steuerung von Prozessen in einer erweiterbaren medizinischen Plattform übernimmt also die zentrale Instanz. Die zentrale Instanz registriert alle Aufträge für Prozesse, eine Vielzahl von Warteschlangen und Warteschlangenzuweiser, die durch die zentrale Instanz verwaltet werden. Dabei können die Warteschlangen – abhängig vom Auftragstyp – unterschiedlich sein.The Control of processes in an expandable medical platform takes over So the central instance. The central instance registers all orders for processes, a plurality of queues and queue allocators through the managed central instance. The queues can depend on the Order type - different be.

Ferner umfasst das erfindungsgemäße Verfahren eine Meta-Schnittstelle zur Verwaltung aller in der Plattform verfügbaren Ressourcen. Das erfindungsgemäße Verfahren stellt ein deterministisches Verhalten für alle Prozesse innerhalb der Plattform sicher. Die Erfindung erlaubt es, einen oder alle Prozess/e innerhalb des Systems anzuhalten, und so ausreichend Ressourcen für die sofortige Reaktion auf eine Notfallsituation zu gewährleisten. Eine solche Notfallsituation kann z. B. die Untersuchung eines Schlaganfall- oder Trauma-Patienten ergeben.Furthermore, the method according to the invention comprises a meta-interface for managing all resources available in the platform. The inventive method provides a deterministic Behavior safe for all processes within the platform. The invention allows one or all processes within the system to be paused to provide sufficient resources for immediate response to an emergency situation. Such an emergency situation can z. B. the study of a stroke or trauma patients.

Mit dem erfindungsgemäßen Verfahren ist es möglich gleichzeitig mehrere Aufträge für Prozesse an der zentralen Instanz zu empfangen. Ebenso kann die zentrale Instanz mehrere Prozessbearbeiter parallel ausführen, vorausgesetzt, die Prozessressourcen für die mehreren Prozessbearbeiter konnten erfolgreich den mehreren Prozessbearbeitern zugewiesen werden.With the method according to the invention Is it possible several orders simultaneously for processes to receive the central instance. Likewise, the central instance run multiple process workers in parallel, assuming the process resources for the Several process workers were able to successfully handle the multiple process workers be assigned to.

Das System kann mehrere Warteschlangen für Aufträge unterschiedlichen Typs umfassen. Vorzugsweise wird jedem Auftragstyp eine eigene Warteschlange zugewiesen.The System can include multiple queues for jobs of different types. Preferably, each order type is assigned its own queue.

Warteschlangen im Sinne der Erfindung können als Hardwaremodul und oder Softwaremodul realisiert sein.queues in the sense of the invention be implemented as a hardware module and or software module.

Es ist vorteilhaft für unterschiedliche Auftragstypen unterschiedliche Warteschlangen zu verwenden. Bei gesonderten Warteschlangen für verschiedene Auftragstypen können einzelne Warteschlangen bedarfsgerecht und Ressourcen-schonend implementiert werden.It is beneficial for Different order types allow different queues use. For separate queues for different order types can individual queues are implemented as needed and resource-conserving become.

Selbstverständlich ist es nach einer weiteren Ausführungsform der Erfindung möglich, eine einzige Warteschlange für alle Auftragstypen zu verwenden. Allerdings wäre die Verwaltung einer solchen einzigen Warteschlange deutlich komplizierter in der Verwaltung. Außerdem wäre dann die Modularität des Verfahrens reduziert.Of course it is it according to another embodiment the invention possible a single queue for to use all order types. However, the administration would be such single queue significantly more complicated in administration. Furthermore would be then the modularity reduced the process.

Die Ausführung der Aufträge eines Auftragstyps wird durch mindestens einen Prozessbearbeiter ausgeführt. Der mindestens eine Prozessbearbeiter wird durch die zentrale Instanz gestartet. Welcher Prozessbearbeiter zum Einsatz kommt, ist durch den Auftragstyp des Auftrags festgelegt.The execution Of orders An order type is created by at least one process editor executed. The at least one process editor is the central instance started. Which process worker is used is through the order type of the order.

Das Verfahren erlaubt es, einen laufenden Prozessbearbeiter anzuhalten, wodurch ein deterministisches Unterbrechen der Prozesse sicher gestellt ist.The Procedure allows to stop a running process worker whereby a deterministic interruption of the processes is ensured.

So kann jeder der Prozesse innerhalb der Plattform angehalten werden, und wieder gestartet werden, so dass die weitere Bearbeitung durch den jeweiligen Prozessbearbeiter nach einer Unterbrechung möglich ist.So can any of the processes be stopped within the platform, and start again, so that further processing by the respective process worker is possible after an interruption.

Darüber hinaus kann die zentrale Instanz eine Warnung empfangen, die anzeigt, dass in Kürze ein kritischer Zustand erreicht wird. Daraufhin startet die zentrale Instanz keine weiteren Prozessbearbeiter, lässt die aktiven Prozessbearbeiter jedoch weiter arbeiten.Furthermore the central entity may receive a warning indicating that coming soon critical condition is achieved. Then the central starts Instance no further process worker leaves the active process worker but keep working.

Es ist außerdem vorgesehen, dass jeder der, innerhalb der Plattform aktiven Prozessbearbeiter angehalten werden kann und zum weiteren Bearbeiten wieder freigegeben werden kann. Dadurch werden Ressourcen z. B. für einen Notfall kontrolliert und zuverlässig frei. Das Anhalten und Freigeben erfolgt erfindungsgemäß durch die zentrale Instanz.It is also provided that each of the process processors active within the platform is paused can be and be released for further editing can. As a result, resources z. B. controlled for an emergency and reliable free. The stopping and releasing takes place according to the invention the central instance.

Außerdem kann das Unterbrechen mindestens eines Auftrags durch das Empfangen einer Benachrichtigung an der zentralen Instanz (z. B. auf ein medizinisches Notfallereignis hin) ausgelöst werden. Daraufhin wird automatisch mindestens ein Prozess angehalten, bis ausreichend Ressourcen (zur Notfallbearbeitung) verfügbar sind.In addition, can interrupting at least one order by receiving a Notification at the central instance (eg on a medical Emergency event) become. This will automatically stop at least one process until sufficient resources (for emergency processing) are available.

Darüber hinaus erlaubt es die Erfindung, neue Auftragstypen, die neue Prozesstypen anstoßen, zum System hinzuzufügen. Insbesondere erlaubt es die Erfindung, die neuen Prozesstypen zur Laufzeit hinzuzufügen. Das ist für den Anwender äußerst komfortabel, da Service-Techniker oder Drittanbieter weitere Auftragstypen bzw. neue Funktionalitäten im Zusammenhang mit neuen Auftragstypen gewissermaßen per Knopfdruck hinzufügen können.Furthermore The invention allows new order types, the new types of processes nudge, to add to the system. In particular, the invention allows the new types of processes at runtime add. This is for the user extremely comfortable, because service technicians or third-party vendors have further order types or new functionalities in the context of new order types to a certain extent per Add a button can.

Ferner wird die Bereitstellung neuer Funktionalitäten zur Plattform in Form von neuen Prozesstypen erleichtert, da ein Drittanbieter sich nicht mehr um die Verwaltung von Warteschlangen für seinen neuen Prozess kümmern muss.Further will provide new functionality to the platform in the form of facilitates new types of processes, as a third party does not more to worry about managing queues for his new process.

Aufgabe der Meta-Schnittstelle ist es dabei, die für einen Prozess benötigten Ressourcen, zu verteilen.task the meta-interface is there, the resources needed for a process, to distribute.

Wenn Ressourcen für einen Prozess verfügbar sind, werden Sie von der Meta-Schnittstelle als so genannte Prozessressourcen belegt. Vorzugsweise belegt jede der Meta-Schnittstellen Prozessressourcen für einen Auftragstyp und gibt die Prozessressourcen nach erfolgter Erledigung des Auftrags wieder frei. Sind die Prozessressourcen nicht verfügbar, so verbleibt der Auftrag in der Warteschlange und es erfolgt keine sofortige Ausführung des Auftrags. Die zentrale Instanz kümmert sich in diesem Fall um eine Ausführung des Auftrags zu einem späteren Zeitpunkt.If Resources for a process available You are, by the meta-interface as so-called process resources busy. Preferably, each of the meta-interfaces occupies process resources for one Order type and returns the process resources after completion of the order again. If the process resources are not available, then the job remains in the queue and nothing happens immediate execution of the order. The central instance takes care of this case an execution of the order at a later date Time.

Die einzelnen Komponenten der Erfindung sind modular realisiert, so dass die Warteschlangen und/oder die Warteschlangenzuweiser, der Prozessbearbeiter und die Meta-Schnittstelle zu einem Auftragstyp jeweils unabhängig voneinander geändert werden können. Dadurch wird die Erweiterung und Programmierung einzelner Prozesstypen vereinfacht.The individual components of the invention are implemented modularly, so that the queues and / or the queue allocators, the process handler and the meta-interface to a job type each changed independently of each other can be. This simplifies the expansion and programming of individual process types.

Ein Auftrag ist gekennzeichnet durch seinen Auftragstyp und kann darüber hinaus eine Vielzahl von Parametern umfassen. Solche Parameter können z. B. sein Auflösung, in der die Bild daten eines Druckauftrags gedruckt werden. Weitere Auftragsparameter sind für den Fachmann offensichtlich.One Order is characterized by its order type and may exceed that include a variety of parameters. Such parameters can z. B. its resolution, in which the image data of a print job are printed. Further Order parameters are for the obvious.

Die zentrale Instanz, die Warteschlangen, die Warteschlangenzuweiser, die Meta-Schnittstellen und die Prozessbearbeiter im sinne der Erfindung können jeweils als Hardwaremodule und/oder als Softwaremodule implementiert sein.The central instance, the queues, the queue allocators, the meta-interfaces and the process editors in the sense of the invention can each be implemented as hardware modules and / or as software modules.

Die Erfindung kann weiterhin durch eine Vorrichtung realisiert sein, welche die Steuerung von Zuweisungen von Ressourcen an Prozesse in erweiterbaren medizinischen Plattformen erledigt. Die Vorrichtung umfasst eine zentrale Instanz zum Empfang eines Auftrags für einen Prozess. Der Auftrag ist gekennzeichnet durch seinen Auftragstyp und kann außerdem weitere Auftragsparameter umfassen.The Invention can furthermore be realized by a device which controls the allocation of resources to processes done in expandable medical platforms. The device includes a central instance for receiving an order for one Process. The order is characterized by its order type and can also include further order parameters.

Die in einem Empfangsmodul eingegangenen Einträge werden, abhängig vom Auftragstyp durch einen Warteschlangenzuweiser analysiert und einer Warteschlange zugewiesen. Ferner ermittelt der Warteschlangenzuweiser die Prozessressourcen aus allen in der Plattform verfügbaren Ressourcen und teilt die Prozessressourcen der zentralen Instanz mit. Daraufhin fragt die zentrale Instanz die Prozessressourcen bei den Meta-Schnittstellen der Prozessressourcen an. Die Prozessressourcen werden dem Auftrag zugewiesen, sofern sie verfügbar sind. Der Auftrag wird ausgeführt, sofern die Verfügbarkeit aller Prozessressourcen gegeben ist. Nach Abschluss des Prozesses werden die Prozessressourcen freigegeben und die jeweiligen Metaschnittstellen über das frei werden der Ressourcen informiert. Auf diese Weise wird ein deterministisches Verhalten der Prozesse innerhalb der Plattform gewährleistet.The Entries received in a receive module will be dependent on Order type analyzed by a queue allocator and one Assigned queue. The queue allocator also determines the process resources from all resources available in the platform and Allocates the process resources of the central instance. thereupon the central instance asks the process resources at the meta-interfaces of the Process resources. The process resources are assigned to the job, if available are. The order is executed provided the availability all process resources is given. After completing the process The process resources are released and the respective meta-interfaces via the free to be informed of the resources. In this way one becomes deterministic behavior of the processes within the platform guaranteed.

Eine weitere Aufgabenlösung ist auch als Computerprogrammprodukt möglich, das ladbar in den Speicher eines Computers ist. Das erfindungsgemäße Verfahren wird durch Computerprogrammcode realisiert, der die einzelnen Schritte des Verfahrens abbildet.A additional task solution is also possible as a computer program product that is loadable in the store of a computer. The inventive method is by computer program code realized, which represents the individual steps of the process.

Eine alternative Aufgabenlösung sieht ein Speichermedium vor, das zur Speicherung des vorstehend beschriebenen, computerimplementierten Verfahrens bestimmt ist und von einem Computer lesbar ist.A alternative task solution provides a storage medium for storing the above described, computer-implemented method is determined and readable by a computer.

Darüber hinaus ist es möglich, dass einzelne Komponenten des vorstehend beschriebenen Verfahrens in einer verkaufsfähigen Einheit und die restlichen Komponenten in einer anderen verkaufsfähigen Einheit – sozusagen als verteiltes System – ausgeführt werden können.Furthermore Is it possible, that individual components of the method described above in a salable Unit and the remaining components in another salable unit - so to speak as a distributed system can.

In der folgenden detaillierten Figurenbeschreibung werden nicht einschränkend zu verstehende Ausführungsbeispiele mit deren Merkmalen und weiteren Vorteilen anhand der Zeichnung besprochen. In dieser zeigen:In The following detailed description of the figures are not restrictive Understanding embodiments with their features and other advantages with reference to the drawing discussed. In this show:

1 eine übersichtsartige Darstellung 1 an overview-like representation

2 einen Datenfluss gemäß einer bevorzugten Ausführungsform der Erfindung. 2 a data flow according to a preferred embodiment of the invention.

1 zeigt die einzelnen Komponenten der Erfindung. Die Erfindung umfasst eine zentrale Instanz 5, einen Warteschlangenzuweiser 10, einen Auftrag 1 eines Auftragstyps 1a für einen Prozess 4 (nicht gezeigt), der auf einem Client 3 (nicht gezeigt) angestoßen wird, eine Meta-Schnittstelle 30 und einen Prozessbearbeiter 40 zur Ausführung des Auftrags 1. Dabei ist der Client 3 ein beliebiger Knoten innerhalb der Plattform. 1 shows the individual components of the invention. The invention comprises a central instance 5 , a queue assigner 10 , an order 1 an order type 1a for a process 4 (not shown) on a client 3 (not shown), a meta-interface 30 and a process editor 40 to execute the order 1 , Here is the client 3 any node within the platform.

Prozesse 4 im Sinne dieser Erfindung können solche computer-bezogenen, betriebssystem-interne Aktivitäten sein, die in der Regel unbemerkt vom Benutzer ablaufen. Darüber hinaus handelt es sich bei den Prozessen 4 um solche Prozesse, die nicht durch ein Echtzeitbetriebssystem gesteuert sind, wie etwa Prozesse auf einem Scanner.processes 4 For the purposes of this invention, such computer-related, operating system-internal activities can be, which as a rule run unnoticed by the user. Moreover, these are the processes 4 those processes that are not controlled by a real-time OS, such as processes on a scanner.

Vorzugsweise ist unter einem Prozess im Sinne dieser Erfindung eine Instanz einer ausführbaren Einheit, ein Executable, das heißt ausführbarer Programmcode gemeint. Der Prozessbearbeiter umfasst zum Beispiel ausführbaren Programmcode, der als Instanzierung eines Prozessbearbeiters zu einem Prozess wird. Die bevorzugte Ausführungsform eines Prozesses ist daher nicht notwendig ein Betriebssystemprozess, wie weiter oben erwähnt.Preferably is an instance of a process under this invention executable Unit, an executable, that is to say executable program code. The process editor includes, for example, executable program code called Instantiating a process worker becomes a process. The preferred embodiment a process is therefore not necessary an operating system process, as mentioned above.

Selbstverständlich kann die Erfindung auch auf medizinischen Plattformen zum Einsatz kommen, die nicht notwendig einen Scanner umfassen, wenngleich die Erfindung im Folgenden anhand einer solchen modernen medizinischen Modalität beschrieben wird.Of course you can the invention also be used on medical platforms that not necessarily include a scanner, although the invention described below with reference to such a modern medical modality becomes.

Der Benutzer eines Clients 3 kann Prozesse 4 im Sinne der Erfindung durch Aufträge 1 anstoßen. Es existiert innerhalb der Plattform eine Vielzahl der Prozesse 4. Unterschiedliche Prozesse 4 sind durch einen Auftragstypen 1a gekennzeichnet. Beispiele für Auftragstypen sind: ein Druck-Auftragstyp, ein DICOM-Transfer Auftragstyp, Auftragstyp für computer aided diagnosis, und der gleichen.The user of a client 3 can processes 4 in the meaning of the invention by orders 1 nudge. There are many processes within the platform 4 , Different processes 4 are by an order types 1a characterized. Examples of order types are: a print order type, a DICOM transfer order type, order type for computer aided diagnosis, and the same.

Das Drucken der Bilddaten einer Bilderserie des Patienten „Fischer" auf dem Drucker MyPrinter ist ein Beispiel für einen Prozess 4 im Sinne der Erfindung. Der Client 3 würde also z. B. den Auftrag "Ausdruck der Bilderserie des Patienten Fischer in 600 dpi auf Myprinter auf Papierformat A3 mit 4 × 4 Bildern pro Seite in 32 Graustufen" anstoßen. Dabei bezeichnet der Druckauftrag den Auftragstyp 1a, während alle übrigen Parameter etwa die Anzahl der dpi bzw. der spezielle Drucker oder die Auflösung der Bilder so genannte Auftragsparameter 2 sind.Printing the image data of a series of pictures of the patient "Fischer" on the printer MyPrinter is an example of a process 4 in the sense of the invention. The client 3 So would z. For example, you can initiate the job "Printing the series of images of the patient Fischer in 600 dpi on Myprinter on paper size A3 with 4 × 4 images per page in 32 shades of gray". The print job designates the order type 1a , while all other parameters about the number of dpi or the specific printer or the resolution of the images so-called job parameters 2 are.

Anhand eines Beispiels soll im Folgenden das Verfahren zur Verwaltung einer Vielzahl von Prozessen 4 innerhalb der erweiterbaren medizinischen Plattform dargestellt werden. Die Ausdehnung der Erfindung auf weitere Auftragstypen 1a ist für den Fachmann offensichtlich und stellt keine Einschränkung der vorliegenden Erfindung dar.By way of example, the following is the method for managing a plurality of processes 4 within the expandable medical platform. The extension of the invention to other types of orders 1a is obvious to a person skilled in the art and does not represent a limitation of the present invention.

2 zeigt zu einem Prozess 4 die Aktivitäten und das Zusammenspiel einzelner Komponenten der erfindungsgemäßen Vorrichtung zur Ausführung des erfindungsgemäßen Verfahrens. 2 points to a process 4 the activities and the interaction of individual components of the device according to the invention for carrying out the method according to the invention.

Der von einem Client 3 angestoßene Auftrag 1 wird von einer zentralen Instanz 5 empfangen. Der Auftrag 1 ist durch den Auftragstyp 1a gekennzeichnet. Aufgabe der zentralen Instanz 5 ist erfindungsgemäß das Empfangen einer Vielzahl von Aufträgen 1 unterschiedlichen Auftragstyps 1a von unterschiedlicher Clients 3 innerhalb der Plattform.The one from a client 3 initiated order 1 is from a central instance 5 receive. The order 1 is by the order type 1a characterized. Task of the central authority 5 According to the invention, receiving a plurality of orders 1 different order type 1a from different clients 3 within the platform.

Für jeden der Auftragstypen 1a existiert ein Warteschlangenzuweiser 10. Der Warteschlangenzuweiser 10 ermittelt für einen konkreten Auftrag 1 von dem Auftragstyp 1a einen Warteschlangen-Namen 17, den er an die zentrale Instanz 5 zurückliefert. Das heißt mit anderen Worten, die zentrale Instanz 5 hat für einen eingehenden Auftrag 1, durch Kenntnis des Auftragstyp 1a, alle Information, um über die Zuordnung 7 den Wartenschlangen-Zuweiser 10 zu ermitteln, der zu dem gegebenen Auftragstyp 1a passt.For each of the order types 1a there is a queue assigner 10 , The queue assigner 10 determined for a specific order 1 of the order type 1a a queue name 17 he sent to the central instance 5 returns. In other words, that is the central instance 5 has for an incoming order 1 , by knowing the order type 1a All information about the assignment 7 the Waiting Snake Referee 10 to determine the given order type 1a fits.

Die Vielzahl von Warteschlangenzuweisern 10 ist als eigenständiges Modul realisiert, vorzugsweise als ein Softwaremodul.The variety of queue assignments 10 is realized as an independent module, preferably as a software module.

Der Auftrag 1 wird nun von der zentralen Instanz 5 in einer Warteschlange 15 abgelegt, bis der Auftrag 1 bearbeitet werden kann. Die Warteschlangen 15 werden dynamisch durch die zentrale Instanz 5 erzeugt und vernichtet.The order 1 is now the central instance 5 in a queue 15 filed until the order 1 can be edited. The queues 15 be dynamic through the central instance 5 created and destroyed.

Neben dem Warteschlangen-Namen 17 ermittelt der Warteschlangenzuweiser 10 noch die für die Ausführung eines Auftrags 1 erforderlichen Ressourcen 20. Die für einen Auftrag erforderlichen Ressourcen werden im Folgenden als Prozessressourcen 25 bezeichnet. Die Prozessressourcen 25 sind dadurch gekennzeichnet, dass die Prozessressourcen 25 verfügbar sein müssen für den Auftrag 1, da ohne die Verfügbarkeit der Prozessres sourcen 25 der Auftrag 1 nicht zur Ausführung durch einen Prozessbearbeiter 40 kommen kann. Der Warteschlangenzuweiser 10 teilt den Warteschlangen-Namen 17, die Prozessressourcen 25 und den Prozessbearbeiter 40 zu einem Auftrag 1 der zentralen Instanz 5 mit.Next to the queue name 17 determines the queue assigner 10 still the one for the execution of a job 1 required resources 20 , The resources required for an order are hereafter referred to as process resources 25 designated. The process resources 25 are characterized in that the process resources 25 must be available for the order 1 because without the availability of process resources 25 the order 1 not for execution by a process engineer 40 can come. The queue assigner 10 shares the queue name 17 , the process resources 25 and the process editor 40 to an order 1 the central instance 5 With.

Sofern die Warteschlange 15 mit dem Warteschlangen-Name 17 noch nicht existiert, wird die Warteschlange 15 von der zentralen Instanz angelegt und der Auftrag 1 von der zentralen Instanz 5 in der Warteschlange 15 abgelegt. Die Erzeugung und Verwaltung der Warteschlangen 15 über die zentrale Instanz 5 befreit den Prozessbearbeiter 40 zur Ausführung von Aufträgen 1 des Auftragstyps 1a von der Pflicht, eingehende Aufträge 1 vom Typ 1a selbst in Warteschlangen 15 zu verwalten.Unless the queue 15 with the queue name 17 does not exist yet, the queue becomes 15 created by the central instance and the order 1 from the central instance 5 in the queue 15 stored. The generation and management of the queues 15 about the central instance 5 frees the process worker 40 to execute orders 1 the order type 1a from the duty to incoming orders 1 of the type 1a even in queues 15 manage.

Die Vergabe der Prozessressourcen 25 an den Auftrag 1 vom Auftragstyp 1a wird über eine Vielzahl von Meta-Schnittstellen 30 koordiniert. Einzelne der Meta-Schnittstellen 30 verwalten Prozessressourcen eines Typs. Solche Prozessressourcen eines Typs können z. B. sein: Der Zugriff auf einen Drucker, die Bereitstellung von Arbeitsspeicher und CPU-Rechenleistung auf dezidierter Grafik-Hardware zur Rekonstruktion von Bilddaten. Weitere Typen von Prozessressourcen sind für den Fachmann offensichtlich.The allocation of process resources 25 to the order 1 of the order type 1a will have a lot of meta interfaces 30 coordinated. Single of the meta-interfaces 30 Manage process resources of one type. Such process resources of one type may e.g. These include: accessing a printer, providing memory and CPU processing power on dedicated graphics hardware to reconstruct image data. Other types of process resources will be apparent to those skilled in the art.

Die zentrale Instanz 5 versucht nun, die Prozessressourcen 25 für den Auftrag 1 in einer der Warteschlangen 15 bei den, zu den Prozessressourcen 35 passenden Meta-Schnittstellen 30 zu reservieren. Immer dann, wenn es der zentralen Instanz 5 gelingt, alle der Prozessressourcen 25 eines Auftrags 1 erfolgreich bei den Meta-Schnittstellen 30 anzufordern, startet die zentrale Instanz 5 den Prozessbearbeiter 40.The central instance 5 Now try the process resources 25 for the mission 1 in one of the queues 15 at, to the process resources 35 matching meta-interfaces 30 to reserve. Whenever it is the central instance 5 manages all of the process resources 25 an order 1 successful with the meta-interfaces 30 to request, starts the central instance 5 the process worker 40 ,

Zu jedem Auftragstyp 1a gehört ein Prozessbearbeiter 40. Der Prozessbearbeiter 40 erbringt als Antwort auf einen Auftrag 1 eine technische Dienstleistung. Vorzugsweise ist der Prozessbearbeiter 40 als Softwaremodul realisiert, das den Auftrag 1 ausführt. Zum Beispiel könnte ein Prozessbearbeiter 40 die Auflösung von Patientendaten (MR-Tomographie Daten des Patienten Fischer) zum Drucken vorbereiten. Das heißt z. B., die Graustufen entsprechend verteilen, festlegen, wie viele einzelne Bilder pro DINA4-Seite gedruckt werden, in welcher Auflösung und Größe.For every order type 1a belongs to a process engineer 40 , The process worker 40 provides in response to an order 1 a technical service. Preferably, the process editor 40 realized as a software module that completes the order 1 performs. For example, a process editor might 40 prepare the resolution of patient data (MR-scan data of the patient Fischer) for printing. That means z. For example, you can choose how many individual images are printed per DIN A4 page, in which resolution and size.

Wesentliches Merkmal der Prozessbearbeiter 40 gemäß der vorliegenden Erfindung ist, dass sie von der zentralen Instanz 5 unterbrochen werden können. Die Prozessbearbeiter 40 weisen die dafür erforderlichen Schnittstellen auf Mittels des Anhaltens oder eines Abbrechens von Prozessbearbeitern 40 werden Ressourcen 25 innerhalb der Plattform frei, die z. B. für eine Notfallsituation benötigt werden. Darüber hinaus können Prozessbearbeiter 40, die durch die zentrale Instanz 5 angehalten wurden, von dieser mit der Wiederaufnahme der Ausführung des Auftrags 1 beauftragt werden. Das heißt zuvor durch die zentrale Instanz 5 angehaltene Prozessbearbeiter 40 können durch die zentrale Instanz 5 zur Fortsetzung der Durchführung des Auftrags 1 beauftragt werden. Selbstverständlich müssen vor der Fortsetzung die Prozessressourcen 25 verfügbar sein.Essential feature of the process worker 40 according to the present invention is that of the central instance 5 can be interrupted. The process worker 40 have the necessary interfaces on the means of Anhal or canceling process workers 40 become resources 25 within the platform freely, the z. B. needed for an emergency situation. In addition, process editors can 40 passing through the central instance 5 of this with resumption of execution of the order 1 be commissioned. That means before by the central instance 5 stopped process workers 40 can through the central instance 5 to continue the execution of the contract 1 be commissioned. Of course, before proceeding with the process resources 25 be available.

Darüber hinaus ist es möglich, dass die zentrale Instanz 5 mehrere Prozessbearbeiter 40 gleichzeitig mit der Ausführung mehrerer Aufträge 1 beauftragt, sofern die Prozessressourcen 25 für jeden der aktiven Prozessbearbeiter 40 und damit für die mehreren Aufträge 1 reserviert sind.In addition, it is possible that the central instance 5 several process workers 40 simultaneously with the execution of multiple orders 1 mandated, provided the process resources 25 for each of the active process workers 40 and thus for the multiple orders 1 are reserved.

Die, zu den Prozessressourcen 25 eines Auftrags 1 (z. B. einem Druckauftrag) passenden, Meta-Schnittstellen 30 verwalteten Ressourcen im System. Die Meta-Schnittstellen 30 können Prozessressourcen 25, welche die zentrale Instanz 5 bei den Meta-Schnittstellen 30 anfordert, der zentralen Instanz 5 zur Verfügung stellen.The, to the process resources 25 an order 1 (eg a print job) matching meta-interfaces 30 managed resources in the system. The meta-interfaces 30 can process resources 25 which is the central instance 5 at the meta-interfaces 30 requests, the central instance 5 provide.

Insbesondere belegt die Meta-Schnittstelle 30 die Ressource 20 als die Prozessressource 25 für den Auftrag 1. Nach erfolgter Ausführung des Auftrags 1 durch den Prozessbearbeiter 40, der von der zentralen Instanz 5 mit der Ausführung des Prozesses 4 beauftragt wurde, gibt der Prozessbearbeiter 40 die verwendeten Prozessressourcen 25 an die zentrale Instanz 5 zurück.In particular, the meta-interface occupies 30 the resource 20 as the process resource 25 for the mission 1 , After completion of the order 1 through the process engineer 40 that from the central instance 5 with the execution of the process 4 was commissioned, gives the process editor 40 the process resources used 25 to the central instance 5 back.

Die zentrale Instanz 5 entscheidet daraufhin, ob die Prozessressourcen 25 als freie Ressourcen 20 an die Meta-Schnittstelle zurückgegeben werden oder gleich für einen weiteren Auftrag 1 verwendet werden.The central instance 5 then decide if the process resources 25 as free resources 20 be returned to the meta-interface or equal to another order 1 be used.

Meta-Schnittstellen 30 verwalten die parallele Verwendung einer Klasse von im System vorhandenen Ressourcen 20 durch mehrere Aufträge 1. So könnten beispielsweise alle im System verfügbaren Drucker über eine Meta-Schnittstelle 30 verwaltet werden. Die Meta-Schnittstelle 30 kennt insbesondere Randbedingungen für die gleichzeitige Verwendung von Ressourcen 30 gleichen Typs.Meta interfaces 30 manage the parallel use of a class of resources in the system 20 through several orders 1 , For example, all printers available in the system could have a meta-interface 30 to get managed. The meta-interface 30 knows in particular boundary conditions for the simultaneous use of resources 30 of the same type.

So könnte etwa für die Meta-Schnittstelle zur Verwaltung von Netzwerkschnittstellen 31 festgelegt sein, dass immer nur drei abgehende Netzwerkverbindungen von einem Client 3 abgehen können. Das bedeutet für einen Client 3, auf dem Prozesse 1 laufen, dass maximal drei Netzwerkverbindungen gleichzeitig von diesem Client 3 abgehen können.For example, for the meta-interface for managing network interfaces 31 Be sure to always have only three outgoing network connections from one client 3 can leave. That means for a client 3 on the processes 1 Run that maximum of three network connections simultaneously from this client 3 can leave.

Sofern der Benutzer des Clients 3 einen weiteren Prozess 1 anstößt, der eine abgehende Netzwerkverbindung aufbauen möchte, wird dies durch die Meta-Schnittstelle zur Verwaltung von Netzwerkschnittstellen 31 nur dann dem Prozess 1 zugewiesen, wenn bereits maximal zwei abgehende Netzwerkverbindungen offen sind. Sind hingegen bereits drei Netzwerkverbindungen offen, so wird die vierte Anfrage zum Öffnen einer abgehenden Netzwerkverbindung durch die Meta-Schnittstelle zur Verwaltung von Netzwerkschnittstellen 31 verhindert. Damit wird das Maß an Netzwerk-Traffic, der von einem Client 3 abgeht, begrenzt.Unless the user of the client 3 another process 1 This is done through the Meta interface for managing network interfaces, which wants to establish an outgoing network connection 31 only then the process 1 assigned if a maximum of two outgoing network connections are already open. If, on the other hand, three network connections are already open, the fourth request to open an outgoing network connection is through the Meta interface for managing network interfaces 31 prevented. This will measure the amount of network traffic that is coming from a client 3 going on, limited.

Eine andere Ressource 20 könnte Rechenzeit auf einem Computersystem sein, um dort komplexe Rekonstruktionen von Rohdaten zu berechnen.Another resource 20 could be computing time on a computer system to calculate complex reconstructions of raw data.

So ist es etwa denkbar, dass der Benutzer eines Clients 3 einen Auftrag 1 zur Rekonstruktion eines 3D-Datensatzes des Patienten Fischer anstößt, z. B. aus MR-Tomographie Daten. Das bedeutet, die zentrale Instanz 5 würde bei den entsprechenden Meta-Schnittstellen für Rekonstruktions- bzw. Graphik-Workstations 33 die Prozessressourcen 25 anfragen. Die Meta-Schnittstelle zur Vergabe von Graphik-Workstation-Ressourcen 33 könnte beispielsweise festlegen, dass maximal ein Prozess 1 zur Rekonstruktion auf einer solchen Graphik-CPU mit zugeordnetem Hauptspeicher laufen kann.So it is conceivable that the user of a client 3 an order 1 for the reconstruction of a 3D data set of the patient Fischer abuts, z. B. from MR tomography data. That means the central instance 5 would be at the appropriate meta-interfaces for reconstruction or graphics workstations 33 the process resources 25 Requests. The meta-interface for assigning graphics workstation resources 33 For example, you could set that to a maximum of one process 1 for reconstruction on such a graphics CPU with associated main memory can run.

Erfolgt für dieselbe Workstation eine zweite Anfrage von der zentralen Instanz 5, so wird die Zuteilung der Prozessressourcen 25 für Rekonstruktions- bzw. Graphik-Workstations durch die entsprechenden Meta-Schnittstellen für Rekonstruktions- bzw. Graphik-Workstations 33 abgewiesen. Das bedeutet, der zweite eingehende Auftrag 1 zur Rekonstruktion eines Datensatzes wird verwehrt. Damit ist beispielsweise sichergestellt, dass ein Auftrag 1 zur Rekonstruktion von Bilddaten innerhalb eines vorgegebenen zeitlichen Rahmens ausgeführt werden kann.If a second request is made from the central instance for the same workstation 5 so becomes the allocation of process resources 25 for reconstruction or graphics workstations through the corresponding meta-interfaces for reconstruction or graphics workstations 33 rejected. That means the second incoming order 1 to the reconstruction of a record is denied. This ensures, for example, that an order 1 to reconstruct image data within a given time frame.

Die Meta-Schnittstelle 30 fungiert damit im Sinne eines Semaphors, ein Modell zur Modellierung der gleichzeitigen Verwendung von Ressourcen, das dem Fachmann auf dem Gebiet hinreichend bekannt ist. Die Dead-lock Freiheit wird im Rahmen der Erfindung durch entsprechende Scheduling und Allocation Algorithmen in der zentralen Instanz 5 beim Anfordern von Prozessressourcen 25 erreicht.The meta-interface 30 Thus, in the sense of a semaphore, it serves as a model for modeling the simultaneous use of resources that is well known to those skilled in the art. The dead-lock freedom is within the scope of the invention through appropriate scheduling and allocation algorithms in the central instance 5 when requesting process resources 25 reached.

Das erfindungsgemäße Verfahren erlaubt die Erweiterung der Plattform um neue Auftragstypen 1b für Prozesse 1 im laufenden Betrieb, das heißt zur Laufzeit der Plattform. Dies ergibt sich insbesondere aus der verteilten "Intelligenz" des Verfahrens auf eine einfache zentrale Instanz 5, einen Warteschlangenzuweiser 10 zur Koordination mehrerer Warteschlangen 15, die der zentralen Instanz 5 bekannt sind, sowie die Meta-Schnittstellen 30 zu der Vielzahl von in der Plattform vorhandenen Ressourcen 20.The inventive method allows the extension of the platform to new order types 1b for processes 1 during operation, that is during the term of the platform. This results in particular from the distributed "intelligence" of the method to a simple central instance 5 , a queue assigner 10 to coordinate several control rooms snakes 15 , the central instance 5 known as well as the meta-interfaces 30 to the multitude of resources available in the platform 20 ,

Um einen neuen Auftragstyp 1b für einen neuen Prozesstyp 4a zur Plattform hinzuzufügen, genügt es, zur Plattform einen neuen Warteschlangenzuweiser 10a, sowie einen neuen Prozessbearbeiter 40a im System zu hinterlegen, sowie gegebenenfalls neue Meta-Schnittstellen 30a. Es genügt, dass die zentrale Instanz 5 den neuen Warteschlangenzuweiser 10a des neuen Auftragstyps 1b kennt.To a new order type 1b for a new process type 4a Add to the platform, it is sufficient to the platform a new queue assigner 10a , as well as a new process engineer 40a in the system, as well as possibly new meta-interfaces 30a , It is enough that the central instance 5 the new queue assigner 10a of the new order type 1b knows.

Dies kann z. B. realisiert werden über die Zuordnung 7 von Auftragstyp 1a und Warteschlangenzuweiser 10, die für einen neuen Auftragstyp 1b um einen weiteren Eintrag ergänzt wird. Dem neuen Warteschlangenzuweiser 10a wiederum ist neben dem Namen der neuen Warteschlange 15a auch der Name des neuen Prozessbearbeiters 40a bekannt. Es genügt also zur Erweiterung der Plattform um einen neuen Auftragstyp 1b, die Zuordnung 7 um einen neuen Eintrag zu erweitern, den neuen Warteschlangenzuweiser 10a und den neuen Prozessbearbeiter 40a, sowie gegebenenfalls eine neue Meta-Schnittstelle 30a an geeigneter Stelle innerhalb der Plattform zu hinterlegen. Nach erfolgter Hinterlegung genügt die Aktualisierung der Zuordnung 7, z. B. als Konfigurationsdatei, um der zentralen Instanz 5 diesen neuen Auftragstyp 1b bekannt zu machen. So würde insbesondere die Erweiterung des Systems zur Laufzeit möglich. Ferner können einzelne Module unabhängig voneinander getauscht oder erweitert werden.This can be z. B. be realized on the assignment 7 of order type 1a and queue assigners 10 that is for a new order type 1b is supplemented by another entry. The new queue assigner 10a in turn is next to the name of the new queue 15a also the name of the new process engineer 40a known. So it is enough to expand the platform with a new order type 1b , the assignment 7 to expand a new entry, the new queue assigner 10a and the new process engineer 40a , as well as possibly a new meta-interface 30a deposit at a suitable location within the platform. After depositing, it is sufficient to update the assignment 7 , z. B. as a configuration file to the central instance 5 this new order type 1b to make known. In particular, the extension of the system at runtime would be possible. Furthermore, individual modules can be exchanged or extended independently of each other.

Darüber hinaus erlaubt die verteilte Erledigung der zu einem angestoßenen Auftrag 1 gehörenden Prozessschritte mittels der zentralen Instanz 5, die dead-lock freie Abarbeitung der in der Plattform anfallenden Aufträge 1 für Prozesse 40. Drittanbietern, die Erweiterungen der Plattform zur Verfügung stellen, wird damit die Arbeit erheblich erleichtert. Der Drittanbieter muss die neuen Warteschlangen 10a nicht implementieren oder sich um die dead-lock freie Ressourcenanforderung und priorisierte Abarbeitung der Aufträge 1 kümmern.In addition, the distributed execution allows for a triggered order 1 belonging process steps by means of the central instance 5 , the dead-lock free processing of the orders arising in the platform 1 for processes 40 , Third party vendors who provide enhancements to the platform will greatly facilitate the work. The third-party must have the new queues 10a Do not implement or worry about the dead-lock free resource request and prioritized processing of jobs 1 To take care of.

Im Folgenden wird der dynamische Ablauf des erfindungsgemäßen Verfahrens gezeigt. Ein Client 3 erzeugt einen Auftrag 1 und gibt diesen an die zentrale Instanz 5. Die zentrale Instanz findet, abhängig vom Auftragstyp den zugehörigen Warteschlangenzuweiser 10. Der Warteschlangenzuweiser 10 analysiert daraufhin den bei der zentralen Instanz 5 eingegangenen Auftrag und gibt der zentralen Instanz 5 daraufhin den Warteschlangen-Namen 17, sowie möglicherweise eine Vielzahl von Prozessressourcen 25 und daraufhin optional eine Liste von Prozessparametern zurück. Mit dieser Information weiß die zentrale Instanz 5 in welcher Warteschlange 15 der Auftrag 1 abgelegt werden muss.The dynamic sequence of the method according to the invention is shown below. A client 3 generates an order 1 and gives it to the central instance 5 , The central instance finds the corresponding queue assigner, depending on the order type 10 , The queue assigner 10 then analyzes the one at the central instance 5 received order and gives the central instance 5 then the queue name 17 , as well as possibly a variety of process resources 25 and then optionally a list of process parameters back. The central authority knows this information 5 in which queue 15 the order 1 must be filed.

Darüber hinaus sind nun die Prozessressourcen 25 zur Ausführung des Auftrags 1 bekannt. Der Warteschlangenzuweiser 10 liefert ferner den Namen des für den Auftrag geeigneten Prozessbearbeiters 40 an die zentrale Instanz 5 zurück. Mit diesen Informationen kann die zentrale Instanz 5 den Auftrag 1 in einer bestimmten Warteschlange 15 ablegen, eventuell unter Berücksichtigung von Auftragsprioritäten. Existiert eine Warteschlange 15 mit diesem Namen noch nicht, dann erzeugt die zentrale Instanz 5 diese neue Warteschlange 15a.In addition, now are the process resources 25 to execute the order 1 known. The queue assigner 10 also supplies the name of the process engineer suitable for the job 40 to the central instance 5 back. With this information, the central instance 5 the order 1 in a particular queue 15 take, possibly taking into account order priorities. Exists a queue 15 with this name not yet, then creates the central instance 5 this new queue 15a ,

Ferner kann die zentrale Instanz 5 nun, basierend auf dem zur Ausführung des Auftrags 1 erforderlichen Prozessressourcen 25, versuchen, diese für einen in der Vielzahl von Warteschlangen 15 gespeicherten Aufträge 1 zu reservieren. Zur Reservierung der Prozessressourcen 25 wendet sich die zentrale Instanz 5 an die entsprechenden der Meta-Schnittstelle 30, welche die innerhalb der Plattform vorhandenen Ressourcen 20 geeigneten Typs für den Auftrag 1 verwalten.Furthermore, the central instance 5 now based on the order execution 1 required process resources 25 , try this for one in the variety of queues 15 saved orders 1 to reserve. To reserve the process resources 25 turns the central instance 5 to the corresponding meta interface 30 which the resources available within the platform 20 suitable type for the order 1 manage.

Wie bereits erwähnt, können Ressourcen 20 und damit auch Prozessressourcen 25 die Verwendung von Geräten umfassen oder CPU-Rechenzeit bzw. Arbeitsspeicher beinhalten. Selbstverständlich sind auch andere Ressourcen 20 in solch einer Plattform ohne Einschränkung der Erfindung denkbar. Soweit alle Prozessressourcen 25 für einen Auftrag 1 verfügbar sind, kann die zentrale Instanz 5 den Prozessbearbeiter 40 für einen Auftrag 1 mit der Bearbeitung des Auftrags 1 beauftragen und den Prozessbearbeiter 40 starten.As mentioned, resources can 20 and therefore also process resources 25 include the use of devices or include CPU processing time or memory. Of course, there are other resources as well 20 in such a platform without limitation of the invention conceivable. So far all process resources 25 for an order 1 are available, the central instance 5 the process worker 40 for an order 1 with the processing of the order 1 and the process engineer 40 start.

In einem Prozess können ein oder auch mehrere Prozessbearbeiter 40 zur Ausführung gebracht werden. Für solch eine Ausführungsform müsste der Warteschlangenzuweiser 10 die Prozessressourcen 25 des ersten Prozessbearbeiters und ferner die Prozessressourcen der weiteren Prozessbearbeiters an die zentrale Instanz 5 zurückmelden. Nachdem alle Prozessbearbeiter ihren Auftrag erledigt haben, werden die Prozessressourcen 25 des ersten Prozessbearbeiters 40 und die Prozessressourcen 25 der weiteren Prozessbearbeiter an die jeweiligen Meta-Schnittstellen zurückgegeben. Damit stehen sie der Plattform als Ressourcen 20 erneut zur Verfügung.In one process, one or more process workers 40 be executed. For such an embodiment, the queue assigner would have to 10 the process resources 25 the first process worker and also the process resources of the other process worker to the central entity 5 report back. After all process workers have completed their task, the process resources become 25 of the first process engineer 40 and the process resources 25 the other process worker returned to the respective meta-interfaces. This puts them on the platform as resources 20 again available.

Die Flexibilität und Erweiterbarkeit der erfindungsgemäßen Lösung ist gegeben. Neue Auftragstypen können zu beliebigen Zeiten hinzugefügt werden. Die konkrete Realisierung von Warteschlangenzuweiser 10, Meta-Schnittstelle 30 und Prozessbearbeiter 40 zu einem gegebenen Auftrag 1 können immer dann unabhängig voneinander variiert werden. Die Warteschlangen-Anzahl wird durch die Warteschlangenzuweiser 10 kontrolliert. Es ist Aufgabe der zentralen Instanz 5, alle Warteschlangen 15 zu verwalten und zu kennen. Allerdings erzeugt die zentrale Instanz 5 die Warteschlangen 15 nicht auf Vorrat, sondern nur aufgrund von Informationen, welche die Warteschlangenzuweiser 10 liefern.The flexibility and expandability of the solution according to the invention is given. New order types can be added at any time. The concrete realization of queue allocators 10 , Meta-interface 30 and process workers 40 to a given order 1 can always be varied independently of each other. The queue number is determined by the war teschlangenzuweiser 10 controlled. It is the task of the central authority 5 , all queues 15 to manage and to know. However, the central instance generates 5 the queues 15 not in stock, but only because of information provided by the queue allocators 10 deliver.

Die Realisierung der gleichzeitigen Anforderung von Ressourcen 20, das heißt einer Kommunikation zur Belegung von Ressourcen 20 ist durch die Meta-Schnittstellen 30 völlig gekapselt, was ebenfalls die Erweiterung der Plattform erleichtert.The realization of simultaneous request for resources 20 that is a communication for the allocation of resources 20 is through the meta-interfaces 30 completely encapsulated, which also facilitates the expansion of the platform.

Die Logik der Abarbeitung eines Auftrags 1 wird in einem Prozessbearbeiter 40 realisiert. Damit ist die Abarbeitung eines Auftrags 1 unabhängig von Warteschlangen-Verwaltung und von Ressourcenanforderungsprotokollen. Das Modul des Prozessbearbeiters 40 kann sich also einzig und allein auf die durch den Auftrag zu lösende Aufgabe konzentrieren. Die Implementierung des Prozessbearbeiters 40 wird dadurch erheblich vereinfacht. Durch die zentrale Instanz gemeinsam mit den Meta-Schnittstellen 30 wird die Vergabe von Ressourcen 25 dead-lock-frei erledigt und die Aufträge können durch die Prozessbearbeiter 40 abgearbeitet werden. Dabei können Aufträge 1 bei der Ablage in den Warteschlangen priorisiert werden. Ferner sind Randbedingungen für die Verwendung von Ressourcen 20 ein weiterer Bestandteil des erfindungsgemäßen Verfahrens. Solche Randbedingungen wurden oben bereits erläutert.The logic of processing an order 1 becomes in a process editor 40 realized. This is the processing of an order 1 independent of queue management and resource request protocols. The module of the process editor 40 So it can focus solely on the task to be solved by the assignment. The implementation of the process engineer 40 This simplifies considerably. Through the central instance together with the meta-interfaces 30 will allocate resources 25 Dead-lock-free and the orders can be processed by the process 40 be processed. It can orders 1 be prioritized when filing in the queues. There are also constraints on the use of resources 20 another component of the method according to the invention. Such boundary conditions have already been explained above.

Selbstverständlich werden Prozessressourcen 25, die für einen Auftrag 1 reserviert wurden, nach Beendigung des Prozessbearbeiters 40 an die zentrale Instanz 5 zurückgegeben.Of course, process resources become 25 for an order 1 were reserved after completion of the process editor 40 to the central instance 5 returned.

Die zentrale Instanz 5 entscheidet daraufhin, ob die Prozessressourcen 25 als freie Ressourcen 20 an die Meta-Schnittstelle 30 zurückgegeben werden oder gleich für einen weiteren Auftrag 1 verwendet werden. Insbesondere erlaubt die zentrale Instanz 5 zur Verteilung von Ressourcen 25 und zur Verteilung der Aufträge 1 auf Warteschlangen 15 alle laufenden Prozesse 4 zu kontrollieren. Durch die zentrale Instanz können einzelne Prozesse 4 angehalten werden.The central instance 5 then decide if the process resources 25 as free resources 20 to the meta-interface 30 be returned or the same for another order 1 be used. In particular, the central instance allows 5 for the distribution of resources 25 and the distribution of orders 1 on queues 15 all running processes 4 to control. Through the central instance, individual processes can 4 be stopped.

Von einem Client 3 innerhalb der Plattform können Warnungen, Benachrichtigungen und/oder Nachrichten an die zentrale Instanz 5 gesandt werden.From a client 3 within the platform can be alerts, notifications and / or messages to the central instance 5 be sent.

Durch eine Warnung kann die zentrale Instanz 5 dazu veranlasst werden, keine weiteren Aufträge 1 mehr an Prozessbearbeiter 40 zu geben, sodass beim Eintreten eines kritischen Zustandes weniger laufende Prozesse überhaupt anzuhalten sind. Diese Warnung lässt allerdings alle bereits laufenden Prozessbearbeiter 40 noch fortfahren. Das Absetzen der Warnung ist optional und erfolgt typischerweise vor Eintritt eines kritischen Zustands.By a warning, the central instance 5 to be prompted, no further orders 1 more to process workers 40 so that when a critical condition occurs, fewer running processes are to be stopped at all. However, this warning leaves all process processors already running 40 continue. The issuing of the warning is optional and typically occurs prior to the occurrence of a critical condition.

Im Gegensatz dazu steht eine Benachrichtigung an die zentrale Instanz 5, die das Eintreten eines kritischen Zustandes bekannt gibt (z. B. Datenaufnahme hat begonnen). Durch die Benachrichtigung wird die zentrale Instanz 5 umgehend die laufenden Prozessbearbeiter 40 benachrichtigen, damit diese die Abarbeitung der laufenden Prozesse 4 einstellen.In contrast, a notification is sent to the central instance 5 that announces the onset of a critical condition (eg, data collection has begun). The notification becomes the central instance 5 promptly the current process worker 40 notify them to complete the running processes 4 to adjust.

Die Warnung ist eine optionale Vorstufe der Benachrichtigung. Offensichtlich unterstützt die Warnung das Verhalten der Plattform in kritischen Situationen: die Warnung kann dazu führen, dass weniger Prozesse 4 beim Empfang der Benachrichtigung über einen kritischen Zustand, anzuhalten sind.The alert is an optional pre-notification. Obviously, the warning supports the behavior of the platform in critical situations: the warning can lead to fewer processes 4 upon receipt of the notification of a critical condition, are to be stopped.

Ebenso ist es möglich, über eine Nachricht mitzuteilen, dass derzeit Rohdaten eines Patienten (z. B MR-Tomographie Untersuchung des Patienten Fischer) im Scanner aufgenommen werden und deshalb der Netzwerk-Verkehr hin zum Plattenspeicher des Scanners für weitere Prozesse 1 beschränkt werden sollte. Hohe Schreibzugriffe auf dem Plattenspeicher durch weitere Prozesse 1 würden die Geschwindigkeit der Platte zum Speichern der anfallenden Rohdaten verlangsamen. Realisieren lässt sich dies indirekt durch eine Beschränkung der möglichen Netzwerkverbindungen, die gleichzeitig abgehend vom Plattenlaufwerk des Scanners möglich sind.It is also possible to notify via a message that currently raw data of a patient (for example, MR tomography examination of the patient Fischer) are recorded in the scanner and therefore the network traffic to the disk storage of the scanner for further processes 1 should be limited. High write access to disk storage through further processes 1 would slow down the speed of the disk to store the resulting raw data. This can be achieved indirectly by limiting the possible network connections that are possible simultaneously from the disk drive of the scanner.

Die Registrierung neuer Auftragtypen 1a, neuer Meta-Schnittstellen 30a, neuer Warteschlangenzuweiser 10a und neuer Prozessbearbeiter 40a kann über verschiedene Mechanismen innerhalb der Plattform erfolgen. Möglich ist die Realisierung über Konfigurationsfiles, ein zentrales Konfigurationsrepository, File-System-Verzeichnisse, in die Dateien gelegt werden, usw. Die konkrete Realisierung der Bekanntmachung der einzelnen Komponenten der Erfindung bei der zentralen Instanz 5 schränkt den Geist der Erfindung in keiner Weise ein, es handelt sich vielmehr um unterschiedliche Ausführungsformen, die aber alle im Sinne dieser Beschreibung für den Fachmann offensichtlich sind.The registration of new order types 1a , new meta-interfaces 30a , new queue assigner 10a and new process engineer 40a can be done through various mechanisms within the platform. The realization is possible via configuration files, a central configuration repository, file system directories, into which files are placed, etc. The concrete realization of the notice of the individual components of the invention at the central instance 5 does not limit the spirit of the invention in any way, but is rather different embodiments, all of which are obvious to one skilled in the art in the sense of this description.

Abschließend sei darauf hingewiesen, dass die Beschreibung der Erfindung und die Ausführungsbeispiele grundsätzlich nicht einschränkend in Hinblick auf eine bestimmte physikalische Realisierung der Erfindung zu verstehen sind. Für einen einschlägigen Fachmann ist es insbesondere offensichtlich, dass die Erfindung teilweise oder vollständig in Soft- und/oder Hardware und/oder auf mehrere physikalische Produkte – dabei insbesondere auch Computerprogrammprodukte – verteilt realisiert werden kann.In conclusion, be noted that the description of the invention and the embodiments in principle not restrictive in view of a particular physical implementation of the invention to be understood. For a relevant one It is particularly obvious to a person skilled in the art that the invention partially or completely in soft and / or Hardware and / or on several physical products - there in particular also computer program products - distributed can be realized.

Claims (15)

Verfahren zum Steuern von Zuweisungen von Ressourcen (20) an Prozesse (4) in erweiterbaren medizinischen Plattformen mit einer zentralen Instanz (5) und einer Meta-Schnittstelle (30) zu Ressourcen (20), wobei das Verfahren folgende Schritte umfasst: – Empfangen eines Auftrags (1) für einen Prozess (4) durch eine zentrale Instanz (5), wobei der Auftrag (1) gekennzeichnet ist durch einen Auftragstyp (1a); – Zuordnen (7) des Auftrags (1) zu einem Warteschlangenzuweiser (10) in Abhängigkeit des Auftragstyps, – Ermitteln einer Vielzahl von Prozessressourcen (25), die zur Ausführung des Auftrags (1) benötigt werden aus innerhalb der Plattform vorhandenen Ressourcen (20) und Ermitteln eines Warteschlangennamens (17) durch den Warteschlangenzuweiser (10); – Anfragen der Prozessressourcen (25) durch die zentrale Instanz (5) bei der Meta-Schnittstelle (30); – Zuweisen der Prozessressourcen (25) zu dem Auftrag (1), so dass die Prozessressourcen (25) zur Ausführung des Prozesses (4) zur Verfügung stehen, – Ausführen des Auftrags (1) für einen Prozess (4), sofern alle der Prozessressourcen (25) zur Verfügung stehen, wobei die Prozessressourcen (25) nach Abschluss des Prozesses (4) freigegeben werden und die Meta-Schnittstelle (30) informiert wird, wobei ein dead-lock freies Verhalten der Prozesse (4) innerhalb der Plattform gewährleistet wird.Method for controlling allocations of resources ( 20 ) to processes ( 4 ) in extensible medical platforms with a central instance ( 5 ) and a meta-interface ( 30 ) to resources ( 20 ), the process comprising the following steps: - receiving an order ( 1 ) for a process ( 4 ) by a central authority ( 5 ), whereby the order ( 1 ) is characterized by an order type ( 1a ); - Assign ( 7 ) of the contract ( 1 ) to a queue assigner ( 10 ) depending on the order type, - determining a large number of process resources ( 25 ) required to carry out the contract ( 1 ) are needed from resources available within the platform ( 20 ) and determining a queue name ( 17 ) through the queue assigner ( 10 ); - requests of process resources ( 25 ) by the central instance ( 5 ) at the meta-interface ( 30 ); - Assign process resources ( 25 ) to the order ( 1 ), so the process resources ( 25 ) for carrying out the process ( 4 ), - execute the order ( 1 ) for a process ( 4 ), provided that all of the process resources ( 25 ), the process resources ( 25 ) after completion of the process ( 4 ) and the meta-interface ( 30 ), whereby a dead-lock free behavior of the processes ( 4 ) within the platform. Verfahren gemäß Anspruch 1, wobei gleichzeitig mehrere Aufträge empfangen werden können und wobei ferner das gleichzeitige Ausführen mehrerer Prozesse möglich ist, sofern das Zuweisen der jeweiligen Prozessressourcen zu den mehreren Aufträgen möglich ist.Method according to claim 1, wherein several orders can be received simultaneously and wherein furthermore the simultaneous execution several processes possible is, provided that the allocation of the respective process resources to the multiple orders is possible. Verfahren gemäß Anspruch 1 oder 2, wobei jedem Auftragstyp (1a) eine eigene Warteschlange (10) zugeordnet wird.Method according to claim 1 or 2, wherein each type of order ( 1a ) a separate queue ( 10 ). Verfahren gemäß Anspruch 1 bis 3, wobei die zentrale Instanz (5) mindestens einen Prozessbearbeiter (40) mit dem Ausführen des Auftrags (1) beauftragt, und der mindestens eine Prozessbearbeiter (40) durch den Auftragstyp (1a) des Auftrags bestimmt ist.Method according to claims 1 to 3, wherein the central entity ( 5 ) at least one process editor ( 40 ) with the execution of the order ( 1 ) and the at least one processor ( 40 ) by the order type ( 1a ) of the order. Verfahren gemäß Anspruch 3, wobei der mindestens eine Prozessbearbeiter (40) von der zentralen Instanz (5) gestartet wird.The method of claim 3, wherein the at least one process engineer ( 40 ) from the central instance ( 5 ) is started. Verfahren gemäß einem der vorangegangenen Ansprüche, weiter umfassend einen Schritt zum Anhalten eines laufenden Prozessesbearbeiters (40), um ein deterministisches Unterbrechen des Prozesses (4) zu gewährleisten.Method according to one of the preceding claims, further comprising a step for stopping a running process worker ( 40 ) to make a deterministic interruption of the process ( 4 ) to ensure. Verfahren gemäß einem der Ansprüche 1 bis 6, weiter umfassend einen Schritt zum Empfangen einer Warnung durch die zentrale Instanz (5) umfasst, woraufhin die zentrale Instanz (5) keine weiteren Prozessbearbeiter (40) startet.Method according to one of claims 1 to 6, further comprising a step of receiving a warning by the central entity ( 5 ), whereupon the central authority ( 5 ) no further process workers ( 40 ) starts. Verfahren gemäß Anspruch 7, wobei jeder der innerhalb der Plattform aktiven Prozessbearbeiter (40) angehalten und/oder zum weiteren Bearbeiten wieder freigegeben werden kann.The method of claim 7, wherein each of the process processors active within the platform ( 40 ) can be stopped and / or released for further editing. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei die zentrale Instanz (5) nach Erhalt einer Benachrichtigung mindestens einen der Prozessbearbeiter (40) anhält.Method according to one of the preceding claims, wherein the central entity ( 5 ) upon receipt of a notification, at least one of the process 40 ) stops. Verfahren gemäß einem der vorangegangenen Ansprüche, weiter umfassend einen Schritt zum Erweitern der medizinischen Plattform um einen neuen Auftragstyp (1a) zur Ausführung eines neuen Prozesses (4a).The method of any one of the preceding claims, further comprising a step of widening the medical platform by a new order type ( 1a ) to carry out a new process ( 4a ). Verfahren gemäß Anspruch 9, wobei das Erweitern der medizinischen Plattform zur Laufzeit dynamisch erfolgen kann.Method according to claim 9, where expanding the medical platform at runtime can be done dynamically. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Warteschlangezuweiser (10), der Prozessbearbeiter (40) und die Meta-Schnittstelle (30) unabhängig voneinander realisierbar und veränderbar sind.Method according to one of the preceding claims, wherein the queue assigner ( 10 ), the process engineer ( 40 ) and the meta-interface ( 30 ) are independently realizable and changeable. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Auftrag (1) neben dem Auftragstyp (1a) eine Vielzahl von Auftragsparametern aufweisen kann.Method according to one of the preceding claims, wherein the order ( 1 ) next to the order type ( 1a ) may have a plurality of job parameters. Vorrichtung zur Steuerung von Zuweisungen von Ressourcen (20) an Prozesse (4) in erweiterbaren medizinischen Plattformen, wobei die Vorrichtung umfasst: – Eine zentrale Instanz (5) zum Empfang eines Auftrags (1) für einen Prozess (4), wobei der Auftrag (1) gekennzeichnet ist durch einen Auftragstyp (1a) – Einen Warteschlangenzuweiser (10) zur Zuweisung (7) des im Empfangsmodul empfangenen Auftrags (1) zu einer Warteschlange (10) in Abhängigkeit vom Auftragstyp (1a), – Ermittler, der zur Ermittlung einer Vielzahl von Prozessressourcen (25) bestimmt ist, die zur Ausführung des Auftrags (1) nötig sind aus innerhalb der Plattform vorhandenen Ressourcen (20) und zur Ermittlung eines Warteschlangennamens (17) durch den Warteschlangenzuweiser (10), – Anfragemodul der zentralen Instanz (5), das zur Anfrage nach den Prozessressourcen (25) bei der Meta-Schnittstelle (30) bestimmt ist; – Zuweisungsmodul der Metaschnittstelle (30), das zur Zuweisung der Prozessressourcen (25) zu dem Auftrag (1) bestimmt ist, so dass die Prozessressourcen (25) zur Ausführung des Prozesses (4) zur Verfügung stehen, – Prozessbearbeiter (40), der zur Ausführung des Prozesses (4) bestimmt ist, sofern die Verfügbarkeit aller Prozessressourcen (25) gegeben ist, wobei nach Abschluss des Prozesses (4) die Freigabe der Prozessressourcen (25) sowie eine Information der Meta-Schnittstelle (30) erfolgt, wobei ein dead- lock freies Verhalten der Prozesse innerhalb der Plattform gewährleistet ist.Device for controlling allocations of resources ( 20 ) to processes ( 4 ) in extensible medical platforms, the device comprising: - a central entity ( 5 ) to receive an order ( 1 ) for a process ( 4 ), whereby the order ( 1 ) is characterized by an order type ( 1a ) - a queue assigner ( 10 ) for allocation ( 7 ) of the order received in the receiving module ( 1 ) to a queue ( 10 ) depending on the order type ( 1a ), - investigator responsible for identifying a variety of process resources ( 25 ) required to carry out the contract ( 1 ) are necessary from resources available within the platform ( 20 ) and to determine a queue name ( 17 ) through the queue assigner ( 10 ), - request module of the central instance ( 5 ), which is used to request the process resources ( 25 ) at the meta-interface ( 30 ) is determined; - Assignment module of the meta-interface ( 30 ) used to allocate the process resources ( 25 ) to the order ( 1 ), so that the process resource cen ( 25 ) for carrying out the process ( 4 ), - Process Managers ( 40 ) required to execute the process ( 4 ), provided that the availability of all process resources ( 25 ), after completion of the process ( 4 ) the release of process resources ( 25 ) as well as information of the meta-interface ( 30 ), whereby deadlock-free behavior of the processes within the platform is ensured. Computerprogrammprodukt, geladen oder ladbar in einen Speicher eines Computers mit Computerprogrammcode zur Durchführung des Verfahrens nach einem der Patentansprüche 1 bis 13, wenn Computerprogrammcode in dem Computer ausgeführt wird.Computer program product, loaded or loadable in a memory of a computer with computer program code for performing the Method according to one of the claims 1 to 13, when computer program code in the computer becomes.
DE102008004658A 2008-01-16 2008-01-16 Method for the central control of processes in expandable medical platforms Active DE102008004658B4 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102008004658A DE102008004658B4 (en) 2008-01-16 2008-01-16 Method for the central control of processes in expandable medical platforms
US12/318,807 US8117310B2 (en) 2008-01-16 2009-01-08 Method for the central control of resources in expandable medical platforms

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102008004658A DE102008004658B4 (en) 2008-01-16 2008-01-16 Method for the central control of processes in expandable medical platforms

Publications (2)

Publication Number Publication Date
DE102008004658A1 true DE102008004658A1 (en) 2009-07-23
DE102008004658B4 DE102008004658B4 (en) 2010-03-25

Family

ID=40785791

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008004658A Active DE102008004658B4 (en) 2008-01-16 2008-01-16 Method for the central control of processes in expandable medical platforms

Country Status (2)

Country Link
US (1) US8117310B2 (en)
DE (1) DE102008004658B4 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110154355A1 (en) * 2009-12-22 2011-06-23 Siemens Aktiengesellschaft Method and system for resource allocation for the electronic preprocessing of digital medical image data
DE102011079429A1 (en) * 2011-07-19 2013-01-24 Siemens Aktiengesellschaft Performance simulation of medical procedures in a client-server environment
JP6165468B2 (en) * 2012-03-05 2017-07-19 東芝メディカルシステムズ株式会社 Medical image processing system
WO2019212182A1 (en) * 2018-05-04 2019-11-07 Samsung Electronics Co., Ltd. Apparatus and method for managing a shareable resource in a multi-core processor

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317733A (en) * 1990-01-26 1994-05-31 Cisgem Technologies, Inc. Office automation system for data base management and forms generation
US5621886A (en) * 1995-06-19 1997-04-15 Intel Corporation Method and apparatus for providing efficient software debugging
JPH11239165A (en) * 1998-02-20 1999-08-31 Fuji Photo Film Co Ltd Medical network system
US6505229B1 (en) * 1998-09-25 2003-01-07 Intelect Communications, Inc. Method for allowing multiple processing threads and tasks to execute on one or more processor units for embedded real-time processor systems
US6470406B1 (en) * 1999-06-25 2002-10-22 International Business Machines Corporation Managing isochronous processes in a heterogenous work environment
US6721948B1 (en) * 2000-06-30 2004-04-13 Equator Technologies, Inc. Method for managing shared tasks in a multi-tasking data processing system
US6687838B2 (en) * 2000-12-07 2004-02-03 Intel Corporation Low-power processor hint, such as from a PAUSE instruction
US7154621B2 (en) * 2001-03-20 2006-12-26 Lightsurf Technologies, Inc. Internet delivery of digitized photographs
US7509671B1 (en) * 2001-06-20 2009-03-24 Microstrategy Incorporated Systems and methods for assigning priority to jobs in a reporting system
US20030120776A1 (en) * 2001-07-11 2003-06-26 Sun Microsystems, Inc. System controller for use in a distributed processing framework system and methods for implementing the same
JP3975703B2 (en) * 2001-08-16 2007-09-12 日本電気株式会社 Preferential execution control method, apparatus and program for information processing system
US20030069756A1 (en) * 2001-10-01 2003-04-10 Higginbotham James C. Emergency department management process
US7171468B2 (en) * 2001-11-10 2007-01-30 Kabushiki Kaisha Toshiba System and method for accessing a document management repository
US6988139B1 (en) * 2002-04-26 2006-01-17 Microsoft Corporation Distributed computing of a job corresponding to a plurality of predefined tasks
US20040167465A1 (en) * 2002-04-30 2004-08-26 Mihai Dan M. System and method for medical device authentication
US20040001215A1 (en) * 2002-06-26 2004-01-01 Canon Kabushiki Kaisha Print control apparatus, print control method, program product, and print system
US20040205048A1 (en) * 2003-03-28 2004-10-14 Pizzo Michael J. Systems and methods for requesting and receiving database change notifications
JP3951949B2 (en) * 2003-03-31 2007-08-01 日本電気株式会社 Distributed resource management system, distributed resource management method and program
US7607571B2 (en) * 2003-05-30 2009-10-27 Intellidot Corporation Medical work flow system
KR100529326B1 (en) * 2003-06-24 2005-11-17 삼성전자주식회사 Method and apparatus for processing printing data, and computer-readable recording media for storing computer program
US7835931B2 (en) * 2003-10-03 2010-11-16 Meta Command Systems, Inc. Method and system for network-based, distributed, real-time command and control of an enterprise
WO2005055116A2 (en) * 2003-11-26 2005-06-16 Mckesson Automation Inc. Integrated suite of medical tools
US20050165881A1 (en) * 2004-01-23 2005-07-28 Pipelinefx, L.L.C. Event-driven queuing system and method
US20060037021A1 (en) * 2004-08-12 2006-02-16 International Business Machines Corporation System, apparatus and method of adaptively queueing processes for execution scheduling
US20060123111A1 (en) * 2004-12-02 2006-06-08 Frank Dea Method, system and computer program product for transitioning network traffic between logical partitions in one or more data processing systems
US7548335B2 (en) * 2005-02-25 2009-06-16 Microsoft Corporation Print job queuing and scheduling systems and methods
US20060224432A1 (en) * 2005-03-31 2006-10-05 British Telecommunications Public Limited Company Workflow scheduling system
US7752622B1 (en) * 2005-05-13 2010-07-06 Oracle America, Inc. Method and apparatus for flexible job pre-emption
US7844968B1 (en) * 2005-05-13 2010-11-30 Oracle America, Inc. System for predicting earliest completion time and using static priority having initial priority and static urgency for job scheduling
DE102005031245B4 (en) * 2005-07-01 2007-11-15 Siemens Ag Method for testing a clinical and / or medical technology system and method for controlling medical examination procedures in a clinical and / or medical technology system and corresponding computer program products
US7937706B2 (en) * 2005-08-22 2011-05-03 Runtime Design Automation, Inc. Method and system for performing fair-share preemption
JP2007122664A (en) * 2005-10-31 2007-05-17 Sony Computer Entertainment Inc Information processing method and information processor
US8185423B2 (en) * 2005-12-22 2012-05-22 Canon Kabushiki Kaisha Just-in time workflow
WO2008084330A2 (en) * 2006-06-08 2008-07-17 Softmedical, Inc. Methods and systems for consolidating medical information
US8392008B2 (en) * 2006-10-20 2013-03-05 Rockwell Automation Technologies, Inc. Module arbitration and ownership enhancements
US20080250418A1 (en) * 2007-02-08 2008-10-09 Karamchedu Murali M Health care administration system
US20080312967A1 (en) * 2007-05-31 2008-12-18 America Service Group, Inc. Comprehensive method and system for intake screening and medical records management

Also Published As

Publication number Publication date
DE102008004658B4 (en) 2010-03-25
US8117310B2 (en) 2012-02-14
US20090182879A1 (en) 2009-07-16

Similar Documents

Publication Publication Date Title
DE102005031245B4 (en) Method for testing a clinical and / or medical technology system and method for controlling medical examination procedures in a clinical and / or medical technology system and corresponding computer program products
EP2648122B1 (en) Method for loading medical image data and device for executing the method
DE102005041628B4 (en) Apparatus and method for processing data of different modalities
DE112004001153T5 (en) Data migration and format transformation system
DE102006051189A1 (en) Application e.g. task flow application, developing method for use in medical field, involves selecting modules suitable for operational environments at runtime, and configuring application such that modules are interconnected
DE102006051187A1 (en) Task flow processing method for client-server-task flow-architecture, involves interrupting generated task flow in definable time and processing task flow at later time point in definable processing instance
DE102006004618A1 (en) Workflow-based management of medical image data
DE102008040009A1 (en) Load-balanced allocation of medical taskflows to servers of a server farm
DE10161381A1 (en) Patient data processing system for automated recording and processing of patient medical notes has a database with standard and routine records corresponding to investigations and treatments that can be applied to individuals
DE102009042128A1 (en) Method and system for using temporary exclusive locks for parallel resource access
DE102008004658B4 (en) Method for the central control of processes in expandable medical platforms
DE102007041345B4 (en) X-Core Image Reconstruction System (IRS) with x-parallel Recon Pipelines
DE10119876A1 (en) Process system and computer program structure for processing job monitoring
DE112013003300T5 (en) Gradual preparation of videos on the delivery
EP2648094B1 (en) Method and system for creating a source code for a computer program for executing and simulating a process
DE102019104865A1 (en) Application delivery device, application delivery method, and application delivery program
DE102017203333A1 (en) A medical image review method and method for adjusting an examination protocol during a medical imaging examination
DE112011100098B4 (en) Efficient multicore processing of events
DE102017203315A1 (en) Method and data processing unit for selecting a protocol for a medical imaging examination
DE112019005043T5 (en) STREAM ALLOCATION USING STREAM CREDIT
DE102015221405A1 (en) Managed image reconstruction for medical imaging
DE112019005038T5 (en) RESOURCE ALLOCATION USING CREDIT WITH DISTRIBUTED SEGMENT PROCESSING
EP2479664B1 (en) System and method for generating a source code for a computer program
DE102009035098A1 (en) Taskflow unit for controlling computer-aided medical tasks within a medical computer network
DE10330078A1 (en) Conference Management: Procedure, System and Data Structure

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R081 Change of applicant/patentee

Owner name: SIEMENS HEALTHCARE GMBH, DE

Free format text: FORMER OWNER: SIEMENS AKTIENGESELLSCHAFT, 80333 MUENCHEN, DE

R081 Change of applicant/patentee

Owner name: SIEMENS HEALTHINEERS AG, DE

Free format text: FORMER OWNER: SIEMENS HEALTHCARE GMBH, MUENCHEN, DE