DE10346303B3 - Verfahren zur Bearbeitung von aufeinanderfolgenden Anfragen eines externen Computers in einem Computersystem mit mindestens einem ersten Computer und einem zweiten Computer, sowie Computerprogramm und Computersystem - Google Patents

Verfahren zur Bearbeitung von aufeinanderfolgenden Anfragen eines externen Computers in einem Computersystem mit mindestens einem ersten Computer und einem zweiten Computer, sowie Computerprogramm und Computersystem Download PDF

Info

Publication number
DE10346303B3
DE10346303B3 DE10346303A DE10346303A DE10346303B3 DE 10346303 B3 DE10346303 B3 DE 10346303B3 DE 10346303 A DE10346303 A DE 10346303A DE 10346303 A DE10346303 A DE 10346303A DE 10346303 B3 DE10346303 B3 DE 10346303B3
Authority
DE
Germany
Prior art keywords
computer
request
processing
standard time
procedure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10346303A
Other languages
English (en)
Inventor
Daniel Scheibli
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Priority to DE10346303A priority Critical patent/DE10346303B3/de
Priority to US10/574,641 priority patent/US20070198693A1/en
Priority to PCT/EP2004/052044 priority patent/WO2005038653A1/de
Application granted granted Critical
Publication of DE10346303B3 publication Critical patent/DE10346303B3/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload

Abstract

In einem Computersystem mit erstem Computer (A) und zweitem Computer (B) werden aufeinanderfolgenden Anfragen (311, 312) eines externen Computers (E) bearbeitet durch das Beobachten (410) der Bearbeitungszeit (T1), die der erste Computer (A) zum Bearbeiten einer ersten Anfrage (311) des externen Computers (E) benötigt; sowie das Umleiten (420) einer zweiten Anfrage (312) vom ersten Computer (A) auf den zweiten Computer (B), falls die Bearbeitungszeit (T1) eine Normzeit (TNORM) überschreitet.

