-
ALLGEMEINER STAND DER TECHNIK
-
Die automatisierte Ausführung von Computerprogrammen ist wünschenswert, um Wartung, Inventur oder andere routinemäßige und/oder sich wiederholende Tasks auf einem Computersystem auszuführen. Die Automatisierung solcher Tasks ist besonders in einer vernetzten Umgebung vorteilhaft, oder ansonsten in einer Einrichtung mit einer großen Anzahl von Workstations, für die die gegebenen Tasks ausgeführt werden müssen. Häufig ist die manuelle Ausführung solcher Tasks betriebsmittelintensiv, umständlich und unzuverlässig.
-
Ein Verfahren zur automatischen Ausführung von Computerprogrammen ist die Verwendung eines Planungs-Computerprogramms, wie zum Beispiel des Windows-Taskplanerprogramms, das von dem Computerbetriebssystem Windows XP von Microsoft, veröffentlicht von Microsoft Corporation in Redmond, Washington, bereitgestellt wird. Auf einer gegebenen Workstation ermöglicht es der Windows-Taskplaner einem Benutzer, die automatisierte Ausführung eines Programms gemäß einem auf einem Kalender basierenden Ausführungsablaufplan, einschließlich der Konfiguration einer immer wieder auftretenden Ausführung des bestimmten Programms gemäß einem auf einem Kalender basierenden Muster, zu planen. Auf Workstations, die auf UNIX basieren, können Benutzer die CRON-Funktionalität benutzen, um die Task-/Programmausführung zu automatisieren. Ferner stellen andere Programme auf einem Kalender basierende Planung von Tasks bereit. Zum Beispiel erlaubt es Microsoft Outlook, veröffentlicht von Microsoft Corporation in Redmond, Washington, einem Benutzer, Erinnerungen einzuplanen, die in einem Erinnerungsfenster angezeigt werden, oder ansonsten zum festgelegten Zeitpunkt einen Hinweis auf dem Computeranzeigeschirm zu aktivieren. Jedes Mal, wenn es gestartet wird, prüft Outlook auf anstehende Erinnerungen, d. h. Erinnerungen, die angezeigt worden wären, falls Outlook gelaufen wäre. Wenn folglich der Computer zum festgelegten Zeitpunkt ausgeschaltet ist, zeigt Outlook etwaige anstehende Erinnerungen das nächste Mal an, wenn Outlook ausgeführt wird.
-
Die Schrift
US 6 065 123 A offenbart ein Computersystem, dessen Betriebsbereitschaft programmtechnisch gesteuert wird, indem ein Programm ereignisgesteuert zwischen verschiedenen Stromversorgungszuständen des Computers umschaltet. Das System umfasst unterschiedliche Applikationen, die ohne Nutzerüberwachung automatisch im Hintergrund ausgeführt werden und beispielsweise einkommende Faxnachrichten oder Anrufe empfängt oder zeitgesteuerte Nachrichten sendet. Bei fehlenden Aktivitäten der Applikationen wird das Computersystem in einen niedrigeren Stromversorgungsmodus umgeschaltet. Applikationen, die eine ereignis- oder eine zeitgesteuerte Aktivierung aufweisen, können verwaltet werden und mit besonderen Regeln für den Fall eines erforderlichen Neustarts versehen werden. Über Datenbanken zur Ablaufplanung werden die Zeitpunkte verwaltet, zu denen die Applikationen gestartet werden sollen. Die Datenbanken werden von einem Serviceagentenprogramm verwendet, der einen Zeitmesser benutzt, um das System für die geplanten Ereignisse zu aktivieren. Weiterhin reagiert der Serviceagent auf andere Ereignisse, um das System neu zu starten.
-
In der Firmenschrift ”Software Update Services Overview. Microsoft Windows Server White Paper. USA, 2002” des Unternehmens Microsoft Corporation wird ein Überblick über das Programm Software Update Services gegeben, über welches kritische Patches zur Schließung von Sicherheitslücken und Systeminstabilitäten für die Betriebssysteme Microsoft Windows® 2000, Windows XP und Windows .NET Server verwaltet und verteilt werden.
-
Ein Problem bei diesen Verfahren für die Planung besteht darin, daß sie auf einem Kalender basieren. Folglich verwenden sie absolute Referenzen bei der Spezifikation einer Planung, einschließlich der Spezifikation von Wiederauftrittsmustern. Auf einem Kalender basierende Planung kann für Informationszwecke gut funktionieren, wie zum Beispiel für das Anzeigen von Hinweisen oder Erinnerungen, wenn sie jedoch zur Steuerung der Programm- oder Taskausführung verwendet wird, kann eine solche Planung unter bestimmten Umständen zu einer anomalen Ausführung führen, zum Beispiel wenn der Computer ausgeschaltet ist, beschäftigt oder anderweitig für die Ausführung der geplanten Task unverfügbar ist. Wenn zum Beispiel die Task dafür eingeplant ist, jeden Dienstag ausgeführt zu werden, und der Computer 3 Wochen lang ausgeschaltet ist, kann, wenn der Computer das nächste Mal an einem Mittwoch heraufgefahren wird, das vorbekannte Automatisierungsprogramm die drei verpaßten Ausführungen sofort ausführen, ähnlich wie Microsoft Outlook anstehende Erinnerungen behandelt, was abhängig von der Auswirkung auf die Systembelastung oder andere Betriebsmittel inakzeptabel sein kann. Als Alternative führt das Automatisierungsprogramm möglicherweise die Task überhaupt nicht aus, bis der nächste Dienstag kommt, wodurch eine zusätzliche und vielleicht inakzeptable Verzögerung der Ausführung der Task entsteht.
-
Es ist daher die Aufgabe der vorliegenden Erfindung, ein System und ein Verfahren zur automatisierten Task-/Programmausführungsverwaltung bereitzustellen, die sich nicht auf absolute Referenzen für die Planung der Ausführung von Programmen verlassen und potentielle Betriebsbedingungen flexibel behandeln.
-
Diese Aufgabe wird gelöst durch ein Verfahren nach Anspruch 1, durch ein System nach Anspruch 15, sowie durch ein System nach Anspruch 28.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt ein Blockschaltbild eines beispielhaften Taskverwaltungssystems gemäß einer Ausführungsform.
-
2 zeigt ein Flußdiagramm der Funktionsweise des Systems von 1 gemäß einer Ausführungsform.
-
AUSFÜHRLICHE BESCHREIBUNG DER ZEICHNUNGEN UND ZUR ZEIT BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Die offengelegten Ausführungsformen betreffen ein System und ein Verfahren zur automatisierten Task-/Programmverwaltung, die nicht von einer auf einem Kalender basierenden Planung abhängt und verschiedene Betriebsbedingungen flexibel berücksichtigt. Bei einer Ausführungsform ermöglichen das offengelegte System und Verfahren eine Spezifikation einer oder mehrerer durchzuführender Tasks, wie zum Beispiel einer immer wieder auftretenden Task und eines Zeitintervalls. Die Durchführung/Ausführung der Task(s) kann mit der Erfülllung einer oder mehrerer Bedingungen zusammenhängen oder von ihr abhängen, wie zum Beispiel daß der Computer, der die Task ausführt, eingeschaltet oder anderweitig verfügbar ist. Das System und Verfahren überwachen auf das Ablaufen des spezifizierten Zeitintervalls und außerdem, daß die Bedingung erfüllt ist (was als Vorgabe auftreten kann, oder ansonsten naturgemäß auftritt, wenn das Überwachungsprogramm ähnlich von der Bedingung abhängt). Nach dem Ablaufen des Zeitintervalls und Erfüllung der Bedingung wird die Ausführung der spezifizierten Task(s) bzw. Programm(e) bewirkt. Auf diese Weise werden zum Beispiel, wenn der Computer, der eine immer wieder auftretende Task ausführen soll, nicht verfügbar ist, mehrerer verpaßte Ausführungen der gegebenen Task nicht aufgespeichert und dann unmittelbar ausgeführt, wenn der Computer verfügbar wird, und die Ausführung der Task wird nicht aufgrund der Zeitsteuerung der Verfügbarkeit des Computers in bezug auf eine Wiederauftrittsplanung verzögert.
-
Um den Gebrauch in den anhängigen Ansprüchen zu erklären und hiermit die Öffentlichkeit zu informieren, werden die Ausdrücke ”<A>, <B>, ... und/oder <N>” oder ”<A>, <B>, ... und/oder <N>”, oder Kombinationen davon” vom Anmelder im allgemeinsten Sinne und als Ablösung für etwaige andere implizierte Definitionen von früher oder später, sofern nicht ausdrücklich vom Anmelder gegenteilig ausgesagt, so definiert, daß sie ein oder mehrere Elemente bedeuten, die aus der A, B, ... und N umfassenden Gruppe ausgewählt werden, das heißt, eine beliebige Kombination von einem oder mehreren der Elemente A, B, ... oder N, einschließlich eines Elements alleine oder in Kombination mit einem oder mehreren der anderen Elemente, die ebenfalls in Kombination zusätzliche, nicht aufgelistete Elemente umfassen können.
-
2 zeigt ein Flußdiagramm der Funktionsweise des offengelegten Systems gemäß einer Ausführungsform zur Bewirkung der Ausführung eines oder mehrerer Computerprogramme auf einem Computer. Das auszuführende Computerprogramm bzw. die auszuführenden Computerprogramme wären zum Beispiel ein Instrumentverwaltungsprogramm oder ein beliebiges Computerprogramm, darunter Wartungs- oder Aktualisierungsprogramme, Planungsprogramme, Anwendungsprogramme usw. Ferner kann man mit den offengelegten Ausführungsformen die Ausführung mehrerer verschiedener Programme auf einem oder mehreren Computern und/oder desselben Programms auf verschiedenen Computern bewirken, wie besprochen werden wird, sowie mit verschiedenen Wiederauftrittsmustern und -bedingungen. Bei einer Ausführungsform kann das offengelegte System und Verfahren auf demselben Computer ausgeführt werden, der das gewünschte Programm bzw. die gewünschte Task ausführt, oder bei einer alternativen Ausführungsform können das offengelegte System und Verfahren auf einem Computer ausgeführt werden, der von dem Computer bzw. den Computern abgesetzt ist, worauf die bestimmte Task bzw. das bestimmte Programm ausgeführt wird, wobei die Computer über ein Netzwerk, wie zum Beispiel das Internet, ein Intranet, ein verdrahtetes oder drahtloses Netzwerk oder Kombinationen davon miteinander verbunden sind. Bei einer weiteren alternativen Ausführungsform kann das offengelegte System und Verfahren unter einer Kombination von abgesetzten und lokalen Komponenten implementiert werden. Ein abgesetzt angeordnetes Planungssystem gemäß den offengelegten Ausführungsformen kann zum Beispiel dazu verwendet werden, die Ausführung eines lokal angeordneten Planungssystems auch gemäß den offengelegten Ausführungsformen zu bewirken, das die Ausführung einer anderen Task bzw. eines anderen Programms wie beschrieben auf einem lokalen oder einem weiteren abgesetzten Computer bewirkt.
-
Im Betrieb wird eine Spezifikation eines Zeitintervalls und des auszuführenden Programms empfangen (Block 202). Die Spezifikation kann von einem Benutzer über eine mit dem offengelegten System gekoppelte Benutzeroberfläche, wie zum Beispiel einer graphischen oder auf Text basierenden Benutzeroberfläche empfangen werden. Bei einer Ausführungsform kann die Spezifikation über ein Netzwerk von einem abgesetzten Computer durch ein lokal zu dem Computer, der das spezifizierte Programm bzw. die spezifizierten Programme ausführen wird, laufenden Programm empfangen werden, wobei der abgesetzte Computer die Spezifikation von einem Benutzer empfangen hat. Das Zeitintervall repräsentiert die minimale Zeitdauer, die zwischen der Ausführung immer wieder auftretender Vorfälle des spezifizierten Programms bzw. der spezifizierten Programme auf dem Computer ablaufen muß. Dadurch wird sichergestellt, daß nicht mehrere verpaßte Ausführungen auf einmal ausgeführt werden, wenn der Computer verfügbar wird. Bei einer Ausführungsform kann das Zeitintervall dynamisch sein und sich mit jedem Vorfall der Ausführung des Programms bzw. der Programme oder auf der Basis eines bestimmten anderen Ereignisses ändern, wie zum Beispiel Zunahme, Abnahme oder zufällige, Änderung wie etwa für Sicherheitszwecke. Wenn das auszuführende Programm zum Beispiel ein Wartungsprogramm ist, kann das Zeitintervall dynamisch eingestellt werden, um die Ausführungshäufigkeit zu ändern, wenn der Computer routinemäßig einer großen Arbeitslast ausgesetzt ist, entweder um eine Störung der Arbeitslast zu vermeiden (weniger häufige Ausführung) oder um sicherzustellen, daß das System ausreichend Wartung erhält (häufigere Ausführung), abhängig von der Implementierung. Bei einem weiteren Beispiel kann das auszuführende Programm mit einer Sicherheitsanwendung in Beziehung stehen und deshalb kann ein randomisiertes Intervall verwendet werden, so daß keine unbefugten Entitäten bestimmen können, wann das Programm ausgeführt wird.
-
Wie oben besprochen, steht die Ausführung des Programms mit der Erfüllung einer oder mehrerer Bedingungen, die mit dem Zeitintervall nicht zusammenhängen, in Beziehung. Bei einer Ausführungsform kann die Ausführung des Programms bzw. der Programme von der Erfüllung der Bedingung abhängig sein. Bei einer Ausführungsform kann die Spezifikation ferner die Bedingung(en) spezifizieren. Als Alternative kann die Erfüllung der Bedingung(en) der Ausführung des Programms bzw. der Programme naturgemäß sein. Bedingungen wären zum Beispiel, daß der Computer, der das Programm ausführen soll, eingeschaltet, funktionsfähig oder anderweitig verfügbar ist. Wenn der Computer, der das offengelegte System ausführt, derselbe Computer ist, der das spezifizierte Programm bzw. die spezifizierten Programme ausführen soll, versteht sich, daß eine Bedingung, die von dem Betriebszustand des Computers abhängt, naturgemäß durch die Tatsache, daß das offengelegte System selbst arbeitet, als erfüllt bestimmt werden kann. Andere Bedingungen wären zum Beispiel, daß der Computer nicht viel zu tun hat, nicht benötigt wird oder seine Arbeitslast unter einer bestimmten Schwelle liegt. Andere Bedingungen wären zum Beispiel das Auftreten eines oder mehrerer Ereignisse oder Bedingungen, die mindestens indirekt mit dem spezifizierten Zeitintervall in Beziehung stehen. Zusätzlich können die spezifizierten Bedingung(en), und zwar entweder die Bedingung(en) selbst oder die Faktoren, die die Bedingung(en) erfüllen, mit jedem Vorfall der Ausführung des Programms bzw. der Programme oder auf der Basis eines bestimmten anderen Ereignisses dynamisch sein und sich ändern. Bei bestimmten Ausführungsformen können Bedingungen verwendet werden, von denen erwartet wird, daß sie selten oder niemals erfüllt sind.
-
Nachdem die Spezifikation empfangen wurde, wird ein erster Vorfall des Programms bzw. der Programme ausgeführt (Block 204). Bei einer Ausführungsform kann, wenn das offengelegte System abgesetzt von dem Computer, auf dem die Ausführung stattfinden soll, betrieben wird, das abgesetzte System einen oder mehrere Befehle über das Netzwerk zu dem Computer senden, um die Ausführung zu bewirken. Der Computer kann dann antworten, um zu bestätigen, daß der Befehl bzw. die Befehle empfangen wurde(n) und/oder das Programm bzw. die Programme ausgeführt wird bzw. werden oder ausgeführt worden sind, abhängig von der Implementierung.
-
Bei einer Ausführungsform wird bewirkt, daß das Programm bzw. die Programme sofort nach dem Empfang der Spezifikation ausgeführt wird bzw. werden. Bei einer alternativen Ausführungsform wird bewirkt, daß das Programm bzw. die Programme nach dem Ablauf eines Zeitintervalls vom Zeitpunkt des Empfangs der Spezifikation oder von einer bestimmten anderen spezifizierten Basiszeit ausgeführt wird bzw. werden, und wenn die Bedingung(en) erfüllt ist bzw. sind, wie später ausführlicher besprochen werden wird.
-
Nachdem die Ausführung des Programms bzw. der Programme bewirkt wurde, überwacht das System den Ablauf von Zeit seit der Ausführung des Programms bzw. der Programme und vergleicht diesen Zeitablauf mit dem spezifizierten Zeitintervall (Block 206). Bei einer Ausführungsform beginnt die Überwachung, nachdem die Ausführung des Programms bzw. der Programme endet. Bei einer alternativen Ausführungsform beginnt die Überwachung, nachdem die Ausführung des Programms bzw. der Programme bewirkt wurde. Bei einer weiteren alternativen Ausführungsform wird, wenn während der Überwachung des Ablaufens der Zeit und bevor die abgelaufene Zeit das spezifizierte Zeitintervall erreicht oder überschreitet, die Ausführung des Programms bzw. der Programme bewirkt, wie zum Beispiel durch einen Benutzer, der manuell die Ausführung bewirkt, der überwachte Ablauf von Zeit zurückgesetzt und das System überwacht den Ablauf von Zeit weiter.
-
Ferner wird bestimmt, ob die Bedingung(en) erfüllt ist bzw. sind (Block 208). Bei einer Ausführungsform erfolgt diese Bestimmung, nachdem der überwachte Ablauf von Zeit ein spezifiziertes Zeitintervall erreicht oder überschreitet, und die Bedingung(en) muß bzw. müssen zu diesem Zeitpunkt erfüllt sein. Bei einer alternativen Ausführungsform erfolgt die Überwachung der Bedingung(en) kontinuierlich und sie kann bzw. können zu einem beliebigen Zeitpunkt erfüllt sein, auch wenn die Bedingung(en) nachfolgend nicht erfüllt ist bzw. sind, wenn der Ablauf von Zeit das spezifizierte Zeitintervall erreicht oder überschreitet.
-
Nachdem der Ablauf von Zeit das spezifizierte Zeitintervall erreicht oder überschreitet und die Bedingung(en) als erfüllt bestimmt ist bzw. sind, wird die Ausführung des nachfolgenden Vorfalls des Programms bzw. der Programme bewirkt (Block 210). Bei dem offengelegten System wird der überwachte Ablauf von Zeit dann zurückgesetzt, bei einer Ausführungsform wird die Überwachung des Ablaufs von Zeit und die Bestimmung bezüglich der Erfüllung der Bedingung(en) für das nächste Wiederauftreten der Ausführung des Programms bzw. der Programme wiederholt.
-
1 zeigt ein Blockschaltbild der logischen Implementierung eines beispielhaften Taskverwaltungssystems 104 gemäß einer Ausführungsform. Wie oben beschrieben, kann das System 104 auf dem Computer 102 ausgeführt werden, der das bestimmte Programm 114 ausführt, oder kann auf einem davon abgesetzten Computer ausgeführt werden. Bei einer Ausführungsform wird das System 104 als ein oder mehrere Softwareprogramme implementiert, die im Speicher des Computers 102 ausgeführt werden. Als Alternative kann das System 104 in Hardware oder in einer Kombination von Hardware und Software implementiert werden.
-
Das System 104 enthält eine Spezifikation 112 des auszuführenden Programms bzw. der auszuführenden Programme 114 und eines Zeitintervalls. Die Spezifikation 112 kann als ein Speicher oder eine andere Speichereinrichtung implementiert werden, worin Daten gespeichert werden, die die Spezifikation des Programms bzw. der Programme und des Zeitintervalls repräsentieren. Die Spezifikation 112 kann von einem abgesetzten Computer und/oder von einem Benutzer über eine (nicht gezeigte) Benutzeroberfläche empfangen werden. Das auszuführende Programm bzw. die auszuführenden Programme 114 können mit der Spezifikation 112 ausgestattet werden, oder die Spezifikation 112 kann einfach die Speicherstelle und Anweisungen zur Ausführung des Programms spezifizieren.
-
Das System 104 enthält ferner Ausführungslogik 110, Ablauflogik 116 und Bedingungsprüflogik 118. Die Ausführungslogik 110 ist mit dem Programm bzw. den Programmen 114 und dem Computer 102 gekoppelt und bestimmt, wann die Ausführung des Programms bzw. der Programme 114 auf dem Computer 102 bewirkt werden soll, auf der Basis der Ablauflogik 116 und der Bedingungsprüflogik 118. Hierbei ist der Ausdruck ”gekoppelt mit” so definiert, daß er direkt verbunden oder indirekt durch eine oder mehrere Zwischenkomponenten verbunden bedeutet. Solche Zwischenkomponenten können sowohl auf Hardware als auch auf Software basierende Komponenten enthalten. Die Ablauflogik 116 kann einen Zähler, eine Takteinrichtung oder eine andere Zeitsteuerungseinrichtung enthalten oder damit gekoppelt sein, und mißt den Ablauf von Zeit von einem gegebenen Ereignis aus und vergleicht den Ablauf von Zeit mit dem spezifizierten Zeitintervall. Die Ablauflogik 116 kann ferner mit der Ausführungslogik 110 gekoppelt sein, so daß die Ausführungslogik 110 den Ablaufzählwert bzw. die Ablaufzeit bei Ausführung des Programms 114 zurücksetzen kann. Die Ablauflogik 116 vergleicht ferner die abgelaufene Zeit mit dem spezifizierten Zeitintervall, und wenn die abgelaufene Zeit das spezifizierte Zeitintervall erreicht oder überschreitet, signalisiert die Ablauflogik 116 der Ausführungslogik 110, daß das Zeitintervall abgelaufen ist. Die Bedingungsprüflogik 118 bestimmt, ob die Bedingung(en), die naturgemäß sind oder durch die Spezifikation 112 spezifiziert werden, erfüllt wurden. Wie bereits besprochen wurde, kann, wenn die Bedingungen) dem Betrieb des Systems 104 naturgemäß ist bzw. sind, möglicherweise tatsächlich keine Bedingungsprüflogik 118 vorliegen, da der Betrieb des Systems 104 an sich anzeigen kann, daß die naturgemäße Bedingung erfüllt wurde. Wenn die Bedingung(en) unabhängig und prüfbar ist bzw. sind, bestimmt die Bedingungsprüflogik 118, ob die Bedingung(en) erfüllt ist bzw. sind. Bei einer Ausführungsform bestimmt die Bedingungsprüflogik 118, ob die Bedingung(en) erfüllt wurde(n), erst nachdem die Ablauflogik 116 bestimmt hat, daß das Zeitintervall abgelaufen ist, da die vorherige Ausführung des Programms 114 und die Bedingung(en) zu diesem Zeitpunkt erfüllt sein müssen. Bei einer alternativen Ausführungsform kann bzw. können die Bedingung(en) vor dem Ablauf des Zeitintervalls erfüllt werden, obwohl sie möglicherweise nicht erfüllt ist bzw. sind, wenn das Zeitintervall abgelaufen ist. Bei Erfüllung der Bedingung(en) sendet die Bedingungsprüflogik 118 ein diesen Umstand anzeigendes Signal zu der Ausführungslogik 110.
-
Nach dem Empfang von Signalen, die anzeigen, daß das Zeitintervall abgelaufen ist und die Bedingung(en) erfüllt ist bzw. sind, bewirkt die Ausführungslogik 110 die Ausführung des Programms bzw. der Programme 114 auf dem Computer 102. Bei einer Ausführungsform setzt die Ausführungslogik 110 dann die Ablaufzeit bzw. den Ablaufzähler zurück, nachdem entweder das Programm bzw. die Programme 114 mit der Ausführung fertig sind, oder nachdem das Programm bzw. die Programme 114 mit der Ausführung anfangen (abhängig von der Implementierung) als Vorbereitung auf das nächste Wiederauftreten der Ausführung des Programms bzw. der Programme 114.
-
Auf diese Weise wird das Programm 114 bzw. werden die Programme 114 in dem spezifizierten Intervall und gemäß den diesem auferlegten spezifizierten oder naturgemäßen Bedingungen ausgeführt. Dies vermeidet ”Aufhol”-Situationen, in denen verpaßte Ausführungen des Programms 114 alle auf einmal ausgeführt werden, wenn die Bedingung(en) erfüllt ist bzw. sind und verhindert außerdem Ausführungsverzögerungen, wenn Systemverfügbarkeit oder Erfüllung anderer Bedingungen nicht mit der Ausführungsplanung synchronisiert sind.
-
In einem beispielhaften System 104 soll ein Instrumentverwaltungsprogramm 114 auf einem Computer 102 alle 14 Tage (Zeitintervall) ausgeführt werden und der Computer muß funktionsfähig sein, damit das Programm 114 ausgeführt werden kann. Am Tag 1 wird der Computer 102 gestartet und das Instrumentverwaltungsprogramm 114 ausgeführt. Für die nächsten 14 Tage wird der Computer 102 regelmäßig benutzt, aber es wird nicht bewirkt, daß das Instrumentverwaltungsprogramm 114 durch das System 104 ausgeführt wird. Am Tag 15 wird der Computer 102 gestartet. Zu diesem Zeitpunkt bestimmt die Ablauflogik 116, daß das Zeitintervall abgelaufen ist, und die Bedingungsprüflogik 118 bestimmt, daß der Computer 102 funktionsfähig ist. Die Ausführungslogik 110 bewirkt dann die Ausführung des Programms 114 und setzt dann die Ablauflogik 116 zurück. Wenn der Computer an diesem selben Tag neu gestartet wird, bewirkt die Ausführungslogik 110 nicht, daß das Programm 114 nochmals ausgeführt wird. 14 Tage später wird der Computer 102 nicht gestartet und wird für weitere 20 Tage nicht gestartet. Zu diesem Zeitpunkt wird der Computer 102 gestartet, und die Ausführungslogik 110 bewirkt wie oben beschrieben nur eine einmalige Ausführung des Programms 114, trotz des Umstandes, daß zwei Intervalle abgelaufen sind.
-
Es versteht sich, daß die auszuführende Task bzw. das auszuführende Programm auf einem ersten Computer ausgeführt werden können, um so eine Task in bezug auf einen zweiten Computer durchzuführen, wie zum Beispiel über ein Netzwerk. Folglich kann die Ausführung der Task bzw. des Programms von der Bedingung abhängig sein, daß sowohl der erste Computer als auch der zweite Computer verfügbar sind.
-
Es ist deshalb beabsichtigt, daß die obige ausführliche Beschreibung als veranschaulichend und nicht als einschränkend betrachtet wird und es versteht sich, daß die folgenden Ansprüche einschließlich aller Äquivalente den Gedanken und Schutzumfang der vorliegenden Erfindung definieren sollen.