DE112011105019T5 - Aufgabensteuerung in einem Computersystem - Google Patents

Aufgabensteuerung in einem Computersystem Download PDF

Info

Publication number
DE112011105019T5
DE112011105019T5 DE112011105019T DE112011105019T DE112011105019T5 DE 112011105019 T5 DE112011105019 T5 DE 112011105019T5 DE 112011105019 T DE112011105019 T DE 112011105019T DE 112011105019 T DE112011105019 T DE 112011105019T DE 112011105019 T5 DE112011105019 T5 DE 112011105019T5
Authority
DE
Germany
Prior art keywords
task
user
sensor
computer system
data
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
Application number
DE112011105019T
Other languages
English (en)
Inventor
Jafar Alizadeh
Ernest Hood Jr.
Keith A. Rogers
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE112011105019T5 publication Critical patent/DE112011105019T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)
  • Stored Programmes (AREA)
  • Power Sources (AREA)

Abstract

Ein Computersystem kann einen Sensor und einen Task aufweisen. Der Sensor kann Sensordaten erzeugen. Das Computersystem kann den Task auf der Basis der Sensordaten verzögern.

Description

  • HINTERGRUND
  • Computersysteme haben Anwendungen, die nach einem vorgegebenen Plan Funktionen ausführen. Beispielsweise kann ein Computer einen Virus-Scan oder Anwendungsaktualisierungen haben, die nach einem Zeitplan ausgeführt werden. Diese Aufgaben (Tasks) können bewirken, dass andere Anwendungen langsamer ausgeführt werden, falls Ressourcen des Computersystems für die Ausführung eines Tasks eingesetzt werden, wenn die Ausführung des Tasks geplant ist.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Einige Ausführungsformen der Erfindung werden mit Bezug auf die folgenden Figuren beschrieben:
  • 1 ist ein Blockdiagramm eines Task-Controllers eines Computersystems gemäß einer beispielhaften Ausführungsform;
  • 2 ist ein Blockdiagramm eines Task-Controllers eines Computersystems gemäß einer beispielhaften Ausführungsform;
  • 3 ist ein Ablaufdiagramm eines Verfahrens zur Steuerung eines Tasks gemäß einer beispielhaften Ausführungsform;
  • 4 ist ein Ablaufdiagramm eines Verfahrens zur Steuerung eines Tasks gemäß einer beispielhaften Ausführungsform; und
  • 5 ist ein Blockdiagramm eines Computersystems gemäß einer beispielhaften Ausführungsform;
  • DETAILLIERTE BESCHREIBUNG
  • Eine Aufgabe (Task), die nach einem Zeitplan ausgeführt wird, kann bewirken, dass Ressourcen von einer Anwendung, deren Ausführung ein Benutzer veranlasst, zu dem Task, der nach einem Zeitplan ausgeführt wird, umgeleitet werden. Wenn Ressourcen von der Anwendung, deren Ausführung der Benutzer veranlasst, umgeleitet werden, kann die Ausführung der Anwendung im Vergleich zur Ausführung ohne einen die Ressourcen verwendenden Task verlangsamt werden. Falls ein Benutzer beispielsweise versucht, über einen Web-Browser auf das Internet zuzugreifen oder ein Dokument zu bearbeiten, kann das Computersystem anscheinend langsam ausgeführt werden, wenn ein Task wie z. B. ein Wartungs-Task ausgeführt wird, während der Benutzer eine Anwendung ausführt. Ein Wartungs-Task kann beispielsweise ein Virus-Scan, ein Backup-Dienstprogramm oder eine automatische Aktualisierung sein.
  • Ein Computersystem beansprucht Energie, und zur Verhinderung der Leistungsaufnahme durch ein Computersystem, wenn das Computersystem nicht verwendet wird, kann ein Energieverwaltungssystem bewirken, dass das Computersystem in einen Zustand geringer Energie eintritt. In einem Computersystem, das ACPI (Advanced Configuration and Power Interface) verwendet, kann ein Zustand geringer Energie beispielsweise das Anhalten, ein Stand-by-Betrieb, ein Ruhezustand (Hibernation) oder ein anderer Zustand geringer Energie sein. Wenn ein System in einem Zustand geringer Energie ist und die Ausführung eines Tasks zu einem angegebenen Zeitpunkt geplant ist, wird der Task möglicherweise nicht ausgeführt, bis das Computersystem aus dem Zustand geringer Energie herausgeführt worden ist. Wenn die Bestimmung, ob ein Task ausgeführt werden soll, auf einer Zeitvorgabe basiert, muss der Task möglicherweise das Energieverwaltungssystem umgehen, um den Task auszuführen, oder der Task kann Ressourcen von einer anderen Anwendung umleiten. Falls ein Task ausgeführt werden kann, wenn ein System nicht verwendet kann, aber nicht in einen Zustand geringer Energie eingetreten ist, kann das Computersystem effizienter sein, als wenn das Computersystem zur Ausführung eines Tasks das Energieverwaltungssystem umgehen muss.
  • Ein Computersystem kann wie z. B. bei Mobilfunktelefonen und Tablets „Always On Always Connected” (AOAC) (immer eingeschaltet, immer verbunden). AOAC bedeutet, dass die Daten zum Computersystem gesendet werden können, ohne dass das Computersystem die Daten anfordert, wie z. B. bei Push-E-Mail in Mobiltelefonen. Ein Computersystem, das immer eingeschaltet und immer verbunden ist, hat eine Logik zur Verlängerung der Batterielebensdauer, da das Computersystem stets eingeschaltet ist. Ein AOAC-System kann einen Niederspannungs-Prozessor haben, um im Vergleich zum Prozessor eines Desktop-Computersystems Batteriestrom zu erhalten. Wenn ein Task ausgeführt wird, während das Computersystem Batteriestrom einspart, kann die Zeitdauer sinken, bis die Batterie des Computersystems wieder aufgeladen werden muss.
  • Ein Sensor kann verwendet werden, um zu bestimmen, ob ein Task ausgeführt werden kann, ohne Ressourcen von einer Anwendung, deren Ausführung durch einen Benutzer veranlasst wird, umzuleiten. Ein Sensor kann beispielsweise ein Näherungssensor sein. Der Sensor kann bestimmen, dass innerhalb eines vorgegebenen Bereichs ein Benutzer anwesend ist, und den Task verzögern, bis der Benutzer nicht mehr anwesend ist.
  • Eine Verzögerung kann die Zurückstellung eines Tasks beinhalten, dessen Ausführung noch nicht begonnen hat, und eine Verzögerung kann eine Aussetzung eines Tasks beinhalten, dessen Ausführung bereits begonnen hat. Die Ausführung eines Tasks, die bereits auf dem Computersystem begonnen hat, wenn sich ein Benutzer dem Computersystem nähert, kann ausgesetzt werden, bis der Näherungssensor die Anwesenheit des Benutzers nicht mehr erkennt. Die Verzögerung oder Aussetzung eines Tasks auf einem AOAC-Computersystem kann auch die Umleitung von Ressourcen zum Task reduzieren.
  • Das Computersystem kann Sensoren aufweisen, die andere Merkmale erkennen, welche das Computersystem verwenden kann, um zu bestimmen, ob der Task ausgeführt werden soll. Beispielsweise kann ein Sensor, der die Menge des Umgebungslichts erkennt, verwendet werden, um zu bestimmen, ob der Task ausgeführt werden soll. Der Umgebungslichtsensor kann zusätzlich zum Näherungssensor eingesetzt werden, und das Computersystem kann den Task ausführen, wenn der Benutzer nicht anwesend ist und der Umgebungslichtsensor beispielsweise erkennt, dass der Raum dunkel ist. Wenn es mehrere Sensoren gibt, können sie einzelnen oder kombiniert eingesetzt werden, um auf der Grundlage von Daten von den Sensoren zu bestimmen, ob ein Task ausgeführt oder verzögert werden soll.
  • Die Verzögerung von Tasks kann bewirken, dass ein Computersystem einen Task während einer Standzeit des Computersystems ausführt. Ein Zeitplan, der einen Task zu einem vorgegebenen Zeitpunkt ausführt und keinen Sensor verwendet, um aus der Umgebung des Computersystems zu bestimmen, ob ein Task ausgeführt werden soll, kann die Arbeit des Benutzers beeinflussen, indem Prozessorleistung von der Anwendung, deren Ausführung der Benutzer veranlasst, umgeleitet wird.
  • Bei einer Ausführungsform kann ein Computersystem einen Task-Scheduler, einen Sensor und einen Controller aufweisen. Der Sensor kann Daten zur Anwesenheit eines Benutzers erzeugen. Der Controller kann Daten vom Sensor empfangen und basierend auf den Sensordaten einen Task im Task-Scheduler verzögern oder ausführen.
  • Bei einer anderen Ausführungsform kann ein Verfahren zur Steuerung von Tasks in einem Computersystem die Anwesenheit eines Benutzers aus Sensordaten ermitteln und bestimmen, ob die Ausführung eines Tasks die Performance des Computersystems reduzieren würde.
  • Der Task kann verzögert werden, wenn Sensordaten angeben, dass das Computersystem zurzeit verwendet wird und dass die Ausführung des Tasks die Performance des Computersystems reduzieren würde.
  • Mit Bezug auf die Figuren ist 1 ein Blockdiagramm eines Task-Controllers eines Computersystems gemäß einer beispielhaften Ausführungsform. Ein Computersystem 100 kann einen Task-Scheduler 105 aufweisen, um einen Task 115 zu planen. Der Zeitplan 107 kann einen Zeitpunkt vorgeben, zu dem der Task ausgeführt werden soll. Der vorgegebene Zeitpunkt kann ein wiederkehrender oder ein einmaliger Zeitpunkt sein. Wenn der Task ein wiederkehrender Task ist, kann der Task zur gleichen Zeit in jedem Zeitraum, wie z. B. einer Woche, einem Monat, einem Jahr usw., ausgeführt werden. Der Zeitplan 107 kann Daten dazu aufweisen, ob ein Task 115 basierend auf Sensordaten 112 von einem Sensor 110 ausgeführt werden soll.
  • Der Sensor 110 kann Daten zu externen Kriterien erzeugen, wie z. B. zur Umgebung des Computersystems. Beispielsweise kann der Sensor 110 ein Näherungssensor sein, der Sensordaten 112 zu Objekten innerhalb der Sensorreichweite des Näherungssensors erzeugen. Andere beispielhafte Sensoren 110 können ein Umgebungslichtsensor zur Bestimmung, ob der Bereich um das Computersystem 110 dunkel ist, oder ein Beschleunigungssensor zur Bestimmung, ob sich das System bewegt, sein.
  • Ein Controller 120 kann Sensordaten 112 von einem Sensor 110 empfangen und basierend auf den Sensordaten 112 einen Task 115 im Task-Scheduler 105 verzögern oder ausführen. Der Controller 120 kann beispielsweise ein Mikroprozessor für allgemeine Zwecks sein, der Anweisungen von einer Anwendung unter Verwendung des Befehlssatzes ausführen kann.
  • Ein Task 115 kann im Task-Scheduler 105 registriert sein. Falls beispielsweise im Computersystem eine neue Virusschutzanwendung, Backup-Anwendung, Update-Anwendung oder eine beliebige andere Anwendung installiert wird, die einen Task hat, kann dieser Task im Task-Scheduler 105 registriert werden. Der Task-Scheduler 105 kann den besten Zeitpunkt für die Ausführung des Tasks 115 bestimmen, einen Zeitplan vom Task 115 empfangen oder den Benutzer zur Vorgabe eines Zeitpunkts für die Ausführung des Tasks auffordern. Der Task-Scheduler 105 ordnet dem Task 115 den Sensor 110 zu. Der Task-Scheduler 105 kann Teil eines Betriebssystems, Teil des BIOS, eine separate Anwendung oder eine andere Logik sein.
  • Der Controller 120 kann den Zeitplan 107 für den Task 115 und die Sensordaten 112 empfangen. Der Controller 120 kann aus dem Zeitplan 107 und den Sensordaten 112 bestimmen, ob der Task 115 ausgeführt werden soll. Beispielsweise kann der Zeitplan Kriterien aufweisen, die zur Bestimmung verwendet werden, ob der Task ausgeführt wird. Ein Kriterium kann sein, dass der Task 115 nicht ausgeführt wird, wenn die Sensordaten 112 angeben, dass sich ein Benutzer in einem vorgegebenen Abstand vom Sensor 110 befindet, wenn sich der Benutzer z. B. innerhalb einer Schwelle von 1 m, 2 m oder der Erfassungsreichweite des Sensor befindet. Die Sensordaten 112 können auch verwendet werden, um zu bestimmen, ob sich ein Benutzer dem Sensor 110 nähert oder vom Sensor 110 entfernt. Wenn sich der Benutzer beispielsweise dem Sensor 110 nähert, kann das Computersystem 100 den Task verzögern, und wenn sich der Benutzer vom Sensor 110 entfernt, kann das Computersystem 100 den Task 115 ausführen. Ein Zeitplan 107 kann auch bewirken, dass der Controller 120 den Task 107 [sic] ausführt, wenn sich ein Benutzer in einem Schwellenabstand vom Computersystem 100 befindet, und die Ausführung des Tasks 115 verzögern, wenn sich der Benutzer nicht innerhalb eines Schwellenabstandes vom Computersystem 100 befindet.
  • Ein Task 115, der ausgeführt wird, wenn sich der Benutzer innerhalb der Schwelle befindet, kann z. B. ein Task 115 sein, der Benutzereingaben anfordern wird, wie z. B. ein Pop-up-Fenster, das den Benutzer zur Beantwortung einer Frage auffordert. Ein Task 115 kann die Ausführung eines anderen Tasks auslösen. Wenn beispielsweise ein Task 115 Benutzereingaben anfordert, kann er ausgeführt werden, wenn sich der Benutzer in der Nähe des Sensors 110 befindet, und die Benutzereingabe bewirkt die Vorgabe eines anderen Tasks, der ohne Benutzereingabe ausgeführt und daher verzögert werden kann, bis der Benutzer sich außerhalb des Schwellenabstands vom Sensor 110 befindet. Falls ein Task 115 ein Update ausführen soll, kann der Task 115 eine Benachrichtigung aufweisen, die verlangt, dass der Benutzer der Aktualisierung zustimmt, und anschließend kann der Task 115 beispielsweise die Ausführung des Update-Tasks planen, wenn sich der Benutzer nicht innerhalb des Schwellenabstands des Sensors 110 befindet.
  • 2 ist ein Blockdiagramm eines Task-Controllers eines Computersystems gemäß einer beispielhaften Ausführungsform. Das Computersystem 200 kann eine Benachrichtigung 225 für den Benutzer aufweisen, dass die Ausführung eines Tasks 115 verzögert worden ist. Die Benachrichtigung kann beispielsweise eine akustische oder visuelle Anzeige wie z. B. ein Tonsignal oder eine Meldung auf dem Display des Computersystems 200 sein. Die Benachrichtigung 225 kann im Task-Scheduler 105 vorgegeben sein. Der Task-Scheduler 105 kann einem Task eine Benachrichtigung 225 zuordnen.
  • Die Benachrichtigung 225 kann beispielsweise den Namen des Tasks angeben und einen Status der Ausführung des Tasks 115 bereitstellen. Die Benachrichtigung 225 kann beispielsweise angeben, dass der Task verzögert ist, und sie kann die Angabe aufweisen, wann der Task ausgeführt wird. Wenn die Benachrichtigung 225 angibt, dass der Task ausgeführt wird, können die Kriterien für die Ausführung durch den Task-Scheduler 105 angezeigt werden. Die Benachrichtigung 225 kann angeben, dass der Task ausgeführt wird, wenn die Anwesenheit des Benutzers nicht erkannt wird und wenn das Gebiet um den Sensor 110 dunkel ist.
  • Das System kann einen Override 230 aufweisen, um es einem Benutzer zu ermöglichen, den Task 115 auszuführen, falls der Controller 120 den Task 115 auf der Grundlage der Sensordaten 112 verzögert hat. Der Override 230 kann dem Benutzer mit der Benachrichtigung 225 über den verzögerten Task vorgelegt werden. Ein Override 230 kann auch die Möglichkeit bieten, die Ausführung eines Tasks 115 zu beginnen, auch wenn eine Benachrichtigung 225 über die Verzögerung nicht angegeben wird. Der Benutzer kann beabsichtigen, beispielsweise die Verzögerung eines Updates, das installiert werden soll, zu übergehen (Override 230), die Kriterien des Zeitplans für einen Task 115 zu übergehen (Override 230) oder einen Teilbereich der Kriterien zu übergehen (Override 230). Falls der Zeitplan 107 für einen Task 115 beispielsweise angibt, dass der Task durch den Controller ausgeführt werden soll, wenn sich der Benutzer 15 Minuten lang nicht innerhalb des Schwellenabstands befunden hat und der Sensor über 15 Minuten kein Umgebungslicht erkannt hat, kann der Override die Kriterien außer Kraft setzen, dass ein Benutzer nicht anwesend ist; der Override 230 kann das Kriterium umgehen, dass der Raum nicht dunkel ist, oder er kann beide Kriterien des Zeitplans 107 außer Kraft setzen. Der Override kann eine Schaltfläche, ein Symbol oder ein anderes Eingabeelement sein.
  • Eine Benutzerschnittstelle 235 kann wählen, ob die Ausführung eines Tasks durch die Daten vom Sensor 110 oder durch zweite Daten 113 von einem zweiten Sensor 111 beeinflusst werden soll. Das Computersystem kann eine Vielzahl von Sensoren aufweisen, wie z. B. einen Näherungssensor, einen Umgebungslichtsensor, einen Beschleunigungssensor oder andere Sensoren. Der Controller 120 kann bestimmen, ob die Ausführung eines Tasks durch die Sensordaten auf der Grundlage einer logischen Bestimmung wie z. B. AND, OR, XOR beeinflusst werden soll. Die Benutzerschnittstelle 235 legt dem Benutzer den Zeitplan 107 eines Tasks 115 vor. Die Benutzerschnittstelle 235 kann auf einem Display angezeigt werden und dem Benutzer die Anpassung des Zeitplans 107 ermöglichen. Die Kriterien können gewählt werden, um die Verzögerung der Ausführung des Tasks 115 zu bewirken. Die Kriterien können beispielsweise angeben, ob die Daten des Näherungssensors, die Umgebungslicht-Daten, die Daten des Beschleunigungssensors, Vibrationsdaten oder beliebige andere Daten vom Controller zur Verzögerung des Tasks 115 berücksichtigt werden.
  • 3 ist ein Ablaufdiagramm eines Verfahrens zur Steuerung eines Tasks gemäß einer beispielhaften Ausführungsform. Das Verfahren zur Steuerung von Tasks in einem Computersystem kann die Anwesenheit eines Benutzers aus Sensordaten bestimmen (bei 305). Die Sensordaten können zu einem Controller übertragen werden, der die Daten aus dem Sensor analysiert. Die Daten können verwendet werden, um zu bestimmen, ob sich ein Benutzer innerhalb eines Schwellenabstands vom Sensor befindet; ob sich der Benutzer in Richtung auf den Sensor bewegt; ob sich der Benutzer vom Sensor weg bewegt; ob der Raum dunkel oder beleuchtet ist. Ob der Raum dunkel oder hell ist, kann mittels eines Schwellenwerts durch die Messung der Leuchtdichte am Sensor bestimmt werden.
  • Der Controller kann bestimmen, ob die Ausführung eines Tasks die Performance des Computersystems verringern kann (bei 310). Der Controller kann bestimmen, dass durch die Ausführung des Tasks die Ressourcen wie z. B. Prozessor-Threads oder Arbeitsspeicher derart eingesetzt werden, dass ein Benutzer in der Lage wäre, wahrzunehmen, dass das Computersystem langsamer reagiert als ohne Ausführung des Tasks. Der Controller kann einen Schwellenwert für die Prozessor-Threads oder den Arbeitsspeicher anwenden, um zu bestimmen, ob der Benutzer die Reaktion des Computersystems als langsamer empfinden würde. Der durch den Controller angewandte Schwellenwert kann basierend auf der Anwendung, die das System zusammen mit dem Task auszuführen versucht, dynamisch sein. Der Controller kann die Ausführung des Tasks verzögern, wenn Sensordaten angeben, dass das Computersystem zurzeit verwendet wird und dass die Ausführung des Tasks die Performance des Computersystems reduzieren würde (bei 315). „Zurzeit verwendet” kann beispielsweise auch beinhalten, dass der Controller die Verzögerung des Tasks bewirkt, falls die Sensordaten angeben, dass der Benutzer, während das Computersystem keine Eingabe durch den Benutzer über eine Eingabeeinrichtung wie z. B. eine Tastatur oder eine Maus empfängt, ein Merkmal gezeigt hat, wie z. B. die Bewegung in Richtung auf das Computersystem, das angibt, dass der Benutzer das Computersystem verwenden wird.
  • Der Task, der durch das Verfahren ausgeführt wird, kann ein Wartungs-Task sein. Ein Wartungs-Task kann ein Task sein, der Daten schützt, wie z. B. ein Virenschutz, ein Backup, ein Update-Task oder ein anderer Wartungs-Task. Ein Wartungs-Task kann ein Task sein, der nicht interaktiv ist.
  • Beispielsweise braucht ein Wartungs-Task zum Abschluss des Tasks keine Benutzereingabe zu erfordern, aber er kann für die Konfiguration vor dem Beginn eines Wartungs-Tasks eine Benutzereingabe erfordern.
  • 4 ist ein Ablaufdiagramm eines Verfahrens zur Steuerung eines Tasks gemäß einer beispielhaften Ausführungsform. Das Verfahren kann mit der Registrierung eines Tasks bei einem Task-Scheduler beginnen (bei 401). Der Task-Scheduler kann Teil eines Betriebssystems, Teil des BIOS, eine separate Anwendung oder eine andere Logik sein. Ein Task kann beim Task-Scheduler über eine Programmierschnittstelle (API) registriert werden. Wenn ein Task beim Task-Scheduler registriert ist, wird der Task auf einen Zeitplan gesetzt, der Kriterien angibt, die die Ausführung bzw. Verzögerung des Tasks bewirken.
  • Der Task-Scheduler kann über eine Benutzerschnittstelle konfiguriert werden, falls die Ausführung des im Task-Scheduler registrierten Tasks von Sensordaten abhängig ist (bei 402). Die Benutzerschnittstelle kann den Task angeben, der im Zeitplan ansteht, sowie die verfügbaren Kriterien, die eingesetzt werden können, um zu bestimmen, ob der Task ausgeführt oder verzögert werden soll. Die Kriterien können beispielsweise eine Liste der Sensoren aufweisen, wie z. B. einen Näherungssensor, einen Umgebungslichtsensor, einen Temperatursensor oder einen anderen Sensor. Die Benutzerschnittstelle kann die Einstellung eines Schwellenwerts für die zum Task aufgelisteten Kriterien bereitstellen.
  • Das Verfahren kann mit der Bestimmung der Anwesenheit eines Benutzers aus Sensordaten fortfahren (bei 305); es kann bestimmen, ob die Ausführung eines Tasks die Performance des Computersystems verringern würde (bei 310), und den Task verzögern, wenn Sensordaten angeben, dass das Computersystem zurzeit verwendet wird und dass die Ausführung des Tasks die Performance des Computersystems reduzieren würde (bei 315).
  • Das Verfahren kann auch die Benachrichtigung des Benutzers über die Verzögerung des Tasks beinhalten (bei 420). Die Benachrichtigung kann beispielsweise eine akustische oder visuelle Anzeige wie z. B. ein Tonsignal oder eine Meldung auf dem Display des Computersystems sein. Eine visuelle Anzeige kann eine Meldung in der Benutzerschnittstelle auf der Anzeigeeinrichtung sein.
  • 5 ist ein Blockdiagramm eines Computersystems gemäß einer beispielhaften Ausführungsform. Das Computersystem kann einen Prozessor 505 zur Ausführung von Anwendungen und Tasks aufweisen. Der Prozessor 505 kann mit einem Controller-Hub 510 verbunden sein.
  • Der Controller-Hub 510 kann mit einem Grafik-Controller 520 verbunden sein, um eine Benutzerschnittstelle zu einem Display 530 auszugeben. Der Controller-Hub 510 kann Eingaben über eine Tastatur 535, eine Maus 540, eine Sensor 545 oder andere Eingabeeinrichtungen empfangen.
  • Das Computersystem 500 kann ein computerlesbares Medium 515 oder 516 aufweisen. Das computerlesbare Medium 515 oder 516 kann Code aufweisen, der bei der Ausführung bewirken kann, dass ein Prozessor 505 die Anwesenheit eines Benutzers aus Sensordaten bestimmt und weiter über einen Task-Scheduler bestimmt, ob ein Task vorliegt, dessen Ausführung von der Anwesenheit des Benutzers abhängig ist, wobei der Task verzögert wird, falls Sensordaten angeben, dass der Task von der Anwesenheit des Benutzers abhängig ist und der Benutzer anwesend ist. Das computerlesbare Medium 515 oder 516 kann Code aufweisen, der bei der Ausführung bewirkt, dass ein Prozessor 505 mindestens einen Task eines Virus-Scans, Backups und automatischen Updates verzögert, falls der Task von der Anwesenheit des Benutzers abhängig ist und der Benutzer anwesend ist. Das computerlesbare Medium 515 oder 516 kann Code aufweisen, der bei der Ausführung bewirkt, dass der Benutzer darüber benachrichtigt wird, dass der Task verzögert ist, solange die Anwesenheit des Benutzers nicht erkannt worden ist.
  • Die vorstehend beschriebenen Verfahren können in einem computerlesbaren Medium zur Konfiguration eines Computersystems für die Ausführung des Verfahrens ausgeführt sein. Die computerlesbaren Medien können beispielsweise und ohne diesbezügliche Einschränkung eine beliebige Anzahl der folgenden Einrichtungen aufweisen: magnetische Speichermedien einschließlich Platten- und Bandspeichermedien; optische Speichermedien wie z. B. Compact-Disk-Medien (z. B. CD-ROM, CD-R usw.) und digitale Video-Disk-Speichermedien; holografische Speichermedien; nichtflüchtige Speichermedien einschließlich halbleitergestützten Speichereinheiten wie z. B. FLASH-Memory, EEPROM, EPROM, ROM; ferromagnetische digitale Speichermedien; flüchtige Speichermedien einschließlich Register, Puffer oder Cache-Speicher, Arbeitsspeicher, RAM usw.; und das Internet, um nur einige Beispiele zu nennen. Andere neue und verschiedene Typen computerlesbarer Medien können verwendet werden, um die hier beschriebenen Softwaremodule zu speichern und/oder zu übertragen. Computersysteme liegen in vielen Formen vor, einschließlich und ohne diesbezügliche Einschränkung Mainframes, Minicomputer, Server, Workstations, Personal Computer, Notepads, Personal Digital Assistants, verschiedenen drahtlosen Einrichtungen und eingebetteten Systemen, um nur einige Beispiele zu nennen.
  • In der vorstehenden Beschreibung sind zahlreiche Einzelheiten aufgeführt, um ein Verständnis der vorliegenden Erfindung bereitzustellen. Für Fachleute auf diesem Gebiet ist es jedoch offensichtlich, dass die vorliegende Erfindung ohne diese Details umgesetzt werden kann. Obwohl die Erfindung mit Bezug auf eine begrenzte Zahl von Ausführungsformen offengelegt wurde, werden Fachleute auf diesem Gebiet zahlreiche diesbezügliche Abänderungen und Variationen erkennen. Die beigefügten Ansprüche sollen derartige Abänderungen und Variationen abdecken, ohne vom Grundsatz und Schutzumfang der Erfindung abzuweichen.