Description

  • Gebiet der Erfindung
  • Die Erfindung betrifft Computersysteme, Computerprogramme und computerimplementierte Verfahren im allgemeinen und ein System, ein Programm und ein Verfahren für die Bearbeitung von aufeinanderfolgenden Anfragen eines externen Computers in einem Computersystem mit mindestens einem ersten Computer und einem zweiten Computer im besonderen.
  • Einleitung
  • Computersysteme mit einer Vielzahl von miteinander kooperierenden Einzelcomputern sind unter dem Begriff "Cluster" bekannt. Die Systeme führen Anwendungen aus, wie beispielsweise Geschäftsanwendungen. Die Anwendungen sind auf Dienste ("services") verteilt, die jeweils von den einzelnen Computern im Cluster ausgeführt werden.
  • Zum Zuweisen von Diensten an die Computer des Clusters dienen Verwaltungsprogramme. Diese Verwaltungsprogramme bedienen sich Standardtechniken wie Heartbeat und Messaging, beispielsweise zum Starten oder Anhalten eines Dienstes oder zum Abfragen des Ein-Aus-Zustandes dieses Dienstes.
  • In einem System mit einer Anwendung im Bereich Customer Relationship Management (CRM) gibt es beispielsweise Dienste wie
    • 1) Lesen von Kundendaten aus einer Datenbank,
    • 2) Übermitteln der Daten an die Kunden (z.B. über das Internet),
    • 3) das Weiterleiten von Telefonanrufen eines Kunden an einen Berater in einem Call Center.
  • Damit Störungen im Betriebsablauf einzelner Dienste nicht auf die gesamte Anwendung wirken, dient das Verwaltungsprogramm auch zum Übertragen von Diensten von einem ausgefallenen Computer auf einen arbeitsfähigen Computer. Solche Funktionen sind bekannt u.a. unter dem Begriff Failover.
  • Die Druckschrift JP2001 092798A beschreibt ein gattungsgemäßes Verfahren in einem Computersystem mit mehreren Computer zum Bearbeiten von aufeinanderfolgenden Anfragen. Ein Lastverteilungs-System ermittelt Lastfaktoren der einzelnen Computer durch das Beobachten der Verhältnisse der Bearbeitungszeiten der einzelnen Computer und weist Anfragen dem Computer mit dem niedrigsten Lastfaktor zu.
  • Das Auswerten der Bearbeitungszeiten eines ersten Computers im Verhältnis zur Bearbeitungszeit eines zweiten Computers (relativ) bzw. abgewandelt das Auswerten der Bearbeitungszeiten gegenüber einer Normzeit (absolut) berücksichtigt allerdings nicht die Verschiedenheit der Dienste, die in einem System ausgeführt werden und die Verschiedenheit der Computer, die in dem System verfügbar sind.
  • Der Erfindung liegt die Aufgabe zugrunde, verbesserte Betriebsverfahren, Verwaltungsprogramme und Computersysteme zu schaffen, bei denen Störungen schon im Entstehen erkannt und in ihrer Wirkung begrenzt werden.
  • Insbesondere besteht eine objektive Aufgabe der Erfindung im optimalen Bestimmen der Zeiten unter Berücksichtigung der verschiedenen Dienste.
  • Diese Aufgaben werden erfindungsgemäß mit Verfahren Programmen und Systemen nach den Hauptansprüchen gelöst. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche.
  • Kurzbeschreibung der Zeichnungen
  • 1 zeigt einen Überblick über ein vereinfachtes Computersystem mit zwei Computern A und B, die sich entsprechend der Erfindung verhalten;
  • 2 zeigt einen Ablaufplan eines erfindungsgemäßen Verfahrens;
  • 3 zeigt Einzelheiten des Verfahrensschrittes Beobachten in einer beispielhaften Ausführung;
  • 4 zeigt Einzelheiten des Verfahrensschrittes Umleiten in einer beispielhaften Ausführung;
  • 5 zeigt ein Anwendungsbeispiel der Erfindung in Zusammenhang mit einer Anwendung im Bereich Customer Relationship Management (CRM), wobei die Anwendung über einen Webservice mit einem externen Computer korrespondiert;
  • 6 zeigt ein Anwendungsbeispiel der Erfindung aus Sicht des Einsatzes von Steckkartencomputern;
  • 7 zeigt ein Computersystem, in dem die Erfindung implementiert werden kann.
  • Einzelheiten
  • Die folgende Beschreibung führt zunächst kurz in 15 ein, erläutert dann weitere Einzelheiten im Zusammenhang, gibt Implementierungshinweise für Hardware und endet mit einer Bezugszeichenliste.
  • 1 zeigt einen Überblick über ein vereinfachtes Computersystem, das sich entsprechend der Erfindung verhält.
  • Die linke Seite der Figur zeigt das Computersystem A, B (Cluster) mit beispielsweise N = 2 Computern A und B. N kann beliebig größer gewählt werden. Die Computer A und B werden auch als Server bezeichnet. Das Verwaltungsprogramm befindet sich auf A, auf B, auf A und B oder auf einem dritten Computer. Das Verwaltungsprogramm ist in der Figur vereinfachend darstellt in der Mitte zwischen A und B. Das Verwaltungsprogramm hat die beiden Module Beobachter 110 und Umleiter 120.
  • Die rechten Seite der Figur zeigt den Computer E, der als externer Computer systemfremd in Bezug zu A und B ist.
  • Die Pfeile zeigen die Kommunikation zwischen den Computern A, B und E. Pfeile 311 und 312 zeigen aufeinanderfolgende Anfragen des externen Computers E an das System A, B. Pfeil 321 zeigt die Antwort des Computers A an Computer E. Der Fachmann kann die Kommunikation beliebig ausführen, beispielsweise Messaging über ein Netz oder einen Bus innerhalb des Systems (A, B), oder über Internetprotokolle außerhalb des Systems (z.B. A mit E, B mit E).
  • Die Meßlinien geben Zeitintervalle an (z.B. T1, TNORM) und sind in der Größe zueinander darstellend für die Zeitverhältnisse: T1 ist beispielsweise größer als TNORM oder kleiner als TNORM (">" bzw. "<").
  • Das Verfahren weist die folgenden Schritte auf:
    Schritt Beobachten der Bearbeitungszeit T1, die Computer A zum Bearbeiten der ersten Anfrage 311 des externen Computers E benötigt;
    sowie Schritt Umleiten der zweiten Anfrage 312 von Computer A auf Computer B, falls die Bearbeitungszeit T1 eine Normzeit TNORM überschreitet.
  • Die vorliegende Erfindung ist somit eine Ergänzung zum Cluster-Betrieb mit herkömmlichen Verwaltungsprogrammen. Vorteilhaft ist, daß die Wirkung des Computers A nach außen als Entscheidungskriterium für clusterinterne Prozesse (wie Umleiten) verwendet wird. Mit anderen Worten, das System A, B hat gegenüber dem externen Computer E die Funktion eines Anwendungsanbieters und balanciert die interne Last aus je nach Qualität der Anwendung gegenüber dem externen Computer E.
  • 2 zeigt einen Ablaufplan eines Verfahrens 400 mit den genannten Schritten Beobachten 410 und Umleiten 420. Die Ausführung des Schrittes 420 erfolgt unter der Bedingung der Zeitüberschreitung, beispielsweise T1 > TNORM. Die Schleifenpfeile symbolisieren die bevorzugte Daueranwendung des Verfahrens.
  • 3 zeigt Einzelheiten des Verfahrensschrittes Beobachten 410 in einer beispielhaften Ausführung, wobei die Bearbeitungszeiten von aufeinanderfolgenden Anfragen berücksichtigt werden.
  • Wie in der Figur beispielhaft dargestellt ist, sind die Zeiten für aufeinanderfolgende Abfragen (hier T1 bis T7) bestimmt worden und zahlenmäßig in einer Zeiteinheit Z erfaßt. Als Zeiteinheit Z dient beispielsweise: Sekunde, Millisekunde oder jede andere gesetzliche Zeiteinheit. Zählbare Ereignisse wie Computertakte sind ebenso verwendbar.
  • Die Zeit zwischen den Bearbeitungen (Anfrage/Antwort) spielt keine Rolle. Beispielsweise wird nach der 7. Messung (T7 bekannt, Index k = 7) der gleitende Mittelwert (floating average) TFA für eine vorgegebene Zahl von J = 5 Meßwerten bestimmt. Vorteilhaft ist hier, daß gelegentliche Überschreitungen von TNORM nicht gleich zum Umleiten führen.
  • Alternativ wird die Anzahl von Zeitüberschreitungen innerhalb eines Meßintervalls zum Veranlassen des Umleitens gewertet. Die Normzeit wird dann relativ zu einer Meßreihe festgelegt, beispielsweise ist die Überschreitung von 15 Z innerhalb von J = 5 Messungen nur einmal erlaubt.
  • Im Beispiel gäbe es zwei Überschreitungen: bei T5 (20 Z) und bei T7 (ebenfalls 20 Z). Umleiten wäre zu veranlassen.
  • 4 zeigt Einzelheiten des Verfahrensschrittes Umleiten 420 in einer beispielhaften Ausführung. Zeitnah mit dem Umleiten 420 ist ein Dienst auf dem Computer (z.B. B) lauffähig, der die Anfrage (z.B. 312) beantworten kann.
  • Beispielsweise erfolgt das Umleiten 420, indem ein Dienst von Computer A auf Computer B übertragen wird.
  • Das Umleiten 420 erfolgt auf einen Computer, der bereits Teil des Clusters ist (wie B), oder auf einen Computer, der zu diesem Zweck in das Cluster aufgenommen wird. Wenn der Dienst auf eine Ressource außerhalb A und B (wie beispielsweise Datenbanken) zugreift, werden die Adressen der Ressource von A nach B übergeben. Es ist unerheblich, ob der Dienst auf Computer A verbleibt (vgl. Beispiel in 5) oder von A entfernt wird.
  • 5 zeigt ein Anwendungsbeispiel der Erfindung in Zusammenhang mit einer betriebwirtschaftlichen Anwendungen. Solche Anwendungen werden u.a. von SAP Aktiengesellschaft, Walldorf, angeboten, beispielsweise unter Bezeichnungen wie SAP R/3 oder SAP NetWeaver, mit Spezialisierungen wie Customer Relationship Management (CRM). Beispielsweise führt Computer A einen Internet-Dienst aus, der eine Vielzahl von externen Computern E (hier E1 bis E100) der Kunden mit Katalogbildern versorgt, die in einer Datenbank gespeichert sind. Die Datenbank kann innerhalb oder außerhalb des Clusters liegen. Gelegentlich fragen viele Kunden gleichzeitig an und überlasten damit den Computer A. Die Erfindung erlaubt es, solche Engpässe zu erkennen und zu beseitigen. Bei Zeitüberschreitungen werden einzelne Kundenanfragen an Computer B umgeleitet, so daß sowohl A und B diesen Dienst ausführen.
  • Es folgen die Einzelheiten hinsichtlich der 1-5, beginnend mit Erläuterungen zu den Zeiten.
  • Vorteilhaft ist es, den Anfang der Bearbeitungszeit T1 auf den Empfang der ersten Anfrage 311 durch Computer A zu beziehen. Dementsprechend ist es vorteilhaft, das Ende der Bearbeitungszeit T1 auf das Abschicken einer Antwort 321 an Computer E zu beziehen. Die Laufzeit der Antwort (Computer A zu Computer E) muß nicht berücksichtigt werden.
  • Da in einem System verschiedene Computer mit verschiedener Konfiguration vorhanden sein können, ist eine Anpassung der Normzeiten auf die jeweiligen Computer vorteilhaft. Beispielsweise würde die Normzeit (TNORM) von der Konfiguration des ersten Computers (A) abhängig sein.
  • Der Fachmann kann TNORM sowohl nach der Art der Anfrage als auch nach der Art der Antwort auswählen. Beispielsweise kann bei einem Dienst "Übermitteln der Daten an Kunden" (siehe Einleitung) dem Bearbeiten von großen Datenmengen mehr Zeit zugestanden werden als dem Bearbeiten von kleinen Datenmengen.
  • Der Fachmann kann die Bearbeitungsqualität allgemein als Entscheidungskriterium implementieren. Beispielsweise kann die Bearbeitungszeit T1 relativ zu einer Datenmenge bestimmt werden, in Maßeinheiten angegeben beispielsweise Zeiteinheit je Datenmenge (z.B. Sekunden je Megabyte). Eine reziproke Definition Datenmenge je Zeit ist auch möglich. Eine derartige Definition ist vorteilhaft beispielsweise für Dienste zum Ermitteln von Einträgen in Datenbanktabellen.
  • Vorteilhaft ist die Verwendung von zwei Zeiten (TNORM und TMAX). In diesem Fall erfolgt ein Übertragen (420) der Bearbeitung der Anfrage 311 auf den Computer B, falls nach Ablauf einer Maximalzeit (TMAX) die Bearbeitung durch Computer A andauert ("time-out"). Während bei Überschreitung von TNORM lediglich nachfolgende Anfragen (also z.B. 312) übertragen werden, ist bei Überschreitung von TMAX vom Ausfall des Computers A auszugehen. Die Clusterverwaltung kann entsprechend reagieren. Der Fachmann kann die Zeitanpassungen auch auf die Maximalzeit TMAX anwenden: Beispielsweise können TNORM und TMAX je nach Dienst angepaßt werden, beispielsweise längere Zeiten für Hintergrunddienste aber kürzere Zeiten für kundenkritische Dienste (vgl. 5).
  • Die Beschreibung der Einzelheiten setzt sich fort mit Erläuterungen zum Beobachten und Umleiten.
  • Da Computer A noch arbeitet (wenn auch langsamer), muß das Umleiten 420 nicht unmittelbar nach Feststellen einer Zeitüberschreibung erfolgen Dem Umleiten kann eine Verfügbarkeitsprüfung vorausgehen. Diese Prüfung kann den Schritt Beobachten mit Testdaten oder nach üblichen Ja-Nein-Abfrage enthalten. Ist kein geeigneter Computer vorhanden, kann das Verwaltungsprogramm veranlassen, einen weiteren Computer in das System aufzunehmen. Das Bearbeiten der weiteren Anfrage erfolgt dann, wenn ein geeigneter Computer in das Computersystem aufgenommen worden ist.
  • Das Verwaltungsprogramm 110/120 kann auch dem ersten Computer (A), dem zweiten Computer (B) oder einem dritten Computer ausgeführt werden. Die Module können im System verteilt werden. Es ist vorteilhaft, das Verwaltungsprogramm 110/120 innerhalb des Systems auszuführen.
  • Es folgen die Implementierungshinweise für Hardware. Die Erfindung eignet sich zur Anwendung mit Computern, die ähnlich sind, beispielsweise hinsichtlich Hersteller, Anzahl der Prozessoren, Betriebssystem (z.B. System mit Peer-To-Peer Architektur, vgl. 6). Es ist aber auch möglich, unterschiedliche Computer zu verwenden. Vorteile bietet auch Umleiten auf Computer mit verbesserter Leistung, beispielsweise mit einem schnelleren Prozessor oder einer größeren Zahl von Prozessoren. Es ist zu erwarten, daß bei der Bearbeitung der zweiten Anfrage durch den leistungsstärkeren Computer die Bearbeitungszeit verkürzt wird.
  • 6 zeigt ein Anwendungsbeispiel der Erfindung aus Sicht des Einsatzes von Steckkartencomputern. Die Computer haben übliche Elemente wie Prozessoren, Speicher (z.B. Halbleiterspeicher, Festplatten), Busse usw. Die Computer können in Blade-Server-Technologie aufgebaut sein. Dabei sind Prozessor und Speicher auf einer Steckkarte (Blade) angeordnet. Mehrere Karten stecken in einem Chassis und werden zentral mit Strom versorgt. Die vorliegende Erfindung ist besonders für diese Technologie geeignet, da einzelne Computer (beispielsweise mit Datenbankservern) während des Betriebs hinzugefügt oder entfernt werden können und das erfindungsgemäße Verfahren automatisch auf solche Veränderungen reagiert.
  • 7 zeigt ein Computersystem, in dem die Erfindung implementiert werden kann, als vereinfachtes Blockschaltbild eines Computemetzsystems 999 mit einer Vielzahl von Computern (oder 90q, q=0...Q-1, Q beliebig).
  • Die Computer 900902 sind über ein Netzwerk 990 verbunden. Der Computer 900 umfaßt einen Prozessor 910, einen Speicher 920, einen Bus 930 und wahlweise eine Eingabevorrichtung 940 und eine Ausgabevorrichtung 950 (Ein- und Ausgabevorrichtung ergeben die Benutzerschnittstelle 960). Die Erfindung liegt als Computerprogrammprodukt (CPP) 100 (oder 10q, wobei q=0...Q-1, Q beliebig), als Programmträger 970 und als Programmsignal 980 vor. Diese Komponenten werden im folgenden als Programm bezeichnet.
  • Die Elemente 100 und 910980 des Computers 900 verallgemeinern die entsprechenden Elemente 10q und 91q–98q (gezeigt für q=0 in Computer 90q).
  • Computer 900 ist beispielsweise ein konventioneller Personalcomputer (PC), ein Multiprozessorcomputer, eine Mainframecomputer, eine tragbarer oder ein stationärer PC oder dergleichen.
  • Der Prozessor 910 ist beispielsweise ein Zentralprozessor (CPU), ein Mikrocontroller (MCU), oder ein digitaler Signalprozessor (DSP).
  • Der Speicher 920 symbolisiert Elemente, die Daten und Befehle entweder zeitweilig oder dauerhaft speichern. Obwohl zum besseren Verständnis der Speicher 920 als Teil des Computers 900 gezeigt ist, kann die Speicherfunktion im Netzwerk 990 auch an anderer Stelle implementiert werden, beispielsweise in den Computern 901/902 oder im Prozessor 910 selbst (z.B. Cache, Register). Der Speicher 920 kann ein Read-Only-Memory (ROM), ein Random-Access-Memory (RAM) oder ein Speicher mit anderen Zugriffsoptionen sein. Der Speicher 920 wird physisch auf einem computerlesbaren Datenträger implementiert, zum Beispiel auf:
    • (a) einem magnetischen Datenträger (Festplatte, Diskette, Magnetband);
    • (b) einem optischen Datenträger (CD-ROM, DVD);
    • (c) einem Halbleiterdatenträger (DRAM, SRAM, EPROM, EEPROM);
    oder auf einem beliebig anderem Medium (z.B. Papier).
  • Wahlweise ist der Speicher 920 über verschiedene Medien verteilt. Teile des Speichers 920 können fest oder austauschbar angebracht sein. Zum Lesen und Schreiben benutzt der Computer 900 bekannte Mittel wie Diskettenlaufwerke oder Bandlaufwerke.
  • Der Speicher 920 speichert Unterstützungskomponenten wie zum Beispiel ein Bios (Basic Input Output System), ein Betriebssystem (OS), eine Programmbibliothek, einen Compiler, einen Interpreter oder ein Textverarbeitungsprogramm. Unterstützungskomponenten sind kommerziell verfügbar und können auf dem Computer 900 von Fachleuten installiert werden. Zum besseren Verständnis sind diese Komponenten nicht dargestellt.
  • CPP 100 umfaßt Programminstruktionen und – wahlweise – Daten, die den Prozessor 910 unter anderem dazu veranlassen, die Verfahrensschritte 430450 der vorliegenden Erfindung auszuführen. Die Verfahrensschritte werden später im Detail erläutert. Mit anderen Worten, das Computerprogramm 100 definiert die Funktion des Computers 900 und dessen Interaktion mit dem Netzwerksystem 999. Ohne hier eine Einschränkung zu beabsichtigen, CPP 100 kann beispielsweise als Quellcode in einer beliebigen Programmiersprache und als Binärcode in kompilierter Form vorliegen. Der Fachmann ist in der Lage, CPP 100 in Verbindung mit jeder der zuvor erläuterten Unterstützungskomponenten (z.B. Compiler, Interpreter, Betriebssystem) zu benutzen.
  • Obwohl CPP 100 als im Speicher 920 gespeichert dargestellt ist, kann CPP 100 aber auch an beliebig anderer Stelle gespeichert sein. CPP 100 kann ebenfalls auf dem Datenträger 970 gespeichert sein.
  • Der Datenträger 970 ist außerhalb des Computers 900 dargestellt. Um CPP 100 auf den Computer 900 zu übertragen, kann der Datenträger 970 in das Eingabegerät 940 eingeführt werden. Der Datenträger 970 ist als ein beliebiger, computerlesbarer Datenträger implementiert, wie zum Beispiel als eines der zuvor erläuterten Medien (vgl. Speicher 920). Im allgemeinen ist der Datenträger 970 ein Erzeugnis, das ein computerlesbares Medium enthält, auf dem computerlesbare Programmcodemittel hinterlegt sind, die zur Ausführung des das Verfahren der vorliegenden Erfindung dienen. Des weiteren kann das Programmsignal 980 ebenfalls CPP 100 beinhalten. Das Signal 980 wird über das Netzwerk 990 zum Computer 900 übertragen.
  • Die ausführliche Beschreibung von CPP 100, Träger 970 und Signal 980 ist anzuwenden auf die Datenträger 971/972 (nicht gezeigt), auf das Programmsignal 981/982, sowie auf das Computerprogrammprodukt (CPP) 101/102 (nicht gezeigt), welches vom Prozessor 911/912 (nicht gezeigt) im Computer 901/902 ausgeführt wird.
  • Die Eingabevorrichtung 940 steht für eine Vorrichtung, die Daten und Anweisungen zur Verarbeitung durch den Computer 900 bereitstellt. Beispielsweise ist die Eingabevorrichtung 940 eine Tastatur, eine Zeigevorrichtung (Maus, Trackball, Cursorpfeile), Mikrofon, Joystick, Scanner. Obwohl es sich bei den Beispielen allesamt um Vorrichtungen mit menschlicher Interaktion handelt, kann die Vorrichtung 940 auch ohne menschliche Interaktion auskommen, wie zum Beispiel ein drahtloser Empfänger (z.B. mittels Satelliten- oder terrestrischer Antenne), ein Sensor (z.B. ein Thermometer), ein Zähler (z.B. ein Stückzahlzähler in einer Fabrik). Eingabevorrichtung 940 kann ebenfalls zum Lesen des Datenträgers 970 verwendet werden.
  • Die Ausgabevorrichtung 950 steht für eine Vorrichtung, die Anweisungen und Daten anzeigt, die bereits verarbeitet wurden. Beispiele dafür sind ein Monitor oder eine anderer Anzeige (Kathodenstrahlröhre, Flachbildschirm, Flüssigkristallanzeige, Lautsprecher, Drucker, Vibrationsalarm). Ähnlich wie bei der Eingabevorrichtung 940 kommuniziert die Ausgabevorrichtung 950 mit dem Benutzer, aber sie kann ebenfalls mit anderen Computern kommunizieren.
  • Die Eingabevorrichtung 940 und die Ausgabevorrichtung 950 können in einer einzigen Vorrichtung kombiniert werden. Beide Vorrichtungen 940, 950 können wahlweise bereitgestellt werden.
  • Der Bus 930 und das Netzwerk 990 stellen logische und physische Verbindungen dar, die sowohl Befehle als auch Datensignale übertragen. Verbindungen innerhalb des Computers 900 werden üblicherweise als Bus 930 bezeichnet, Verbindungen zwischen den Computern 900902 werden als Netzwerk 990 bezeichnet. Die Vorrichtungen 940 und 950 sind mit dem Computer 900 durch den Bus 930 (wie gezeigt) verbunden oder – wahlweise – über das Netzwerk 990 angeschlossen. Die Signale innerhalb des Computers 900 sind überwiegend elektrische Signale, wohingegen die Signale im Netzwerk elektrische, magnetische und optische Signale oder auch drahtlose Funksignale sein können.
  • Netzwerkumgebungen (wie Netzwerk 990) sind in Büros, unternehmensweiten Computernetzwerken, Intranets und im Internet (d.h. World Wide Web) üblich. Die physische Entfernung zwischen den Computern im Netzwerk ist ohne von Bedeutung. Netzwerk 990 kann ein drahtloses oder ein verdrahtetes Netzwerk sein. Als mögliche Beispiele für Implementierungen des Netzwerks 990 seien hier angeführt: ein lokales Netzwerk (LAN), ein Wide Area Network (WAN), ein ISDN-Netz, eine Infrarotverbindung (IR), eine Funkverbindung wie beispielsweise das Universal Mobile Telecommunication System (UMTS) oder eine Satellitenverbindung.
  • Übertragungsprotokolle und Datenformate sind bekannt. Beispiele dafür sind: TCP/IP (Transmission Control Protocol/Internet Protocol), HTTP (Hypertext Transfer Protocol), URL (Unique Resource Locator), HTML (Hypertext Markup Language), XML (Extensible Markup Language), WML (Wireless Application Markup Language) usw.
  • Schnittstellen zum Koppeln der einzelnen Komponenten sind ebenfalls bekannt. Zur Vereinfachung sind die Schnittstellen nicht dargestellt. Eine Schnittstelle kann beispielsweise eine serielle Schnittstelle, eine parallele Schnittstelle, ein Gameport, ein universeller serieller Bus (USB), ein internes oder externes Modem, ein Grafikadapter oder eine Soundkarte sein.
  • 100
    Computerprogramm
    110
    Beobachter
    120
    Umleiter
    311
    erste Anfrage
    312
    zweite Anfrage
    321
    Antwort
    400
    Verfahren
    410
    Schritt Beobachten
    420
    Schritt Umleiten
    9xx
    Computer allgemein und dessen Elemente
    A, B
    Computer im System
    E; E1 ...E100
    Computer außerhalb des Systems
    J
    Zahl der Meßwerte
    k
    Index für weitere Beobachtungen
    N
    Zahl der Computer im System
    T1
    beobachtete Bearbeitungszeit für die erste Anfrage
    TFA
    gleitender Mittelwert
    TMAX
    Maximalzeit
    TNORM
    Normzeit
    Z
    Zeiteinheit

Claims (8)

  1. Verfahren (400) zur Verwendung in einem Computersystem mit mindestens einem ersten Computer (A) und einem zweiten Computer (B), das System (A, B) zum Bearbeiten von aufeinanderfolgenden Anfragen (311, 312) eines externen Computers (E), das Verfahren (400) mit: Beobachten (410) der Bearbeitungszeit (T1), die der erste Computer (A) zum Bearbeiten einer ersten Anfrage (311) des externen Computers (E) benötigt; sowie Umleiten (420) einer zweiten Anfrage (312) vom ersten Computer (A) auf den zweiten Computer (B), falls die Bearbeitungszeit (T1) eine Normzeit (TNORM) überschreitet, das Verfahren dadurch gekennzeichnet, daß die Normzeit (TNORM) von der Art der Anfrage (311) abhängig ist.
  2. Verfahren nach Anspruch 1, wobei die Normzeit (TNORM) von der Konfiguration des ersten Computers (A) abhängig ist.
  3. Verfahren (400) nach Anspruch 1, wobei die Bearbeitungszeit (T1) relativ zu einer Datenmenge bestimmt wird.
  4. Verfahren nach Anspruch 1, wobei beim Beobachten (410) die Bearbeitungszeiten aufeinanderfolgender Anfragen berücksichtigt werden.
  5. Verfahren (400) nach Anspruch 1 unter Verwendung eines Verwaltungsprogramms (110/120) mit den Modulen Beobachter (110) zum Beobachten (410) und Umleiter (120) zum Umleiten (420).
  6. Verfahren (400) nach Anspruch 1, wobei die Schritte Beobachten (410) und Umleiten (420) von einem Verwaltungsprogramm (110/120) innerhalb des Systems veranlaßt werden.
  7. Computerprogramm, das auf einem Computer geladen ist und das ein Computersystem zu Ausführen eines Verfahren nach einem oder mehreren der Ansprüche 1 bis 6 veranlaßt.
  8. Computersystem (A, B) mit mindestens einem ersten Computer (A) und einem zweiten Computer (B) zum Bearbeiten von aufeinanderfolgenden Anfragen (311, 312) eines externen Computers (E), wobei das Computersystem ein Verfahren nach einem oder mehreren der Ansprüche 1 bis 6 ausführt.
DE10346303A 2003-10-06 2003-10-06 Verfahren zur Bearbeitung von aufeinanderfolgenden Anfragen eines externen Computers in einem Computersystem mit mindestens einem ersten Computer und einem zweiten Computer, sowie Computerprogramm und Computersystem Expired - Fee Related DE10346303B3 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE10346303A DE10346303B3 (de) 2003-10-06 2003-10-06 Verfahren zur Bearbeitung von aufeinanderfolgenden Anfragen eines externen Computers in einem Computersystem mit mindestens einem ersten Computer und einem zweiten Computer, sowie Computerprogramm und Computersystem
US10/574,641 US20070198693A1 (en) 2003-10-06 2004-09-06 Processing of consecutive inquiries from an external computer in a computer system comprising at least one first computer and one second computer
PCT/EP2004/052044 WO2005038653A1 (de) 2003-10-06 2004-09-06 Bearbeitung von aufeinanderfolgenden anfragen eines externen computers in einem computersystem mit mindestens einem ersten computer und einem zweiten computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10346303A DE10346303B3 (de) 2003-10-06 2003-10-06 Verfahren zur Bearbeitung von aufeinanderfolgenden Anfragen eines externen Computers in einem Computersystem mit mindestens einem ersten Computer und einem zweiten Computer, sowie Computerprogramm und Computersystem

Publications (1)

Publication Number Publication Date
DE10346303B3 true DE10346303B3 (de) 2005-03-24

Family

ID=34202429

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10346303A Expired - Fee Related DE10346303B3 (de) 2003-10-06 2003-10-06 Verfahren zur Bearbeitung von aufeinanderfolgenden Anfragen eines externen Computers in einem Computersystem mit mindestens einem ersten Computer und einem zweiten Computer, sowie Computerprogramm und Computersystem

Country Status (3)

Country Link
US (1) US20070198693A1 (de)
DE (1) DE10346303B3 (de)
WO (1) WO2005038653A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092798A (ja) * 1999-09-21 2001-04-06 Matsushita Electric Ind Co Ltd 負荷分散型マルチプロセッサシステム及び方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504894A (en) * 1992-04-30 1996-04-02 International Business Machines Corporation Workload manager for achieving transaction class response time goals in a multiprocessing system
JP3003440B2 (ja) * 1993-01-19 2000-01-31 株式会社日立製作所 負荷分散制御方法および分散処理システム
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US6078943A (en) * 1997-02-07 2000-06-20 International Business Machines Corporation Method and apparatus for dynamic interval-based load balancing
JP3369445B2 (ja) * 1997-09-22 2003-01-20 富士通株式会社 ネットワークサービスサーバ負荷調整装置、方法および記録媒体
JP3786328B2 (ja) * 1998-07-27 2006-06-14 株式会社日立製作所 サーバおよび通信制御方法
US6728748B1 (en) * 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
US6788692B1 (en) * 1999-05-03 2004-09-07 Nortel Networks Limited Network switch load balancing
JP2002091936A (ja) * 2000-09-11 2002-03-29 Hitachi Ltd 負荷分散装置及び負荷見積もり方法
US7251691B2 (en) * 2003-07-11 2007-07-31 International Business Machines Corporation Autonomic predictive load balancing of output transfers for two peer computers for data storage applications

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092798A (ja) * 1999-09-21 2001-04-06 Matsushita Electric Ind Co Ltd 負荷分散型マルチプロセッサシステム及び方法

Also Published As

Publication number Publication date
WO2005038653A9 (de) 2005-06-23
US20070198693A1 (en) 2007-08-23
WO2005038653A1 (de) 2005-04-28

Similar Documents

Publication Publication Date Title
DE69712678T3 (de) Verfahren zur Echtzeitüberwachung eines Rechnersystems zu seiner Verwaltung und Hilfe zu seiner Wartung während seiner Betriebsbereitschaft
DE60220287T2 (de) System und verfahren zur überwachung von software-warteschlangenanwendungen
EP1097428B1 (de) System und verfahren zum prüfen von netzwerk-anwendungen
DE69937249T2 (de) System und verfahren zur analyse eines webserver-logbuchs
DE60313567T2 (de) Zugriffsrelayvorrichtung
DE69433833T2 (de) Datenverarbeitungsgerät für Gleichung der Benutzerslast in einem Netz
DE60100430T2 (de) Computersystem für Geschäftsanwendungen mit Alarmmeldung und bedingter Inkraftsetzung
DE69730906T2 (de) Namendienst für ein redundantes Internetservernetz
DE69813123T2 (de) Überwachung der Kohärenz von finanziellen Informationen auf einem Kommunikationsnetzwerk
EP3097506B1 (de) Verfahren und system zur gewinnung und analyse von forensischen daten in einer verteilten rechnerinfrastruktur
DE60123843T2 (de) System und verfahren zum erfassen von browser-sitzungen und von aktionen des benutzers
DE10003907A1 (de) Browser für die Anwendung beim Zugriff auf Hypertext-Dokumente in einer Mehrnutzer-Computerumgebung
DE112011101109T5 (de) Übertragung von Map/Reduce-Daten auf der Grundlage eines Speichernetzwerkes oder eines Speichernetzwerk-Dateisystems
DE10296791T5 (de) Auswahl einer Ressource in einem verteilten Rechnersystem
DE112016004368T5 (de) Verwaltung eines Fehlerzustands in einem Datenverarbeitungssystem
DE10113577A1 (de) Verfahren, Computerprogrammprodukt und Computersystem zur Unterstützung mehrerer Anwendungssysteme mittels eines einzelnen Datenbank-Systems
DE112016003013T5 (de) Verteiltes speichersystem mit replika-standortauswahl
DE112017000881T5 (de) Identifizieren der Grundursache von einem Problem, das während einer Ausführung einer Anwendung beobachtet wird
DE112013003300B4 (de) Schrittweise Vorbereitung von Videos auf die Lieferung
DE112011103498T5 (de) Verhaltensgestützte Client-Auswahl für unterschiedliche Behandlung
DE60312498T2 (de) Wahlfähigster server in einer umgebung mit einer allgemeinen arbeit-warteschlange
DE602005001550T2 (de) Verfahren und vorrichtung zur unterstützung von transaktionen
EP1557002A1 (de) Verfahren und einrichtung zur auswahl eines netzzugangs zu einem oder mehreren datennetzen über ein telekommunikationsendgerät
DE602005002418T2 (de) Verwaltungsverfahren und -system für Netzverwaltungssysteme
DE10034404A1 (de) Blockierungsüberwachung und Nachrichtenfluss-Steuerung in einem blockierenden Netzwerk

Legal Events

Date Code Title Description
8100 Publication of patent without earlier publication of application
8364 No opposition during term of opposition
R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

R081 Change of applicant/patentee

Owner name: SAP SE, DE

Free format text: FORMER OWNER: SAP AG, 69190 WALLDORF, DE

Effective date: 20141210

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

Effective date: 20141210

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee