DE102005021853A1 - Flexiblere Überwachung und Wiederherstellung von Prozessen auf Datenverarbeitungssystemen - Google Patents
Flexiblere Überwachung und Wiederherstellung von Prozessen auf Datenverarbeitungssystemen Download PDFInfo
- Publication number
- DE102005021853A1 DE102005021853A1 DE102005021853A DE102005021853A DE102005021853A1 DE 102005021853 A1 DE102005021853 A1 DE 102005021853A1 DE 102005021853 A DE102005021853 A DE 102005021853A DE 102005021853 A DE102005021853 A DE 102005021853A DE 102005021853 A1 DE102005021853 A1 DE 102005021853A1
- Authority
- DE
- Germany
- Prior art keywords
- processes
- groups
- dependencies
- data processing
- group
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 113
- 238000011084 recovery Methods 0.000 title description 2
- 238000012544 monitoring process Methods 0.000 title 1
- 230000001419 dependent effect Effects 0.000 claims description 7
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Hardware Redundancy (AREA)
- Retry When Errors Occur (AREA)
- Debugging And Monitoring (AREA)
Abstract
Die Erfindung betrifft ein Datenverarbeitungssystem mit Mitteln zur Verwaltung von auf dem System ablaufenden Prozessen, wobei eine Zusammenfassung von Prozessen in Gruppen vorgesehen ist, und ein Verfahren zur Wiederaufnahme von Abläufen eines Datenverarbeitungssystems. Erfindungsgemäß ist die Prozessverwaltung für eine Herstellung von Abhängigkeiten zwischen Prozessgruppen oder einzelnen Prozessen und Prozessgruppen ausgestaltet. Bei dem Verfahren wird die Wiederaufnahme eines Ablaufs eines Datenverarbeitungssystems nach Maßgabe der Abhängigkeiten zwischen Prozessgruppen oder einzelnen Prozessen und Prozessgruppen vorgenommen. Die Erfindung hat den Vorteil einer flexibleren Strukturierung von Prozessgruppen.
Description
- Die Erfindung betrifft ein Datenverarbeitungssystem mit Mitteln zur Verwaltung von auf dem System ablaufenden Prozessen, wobei eine Zusammenfassung von Prozessen in Gruppen vorgesehen ist, und ein Verfahren zur Wiederaufnahme von Abläufen eines Datenverarbeitungssystems.
- An Datenverarbeitungssysteme besteht die Anforderung, dass mehrere Aufgaben (Tasks) simultan bearbeitet werden. Beispielsweise bedient ein Benutzer seinen PC (Personal Computer), um ein Computerspiel zu spielen, während gleichzeitig auf dem Computer Aktivitäten bzw. Vorgänge laufen, um ankommende Emails zu empfangen und andere Applikationen, z.B. Anzeige der Zeit, auszuführen. Da die meisten im privaten und geschäftlichen Bereich benutzten Rechner lediglich einen Prozessor bzw. eine CPU haben, besteht die Anforderung an den Rechner, mit einer CPU mehrere Programme simultan zu bewältigen. Diese Anforderung gilt auch bei moderneren Datenverarbeitungssystemen mit mehreren Prozessoren, da häufig die Anzahl der zu bewältigenden Programme bzw. Tasks die der Prozessoren übersteigt.
- Dieser Anforderung wird in modernen Rechnersystemen dadurch entsprochen, dass der Prozessor bzw. die CPU (Central Processing Unit) zwischen verschiedenen Programmen in einem schnellen Rhythmus (typischerweise im Bereich von zehn oder 100 Millisekunden) wechselt, was auf der für den Benutzer relevanten Zeitskala dazu führt, dass diesem eine parallele Bearbeitung der Programme suggeriert wird. Man spricht hier auch von einem Pseudoparallelismus im Gegensatz zu einem echten Parallelismus, der die Bearbeitung durch verschiedene Prozessoren bezeichnet. Um diese Vorgehensweise von Prozessoren zu veranschaulichen, hat man ein Modell entwickelt, demzufolge auf einer Datenverarbeitungsanlage verschiedene Prozesse ab laufen. Die Vorstellung ist dabei, dass Prozesse gleichzeitig ablaufen, während tatsächlich bei einer CPU immer nur ein Programm bearbeitet wird. Man tut also so, als ob jeder Prozess seine eigene CPU hätte. Dieses Prozesskonzept wird auch in der Regel bei Mehrprozessorsystemen angewandt. Die verschiedenen quasi parallel abgearbeiteten Programmabläufe werden also als Prozesse bezeichnet. Eine Verwaltung dieser Prozesse findet üblicherweise mit Hilfe des Betriebssystems des entsprechenden Rechensystems statt. Ein Beispiel für die Verwaltung von Prozessen mittels Kommandos des Betriebssystems ist bei Unix der Befehl „fork" und bei Windows der in Win32 vorgesehene Funktionsablauf „create process", durch welche jeweils ein neuer Prozess generiert wird.
- Vor allem bei Systemunterbrechungen oder Systemabstürzen kann bei der Wiederherstellung des Betriebszustandes eine Rolle spielen, dass die ablaufenden Prozesse häufig nicht unabhängig voneinander sind. Um dieser Tatsache Rechnung zu tragen, wurde innerhalb moderner Betriebssysteme das Konzept von Prozessgruppen aufgenommen. Dieses Konzept, Prozesse in Gruppen einzuteilen, wurde zuerst in der nach seiner Herkunft Berkeley benannten Variante von Unix eingeführt (Berkeley Unix). Unix verwendet Prozessgruppen, wobei ein durch einen anderen Prozess erzeugter Prozess zu derselben Gruppe gehört. Demgegenüber gab es in frühen Windows-Versionen keine Möglichkeit zur Gruppierung von Prozessen. Die Möglichkeit, Prozesse zu Gruppen zusammenzufassen, wurde dann in Windows 2000 vorgesehen. Windows 2000 stellt Tools für die Prozesskontrolle (Process Control) zur Verfügung, welche das Feature „Job Objects" umfasst, welches erlaubt, mehrere Prozesse zu einer Gruppe zusammenzufassen und als eine Einheit zu verwalten.
- Die Erfindung hat zur Aufgabe, eine flexiblere und benutzerfreundlichere Verwaltung von Prozessen auf Datenverarbeitungsanlagen zu ermöglichen.
- Die Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst.
- Die Erfindung beruht auf der Beobachtung, dass eine Flexibilisierung und eine Erweiterung der Strukturierungsmöglichkeiten von Prozessen durch die Einführung von Abhängigkeiten zwischen Gruppen erzielt werden kann. Daher wird erfindungsgemäß vorgeschlagen, die Prozessverwaltung dahingehend zu erweitern, dass die Herstellung von Abhängigkeiten zwischen Prozessgruppen oder einzelnen Prozessen und Prozessgruppen vorgesehen wird. Ein Spezialfall ist dabei die Herstellung von Abhängigkeiten zwischen Prozessgruppen gleichzeitig mit der Herstellung von Abhängigkeiten zwischen Einzelprozessen und Prozessgruppen. Die erfindungsgemäß eingeführten Abhängigkeiten können in einer Konfigurationsdatei oder einem Skript in der Datenverarbeitungseinrichtung festgehalten bzw. erfasst werden.
- Die Erfindung erlaubt bei der Prozessverwaltung flexibler vorzugehen es bestehen mehr Freiheiten für die Gestaltung von Gruppen und die damit die Einführung einer neuen Hierarchieebene. Die Prozessverwaltung wird damit benutzerfreundlicher und vielseitiger.
- Die erfindungsgemäß neu eingeführten Abhängigkeiten können in einem Verfahren zur Wiederaufnahme von Abläufen eines Datenverarbeitungssystems, welches ebenso Gegenstand dieser Anmeldung ist, berücksichtigt werden. Dieses Verfahren sieht vor, dass wenn ein oder mehrere auf dem Datenverarbeitungssystem laufende Prozesse unterbrochen werden, beispielsweise bei einem fehlerhaften Abbruch oder einer Störung, für den Neustart des Prozesses eine Abhängigkeit des Prozesses oder der den Prozess umfassenden Prozessgruppe von anderen Prozessgruppen ermittelt und diese Abhängigkeiten bei dem Neustart insofern berücksichtigt werden, als dass Prozesse abhängiger Gruppen abgebrochen und nach Maßgabe der durch die Abhängigkeiten bedingten Reihenfolge neu gestartet werden.
- Es ist sinnvoll auf diese Weise alle Gruppen von Prozessen betreffenden Abhängigkeiten zu berücksichtigen und die Pro zesse etwaiger abhängiger Gruppen neu zu starten, wobei die Reihenfolge des Neustarts nach Maßgabe der hergestellten Abhängigkeiten erfolgt. Für diesen Neustart kann eine Informationsquelle, wie z. B. eine Konfigurationsdatei oder ein Skript, in welchen die Abhängigkeiten festgehalten werden, ausgewertet werden.
- Im Folgenden wird der Erfindungsgegenstand im Rahmen eines Ausführungsbeispiels an Hand einer Figur näher erläutert.
- Die Figur zeigt zwei Gruppen von Prozessen, wobei die Gruppe 2 die Prozesse D, E, F und die Gruppe 1 die Prozesse A, B, C umfasst. Die Gruppe 1 ist dabei abhängig von der Gruppe 2. Im Rahmen des Ausführungsbeispiels wird angenommen, dass Prozesse A, B, C, D, E und F existieren, die voneinander abhängig sind. Herkömmlich können diese Prozesse nur in einer (großen) Gruppe zusammengefasst werden. Die Erfindung erlaubt eine bessere Strukturierung der Prozesse.
- Zur detaillierteren Beschreibung werden folgende Abhängigkeiten angenommen. Die Prozesse A, B, und C sind komplett unabhängig und lassen sich so in Gruppe 1 sammeln. Die Prozesse D, E und F sind abhängig vom Prozess A und lassen sich so in Gruppe 2 sammeln. Die Gruppe 2 ist damit abhängig von Gruppe 1 und muss bei einem Neustart nach Gruppe 1 gestartet werden. Dies wird erfindungsgemäß unterstützt, wobei diese Abhängigkeit der Gruppe 2 von der Gruppe 1 in einem Konfigurationsfile, beispielsweise einem XML-File festgehalten wird. Wenn nun eine der Prozesse der Gruppe 1 A, B, C ausfällt und deswegen die Prozesse der Gruppe 1 neu gestartet werden sollen, wird für den Neustart das Konfigurationsfile, in dem die Abhängigkeiten festgehalten sind, ausgewertet und dabei festgestellt, dass die Prozesse der Gruppe 2 von denen der Gruppe 1 abhängig sind. Daher werden die Prozesse der Gruppe 2 D, E und F abgebrochen und bei deren Neustart nach den Prozessen der Gruppe 1 gestartet. Auf diese Weise ist sichergestellt, dass es zu keinen Fehlern kommt, die bei einem gleichzeitigen Start der Prozesse von Gruppe 1 und Gruppe 2 zu erwarten wären.
- Die Erfindung ist nicht auf diesen einfachen Ausführungsfall beschränkt. Insbesondere lasse sich durch die erfindungsgemäße Einführung von Gruppenabhängigkeiten komplexere Abhängigkeiten zwischen Prozessen geeignet verwalten.
Claims (6)
- Datenverarbeitungssystem mit Mitteln zur Verwaltung von auf dem System ablaufenden Prozessen, wobei eine Zusammenfassung von Prozessen in Gruppen vorgesehen ist, dadurch gekennzeichnet, dass die Prozessverwaltung für eine Herstellung von Abhängigkeiten zwischen Prozessgruppen oder einzelnen Prozessen und Prozessgruppen ausgestaltet ist.
- Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, dass eine Konfigurationsdatei gegeben ist, in dem Abhängigkeiten zwischen Prozessgruppen oder einzelnen Prozessen und Prozessgruppen erfasst werden.
- Verfahren zur Wiederaufnahme von Abläufen eines Datenverarbeitungssystems, dadurch gekennzeichnet, dass – Abhängigkeiten zwischen Gruppen von Prozessen oder zwischen einzelnen Prozessen und Prozessgruppen hergestellt werden, – der Ablauf mindestens eines auf dem Datenverarbeitungssystem laufenden Prozesses unterbrochen wird, – mindestens eine den abgebrochenen Prozess nicht umfassende Prozessgruppe ermittelt wird, für welche eine Abhängigkeit von einer den unterbrochenen Prozess umfassenden Prozessgruppe oder von dem unterbrochenen Prozess besteht, – die Prozesse der ermittelten Prozessgruppe abgebrochen werden, und – der unterbrochene Prozess und die Prozesse der Prozessgruppe neu gestartet werden, wobei die Reihenfolge des Neustarts nach Maßgabe der hergestellten Abhängigkeiten erfolgt.
- Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass – der Ablauf eines Prozesses einer Prozessgruppe unterbrochen wird, – alle Prozesse der von der Prozessgruppe abhängigen Prozessgruppen abgebrochen werden, – der unterbrochene Prozess und die abgebrochenen Prozesse neu gestartet werden, wobei die Reihenfolge des Neustarts nach Maßgabe der hergestellten Abhängigkeiten zwischen Prozessgruppen erfolgt.
- Verfahren nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass eine Konfigurationsdatei gegeben ist, in dem Abhängigkeiten zwischen Prozessgruppen oder Prozessen und Prozessgruppen erfasst werden.
- Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass für den Neustart die Konfigurationsdatei hinsichtlich der dort erfassten Abhängigkeiten ausgewertet wird.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102005021853A DE102005021853A1 (de) | 2005-05-11 | 2005-05-11 | Flexiblere Überwachung und Wiederherstellung von Prozessen auf Datenverarbeitungssystemen |
GB0609153A GB2426088A (en) | 2005-05-11 | 2006-05-09 | Flexible monitoring and recovery of processes on data processing systems |
US11/432,175 US20070005936A1 (en) | 2005-05-11 | 2006-05-11 | More flexible monitoring and recovery of processes on data processing systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102005021853A DE102005021853A1 (de) | 2005-05-11 | 2005-05-11 | Flexiblere Überwachung und Wiederherstellung von Prozessen auf Datenverarbeitungssystemen |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102005021853A1 true DE102005021853A1 (de) | 2006-11-16 |
Family
ID=36637151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102005021853A Withdrawn DE102005021853A1 (de) | 2005-05-11 | 2005-05-11 | Flexiblere Überwachung und Wiederherstellung von Prozessen auf Datenverarbeitungssystemen |
Country Status (3)
Country | Link |
---|---|
US (1) | US20070005936A1 (de) |
DE (1) | DE102005021853A1 (de) |
GB (1) | GB2426088A (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8239709B2 (en) * | 2009-08-12 | 2012-08-07 | Apple Inc. | Managing extrinsic processes |
US8250404B2 (en) * | 2009-12-31 | 2012-08-21 | International Business Machines Corporation | Process integrity of work items in a multiple processor system |
CN114513557A (zh) * | 2021-12-21 | 2022-05-17 | 上海赛可出行科技服务有限公司 | 一种金融系统发布业务不中断的微服务通信方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4096561A (en) * | 1976-10-04 | 1978-06-20 | Honeywell Information Systems Inc. | Apparatus for the multiple detection of interferences |
US6487580B1 (en) * | 1995-09-25 | 2002-11-26 | International Business Machines Corporation | Method and system for managing concurrently executable computer processes |
US5787249A (en) * | 1996-04-30 | 1998-07-28 | International Business Machines Coporation | Method for managing membership of a group of processors in a distributed computing environment |
US5790772A (en) * | 1996-04-30 | 1998-08-04 | International Business Machines Corporation | Communications method involving groups of processors of a distributed computing environment |
US5991821A (en) * | 1996-04-30 | 1999-11-23 | International Business Machines Corporation | Method for serializing actions of independent process groups |
US6763369B1 (en) * | 1999-07-13 | 2004-07-13 | Interactive Intelligence, Inc. | Hierarchical process management in an intelligent call processing system |
JP2001331330A (ja) * | 2000-05-19 | 2001-11-30 | Fujitsu Ltd | プロセス異常検知及び復旧システム |
US7089561B2 (en) * | 2001-06-01 | 2006-08-08 | Microsoft Corporation | Methods and systems for creating and communicating with computer processes |
US7117500B2 (en) * | 2001-12-20 | 2006-10-03 | Cadence Design Systems, Inc. | Mechanism for managing execution of interdependent aggregated processes |
US20060294006A1 (en) * | 2005-06-28 | 2006-12-28 | International Business Machines Corporation | Business transaction process controller for composite transactions |
-
2005
- 2005-05-11 DE DE102005021853A patent/DE102005021853A1/de not_active Withdrawn
-
2006
- 2006-05-09 GB GB0609153A patent/GB2426088A/en not_active Withdrawn
- 2006-05-11 US US11/432,175 patent/US20070005936A1/en not_active Abandoned
Non-Patent Citations (1)
Title |
---|
SHAPIRO, M.W. et al.: Self-Healing in Modern Operating Systems. Queue December/January 2004- 2005, Vol. 2, Issue 9, ACM Press, S. 67-75 * |
Also Published As
Publication number | Publication date |
---|---|
US20070005936A1 (en) | 2007-01-04 |
GB2426088A (en) | 2006-11-15 |
GB0609153D0 (en) | 2006-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112010003595B4 (de) | Verfahren, Systeme und maschinenverarbeitbares Medium zur Bereitstellung einer verteiltenPrädikatvorhersage | |
DE69829693T2 (de) | Prozessor mit mehrfachprogrammzählern und ablaufverfolgungspuffern ausserhalb einer ausführungspipeline | |
DE69831732T2 (de) | Verfahren und gerät zum korrigieren von fehlern in einem rechnersystem | |
DE19781850B4 (de) | Mikroprozessor zum spekulativen Ausführen von Befehlen aus mehreren von einem Verzweigungsbefehl angezeigten Befehlsströmen, Verfahren und Computersystem mit Mikroprozessor | |
DE112010004530B4 (de) | Transaktionsaktualisierung bei Dynamischen Verteilten Arbeitslasten | |
DE102010052680A1 (de) | Ein Befehl, um einen Prozessor-Wartezustand zu ermöglichen | |
DE112010003492T5 (de) | Transaktionsspeichersystem mit wirksamerZwischenspeicherunterstützung | |
DE112004002267T5 (de) | Ruhezustandsmechansimus für virtuelles Multithreading | |
DE112006003453T5 (de) | Per-Satz-Relaxation der Cache-Inklusion | |
EP2492832A1 (de) | Optimierung einer auf einem Client-Server-System implementierten Softwareapplikation | |
DE202017106569U1 (de) | Analyse grossangelegter Datenverarbeitungsaufträge | |
EP2962205B1 (de) | Mehrkern-prozessorsystem mit fehleranalysefunktion | |
Xu et al. | Selective inhibition of a multicomponent response can be achieved without cost | |
DE112011101759T5 (de) | Sampling von Leerlauftransitionen | |
DE102005021853A1 (de) | Flexiblere Überwachung und Wiederherstellung von Prozessen auf Datenverarbeitungssystemen | |
DE112011100168T5 (de) | Erfassen von Diagnosedaten in einer Datenverarbeitungsumgebung | |
DE112011104830T5 (de) | Ein Verfahren zum Sicherstellen der Programmkorrektheit unter Verwendung von feingranularem spekulativem Hardwareausführen | |
DE112011100536T5 (de) | Transaktionsverarbeitungssystem | |
DE102019135079A1 (de) | Installation von firmware-bundles abbrechen | |
DE112021005908T5 (de) | Zuweisung von mikroprozessorregister-tags zur ausgabezeit | |
Steffani et al. | Effects of the first COVID-19 wave on visceral surgery: A retrospective comparison of case numbers from a university hospital and a primary care hospital | |
DE102005045904B4 (de) | Datenverarbeitungseinrichtung mit Performance-Steuerung | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen | |
DE102016101871A1 (de) | Nicht initialisierte Arbeitsspeicherverweise erfassen | |
DE2507405A1 (de) | Verfahren und anordnung zum synchronisieren der tasks in peripheriegeraeten in einer datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8130 | Withdrawal |