Claims (15)

  1. Computersystem, das Folgendes aufweist: einen Task-Scheduler; einen Sensor zum Erzeugen von Daten zu externen Kriterien; und einen Controller zum Empfang von Daten vom Sensor und zur Verzögerung oder Ausführung eines Tasks im Task-Scheduler auf der Basis der Daten.
  2. System nach Anspruch 1, das ferner den Controller aufweist, um zu bestimmen, ob ein Benutzer in der Nähe des Sensors ist.
  3. System nach Anspruch 2, das ferner den Controller aufweist, um den Task zu verzögern, falls der Benutzer in der Nähe des Sensors ist.
  4. System nach Anspruch 2, das ferner den Controller aufweist, um den Task auszuführen, falls der Benutzer nicht in der Nähe des Sensors ist.
  5. System nach Anspruch 1, das ferner eine Benachrichtigung des Benutzers darüber aufweist, dass ein Task verzögert worden ist.
  6. System nach Anspruch 1, das ferner einen zweiten Sensor aufweist, um zweite Daten zu erzeugen, wobei der Controller die zweiten Daten empfängt und den Task auf der Basis der Daten und der zweiten Daten verzögert oder ausführt.
  7. System nach Anspruch 1, das ferner eine Benutzerschnittstelle aufweist, um zu bestimmen, ob die Ausführung eines Tasks durch die Daten vom Sensor oder durch Daten von einem zweiten Sensor beeinflusst wird.
  8. Verfahren zur Steuerung von Tasks in einem Computersystem, das Folgendes aufweist: Bestimmen der Anwesenheit eines Benutzers aus Sensordaten; Bestimmen, ob die Ausführung eines Tasks die Leistung des Computersystems verringern würde; Verzögerung des Tasks, falls Sensordaten angeben, dass das Computersystem verwendet wird und dass die Ausführung des Tasks die Leistung des Computersystems verringern würde.
  9. Verfahren nach Anspruch 8, wobei der Task ein Wartungs-Task ist.
  10. Verfahren nach Anspruch 8, das ferner die Benachrichtigung des Benutzers darüber aufweist, dass der Task verzögert wird.
  11. Verfahren nach Anspruch 8, das ferner die Registrierung des Tasks bei einem Task-Scheduler aufweist.
  12. Verfahren nach Anspruch 11, das ferner die Konfiguration über eine Benutzerschnittstelle aufweist, wenn die Ausführung des im Task-Scheduler 3 registrierten Tasks von Sensordaten abhängig ist
  13. Computerlesbares Medium, das Code aufweist, der bei der Ausführung folgende Vorgänge eines Prozessors bewirkt: Bestimmen der Anwesenheit eines Benutzers aus Sensordaten; Bestimmen über einen Task-Scheduler, ob ein Task vorliegt, dessen Ausführung von der Anwesenheit des Benutzers abhängig ist; Verzögerung des Tasks, falls die Sensordaten angeben, dass der Task von der Anwesenheit des Benutzers abhängig ist, und der Benutzer anwesend ist.
  14. Computerlesbares Medium nach Anspruch 13, das ferner Code aufweist, der bei der Ausführung folgende Vorgänge eines Prozessors bewirkt: Verzögerung von mindestens einem Task aus Virus-Scan, Backup, automatischem Update, falls der Task von der Anwesenheit des Benutzers abhängig ist und der Benutzer anwesend ist.
  15. Computerlesbares Medium nach Anspruch 14, das ferner Code aufweist, der bei der Ausführung folgende Vorgänge eines Prozessors bewirkt: Benachrichtigung des Benutzers darüber, dass der Task verzögert ist, solange die Anwesenheit des Benutzers nicht erkannt worden ist.
DE112011105019T 2011-03-08 2011-03-08 Aufgabensteuerung in einem Computersystem Withdrawn DE112011105019T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/027625 WO2012121713A1 (en) 2011-03-08 2011-03-08 Task control in a computing system

Publications (1)

Publication Number Publication Date
DE112011105019T5 true DE112011105019T5 (de) 2013-12-19

Family

ID=46798485

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011105019T Withdrawn DE112011105019T5 (de) 2011-03-08 2011-03-08 Aufgabensteuerung in einem Computersystem

Country Status (5)

Country Link
US (1) US20130332934A1 (de)
CN (1) CN103430146A (de)
DE (1) DE112011105019T5 (de)
GB (1) GB2502023A (de)
WO (1) WO2012121713A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9874923B1 (en) * 2005-05-30 2018-01-23 Invent.Ly, Llc Power management for a self-powered device scheduling a dynamic process
US20130198760A1 (en) * 2012-01-27 2013-08-01 Philip Alexander Cuadra Automatic dependent task launch
CN103679022B (zh) * 2012-09-20 2016-04-20 腾讯科技(深圳)有限公司 病毒扫描方法和装置
US9015841B2 (en) 2012-09-20 2015-04-21 Tencent Technology (Shenzhen) Company Limited Method and apparatus for virus scanning
US9224290B1 (en) 2013-04-18 2015-12-29 Amazon Technologies, Inc. Presence-based device operation
US9552229B2 (en) * 2015-05-14 2017-01-24 Atlassian Pty Ltd Systems and methods for task scheduling
JP6996216B2 (ja) * 2017-10-16 2022-01-17 コニカミノルタ株式会社 シミュレート装置、情報処理装置、装置設定方法および装置設定プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330676B1 (en) * 1998-09-08 2001-12-11 International Business Machines Corporation Method and system for the automatic initiation of power application and start-up activities in a computer system
US7549129B2 (en) * 2001-10-31 2009-06-16 Microsoft Corporation Computer system with enhanced user interface for images
US20030084087A1 (en) * 2001-10-31 2003-05-01 Microsoft Corporation Computer system with physical presence detector to optimize computer task scheduling
WO2003083693A1 (fr) * 2002-04-03 2003-10-09 Fujitsu Limited Planificateur de taches dans un systeme de traitement distribue
WO2006096192A1 (en) * 2004-06-09 2006-09-14 Honeywell International, Inc. Communications system based on real-time neurophysiological characterization
US7814490B2 (en) * 2004-10-14 2010-10-12 International Business Machines Corporation Apparatus and methods for performing computer system maintenance and notification activities in an opportunistic manner
CN101013969B (zh) * 2005-06-30 2010-07-28 华为技术有限公司 一种设备管理中处理任务的方法、系统及装置
CN1859217A (zh) * 2005-06-30 2006-11-08 华为技术有限公司 一种设备管理中处理任务的方法、系统及装置
US20090300616A1 (en) * 2008-05-30 2009-12-03 Abbott Diabetes Care, Inc. Automated task execution for an analyte monitoring system
US8869024B2 (en) * 2009-07-20 2014-10-21 Facebook, Inc. Monitoring a background process in a web browser and providing status of same

Also Published As

Publication number Publication date
GB201315285D0 (en) 2013-10-09
WO2012121713A1 (en) 2012-09-13
US20130332934A1 (en) 2013-12-12
CN103430146A (zh) 2013-12-04
GB2502023A (en) 2013-11-13

Similar Documents

Publication Publication Date Title
DE112011105019T5 (de) Aufgabensteuerung in einem Computersystem
DE102013217995B4 (de) Verfahren und System zum Thread-Scheduling (Fadenzuteilung)
DE102014101392B4 (de) Konfigurieren eines Geräts ausgehend von der Nähe zu anderen Geräten
DE112006003444B4 (de) Verfahren und Vorrichtung zum Erfassen von Prozessorzustands-Übergängen
DE112012001357B4 (de) Verwalten einer Portalanwendung
EP2400387B1 (de) Verfahren zur Performanceverbesserung von Computern
US8700922B2 (en) System and method for energy and assets saving and for improving ownership and sustainability awareness
DE102020109670A1 (de) Verfahren und vorrichtung zum aufrufen eines sicherheitsmerkmals einer datenverarbeitungsvorrichtungsanzeige als reaktion auf detektion eines zuschauers auf der basis von tiefendaten
DE112012006009T5 (de) Berührungsbildschirm mit Kraftsensoren
DE112008004030B4 (de) Leistungsverwaltung in einem System mit einem Prozessor und einem Spannungswandler, der eine Leistungsspannung zu dem Prozessor liefert
EP2560097A3 (de) Multithread-Kernel für Graphikverarbeitungseinheit
DE112012006090T5 (de) Verfahren und Vorrichtung zum Energiesparen
DE69233393T2 (de) Leistungsmanagementsfunktion für einen rückwärtskompatiblen mikroprozessor
DE102006048115A1 (de) System und Verfahren zum Aufzeichnen von behebbaren Fehlern
DE112013000369T5 (de) Verwaltung von Threads innerhalb einer Datenverarbeitungsumgebung
DE102016222861A1 (de) Transparentes, sicheres Durchführen von Abrufvorgängen
CN105608049A (zh) 智能终端的cpu控制方法及控制装置
DE102014219905A1 (de) Konfiguration von Leistungsdomänen eines Mikrocontroller-Systems
DE112005003343T5 (de) Mechanismus für eine befehlssatzbasierte Threadausführung an mehreren Befehlsablaufsteuerungen
DE112011105098T5 (de) Virtuelles BIOS
RU2008101788A (ru) Продолжительность предупреждений и сканирования больших хранилищ данных
DE112008000603T5 (de) Verfahren zum Steuern von Kernarbeitsakten unter Verwendung von Niedrigleistungsmodi
US20220113959A1 (en) Action execution based on management controller action request
DE112011101019T5 (de) Verarbeitung von Befehlen mit mehreren Prioritäten zwischen Back-End-Prozessoren
EP3147785B1 (de) Verfahren und vorrichtung zur aufgabenverarbeitung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee