DE112011103369T5 - Erweitern von Verarbeitungskapazität auf Serverseite - Google Patents

Erweitern von Verarbeitungskapazität auf Serverseite Download PDF

Info

Publication number
DE112011103369T5
DE112011103369T5 DE112011103369T DE112011103369T DE112011103369T5 DE 112011103369 T5 DE112011103369 T5 DE 112011103369T5 DE 112011103369 T DE112011103369 T DE 112011103369T DE 112011103369 T DE112011103369 T DE 112011103369T DE 112011103369 T5 DE112011103369 T5 DE 112011103369T5
Authority
DE
Germany
Prior art keywords
clients
job
server side
tasks
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112011103369T
Other languages
English (en)
Other versions
DE112011103369B4 (de
Inventor
Yi Xin Zhao
Wei Xue
Li Li
Xin Hui Li
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112011103369T5 publication Critical patent/DE112011103369T5/de
Application granted granted Critical
Publication of DE112011103369B4 publication Critical patent/DE112011103369B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

Ausführungsformen der vorliegenden Erfindung betreffen ein Verfahren und eine Vorrichtung zum Erweitern von Verarbeitungskapazität einer Serverseite. In einer Ausführungsform wird ein Verfahren zum Erweitern von Verarbeitungskapazität der Serverseite bereitgestellt, aufweisend: Entscheiden, an ein Job aus der Serverseite ausgelagert werden muss; Aufteilen des Jobs in eine oder mehrere Aufgaben; Zuordnen der einen oder mehrerer Aufgaben zu einem oder mehreren Clients in Reaktion auf http-Anforderungen, die von dem einem oder mehreren Clients übertragen wurden; Empfangen, auf die von dem einen oder mehreren Clients übertragenen http-Anforderungen hin, von Antworten auf die eine oder mehrere Aufgaben von dem einen oder mehreren Clients.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Datenverarbeitung und betrifft insbesondere ein Verfahren und eine Vorrichtung zum Erweitern von Verarbeitungskapazität einer Serverseite und ein dazugehöriges Computerprogrammprodukt.
  • ALLGEMEINER STAND DER TECHNIK
  • Mit der Unterstützung von Netzwerktechnologie und verteilter Datenverarbeitungstechnologie kann ein Rechenzentrum, das Server aufweist, eingerichtet werden, und eine Anwendung, die eine Verarbeitungskapazität für supergroße Datenvolumen erfordert, wird durch Zusammenarbeit zwischen einer Vielzahl von Servern ausgeführt. Für einige Berechnungen darf die Rechenoperation jedoch nicht allein von der Verarbeitungskapazität auf der Serverseite abhängen. An diesem Punkt ist es notwendig, eine neue Lösung zum Erweitern oder Zuordnen der Verarbeitungskapazität der Serverseite zu entwickeln.
  • Wenn auf einer großen Website mit Millionen und sogar zig Millionen von Benutzern Massen von Benutzern gleichzeitig eine Abfrage ausführen oder irgendwelche Daten in der Website indexieren, ist immer eine hypermassive Datenverarbeitungskapazität erforderlich. wird eine Lösung, die fähig ist, die Verarbeitungskapazität der Serverseite zu erweitern, unter Verwendung einer Einkaufs-Website als Beispiel beschrieben. Soweit es die Serverseite einer Einkaufs-Website betrifft, können die Server in zwei Typen untergliedert werden: Web-Anwendungsserver und Analyseserver, wobei beide Servertypen identische physische Host-Ressourcen gemeinsam nutzen. Die Web-Anwendungsserver werden üblicherweise verwendet, um eine Anwendung auszuführen, die zum Unterstützen eines Front-End-Webservice erforderlich ist, während die Analyseserver üblicherweise verwendet werden, um andere relevante Datenanalysefunktionen bereitzustellen.
  • 1A veranschaulicht schematisch eine Darstellung der Architektur einer Konfiguration auf einer Serverseite 113 gemäß einer Lösung. Wenn in der Lösung I 110 die Anzahl von Benutzern 114 relativ klein ist, kann eine geringere Anzahl von Servern als Webserver 111 zugeordnet werden, wobei an diesem Punkt mehr Server als Analyseserver 112 verwendet werden können. Mit der Zunahme von Benutzern könnte sich die von der Webserverseite 113 getragene Arbeitslast jedoch vervielfachen und sogar exponentiell zunehmen. An diesem Punkt müssen mehr Hardware-Server als Webserver 111 gekauft werden, um so mehr Datenverarbeitungskapazität zum Anpassen an zunehmend höhere Inanspruchnahmen bereitzustellen.
  • 1B veranschaulicht schematisch eine Architekturdarstellung einer Lösung zum Erweitern von Verarbeitungskapazität der Serverseite ohne zunehmende Hardware-Investitionen. Die Lösung II 102 kann Funktionalitäten zwischen jeweiligen Servern auf der Serverseite 123 neu aufteilen. Zum Beispiel kann sie mehr Server als Webserver 121 zuweisen, während sie weniger Server als Analyseserver 122 zuweist.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Obwohl die vorgenannten Lösungen das Problem eines Ressourcenengpasses bei den Webservern 121 bis zu einem gewissen Grad lösen könnten, verursacht ein Verringern der Anzahl der Analyseserver 122 verschiedene Probleme, wie beispielsweise eine Verschlechterung der Analysekapazität und eine übermäßig lange Rückmeldungszeit. Damit wird das Bereitstellen anderer verfügbarer Ressourcen zum Erweitern der Verarbeitungskapazität der Serverseite ohne Erhöhen von Hardware-Investitionen in Analyseserver zum unmittelbaren Problem.
  • Es ist daher dringend wünschenswert, ein Verfahren bereitzustellen, um die die Verarbeitungskapazität der Serverseite ohne großen Aufwand und zuverlässig zu erweitern, ohne die Hardware-Investitionen zu erhöhen; und es ist ferner wünschenswert, die bestehende Hardware- und Softwarekonfiguration so wenig wie möglich zu ändern und die Verarbeitungskapazität der Serverseite auf eine leicht anwendbare Weise zu erweitern oder neu zuzuordnen.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird ein Verfahren zum Erweitern von Verarbeitungskapazität einer Serverseite bereitgestellt. Das Verfahren weist auf: Entscheiden, einen Job aus der Serverseite auszulagern; Aufteilen des Jobs in eine oder mehrere Aufgaben; Zuordnen der einen oder mehreren Aufgaben zu einem oder mehreren Clients in Reaktion auf http-Anforderungen, die von dem einem oder mehreren Clients übertragen wurden; Empfangen von Antworten auf die eine oder mehrere Aufgaben von dem einen oder mehreren Clients auf die von dem einen oder mehreren Clients übertragenen http-Anforderungen.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung gehört ferner das Auswählen von einem oder mehreren Clients zum Ausführen von einer oder mehreren Aufgaben dazu.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung weist das Entscheiden, einen Job aus einer Serverseite auszulagern, auf: Ermitteln einer aktuellen Laststufe auf der Serverseite; und Benennen des Jobs, der aus der Serverseite ausgelagert werden soll in Reaktion auf das Entscheiden, dass die aktuelle Laststufe einen Lastschwellenwert überschreiten wird oder bereits überschreitet.
  • Gemäß einer noch weiteren Ausführungsform weist das Zuordnen der einen oder mehreren Aufgaben zu einem oder mehreren Clients auf: Gruppieren des einen oder mehrerer Clients auf der Grundlage von Attributen des einen oder mehrerer Clients; und Zuweisen mit einer Gruppeneinheit einer Aufgabe, die der Gruppe entspricht, zu dem einen oder mehreren Clients.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird eine Vorrichtung zum Erweitern von Verarbeitungskapazität einer Serverseite bereitgestellt. Die Vorrichtung weist auf: ein Entscheidungsmittel zum Entscheiden, einen Job aus der Serverseite auszulagern; ein Aufteilungsmittel zum Aufteilen des Jobs in eine oder mehrere Aufgaben; ein Zuordnungsmittel zum Zuordnen der einen oder mehreren Aufgaben zu einem oder mehreren Clients in Reaktion auf http-Anforderungen, die von dem einem oder mehreren Clients übertragen wurden; ein Empfangsmittel zum Empfangen von Antworten auf die eine oder mehrere Aufgaben von dem einen oder mehreren Clients auf die http-Anforderungen, die von dem einen oder mehreren Clients übertragen wurden.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung gehören ferner ein Auswählmittel zum Auswählen von einem oder mehreren Clients zum Ausführen von einer oder mehreren Aufgaben dazu.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung weist das Entscheidungsmittel auf: ein Ermittlungsmittel zum Ermitteln einer aktuellen Laststufe auf der Serverseite; und ein Benennungsmittel zum Benennen des Jobs, der aus der Serverseite ausgelagert werden soll in Reaktion auf das Ermitteln, dass die aktuelle Laststufe einen Lastschwellenwert überschreiten wird oder bereits überschreitet.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung weist das Zuordnungsmittel ein Gruppierungsmittel zum Gruppieren des einen oder mehrerer Clients auf der Grundlage von Attributen des einen oder mehrerer Clients auf; und ein Zuweisungsmittel zum Zuweisen mit einer Gruppeneinheit einer Aufgabe, die der Gruppe entspricht, zu dem einen oder mehreren Clients.
  • Durch die Verwendung der verschiedenen Ausführungsformen der vorliegenden Erfindung ist es möglich, die Verarbeitungskapazität der Serverseite ohne großen Aufwand und zuverlässig zu erweitern, ohne die Hardware-Investitionen zu erhöhen, und die Verarbeitungskapazität der Serverseite auf eine leicht anwendbare Weise zu erweitern oder neu zuzuordnen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Merkmale, Vorteile und andere Aspekte von verschiedenen Ausführungsformen der vorliegenden Erfindung werden durch die folgende ausführliche Beschreibung unter Bezugnahme auf die folgenden Zeichnungen ersichtlicher, wobei:
  • 1A schematisch eine Darstellung der Architektur einer Konfiguration auf einer Serverseite gemäß einer Lösung veranschaulicht.
  • 1B schematisch eine Architekturdarstellung einer Lösung zum Erweitern von Verarbeitungskapazität einer Serverseite veranschaulicht.
  • 2 schematisch eine Architekturdarstellung zum Erweitern oder Zuordnen von Verarbeitungskapazität einer Serverseite gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht;
  • 3 schematisch einen Ablaufplan eines Verfahrens zum Erweitern oder Zuordnen von Verarbeitungskapazität einer Serverseite gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht;
  • 4 schematisch einen Ablaufplan eines Verfahrens zum Zuordnen von Aufgaben zu Clients einer Serverseite gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht;
  • 5A und 5B jeweils schematisch einen Verarbeitungsablaufplan auf einer Serverseite gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulichen, wobei 5A einen Lastprüfablauf auf der Serverseite veranschaulicht und 5B einen Ereignisverarbeitungsablauf auf der Serverseite veranschaulicht.
  • 6A bis 6D schematisch ausführliche Operationen in dem Verarbeitungsablauf von 5B veranschaulichen, wobei 6A einen Verarbeitungsablauf für eine Anmeldung eines neuen Clients veranschaulicht, 6B einen Verarbeitungsablauf zum Zurückgeben eines Aufgabenergebnisses veranschaulicht, 6C einen Verarbeitungsablauf zum Anfordern des Auslagerns eines Jobs veranschaulicht und 6D einen Verarbeitungsablauf zur Aufgabenverarbeitung veranschaulicht; und
  • 7 schematisch ein Blockschaubild einer Vorrichtung zum Erweitern oder Zuordnen von Verarbeitungskapazität einer Serverseite gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Die Ablaufpläne und das Blockschaubild in den Figuren veranschaulichen das System, die Verfahren sowie Architektur, Funktionen und Operationen, die von einem Computerprogrammprodukt gemäß den Ausführungsformen der vorliegenden Erfindung ausführbar sind. Diesbezüglich kann jeder Block in den Ablaufplänen oder in dem Blockschaubild ein Modul, ein Programmsegment oder einen Codeteil darstellen, der einen oder mehrere ausführbare Anweisungen zum Ausführen von angegebenen logischen Funktionen enthält. Es ist anzumerken, dass in einigen alternativen Umsetzungen die in den Blöcken angegebenen Funktionen auch in einer anderen als in der in den Zeichnungen angegebenen Abfolge auftreten können. Zum Beispiel können zwei Blöcke, die nacheinander veranschaulicht sind, im Wesentlichen parallel oder in einer umgekehrten Reihenfolge ausgeführt werden. Dies hängt von relevanten Funktionen ab. Es ist ebenfalls anzumerken, dass jeder Block in den Blockschaubildern und/oder Ablaufplänen und eine Kombination von Blöcken in den Blockschaubildern und/oder Ablaufplänen durch ein fest zugeordnetes System auf Hardware-Grundlage zum Ausführen von angegebenen Funktionen oder Operationen oder durch eine Kombination von fest zugeordneter Hardware und Computeranweisungen umgesetzt werden können.
  • Im Folgenden wird hierin ein Verarbeitungsablauf eines Verfahrens gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung ausführlich unter Verwendung einer Einkaufs-Website als Beispiel beschrieben. Es ist anzumerken, dass gemäß einer Ausführungsform der vorliegenden Erfindung die Umsetzung von verschiedenen Verfahren, Vorrichtungen und Computerprogrammprodukten nicht auf eine auf dem Web beruhende Anwendung beschränkt ist, die durch eine Einkaufs-Website dargestellt wird, wobei deren Umsetzung auch auf verschiedene Arten von anderen Anwendungen ausgeführt werden kann.
  • Ein Client kann auf verschiedene Arten auf eine Serverseite zugreifen, und hierin wird nur eine Verbindung mit der Serverseite auf eine Weise des Zugreifens auf eine Webseite, die von der Serverseite bereitgestellt wird, als ein Beispiel genommen, wobei eine Datenverarbeitungseinheit auf einer Client-Seite ebenfalls über ein Netzwerk über andere Anwendungen auf die Serverseite zugreifen kann. Zum Beispiel kann auf die Serverseite über eine bestimmte Anwendung oder durch Installieren eines Plug-In zugegriffen werden.
  • Des Weiteren ist anzumerken, dass hier zwar ein allgemeines Computer-Datenendgerät als spezielles Beispiel für einen Client genommen wird und ein allgemeines Computer-Datenendgerät, das auf für das Web übliche Weise auf die Serverseite zugreift, als spezielles Beispiel genommen wird, es jedoch klar ist, dass der Client ferner verschiedene Arten von Datenverarbeitungsendgeräten mit Datenverarbeitungskapazität aufweisen kann, wie beispielsweise ein Desktop-Computer, ein Laptop-Computer, ein Panel-Computer und eine Workstation usw. Durch den Miniaturisierungstrend von Datenverarbeitungseinheiten und die Erweiterung von Verarbeitungskapazität kann der Client ferner eine tragbare mobile Datenverarbeitungseinheit wie beispielweise einen Personal Digital Assistant, ein intelligentes Telefon und ein mobiles Datenendgerät aufweisen.
  • Es ist anzumerken, dass zwar ein Analyseserver in einer Einkaufs-Website in den Ausführungsformen der vorliegenden Erfindung als Beispiel genommen wird, die Ausführungsformen der vorliegenden Erfindung nicht auf dieses Beispiel beschränkt sind, sondern jeden Server aufweisen können, der fähig ist, einen darauf ausgeführten Job in eine Vielzahl von Aufgaben aufzuteilen, die auf einer Vielzahl von Datenverarbeitungsendgeräten ausgeführt werden. Es ist anzumerken, dass die Job-Aufteilung wie hierin erwähnt verschiedene Faktoren berücksichtigen muss, wie beispielsweise den Dringlichkeitsgrad des Jobs, seine Echtzeitnatur und vertrauliche Natur usw.; und nicht alle Jobs sind geeignet, auf einem Client ausgeführt zu werden, der mit der Serverseite verbunden ist. Unter Verwendung des Verfahrens der vorliegenden Erfindung kann sich eine Vielzahl von Clients, die mit der Serverseite verbunden sind, Aufgaben teilen, die ursprünglich für eine Ausführung auf der Serverseite geplant waren, und ferner wird die Arbeitslast auf der Serverseite verringert.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung liegt ein Vorteil im Erweitern der Verarbeitungskapazität der Serverseite in einer für den Client transparenten Weise. Zum Beispiel ist es für den Benutzer nicht nötig, eine fest zugeordnete Anwendung zum Empfangen einer zugeordneten Aufgabe und zum Zurückgeben eines Verarbeitungsergebnisses zu installieren, wobei die Serverseite dazu in Reaktion auf http-Anforderungen, die von dem Client übertragen werden, eine Aufgabe zuordnen kann, und für den Server ist es nur notwendig, eine Antwort zu der Aufgabe aus der Anforderung zu empfangen, die von dem Client übertragen wurde. Außerdem ist es für den Client nicht nötig, eine fest zugeordnete Anwendung zum Ausführen der Aufgabe zu installieren, und die zugeordnete Aufgabe kann in einer Aufgabenbeschreibungsweise umgesetzt werden, wobei der Client die zugeordnete Aufgabe allein auf der Grundlage der Aufgabenbeschreibung umsetzen kann.
  • 2 veranschaulicht schematisch eine Architekturdarstellung 200 zum Erweitern oder Zuordnen von Verarbeitungskapazität einer Serverseite gemäß einer Ausführungsform der vorliegenden Erfindung. Gemäß einer Ausführungsform der vorliegenden Erfindung, kann, wenn für Ressourcen auf der Serverseite (zum Beispiel einen Analyseserver 220) ein Engpass besteht, die Verarbeitungskapazität der Clients, die mit dem Analyseserver 220 verbunden sind, gemeinschaftlich genutzt werden, um die gesamte Datenverarbeitungskapazität der Serverseite zu verbessern.
  • Im Gegensatz zu der Lösung, wie sie in den 1A und 1B veranschaulicht ist, ist in der Ausführungsform, wie sie in 2 veranschaulicht ist, die Interaktion zwischen dem Client, der von einem Benutzer 240 verwendet wird, und dem Analyseserver 220 nicht auf herkömmliche Operationen beschränkt, bei denen der Client von dem Analyseserver 220 Daten anfordert und Daten empfängt; der Client kann des Weiteren eine Aufgabe, die durch den Analyseserver 220 zugeordnet wird, und relevante zu verarbeitende Daten empfangen und nach dem Verarbeiten der relevanten zu verarbeitenden Daten auf der Grundlage der Aufgabenbeschreibung das Verarbeitungsergebnis an den Analyseserver zurückgeben. An diesem Punkt ordnet die Serverseite die Aufgaben und relevanten zu verarbeitenden Daten zu qualifizierten Clients durch Aufteilen ihres eigenen Jobs in Aufgaben von geeigneter Größe zu und empfängt das Verarbeitungsergebnis von den Clients, so dass die Clients des Benutzers 240 sich Teile des Jobs teilen, der ursprünglich geplant war, von dem Analyseserver 220 selbst ausgeführt zu werden.
  • Hierin werden nachstehend ein Arbeitsablauf eines Verfahrens und eine Systemarchitektur gemäß einer Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die 3 bis 7 beschrieben. 3 veranschaulicht schematisch einen Ablaufplan 300 eines Verfahrens zum Erweitern oder Zuordnen von Verarbeitungskapazität einer Serverseite gemäß einer Ausführungsform der vorliegenden Erfindung. Wie in 3 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, beginnt das Verfahren zum Erweitern oder Zuordnen der Verarbeitungskapazität der Serverseite ab Schritt S302. In Schritt S302 wird zunächst entschieden, ob ein Job aus dem Server ausgelagert werden soll. Es ist anzumerken, dass sich die „Auslagerungs”-Operation hier allgemein auf einen Prozess zum Neuzuweisen eines Jobs, der ursprünglich durch eine Datenverarbeitungseinheit auf der Serverseite ausgeführt werden sollte, zur Ausführung zu einer anderen Datenverarbeitungseinheit bezieht. Der ausgelagerte Job kann ein neuer Job sein, der dem Server gerade zugeordnet worden ist, aber noch nicht ausgeführt wurde, oder ein Job, der ausgeführt wird, aber mit einer anderen Datenverarbeitungseinheit geteilt werden muss, weil die Serverseite eine überwältigend hohe Last aufweist. Es ist anzumerken, dass, wenn entschieden wird, einen Job auszulagern, Faktoren wie aktuelle Last auf der Serverseite, Verarbeitungskapazität auf der Serverseite, Vertraulichkeit des Jobs und Reaktionszeit des Jobs berücksichtigt werden können. Zum Beispiel kann für den ausführenden Client berücksichtigt werden, einen Job mit Priorität auszuführen, der eine hohe Vertraulichkeit aufweist und auf der Serverseite eine äußerste Echtzeitantwort erfordert, und es kann gewählt werden, einen Job auszulagern, der eine niedrige Vertraulichkeit und eine geringe Anforderung in Bezug auf eine Reaktionszeit aufweist.
  • In Schritt S304 wird der in Schritt S302 entschiedene Job in eine oder mehrere Aufgaben aufgeteilt. Es ist anzumerken, dass gemäß einer Ausführungsform der vorliegenden Erfindung die Serverseite den Job auf der Grundlage einer vordefinierten Regel aufteilen kann. Zum Beispiel kann während des Aufteilens eine Aufgabengranularität ermittelt werden, und die den Aufgaben entsprechenden zu verarbeitenden Daten können ermittelt werden usw. Es ist anzumerken, dass auf der Grundlage von Faktoren wie der Datenverarbeitungskapazität der Clients und des Netzwerkverbindungszustands zwischen den Clients und der Serverseite die den Clients zugeordneten Aufgaben im Allgemeinen einer feinere Granularität haben, und es ist erforderlich, einen redundanten Mechanismus zu übernehmen (zum Beispiel Zuweisen einer selben Aufgabe zu einer Vielzahl von Clients), um so sicherzustellen, dass die Serverseite eine Antwort von mindestens einem Client empfängt usw. Gemäß einer Ausführungsform kann beim Aufteilen jede Aufgabe eine andere Granularität haben, und die jeder Aufgabe entsprechenden zu verarbeitenden Daten können auch eine unterschiedliche Größe haben.
  • In Schritt S306 werden in Reaktion auf http-Anforderungen, die von den Clients übertragen werden, eine oder mehrere Aufgaben zu dem einen oder mehreren Clients zugeordnet. Es ist anzumerken, dass eine unterschiedliche Zuordnungsrichtlinie eingerichtet werden kann. Zum Beispiel ist es möglich zu begrenzen, dass ein Client gleichzeitig nur eine Aufgabe ausführen kann und eine nächste Aufgabe erst erhalten werden kann, wenn die Aufgabe abgeschlossen ist und ein Aufgabenausführungsergebnis an den Server übergeben wurde; oder es ist möglich zu begrenzen, dass ein Client eine Vielzahl von Aufgaben aus demselben Job gleichzeitig ausführen kann oder ein Client eine Vielzahl von Aufgaben aus verschiedenen Jobs ausführen kann usw. Es ist anzumerken, dass eine Aufgabenzuordnung in Reaktion auf http-Anforderungen ausgeführt wird, die von dem Client übertragen werden. Wenn die Serverseite zum Beispiel eine Anmeldung eines Clients erkennt, kann sie den Aufgabenzuordnungsvorgang ausführen. Gemäß einer Ausführungsform können Aufgaben zu dem Client zugeordnet werden, solange der Client nach der Anmeldung die Verbindung zu der Serverseite aufrechterhält. Nachdem der Client eine Aufgabe abgeschlossen hat, kann die Serverseite auf der Grundlage der Richtlinie der Serverseite selbst ferner weitere eine oder mehrere Aufgaben zu dem Client zuordnen oder wird dem Client keine Aufgabe mehr zuordnen. Wenn der Client seine Verbindung mit der Serverseite trennt (zum Beispiel durch Schließen einer Webseite), ordnet die Serverseite dem Client keine weitere Aufgabe zu. Ferner kann der Client auch eine Vielzahl von Aufgaben von Servern in verschiedenen Rechenzentren empfangen.
  • Als Nächstes werden in Schritt S308 auf eine oder mehrere http-Anforderungen hin, die von einem oder mehreren Clients übertragen werden, Antworten von dem einen oder mehreren Clients auf die eine oder mehreren Aufgaben empfangen. Gemäß einer Ausführungsform der vorliegenden Erfindung weist sie ferner Verarbeiten einer Ausnahmesituation auf, dass der Client keine Antwort hat. In den Schritten S306 und S308 werden sowohl Aufgabenzuordnung als auch Empfang einer Antwort eines Clients auf die Aufgabe in einer Weise einer http-Anforderung umgesetzt, ohne die bestehende Konfiguration der Clients zu ändern.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung weist sie ferner auf: Auswählen von einem oder mehreren Clients der Serverseite (zum Beispiel im Rechenzentrum), um eine oder mehrere Aufgaben auszuführen. Es sollte verstanden werden, dass eine Situation existieren könnte, dass Millionen von Clients mit der Serverseite verbunden sind, sodass das Ziel dieses Auswählschritts darin besteht, Clients, die zum Ausführen der Aufgabe geeignet sind, aus verfügbaren Clients auszuwählen, um diese Aufgabe zeitgerechter und genauer abzuschließen. Die Attribute der Clients können als Filterstandards zum Auswählen von Clients verwendet werden, die geeignet sind, die Aufgabe auszuführen. In einer Ausführungsform können Clients mit komplexerer Hardware-Konfiguration, geringerer Auslastung und besserer Netzwerkverbindung ausgewählt werden, oder die Auswahl kann zufällig erfolgen, oder alle Clients, die aktuell auf den Server zugreifen, können verwendet werden usw.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung weist das Entscheiden, einen Job aus einer Serverseite auszulagern, auf: Ermitteln einer aktuellen Laststufe auf der Serverseite; und Benennen des Jobs, der aus der Serverseite ausgelagert werden soll in Reaktion auf das Ermitteln, dass die aktuelle Laststufe einen Lastschwellenwert überschreiten wird oder bereits überschreitet.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung, wenn entschieden wird, dass ein Job ausgelagert werden muss, kann die Serverseite zuerst ihre eigene aktuelle Arbeitslast prüfen. Wenn die aktuelle Last auf der Serverseite relativ klein ist, kann ein neuer Job vollständig auf der Serverseite ausgeführt werden; wenn die aktuelle Last der Serverseite sich der vollen Last genähert hat, kann ein Teil des Jobs dem Host auf der Serverseite zur Ausführung zugewiesen werden, und der restliche Teil wird den Clients zugewiesen, oder der Job kann insgesamt den Clients zur Ausführung zugeordnet werden; wenn die Serverseite ferner während des Job-Ausführungsprozesses erkannt hat, dass die aktuelle Laststufe sich einer Schwellenwert-Laststufe nähert oder diese bereits überschritten hat, kann der Job, der am Serverende ausgeführt wird, aus dem Server entfernt werden, um weiter aufgeteilt zur werden, und anschließend werden Clients zugewiesen, um den entfernten Teil auszuführen, der in dem Job auf der Serverseite nicht abgeschlossen wurde. Gemäß einer Ausführungsform der vorliegenden Erfindung wird der ausgelagerte Job anschließend in eine oder mehrere Aufgaben zur Ausführung auf einem oder mehreren Clients aufgeteilt. Nachstehend wird hierin ausführlich ein Ablauf des Ausführens einer Lastprüfung auf der Serverseite unter Bezugnahme auf 5A beschrieben.
  • Unter Bezugnahme auf 4 wird jetzt schematisch ein Ablaufplan 400 eines Verfahrens zum Zuordnen von Aufgaben zu Clients einer Serverseite gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. In Schritt S402 werden ein oder mehrere Clients auf der Grundlage der Attribute des einen oder mehrerer Clients gruppiert. Die Gruppierung kann die allgemeine Natur der Clients berücksichtigen, die mit der Serverseite verbunden sind, wobei Clients mit identischen Attributen in einer entsprechenden Gruppe gruppiert werden, und wenn Aufgaben zugeordnet werden, können Aufgaben ausgewählt werden, die für die Ausführung durch die Clients in der Gruppe geeigneter sind.
  • Attribute der Clients können eines oder mehreres aufweisen von: Verarbeitungskapazität der Clients, aktuelle Lasten der Clients, Reaktionszeit der Clients, Konfidenzgrad der Clients, Weiterleitungsbedingung von den Clients zu der Serverseite, Verlauf des Aufgabenabschlusses der Clients und Vereinbarungen zwischen den Clients und der Serverseite usw.
  • Ein Gedanke der Ausführungsformen der vorliegenden Erfindung ist die gemeinsame Nutzung der Verarbeitungskapazitäten der Clients. Diese Zusammenarbeitsweise kann für den Benutzer transparent sein, und zwar ohne große manuelle Beteiligung von den Benutzern oder Ändern der Anwendung der Clients. Zum Beispiel müssen Vereinbarungen zur gemeinsamen Nutzung von Verarbeitungskapazität zwischen der Serverseite und den Clients vorab zugewiesen werden, und zwar wird vorab vereinbart, dass die Serverseite den Clients eine Aufgabe zuordnen kann, und die Clients sagen zu, die Aufgabe auszuführen und das Verarbeitungsergebnis an die Serverseite zurückzugeben. Nachdem die Clients den Vereinbarungen zugestimmt haben, können die von der Serverseite zugordnete Aufgabe angenommen und die nachfolgenden Vorgänge ausgeführt werden. Gemäß verschiedenen Geschäftsbetriebsmodellen kann die gemeinsame Nutzung von Verarbeitungskapazitäten der Clients auch auf andere Weise umgesetzt werden, doch wird hier nicht ausführlich auf Geschäftsmodelle und Rechtsfragen eingegangen, die an dem Vorgangsprozess beteiligt sind.
  • Mit einer Gruppeneinheit kann eine Aufgabe, die der Gruppe entspricht, einem oder mehreren Clients zugewiesen werden. Zum Beispiel werden Clients mit stärkerer Verarbeitungskapazität in eine Gruppe gestellt, und somit können Aufgaben, die eine höhere Verarbeitungskapazität erfordern, den Clients in der Gruppe zugeordnet werden. Zum Beispiel kann ihnen eine Aufgabe mit einer hohen Datenverarbeitungsleistung und einer hohen Datenverarbeitungslast zugeordnet werden, oder ihnen kann ein größerer zu verarbeitender Datenblock zugeordnet werden. In einem weiteren Beispiel, wenn aus der vorherigen Erfahrung bekannt ist, dass die Reaktionszeit einiger Clients sehr kurz ist, können diese Clients in einer Gruppe klassifiziert werden, und eine Aufgabe mit einer höheren Anforderung an Reaktionszeit kann dieser Gruppe zugeordnet werden. In einem weiteren Beispiel, wenn ein Jobabschlussverlauf von einigen Clients veranschaulicht, dass ihre Abschlussgeschwindigkeiten für vorherige Aufgaben recht hoch sind, können diese Clients in einer Gruppe klassifiziert werden, und Aufgaben werden dieser Gruppe mit Priorität zugeordnet. Die Clients können auf der Grundlage verschiedener Dienstvereinbarungen zwischen der Serverseite und den Clients in verschiedene Gruppen aufgeteilt werden. Wenn die Clients zum Beispiel zustimmen, ihre eigene Datenverarbeitungskapazität in der Nacht (zum Beispiel 00:00 h bis 06:00 h) beizutragen und garantieren, dass sie während dieses Zeitraums mit der Serverseite verbunden sind, kann die Serverseite Clients in einer ähnlichen Situation in dieselbe Gruppe aufteilen und Clients in dieser Gruppe nachts durchgehend Aufgaben zuordnen.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung weist das Zuordnen der einen oder mehrerer Aufgaben zu einem oder mehreren Clients auf: in Reaktion auf das Anmelden von einem oder mehreren Clients an der Serverseite Senden einer Aufgabenbeschreibung, die der einen oder mehreren Aufgaben und zu verarbeitenden Daten entspricht, an den einen oder mehrere Clients. Es ist anzumerken, dass Zuordnen von Aufgaben zu Clients dadurch bedingt ist, dass die Clients mit der Serverseite verbunden sind. Gemäß einer Ausführungsform kann eine Aufgabe zum Beispiel einem Client zugeordnet werden, wenn er auf eine Seite der Serverseite zugreift, und während des Zeitraums, wenn der Client die Verbindung zu der Serverseite aufrechterhält, kann sich die Serverseite die Verarbeitungskapazität des Clients zu Nutze machen, wogegen, nachdem der Client die Seite verlassen hat, die Verarbeitungskapazität des Clients nicht genutzt werden kann. Es ist anzumerken, dass gemäß einer Ausführungsform der vorliegenden Erfindung der Client auf die Serverseite in einer auf dem Web beruhenden Weise zugreifen kann. Der Web-Weise soll hier eine ausführliche Erklärung gewidmet werden. Diese Weise enthält eine Webseite, die durch Zugreifen auf die Serverseite bereitgestellt wird, und sie kann ferner verschiedene Arten von auf dem Web beruhenden Zugriffsweisen enthalten, die bereits vorhanden gewesen sind und zukünftig entwickelt werden, sie ist aber nicht darauf beschränkt. Gemäß Dienstvereinbarungen kann eine Aufgabe zu den Clients während des Zeitraums zugeordnet werden, in dem sich die Clients an der Serverseite anmelden.
  • Ein Vorteil einer Ausführungsform der vorliegenden Erfindung ist, dass die Datenverarbeitungskapazität der Clients genutzt werden kann, ohne zusätzlich eine neue Anwendung auf dem Client zu installieren, weil während des Zuordnens der Aufgabe eine Aufgabenbeschreibung, die der Aufgabe entspricht, gesendet wird, während die zu verarbeitenden Daten an die Clients gesendet werden. Somit können die Clients die zu verarbeitenden Daten mit der empfangenen Aufgabenbeschreibung verarbeiten. Die Aufgabenbeschreibung kann eines oder mehrere Elemente aufweisen von: einer Eingabedatenbeschreibung, einer Ausgabedatenbeschreibung und einem Verarbeitungsalgorithmus, oder sie kann eine Verarbeitungsalgorithmus-Beschreibung aufweisen.
  • Bei einem Szenario, in dem beispielsweise ein Protokoll einer Einkaufs-Website nur Datensätze jeder einzelnen Transaktion (zum Beispiel, wie viele Artikel zu einem bestimmten Zeitpunkt verkauft werden und wie hoch der Stückpreis der Artikel ist) aufnimmt, ein Job den Betrag der größten Einzeltransaktion und die Bezeichnung des entsprechenden Artikels berechnen soll, kann dieser Job wie folgt aufgeteilt werden:
    Unter der Annahme, dass das Protokoll 10.000 einzelne Transaktionsdatensätze aufgenommen hat, werden die Datensätze zum Beispiel in 1.000 Datensegmente aufgeteilt, und die Aufgabe des Berechnens des Betrags der größten Einzeltransaktion in einem Datensegment wird jedem Client zugeordnet (für den Fall, dass eine Client-Gruppe eingerichtet worden ist, kann die Aufgabe auch der Client-Gruppe zugeordnet werden). An diesem Punkt werden eine Aufgabenbeschreibung und die entsprechenden zu verarbeitenden Daten an die Clients (oder Client-Gruppen) gesendet. Ohne Berücksichtigung der Client-Gruppe kann die Serverseite die Aufgabe an 1.000 Clients senden, wobei jedes Element von zu verarbeitenden Daten ein Datensegment sein kann, das 10 einzelne Transaktionsdatensätze enthält. Unter Berücksichtigung von Faktoren wie dem Konfidenzgrad der Clients und der Netzwerkbedingung kann auch eine andere Zuordnungsweise angewendet werden, die fähig ist, den Konfidenzgrad zu erhöhen, wofür ein spezielles Beispiel ausführlich beschrieben wird.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung kann eine Aufgabenbeschreibung sein:
    {Eingabedaten: Protokolldaten mit 10 einzelnen Transaktionsdatensätzen, wobei jeder einzelne Datensatz enthält: Artikelbezeichnung: a; Mengen von verkauftem Artikel: b, und Stückpreis des Artikels: c;
    Ausgabedaten: größter Einzeltransaktionsbetrag, Artikelbezeichnung;
    Algorithmus: größter Einzeltransaktionsbetrag = b × c, Artikelbezeichnung = a)
  • Jeder Client, der die Aufgabenbeschreibung empfangen hat, kann den vorgenannten Algorithmus zum Berechnen des Verarbeitungsergebnisses für die 10 einzelnen Transaktionsdatensätze anwenden. Dieser Algorithmus kann mit einer Skript-Technologie beschrieben werden (zum Beispiel AJAX-Technologie) oder mit einem anderen Programm, das direkt oder indirekt von den Clients ausgeführt werden kann. Wenn die Serverseite das Verarbeitungsergebnis empfängt, das von den 1.000 Clients zurückgegeben wird, zum Beispiel 2-Tupel (größter Einzeltransaktionsbetrag, Artikelbezeichnung), muss nur ein 2-Tupel mit dem „größten Einzeltransaktionsbetrag” aus den 1.000 2-Tupeln ausgewählt werden, ohne die Daten in dem Protokoll von 10.000 Datensätzen einzeln zu vergleichen.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird das Aufteilen eines Jobs in eine oder mehrere Aufgaben auf der Grundlage einer vordefinierten Regel ausgeführt, die sich auf mindestens eines bezieht von: Granularität der Aufgabe, Rechenlast des Jobs, Priorität des Jobs, Vertraulichkeit des Jobs usw. Wenn zum Beispiel die Rechenlast des Jobs hoch ist, kann der Job in mehrere Aufgaben mit einer relativ leichten Rechenlast aufgeteilt werden, sodass die Clients jede Aufgabe in einer relativ kurzen Zeit abschließen und die Verarbeitungsergebnisse so bald wie möglich an die Serverseite zurückgeben können. Zum Beispiel kann in Erwägung gezogen werden, einen Job mit oberster Priorität mit Priorität zu verarbeiten, und nach dem Aufteilen werden die entsprechenden Aufgaben zu Clients zugeordnet, die eine hohe Verarbeitungskapazität und eine schnelle Reaktionszeit haben und die zuverlässiger sind. Zum Beispiel kann auf der Grundlage der Vertraulichkeit eines Jobs der Job mit höherer Vertraulichkeit in eine geringere Anzahl von Aufgaben aufgeteilt werden, die zuverlässigeren Clients zur Ausführung zugeordnet werden sollen, um so das Risiko eines unbefugten Eingriffs während der Prozesse der Aufgabenzuordnung und Ergebnisrückgewinnung zu verringern.
  • Es ist anzumerken, dass die Granularität von Aufgaben auf der Grundlage der Erfahrung der Clients bei vorheriger Aufgabenausführung dynamisch eingerichtet werden kann. Wenn zum Beispiel während des vorherigen Ausführungsprozesses von Aufgaben eine große Anzahl von Clients die Verarbeitungsergebnisse innerhalb einer vordefinierten Reaktionszeit wegen einer übergroßen Aufgabengranularität nicht ausrechnen kann, muss in der Folge eine feinere Aufgabengranularität eingerichtet werden und umgekehrt. Es ist anzumerken, dass Attribute der Clients ferner berücksichtigt werden können, wenn die Aufgabengranularitäten eingerichtet werden. Für einen Job kann eine Vielzahl von Aufgabengranularitäten während des Aufteilens eingerichtet werden. Und zwar kann der Job in eine Vielzahl von Aufgaben mit verschiedenen Größen aufgeteilt werden, um entsprechende Aufgaben zu verschiedenen Clients und/oder Client-Gruppen zuzuordnen.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung kann sie ferner aufweisen: Erzeugen eines Verarbeitungsergebnisses von mindestens einem Teil eines Jobs auf der Grundlage von Antworten von einem oder mehreren Clients auf eine oder mehrere Aufgaben. Hier bezieht sich der Prozess des Erzeugens eines Verarbeitungsergebnisses von mindestens einem Teil eines Jobs auf das Zusammenfassen von Antworten von einer Vielzahl von Clients, um das Verarbeitungsergebnis zu erhalten. Während des Berechnens des größten Einzeltransaktionsbetrags und der entsprechenden Artikelbezeichnung einer Einkaufs-Website empfängt die Serverseite zum Beispiel die Verarbeitungsergebnisse von 1.000 Clients, zum Beispiel einen Prozess zum Auswählen eines 2-Tupels mit dem „größten Einzeltransaktionsbetrag” nach dem Empfangen der 1.000 2-Tupel (größter Einzeltransaktionsbetrag, Artikelbezeichnung).
  • Wenn außerdem nur ein Teil eines Jobs aus der Serverseite ausgelagert wird (zum Beispiel Berechnen des „größten Einzeltransaktionsbetrags in den 5.000 einzelnen Protokolldatensätzen” durch die Serverseite, während die Clients weitere 5.000 einzelne Protokolldatensätze verarbeiten) und sich die Aufteilungsweise nicht ändert, muss die Serverseite nur ein Verarbeitungsergebnis von mindestens einem Teil des Jobs erzeugen (und zwar für die 5.000 einzelnen Protokolldatensätze) auf der Grundlage der Antworten von 500 Clients (und zwar 500 2-Tupeln).
  • Gemäß einer Ausführungsform der vorliegenden Erfindung weist das Erzeugen eines Verarbeitungsergebnisses von mindestens einem Teil eines Jobs ferner auf: Erhalten eines Konfidenzgrads von Antworten von einem oder mehreren Clients und Bereitstellen eines Verarbeitungsergebnisses von mindestens einem Teil des Jobs auf der Grundlage des Konfidenzgrads. Das Prinzip, wie der Konfidenzgrad des Endergebnisses garantiert werden kann, wurde oben kurz vorgestellt, und jetzt wird ein spezifischer Vorgangsablauf ausführlich beschrieben.
  • Da ein Gedanke der Ausführungsformen der vorliegenden Erfindung darin besteht, die Verarbeitungskapazitäten von Clients gemeinsam zu nutzen, während die Clients immer über das Internet mit der Serverseite verbunden sind, können sich die Clients, die die von der Serverseite zugeordneten Aufgaben akzeptieren, ständig ändern. An diesem Punkt kann der Konfidenzgrad des endgültigen Verarbeitungsergebnisses des Jobs nur garantiert werden, indem der Konfidenzgrad der Verarbeitungsergebnisse von jeweiligen Clients garantiert wird.
  • Der Konfidenzgrad von Antworten von den Clients kann durch Ermitteln von Konsistenz geschätzt werden. Zum Beispiel können eine Aufgabe und ihre entsprechenden Verarbeitungsdaten an eine Vielzahl von Clients gesendet werden, um so zu garantieren, dass mindestens ein Client die Verarbeitungsergebnisse zurückgeben kann; Verarbeitungsergebnisse von einer Vielzahl von Clients für eine selbe Aufgabe und entsprechende zu verarbeitende Daten können umfassend verglichen werden, zum Beispiel durch Analysieren der Konsistenz der Vielzahl von Verarbeitungsergebnissen und Auswählen eines Verarbeitungsergebnisses, das mit der Vielzahl von Verarbeitungsergebnissen konsistent ist; eine Aufgabe kann einer Client-Gruppe zugeordnet werden; wobei eine selbe Aufgabe einer Vielzahl von Client-Gruppen zugeordnet, die Konsistenz der Verarbeitungsergebnisse von der Vielzahl von Gruppen verglichen und ein Verarbeitungsergebnis mit einer relativ hohen Konsistenz ausgewählt wird. Gemäß einer Ausführungsform der vorliegenden Erfindung kann ferner zum Beispiel ein Verfahren zur „Durchschnittsbestimmung” einer Vielzahl von Verarbeitungsergebnissen eingesetzt werden. Es ist anzumerken, dass die „Durchschnittsbestimmung” hier keine einfache mathematische Mittelwertauflösung ist, sondern ein Prozess zum Erhalten des zuverlässigsten Ergebnisses auf der Grundlage der Verarbeitungsergebnisse von einer Vielzahl von Clients.
  • In einem weiteren Beispiel, wenn ein Verarbeitungsergebnis von mindestens einem Teil eines Jobs unter Verwendung der Antworten von den Clients erzeugt wird, können diese Antworten von den Clients verworfen werden, wenn das endgültige Verarbeitungsergebnis nicht mit einem historischen empirischen Wert im Vergleich mit einem vorhandenen Standardwert oder im Vergleich mit einem vernünftigen Wert übereinstimmt. Aufgaben werden auf der Grundlage der Verarbeitungskapazität der Serverseite selbst oder durch Auswählen von zuverlässigeren Clients neu zugeordnet. Es ist anzumerken, dass gemäß einer Ausführungsform der vorliegenden Erfindung alle Vorgänge des Zuordnens einer Aufgabe zu den Clients auch für das Zuordnen einer Aufgabe zu der Client-Gruppe geeignet sind. Gemäß einer Ausführungsform der vorliegenden Erfindung kann ein Job ferner in verschiedene Sätze von Aufgaben gemäß verschiedenen Granularitätsgraden aufgeteilt werden, und die erhaltenen Sätze von Aufgaben werden verschiedenen Client-Gruppen zur Verarbeitung zugeordnet, und Verarbeitungsergebnisse von jeweiligen Gruppen werden verglichen, um den Konfidenzgrad zu ermitteln.
  • Ein Verfahren zum Zuordnen von Aufgaben zu Clients zu der Serverseite gemäß einer Ausführungsform der vorliegenden Erfindung wurde oben unter Bezugnahme auf die 2 bis 4 beschrieben. Jetzt werden Details des Ausführens der Verarbeitung auf der Serverseite gemäß dem Verfahren der vorliegenden Erfindung unter Bezugnahme auf die 5A und 5B und die 6A bis 6D beschrieben.
  • Die 5A und 5B veranschaulichen schematisch einen Ablaufplan einer Verarbeitung auf einer Serverseite gemäß einer Ausführungsform der vorliegenden Erfindung. Wie in 5A veranschaulicht, wird in 5A ein Lastprüfungsablauf 510 auf der Serverseite dargestellt. Gemäß einer Ausführungsform der vorliegenden Erfindung ist es erforderlich, eine aktuelle Last auf der Serverseite in einem vordefinierten Zeitintervall zu prüfen, um so zu garantieren, dass, wenn der Server eine überwältigend hohe Last hat, ein Teil des Jobs daraus „ausgelagert” und von den Clients ausgeführt werden kann. Wie im Ablauf 510 in Schritt S512 veranschaulicht, wird eine aktuelle Last auf der Serverseite geprüft; und anschließend wird in Schritt S514 eine Regel abgefragt. Es ist anzumerken, dass die Regel hier eine vordefinierte Regel sein kann, zum Beispiel Einrichtungsbedingungen, die zum Auslagern eines Jobs aus der Serverseite erforderlich sind, wie beispielsweise ein Lastschwellenwert für die Serverseiten-Verarbeitungskapazität, welcher Job mit Priorität ausgelagert werden kann, welcher Job nicht geeignet ist, ausgelagert zu werden usw. Außerdem kann sich diese Regel ferner dynamisch mit dem Jobabschlusszustand auf der Serverseite ändern oder kann von einem Administrator empirisch eingerichtet werden.
  • In Schritt S516 wird ermittelt, ob es notwendig ist, einen Job aus dem Server auszulagern; wenn es notwendig ist, den Job auszulagern, fährt der Prozess mit Schritt S518 fort, um eine Auslagerungsanforderung auszugeben; wenn es nicht notwendig ist, den Job auszulagern, fährt der Prozess mit Schritt S520 fort. Der Schritt S520 steuert das Intervall für die nächste Prüfung. Zum Beispiel kann ein Intervallsteuerungszeitgeber eingerichtet werden, und wenn der Zeitgeber abläuft, wird der Vorgang S512 zum Ausführen einer nächsten Lastprüfungsrunde wiederholt. Nach dem Ausführen von Schritt S518 kehrt der Ablauf zum Schritt S520 zurück, um auf die nächste Prüfung zu warten. Es ist anzumerken, dass die Schritte S512 bis S520 ein Prozess für eine wiederholte Ausführung sind. Solange sich die Serverseite in einem Ausführungszustand befindet, wird dieser Prozess ausgeführt, um auf der Grundlage der aktuellen Last der Serverseite zu ermitteln, ob es notwendig ist, die Verarbeitungskapazität der Clients zu nutzen.
  • Unter folgender Bezugnahme auf 5B veranschaulicht diese Figur einen Ereignisverarbeitungsablauf 530 auf der Serverseite. Es ist anzumerken, dass wie bei dem Lastprüfungsprozess in 5A der Ereignisverarbeitungsablauf 530 ebenfalls ein Vorgang ist, der während der Betriebszeit der Serverseite wiederholt ausgeführt wird. Für die Veranschaulichung wurde Symbol „A” als Ausgangspunkt jeder Ereignisverarbeitungsrunde gewählt, während Symbol „B” als Endpunkt jeder Ereignisverarbeitungsrunde ausgewählt wurde. Alle der fünf Schritte, die in 5B veranschaulicht sind, beginnen am Ausgangspunkt „A” und enden am Endpunkt „B”, was aber nicht bedeutet, dass die 5 Schritte in jeder Runde streng parallel ausgeführt werden müssen, sondern dass sie in verschiedenen Zeitintervallen in Reaktion auf das Auftreten entsprechender Ereignisse ausgeführt werden können, und es schließt die Umstände nicht aus, dass zwei oder mehrere Schritte gleichzeitig ausgeführt werden.
  • Wie in 5B veranschaulicht, muss die Serverseite während des laufenden Prozesses die folgenden Ereignisse verarbeiten: S532 neuer Client meldet sich an, S534 Auslagern eines Jobs wird angefordert, S536 Aufgabenverarbeitung, S538 Zurückgeben eines Aufgabenergebnisses und S540 Zeitlimitüberschreitung. Hinsichtlich einer Verarbeitungsrunde ist anzumerken, dass die Schritte S534 bis S538 während des Prozesses ab S534, Anfordern des Auslagerns eines Jobs, bis S538, Zurückgeben eines Aufgabenergebnisses nacheinander ausgeführt werden können. Bei verschiedenen Runden weist die Ausführung der Schritte S534 bis S538 jedoch nicht notwendigerweise eine fortlaufende Beziehung auf, und sie müssen nicht exakt parallel ausgeführt werden. Wenn zum Beispiel S534, Anfordern des Auslagerns eines Jobs, ausgeführt wird, kann S536, Aufgabenverarbeitung, für einen anderen Job ausgeführt werden, oder S538, Zurückgeben eines Aufgabenergebnisses, kann für eine weitere Aufgabe ausgeführt werden.
  • Es ist anzumerken, dass Schritt S540, Zeitlimitüberschreitung, wie veranschaulicht für ein Szenario verarbeitet wird, in dem der Server den Clients eine Aufgabe zugeordnet hat, aber keine erwarteten zurückgegebenen Ergebnisse innerhalb eines vorgeschriebenen Zeitraums empfängt. Wenn die Serverseite das Auftreten eines Zeitlimitüberschreitungsereignisses erkennt, kann die Verarbeitung aufweisen: 1) Aktualisieren der Statistik zu den Aufgabenabschlusszuständen. Weil die Aufgaben in einer Zeitlimitüberschreitungsbedingung nicht abgeschlossen sind, ist es erforderlich, die Zeitlimitüberschreitungsaufgabe als „nicht beendet” zu kennzeichnen, d. h., den Abschlusszustand von jeweiligen Aufgaben zu aktualisieren. 2) Hinzufügen einer Aufgabe zu einer Aufgabenliste. Bei „nicht abgeschlossenen” Aufgaben ist es notwendig, sie den Clients zur Verarbeitung erneut zuzuordnen. An diesem Punkt verläuft die Neuzuordnung ähnlich wie bei der Verarbeitung in Schritt S536, Aufgabenzuordnung, die hierin im Folgenden ausführlich beschrieben wird; 3) Kennzeichnen verfügbarer Gruppen. Nach einer Zeitlimitüberschreitung befindet sich die Gruppe, deren Ausführung einer Aufgabe mit Zeitlimitüberschreitung endet, in einem Leerlaufzustand, sodass diese Gruppe als „verfügbar” gekennzeichnet werden kann, um weitere zugeordnete Aufgaben auszuführen.
  • Hierin wird im Folgenden ein Verarbeitungsablauf für weitere Ereignisse unter Bezugnahme auf die 6a bis 6D veranschaulicht, wobei die Symbole „A” und „B” jeweils einem Ausgangspunkt und einem Endpunkt jeder Ereignisverarbeitungsrunde entsprechen, wie in 5B veranschaulicht.
  • Wie in 6A veranschaulicht, werden in dieser Figur Details eines Verarbeitungsablaufs S532 der Anmeldung eines neuen Clients gezeigt, wie in 5B dargestellt. In dieser Vorgangsrunde werden in Reaktion auf das Auftreten eines neuen Client-Anmeldungsereignisses in Schritt S610 zuerst Informationen über den Client erhalten. Bei diesen Informationen kann es sich zum Beispiel um Attribute des Client handeln, wie Verarbeitungskapazität des Clients, aktuelle Last des Clients, Reaktionszeit des Clients, Konfidenzgrad des Clients, die Weiterleitungsbedingung von dem Client zu der Serverseite, Verlauf des Aufgabenabschlusses des Clients und Vereinbarungen zwischen dem Client und der Serverseite oder andere zu dem neu angemeldeten Client zugehörige Informationen. Als Nächstes wird in Schritt S612 eine Regel abgefragt. Die Regel hier ist eine Regel zum Gruppieren von Clients. In dem Fall, dass eine Gruppe für einen bestimmten Typ von Clients bereits vorhanden ist, kann es sich bei der Regel zum Beispiel um eine Regel über das Hinzufügen von Clients mit bestimmten Attributen zu der Gruppe handeln.
  • In Schritt S614 wird ermittelt, ob der Client zu der Client-Gruppe hinzugefügt werden soll. Wenn es nicht notwendig ist, ihn zu der Client-Gruppe hinzuzufügen, fährt der Ablauf mit Schritt S624 fort und ignoriert diesen Client. Diese Runde der Verarbeitung eines neuen Client-Anmeldungsereignisses endet, und der Vorgangsablauf fährt damit fort, auf ein weiteres Ereignis zu warten. Wenn die Ermittlung in Schritt S614 „Ja” lautet, fährt der Ablauf mit Schritt S616 fort, um die Gruppenliste zu prüfen. Als Nächstes wird während des Vorgangs S618 ermittelt, ob der Client zu einer neuen Gruppe hinzugefügt werden soll; wenn die Ermittlung „Ja” lautet, fährt der Ablauf mit Schritt S626 fort, um eine neue Gruppe zu erstellen; anderenfalls fährt der Ablauf mit Schritt S620 fort, um den Client zu einer bestehenden Client-Gruppe hinzuzufügen. Als Nächstes wird in Schritt S622 die Client-Gruppenliste aktualisiert, und diese Runde der Ereignisverarbeitung endet. Es ist anzumerken, dass gemäß einer Ausführungsform der vorliegenden Erfindung das vorgenannte Erstellen einer neuen Gruppe und Hinzufügen des Clients zu der bestehenden Gruppe auf der Grundlage der Client-Informationen und der Regel ausgeführt werden, die in Schritt S610 und Schritt S612 erhalten wurden.
  • Wie in 6B veranschaulicht, werden in dieser Figur Details eines Verarbeitungsablaufs S534 des Anforderns zum Auslagern eines Jobs gezeigt, wie in 5B dargestellt. Während dieser Vorgangsrunde wird in Reaktion auf das Auftreten eines Ereignisses des Anforderns zum Auslagern eines Jobs in Schritt S630 eine Regel abgerufen, wobei die Regel angibt, welcher Typ von Job ausgelagert werden kann, welcher Typ von Job nicht ausgelagert werden kann, und eine Prioritätenabfolge, wenn gleichzeitig eine Vielzahl von auslagerbaren Jobs vorhanden ist usw. Als Nächstes wird in Schritt S632 der Abschlusszustand eines Jobs geprüft, und in Schritt S634 wird ermittelt, ob es notwendig ist, die Granularität von Aufgaben anzupassen, wobei, wenn es nicht notwendig ist anzupassen, der Vorgang mit Schritt S640 fortfährt, um die Aufgaben zu einer Aufgabenliste hinzuzufügen; und wenn es notwendig ist anzupassen, fährt der Vorgang mit Schritt S636 fort, um die Granularität der Aufgaben zurückzusetzen. Gemäß einer Ausführungsform der vorliegenden Erfindung kann die Granularität von Aufgaben auf der Grundlage der Erfahrung eines Clients in einer vorherigen Aufgabenausführung dynamisch eingerichtet werden. In Schritt S640 wird die Aufgabe dann zu der Aufgabenliste hinzugefügt, um durch den Aufgabenverarbeitungsprozess S536 geplant zu werden, wie in 5B veranschaulicht. An diesem Punkt endet die Verarbeitung für das Ereignis des Anforderns zum Auslagern eines Jobs, und der Prozess tritt in den Zustand des Wartens auf weitere Ereignisse ein.
  • Wie in 6C veranschaulicht, werden in dieser Figur Details des Verarbeitungsablaufs S536 der Aufgabenverarbeitung gezeigt, wie in 5B dargestellt. Es ist anzumerken, dass der Vorgang für das Aufgabenverarbeitungsereignis ein wesentlicher Vorgangsablauf gemäß einer Ausführungsform der vorliegenden Erfindung und ein Hauptprozess des Ablaufs ist, der die Serverseite steuert, um sich die Verarbeitungskapazität des Clients gemeinsam zu Nutze zu machen.
  • Während dieser Verarbeitungsrunde wird in Reaktion auf das Auftreten des Ereignisses einer Aufgabenverarbeitung in Schritt S650 eine Liste von Client-Gruppen geprüft, und in Schritt S652 wird ermittelt, ob eine neue Client-Gruppe verwendet werden soll; wenn die Ermittlung „Ja” lautet, fährt der Verarbeitungsablauf mit Schritt S654 fort, um Aufgaben zu Clients in der Gruppe zuzuordnen; wenn die Ermittlung in Schritt S652 „Nein” lautet, fährt der Prozess mit Schritt S662 fort, um zu ermitteln, ob ein verfügbares Paket vorhanden ist. Wenn in Schritt S662 ermittelt wird, dass keine Gruppen verfügbar sind, fährt der Ablauf mit Schritt S604 fort, um ein Protokoll aufzunehmen und einer Ereignis-Planungsfunktion auf der Serverseite zu melden, dass keine aktuell verfügbaren Gruppen vorhanden sind. Nach Schritt S654 werden in Schritt S656 Datensätze aktualisiert, in Schritt S658 wird der Besetztzustand der Client-Gruppe gekennzeichnet, und in Schritt S660 wird ein Zeitgeber für die Aufgabe initiiert, die verarbeitet wird. An diesem Punkt endet die Verarbeitung für das Aufgabenverarbeitungsereignis. Es ist anzumerken, dass der Zeitgeber in Schritt S660 genau der Zeitgeber ist, der in Schritt S680 von 6D veranschaulicht ist. Schritt S660 des Aufgabenverarbeitungsablaufs von 6C ist der Ausgangspunkt für das Initiieren des Zeitgebers, während Schritt S680 des Ablaufs der Aufgabenergebnisrückgabe von 6D der Endpunkt für den Zeitgeber ist, an dem er stoppt. Obwohl die Ausgangs- und Endschritte in verschiedenen Ereignisverarbeitungsabläufen ausgeführt werden, sofern es dieselbe Aufgabe betrifft, sind die zwei Vorgänge auf demselben Zeitgeber eingerichtet, um anzugeben, ob die Client-Gruppe die Verarbeitung an der Aufgabe abgeschlossen und das Ergebnis an den Server innerhalb einer vorgeschriebenen Zeit zurückgegeben hat, und in dem Fall, in dem die Aufgabe nicht innerhalb der vorgeschriebenen Zeit abschlossen wurde, wird ein entsprechender Zeitlimitüberschreitungsvorgang aufgerufen, wie im Ereignis S540 in 5B veranschaulicht.
  • Wie in 6D veranschaulicht, werden in dieser Figur Details des Verarbeitungsablaufs S538 der Rückgabe eines Aufgabenergebnisses gezeigt, wie in 5B dargestellt. In dieser Vorgangsrunde wird in Reaktion auf das Auftreten eines Ereignisses, dass sich ein neuer Client anmeldet, in Schritt S670 eine Aufgabenliste geprüft, ob die Aufgabenliste Informationen über Aufgaben führen kann, in die der Job aufgeteilt ist, zum Beispiel eine Entsprechungsbeziehung zwischen der Aufgabe und dem Job, den aktuellen Zustand der Aufgabe (zum Beispiel noch nicht zugeordnet, zugeordnet und abschlossen) und eine Entsprechungsbeziehung zwischen der Aufgaben-Client-Gruppe und einem Client in der Client-Gruppe. In Schritt S672 wird eine zum Zurückgeben eines Aufgabenergebnisses zugehörige Regel abgefragt, und in Schritt S674 wird ermittelt, ob es ausreichend zuverlässig ist, zum Beispiel kann der Konfidenzgrad des Ergebnisses durch das Konsistenzstandardverfahren ermittelt werden, wie oben beschrieben, oder durch ein anderes Verfahren.
  • Wenn das Ermittlungsergebnis in Schritt in S674 „Nein” lautet (das heißt, nicht zuverlässig), fährt der Ablauf mit Schritt S684 fort, um die Ergebnisse zu speichern, und anschließend wird in Schritt S686 die Menge der Ergebnisse aktualisiert, und dann endet die Verarbeitung für dieses Ereignis; wenn das Ermittlungsergebnis in Schritt S674 „Ja” lautet, das heißt zuverlässig, fährt der Ablauf mit Schritt S676 fort, um den Aufgabenabschluss zu kennzeichnen, und in Schritt S678 wird gekennzeichnet, dass die Client-Gruppe verfügbar ist, und anschließend wird in Schritt S680 der relevante Zeitgeber gestoppt. Es ist anzumerken, dass der Zeitgeber hier zum Ermitteln dient, ob für eine Aufgabenausführung eine Zeitlimitüberschreitung vorliegt, wobei, wenn für den Zeitgeber eine Zeitlimitüberschreitung vorliegt und das Verarbeitungsergebnis noch nicht ausgerechnet worden ist, das Zeitlimitüberschreitungsereignis erzeugt wird, wie von S540 in 5B angegeben. Nach Schritt S680 wird der Aufgabenabschlusszustand in Schritt S682 aktualisiert, wenn die Verarbeitung zum Zurückgeben eines Aufgabenergebnisses endet, und der Ablauf tritt in einen Zustand des Wartens auf weitere Ereignisse ein.
  • Unter folgender Bezugnahme auf 7 veranschaulicht diese schematisch ein Blockschaubild 700 einer Vorrichtung zum Erweitern oder Zuordnen von Verarbeitungskapazität einer Serverseite gemäß einer Ausführungsform der vorliegenden Erfindung. Wie durch den linken Block mit gepunkteten Linien von 7 angegeben, weist die Vorrichtung zum Erweitern der Verarbeitungskapazität einer Serverseite auf: ein Entscheidungsmittel 710 zum Entscheiden, ob ein Job aus der Serverseite ausgelagert werden muss; ein Aufteilungsmittel zum Aufteilen des Jobs in eine oder mehrere Aufgaben; ein Zuordnungsmittel 740 zum Zuordnen der einen oder mehrerer Aufgaben zu einem oder mehreren Clients in Reaktion auf http-Anforderungen, die von dem einem oder mehreren Clients übertragen wurden; und ein Empfangsmittel 750 zum Empfangen, auf die von dem einen oder mehreren Clients übertragene http-Anforderung hin, von Antworten auf die eine oder mehrere Aufgaben von dem einen oder mehreren Clients.
  • Eine Vorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung kann ferner aufweisen: ein Auswahlmittel 730 zum Auswählen von einem oder mehreren Clients auf der Serverseite zum Ausführen von einer oder mehreren Aufgaben.
  • Eine Vorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung kann ferner eine Regelbasis 760 zum Speichern verschiedener Arten von Regeln aufweisen, die sich auf Ermittlungen beziehen, ob es notwendig ist, einen Job aus der Serverseite auszulagern, den Job in Aufgaben aufzuteilen, Aufgaben zu Clients zuzuordnen, ein Verarbeitungsergebnis von mindestens einem Teil des Jobs auf der Grundlage von Antworten von den Clients zu erzeugen und die Clients in Gruppen zu klassifizieren. Es ist anzumerken, dass, obwohl die Regelbasis 760 wie in 7 veranschaulicht auf der Serverseite liegt, die Regelbasis in der Praxis in jedem Datenspeichermittel außerhalb der Serverseite liegen kann, solange die Vorrichtung gemäß der vorliegenden Erfindung auf die Regelbasis 760 zugreifen und eine Regel erhalten kann.
  • Wie durch die gepunktete Linie auf der rechten Seite in 7 angegeben, veranschaulicht sie die Client-Gruppe und entsprechende Clients, die von der Serverseite zum Verteilen ihrer eigenen Last verwendet werden können. Zum Beispiel kann die Client-Gruppe 1 M Clients aufweisen, während die Client-Gruppe K N Clients aufweisen kann.
  • Wenn die Vorrichtung von 7 läuft, teilt das Aufteilungsmittel 720 den auszulagernden Job, wie durch das Entscheidungsmittel 710 entschieden, in eine oder mehrere Aufgaben auf. Danach kann das Zuordnungsmittel 740 die Aufgaben, die aus dem Aufteilen durch das Aufteilungsmittel 720 erhalten wurden, zu den entsprechenden Client-Gruppen zuordnen, wie jeweils auf der rechten Seite der gepunkteten Linie veranschaulicht, und das Empfangsmittel 750 empfängt Antworten, die von jeweiligen Client-Gruppen erzeugt wurden, und kann ferner ein Verarbeitungsergebnis für mindestens einen Teil eines Jobs erzeugen. Während des Vorgangsprozesses können jeweilige Mittel ferner Regeln aus der Regelbasis 760 zum Steuern ihrer eigenen Vorgänge auslesen.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung weist das Entscheidungsmittel 710 auf: ein Ermittlungsmittel zum Ermitteln einer aktuellen Laststufe auf der Serverseite; und ein Benennungsmittel zum Benennen des Jobs, der aus der Serverseite ausgelagert werden soll in Reaktion auf eine Ermittlung, dass die aktuelle Laststufe einen Lastschwellenwert überschreiten wird oder bereits überschreitet.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung weist das Zuordnungsmittel 740 ein Gruppierungsmittel zum Gruppieren des einen oder mehrerer Clients auf der Grundlage von Attributen des einen oder mehrerer Clients auf; und ein Zuweisungsmittel zum Zuweisen mit einer Gruppeneinheit einer Aufgabe, die der Gruppe entspricht, zu dem einen oder mehreren Clients.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung weisen Attribute der Clients eines oder mehrere Elemente auf von: Verarbeitungskapazität der Clients, aktuelle Lasten der Clients, Reaktionszeit der Clients, Konfidenzgrad der Clients, Weiterleitungsbedingung von den Clients zu der Serverseite, Verlauf des Aufgabenabschlusses der Clients und Vereinbarungen zwischen den Clients und der Serverseite usw.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung weist das Zuordnungsmittel 740 auf: ein Sendemittel zum Senden von Aufgabenbeschreibungen und zu verarbeitenden Daten, die einer oder mehreren Aufgaben entsprechen, zu einem oder mehreren Clients in Reaktion darauf, dass sich einer oder mehrere Clients auf der Serverseite anmelden.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung weist die Aufgabenbeschreibung eines oder mehreres auf von: einer Eingabedatenbeschreibung, einer Ausgabedatenbeschreibung und einem Verarbeitungsalgorithmus oder der Beschreibung davon.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird das Aufteilungsmittel 720 auf der Grundlage einer vordefinierten Regel gesteuert, die zumindest in Beziehung steht mit einem von: Granularität der Aufgabe, Rechenlast des Jobs, Priorität des Jobs, Vertraulichkeit des Jobs und Granularität der Aufgabe usw.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung kann die Granularität der Aufgabe auf der Grundlage der Erfahrung eines Clients in einer vorherigen Aufgabenausführung dynamisch eingerichtet werden.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung weist die Vorrichtung zum Erweitern von Verarbeitungskapazität einer Serverseite ferner auf: ein Erzeugungsmittel zum Erzeugen eines Verarbeitungsergebnisses von mindestens einem Teil des Jobs auf der Grundlage von Antworten von einem oder mehreren Clients auf eine oder mehrere Aufgaben.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung weist das Erzeugungsmittel ferner auf: ein Erhaltemittel zum Erhalten eines Konfidenzgrads von Antworten von einem oder mehreren Clients; und ein Bereitstellungsmittel zum Bereitstellen eines Verarbeitungsergebnisses von mindestens einem Teil des Jobs auf der Grundlage des Konfidenzgrads.
  • Es ist anzumerken, dass zwar verschiedene Mittel in der Vorrichtung zum Erweitern von Verarbeitungskapazität der Serverseite nicht im Detail einzeln in den Figuren veranschaulicht worden sind, der Fachmann jedoch die jeweiligen Mittel auf der Grundlage der Offenbarung der Spezifikation umsetzen kann. Außerdem können sich jeweilige Mittel, wie in 7 veranschaulicht, und andere, die in 7 nicht aufgezählt wurden, in einem oder mehreren Servern auf der Serverseite oder in einer oder mehreren anderen fest zugeordneten Einheiten befinden. Die Ausführungsformen der vorliegenden Erfindung schränken die physische Position der Vorrichtung zum Erweitern der Verarbeitungskapazität der Serverseite nicht ein, und jeweilige Mittel, wie in dieser Vorrichtung enthalten, können sich insgesamt oder verteilt in jeder geeigneten physischen Einheit befinden, solange diese Mittel die in dieser Beschreibung zitierten Funktion in ihrer Ganzheit umsetzen können.
  • Wie vorher erwähnt wurden ein Verfahren und eine Vorrichtung zum Erweitern oder Zuordnen der Verarbeitungskapazität der Serverseite gemäß den Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die 1 bis 7 veranschaulicht. Es ist jedoch anzumerken, dass die Beispiele, die mit dem Beispiel der Einkaufs-Website in der Spezifikation genannt wurden, nur zu Beispielzwecken dienen, und dass die Art und Weise der Website-Datensatzprotokollierung, wie in den Beispielen angegeben, ebenfalls nur zu schematischen Zwecken dient, die das Funktionsprinzip der Ausführungsformen der vorliegenden Erfindung durch schematische Beispiele erklären sollen. Auf der Grundlage von Unterschieden beim Einrichten der Serverseite und Clients kann sie auf jede andere Weise umgesetzt werden, ohne vom Grundgedanken der vorliegenden Erfindung abzuweichen. Gemäß einer Ausführungsform der vorliegenden Erfindung kann die MapReduce-Architektur in dem Verfahren zum Erweitern oder Zuordnen der Verarbeitungskapazität der Serverseite eingesetzt werden.
  • Die vorliegende Erfindung kann eine Gestalt einer Hardware-Ausführungsform, einer Software-Ausführungsform oder einer Ausführungsform annehmen, die Hardware-Komponenten und Software-Komponenten aufweist. In einer bevorzugten Ausführungsform wird die vorliegende Erfindung als Software umgesetzt, einschließlich Firmware, residenter Software, Mikrocode usw., sie ist aber nicht darauf beschränkt.
  • Des Weiteren kann die vorliegende Erfindung als ein von Computern lesbares Computerprogrammprodukt oder von computerlesbaren Medien aus zugreifbar umgesetzt werden, die Programmcode zur Verwendung durch oder in Verbindung mit einem Computer oder irgendeinem Anweisungsausführungssystem bereitstellen. Zum Zweck der Beschreibung kann ein computerverwendbares oder computerlesbares Medium jedes konkrete Mittel sein, das das Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Anweisungsausführung enthalten, speichern, übertragen, verbreiten oder transportieren kann.
  • Bei dem Medium kann es sich um ein elektrisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem (Vorrichtung oder Einheit) oder ein Verbreitungsmedium handeln. Zu Beispielen für das computerlesbare Medium würden folgende zählen: eine Halbleiter- oder Solid-State-Speichereinheit, ein Magnetband, eine tragbare Computerdiskette, ein Arbeitsspeicher (RAM), ein Nur-Lese-Speicher (ROM), eine Festplatte und eine optische Platte. Zu Beispielen für die aktuelle optische Platte zählen ein CD-ROM, eine CR-ROM und eine DVD.
  • Ein Datenverarbeitungssystem, das angepasst ist, um Programmcode zu speichern oder auszuführen, würde mindestens einen Prozessor enthalten, der direkt oder über einen Systembus an ein Speicherelement gekoppelt ist. Bei dem Speicherelement kann es sich um einen lokalen Speicher, der während des tatsächlichen Ausführens des Programmcodes verwendbar ist, einen Massenspeicher und einen Cachespeicher handeln, der einen temporären Speicher für mindestens einen Teil des Programmcodes bereitstellt, um so die Anzahl der Abrufe von Code während der Ausführung aus dem Massenspeicher zu verringern.
  • Eine Eingabe-/Ausgabe- oder E/A-Einheit (einschließlich einer Tastatur, einer Anzeige, einer Zeigeeinheit usw., ohne darauf beschränkt zu sein) kann direkt oder über eine E/A-Steuereinheit an das System gekoppelt sein.
  • Ein Netzwerkadapter kann ebenfalls an das System gekoppelt sein, so dass das Datenverarbeitungssystem über ein dazwischenliegendes privates oder öffentliches Netzwerk an andere Datenverarbeitungssysteme, entfernte Drucker oder Speichereinheiten gekoppelt werden kann. Ein Modem, ein Kabelmodem und eine Ethernet-Karte sind nur Beispiele für einen aktuell verwendbaren Netzwerkadapter.
  • Aus der vorhergehenden Beschreibung versteht sich, dass Modifizierungen und Änderungen an den jeweiligen Ausführungsformen der vorliegenden Erfindung vorgenommen werden können, ohne vom wahren Erfindungsgedanken der vorliegenden Erfindung abzuweichen. Die Beschreibung in der vorliegenden Spezifikation soll veranschaulichend und nicht einschränkend sein. Der Umfang der vorliegenden Erfindung wird nur durch die Ansprüche im Anhang begrenzt.

Claims (22)

  1. Verfahren zum Erweitern von Verarbeitungskapazität auf einer Serverseite, aufweisend: Entscheiden, ob ein Job aus der Serverseite ausgelagert werden muss; Aufteilen des Jobs in eine oder mehrere Aufgaben; Zuordnen der einen oder mehrerer Aufgaben zu einem oder mehreren Clients in Reaktion auf http-Anforderungen, die von dem einen oder mehreren Clients übertragen wurden; und Empfangen, auf die von dem einen oder mehreren Clients übertragenen http-Anforderungen hin, von Antworten von dem einen oder mehreren Clients auf die eine oder mehrere Aufgaben.
  2. Verfahren nach Anspruch 1, ferner aufweisend: Auswählen des einen oder mehrerer Clients zum Ausführen der einen oder mehreren Aufgaben.
  3. Verfahren nach Anspruch 1, wobei das Entscheiden, ob ein Job aus der Serverseite ausgelagert werden muss, aufweist: Ermitteln einer aktuellen Laststufe der Serverseite; und Benennen eines Jobs, der aus der Serverseite ausgelagert werden soll in Reaktion auf das Entscheiden, dass die aktuelle Laststufe einen Lastschwellenwert überschreiten wird oder bereits überschreitet.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei das Zuordnen der einen oder mehrerer Aufgaben zu dem einen oder mehreren Clients aufweist: Gruppieren des einen oder mehrerer Clients auf der Grundlage von Attributen des einen oder mehrerer Clients; und Zuweisen in einer Gruppeneinheit zu dem einen oder mehreren Clients von Aufgaben, die Gruppen entsprechen.
  5. Verfahren nach Anspruch 4, wobei Attribute der Clients eines oder mehreres aufweisen von: Verarbeitungskapazität der Clients, aktuelle Lasten der Clients, Reaktionszeit der Clients, Konfidenzgrad der Clients, Weiterleitungsbedingung von den Clients zu der Serverseite, Verlauf des Aufgabenabschlusses der Clients und Vereinbarungen zwischen den Clients und der Serverseite.
  6. Verfahren nach einem der Ansprüche 1 bis 3, wobei das Zuordnen der einen oder mehrerer Aufgaben zu dem einen oder mehreren Clients aufweist: Übertragen zu dem einen oder mehreren Clients einer Aufgabenbeschreibung und von zu verarbeitenden Daten, die der einen oder mehreren Aufgaben entsprechen, in Reaktion auf das Anmelden des einen oder mehrerer Clients auf der Serverseite.
  7. Verfahren nach Anspruch 6, wobei die Aufgabenbeschreibung eines oder mehreres aufweist von: einer Eingabedatenbeschreibung, einer Ausgabedatenbeschreibung und einem Verarbeitungsalgorithmus oder seiner Beschreibung.
  8. Verfahren nach einem der Ansprüche 1 bis 3, wobei das Aufteilen des Jobs in eine oder mehrere Aufgaben auf der Grundlage einer vordefinierten Regel ausgeführt wird, die sich auf mindestens eines bezieht von: Rechenlast des Jobs, Prioritätsebene des Jobs, Vertraulichkeit des Jobs und Aufgabengranularität.
  9. Verfahren nach Anspruch 8, wobei die Aufgabengranularität auf der Grundlage von Client-Erfahrung in der Ausführung vorheriger Aufgaben dynamisch eingerichtet wird.
  10. Verfahren nach irgendeinem der Ansprüche 1 bis 3, ferner aufweisend: Erzeugen eines Verarbeitungsergebnisses von mindestens einem Teil des Jobs auf der Grundlage von Antworten von dem einem oder mehreren Clients auf die eine oder mehrere Aufgaben.
  11. Verfahren nach Anspruch 10, wobei das Erzeugen eines Verarbeitungsergebnisses von mindestens einem Teil des Jobs ferner aufweist: Erhalten eines Konfidenzgrads von Antworten von dem einen oder mehreren Clients; und Bereitstellen eines Verarbeitungsergebnisses von mindestens einem Teil des Jobs auf der Grundlage des Konfidenzgrads.
  12. Vorrichtung zum Erweitern von Verarbeitungskapazität auf einer Serverseite, aufweisend: ein Entscheidungsmittel, das konfiguriert ist zu entscheiden, ob ein Job aus der Serverseite ausgelagert werden muss; ein Aufteilungsmittel, das konfiguriert ist, um den Job in eine oder mehrere Aufgaben aufzuteilen; ein Zuordnungsmittel, das konfiguriert ist, um die eine oder mehrere Aufgaben zu einem oder mehreren Clients zuzuordnen in Reaktion auf http-Anforderungen, die von dem einen oder mehreren Clients übertragen wurden; und ein Empfangsmittel, das konfiguriert ist, um auf die von dem einen oder mehreren Clients übertragenen http-Anforderungen hin Antworten von dem einen oder mehreren Clients auf die eine oder mehrere Aufgaben zu empfangen.
  13. Vorrichtung nach Anspruch 12, ferner aufweisend: ein Auswahlmittel, das konfiguriert ist, um den einen oder mehrere Clients zum Ausführen der einen oder mehrerer Aufgaben auszuwählen.
  14. Vorrichtung nach Anspruch 12, wobei das Entscheidungsmittel aufweist: ein Ermittlungsmittel, das konfiguriert ist, um eine aktuelle Laststufe der Serverseite zu ermitteln; und ein Benennungsmittel, das konfiguriert ist, um einen Job zu benennen, der aus der Serverseite ausgelagert werden soll in Reaktion auf das Entscheiden, dass die aktuelle Laststufe einen Lastschwellenwert überschreiten wird oder bereits überschreitet.
  15. Vorrichtung nach einem der Ansprüche 12 bis 14, wobei das Zuordnungsmittel aufweist: ein Gruppierungsmittel, das konfiguriert ist, um den einen oder mehrere Clients auf der Grundlage von Attributen von dem einen oder mehreren Clients zu gruppieren; und ein Zuweisungsmittel, das konfiguriert ist, um in einer Gruppeneinheit zu dem einen oder mehreren Clients Aufgaben zuzuweisen, die Gruppen entsprechen.
  16. Vorrichtung nach Anspruch 15, wobei Attribute der Clients eines oder mehreres aufweisen von: Verarbeitungskapazität der Clients, aktuelle Lasten der Clients, Reaktionszeit der Clients, Konfidenzgrad der Clients, Weiterleitungsbedingung von den Clients zu der Serverseite, Verlauf des Aufgabenabschlusses der Clients und Vereinbarungen zwischen den Clients und der Serverseite.
  17. Vorrichtung nach einem der Ansprüche 12 bis 14, wobei das Zuordnungsmittel aufweist: ein Übertragungsmittel, das konfiguriert ist, um zu dem einen oder mehreren Clients eine Aufgabenbeschreibung und zu verarbeitende Daten zu übertragen, die der einen oder mehreren Aufgaben entsprechen, in Reaktion auf das Anmelden des einen oder mehrerer Clients auf der Serverseite.
  18. Vorrichtung nach Anspruch 17, wobei die Aufgabenbeschreibung eines oder mehreres aufweist von: Eingabedatenbeschreibung, Ausgabedatenbeschreibung und Verarbeitungsalgorithmus oder seiner Beschreibung.
  19. Vorrichtung nach einem der Ansprüche 12 bis 14, wobei das Aufteilungsmittel auf der Grundlage einer vordefinierten Regel gesteuert wird, die in Beziehung steht zu mindestens einem von: Rechenlast des Jobs, Prioritätsebene des Jobs, Vertraulichkeit des Jobs und Aufgabengranularität.
  20. Vorrichtung nach Anspruch 19, wobei die Aufgabengranularität auf der Grundlage von Client-Erfahrung in der Ausführung vorheriger Aufgaben dynamisch eingerichtet werden kann.
  21. Vorrichtung nach einem der Ansprüche 12 bis 14, ferner aufweisend: ein Erzeugungsmittel, das konfiguriert ist, um ein Verarbeitungsergebnis von mindestens einem Teil des Jobs auf der Grundlage von Antworten von dem einem oder mehreren Clients auf die eine oder mehrere Aufgaben zu erzeugen.
  22. Vorrichtung nach Anspruch 21, wobei das Erzeugungsmittel ferner aufweist: ein Erhaltemittel, das konfiguriert ist, um einen Konfidenzgrad von Antworten von dem einen oder mehreren Clients zu erhalten; und ein Bereitstellungsmittel, das konfiguriert ist, um ein Verarbeitungsergebnis von mindestens einem Teil des Jobs auf der Grundlage des Konfidenzgrads bereitzustellen.
DE112011103369.9T 2010-11-29 2011-11-24 Erweitern von Verarbeitungskapazität auf Serverseite Active DE112011103369B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201010577023.0A CN102480512B (zh) 2010-11-29 2010-11-29 用于扩展服务器端处理能力的方法和装置
CN201010577023.0 2010-11-29
PCT/EP2011/070936 WO2012072486A1 (en) 2010-11-29 2011-11-24 Extending processing capacity of server side

Publications (2)

Publication Number Publication Date
DE112011103369T5 true DE112011103369T5 (de) 2013-07-18
DE112011103369B4 DE112011103369B4 (de) 2020-07-23

Family

ID=45420574

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011103369.9T Active DE112011103369B4 (de) 2010-11-29 2011-11-24 Erweitern von Verarbeitungskapazität auf Serverseite

Country Status (6)

Country Link
US (1) US9531636B2 (de)
JP (1) JP2014501010A (de)
CN (1) CN102480512B (de)
DE (1) DE112011103369B4 (de)
GB (1) GB2499549B (de)
WO (1) WO2012072486A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9313087B2 (en) 2013-01-29 2016-04-12 Stg Interactive, S.A. Distributed computing architecture
CN104468638B (zh) * 2013-09-12 2018-04-03 北大方正集团有限公司 一种分布式数据处理方法及系统
US9959142B2 (en) * 2014-06-17 2018-05-01 Mediatek Inc. Dynamic task scheduling method for dispatching sub-tasks to computing devices of heterogeneous computing system and related computer readable medium
US9465645B1 (en) 2014-06-25 2016-10-11 Amazon Technologies, Inc. Managing backlogged tasks
CN104318381A (zh) * 2014-10-21 2015-01-28 中国建设银行股份有限公司 一种后台审核任务分发方法和装置
US9894185B2 (en) * 2014-12-16 2018-02-13 Software Ag System and method for condition-based application logic shifting between a client and a server
US10366358B1 (en) 2014-12-19 2019-07-30 Amazon Technologies, Inc. Backlogged computing work exchange
CN105786463A (zh) * 2014-12-24 2016-07-20 北京奇虎科技有限公司 任务处理方法和系统、及电子设备
US10419401B2 (en) * 2016-01-08 2019-09-17 Capital One Services, Llc Methods and systems for securing data in the public cloud
CN105847356A (zh) * 2016-03-23 2016-08-10 上海爱数信息技术股份有限公司 通信系统、电子设备、数据处理方法及系统
US10778600B2 (en) * 2016-03-30 2020-09-15 Intel Corporation Adaptive workload distribution for network of video processors
CN106600220A (zh) * 2016-11-29 2017-04-26 叶飞 一种分布式计算方法
US10951521B2 (en) * 2017-09-01 2021-03-16 Maxlinear, Inc. Method for scheduling a computational task, a method for processing a computational task, a computer readable storage medium, a computer program, a residential gateway, and a server
CN107544940A (zh) * 2017-09-06 2018-01-05 深圳市金蝶精斗云网络科技有限公司 一种web的计算方法及装置
CN107979876B (zh) * 2017-11-16 2022-01-07 广州市百果园网络科技有限公司 数据传输方法及终端
CN108762907B (zh) * 2018-05-31 2021-11-02 口口相传(北京)网络技术有限公司 基于多个客户端的任务处理方法及系统
JP7192730B2 (ja) * 2019-09-26 2022-12-20 株式会社デンソー 車載情報処理システム、携帯通信端末及び車載情報処理プログラム
CN110933132A (zh) * 2019-10-25 2020-03-27 中国环境监测总站 数据处理服务器及数据处理系统
KR20210067468A (ko) * 2019-11-29 2021-06-08 삼성전자주식회사 무선 통신 시스템에서 데이터를 오프로딩하기 위한 방법 및 장치
KR102387246B1 (ko) * 2020-08-19 2022-04-15 서울대학교산학협력단 모바일 엣지 컴퓨팅 환경에서의 태스크 분할 오프로딩 방법 및 장치

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1153326A (ja) 1997-07-30 1999-02-26 Internatl Business Mach Corp <Ibm> 分散処理システム、クライアントノード、サーバノードおよび分散処理方法
US6418462B1 (en) * 1999-01-07 2002-07-09 Yongyong Xu Global sideband service distributed computing method
JP2000242614A (ja) 1999-02-22 2000-09-08 Nippon Steel Corp 分散処理システムおよびその方法、分散処理を行うための端末装置および記録媒体
IL142806A0 (en) * 1999-08-26 2002-03-10 Parabon Computation System and method for the establishment and utilization of networked idle computational processing power
ES2206329T3 (es) * 1999-11-29 2004-05-16 Glaxo Group Limited Metodos y sistemas basados en subprocesos para utilizar la potencia inactiva de tratamientos de uno o mas ordenadores para resolver problemas cientificos complejos.
US20020019844A1 (en) * 2000-07-06 2002-02-14 Kurowski Scott J. Method and system for network-distributed computing
US7797368B1 (en) * 2000-11-17 2010-09-14 Intel Corporation Managing a network of consumer-use computing devices
US20020091752A1 (en) * 2001-01-09 2002-07-11 Firlie Bradley M. Distributed computing
CN1292346C (zh) * 2003-09-12 2006-12-27 国际商业机器公司 用于在分布式计算体系结构中执行作业的系统和方法
US20050268151A1 (en) 2004-04-28 2005-12-01 Nokia, Inc. System and method for maximizing connectivity during network failures in a cluster system
JP2005352697A (ja) * 2004-06-09 2005-12-22 Canon Inc コンピュータシステム、及び該システムにおけるジョブの割り当て方法
US20060080678A1 (en) * 2004-09-07 2006-04-13 Bailey Mark W Task distribution method for protecting servers and tasks in a distributed system
JP2006244146A (ja) * 2005-03-03 2006-09-14 Canon Inc コンテンツ管理システム
US7774195B2 (en) 2005-03-08 2010-08-10 Microsoft Corporation Method and system for creating, storing, managing and consuming culture specific data
US7739314B2 (en) 2005-08-15 2010-06-15 Google Inc. Scalable user clustering based on set similarity
US8332479B2 (en) * 2005-08-26 2012-12-11 Hewlett-Packard Development Company, L.P. Enterprise application server system and method
US8307366B2 (en) * 2006-03-30 2012-11-06 Apple Inc. Post-processing phase in a distributed processing system using assignment information
US20080030764A1 (en) * 2006-07-27 2008-02-07 Microsoft Corporation Server parallel aggregation
JP2008071294A (ja) * 2006-09-15 2008-03-27 Korea Univ Industrial & Academic Collaboration Foundation ピアツーピアグリッド演算環境におけるモバイルエージェントによる適応グループスケジューリングのための方法
US8380880B2 (en) 2007-02-02 2013-02-19 The Mathworks, Inc. Scalable architecture
JP5251002B2 (ja) * 2007-05-25 2013-07-31 富士通株式会社 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム
US8108864B2 (en) * 2007-06-01 2012-01-31 International Business Machines Corporation Method and system for dynamically tracking arbitrary task dependencies on computers in a grid environment
US8250215B2 (en) 2008-08-12 2012-08-21 Sap Ag Method and system for intelligently leveraging cloud computing resources
US7917463B2 (en) 2008-10-10 2011-03-29 Business.Com, Inc. System and method for data warehousing and analytics on a distributed file system
US7987262B2 (en) 2008-11-19 2011-07-26 Accenture Global Services Limited Cloud computing assessment tool
TW201025065A (en) 2008-12-29 2010-07-01 Lei Wang Expandable secure server alternate system
WO2010102084A2 (en) 2009-03-05 2010-09-10 Coach Wei System and method for performance acceleration, data protection, disaster recovery and on-demand scaling of computer applications

Also Published As

Publication number Publication date
JP2014501010A (ja) 2014-01-16
US20140025828A1 (en) 2014-01-23
GB2499549A (en) 2013-08-21
GB201309675D0 (en) 2013-07-17
WO2012072486A1 (en) 2012-06-07
DE112011103369B4 (de) 2020-07-23
CN102480512B (zh) 2015-08-12
CN102480512A (zh) 2012-05-30
GB2499549B (en) 2017-08-02
US9531636B2 (en) 2016-12-27

Similar Documents

Publication Publication Date Title
DE112011103369B4 (de) Erweitern von Verarbeitungskapazität auf Serverseite
DE112012004336B4 (de) System, Verfahren und Programmprodukt für kostenbewusste Auswahl von Vorlagen zum Bereitstellen von gemeinsam genutzten Ressourcen
DE112011101633B4 (de) Virtualisierung und dynamische Ressourcenzuweisung berücksichtigendes Neuordnen von Speicherebenen
DE102015105884B4 (de) Rechenknoten und Verfahren zur Migration einer virtuellen Maschine, Rechenzentrummanager zur Migration virtueller Maschinen, Maschinenlesbares Speichermedium und Rechenvorrichtungen
DE112012004999T5 (de) Beschleunigungselement zur Cloud-Bereitstellung
DE102012220514A1 (de) Steuern der nutzung von datenverarbeitungsressourcen ineiner service-datenbank
DE112017003688T5 (de) Technologien zur Durchführung einer Orchestrierung mit Online-Analyse von Telemetriedaten
DE102021109774A1 (de) Container-as-a-service (CAAS)-Controller für die Auswahl einer Bare-Metal-Maschine einer privaten Cloud für einen Cluster eines verwalteten Containerdienstes
DE602004011890T2 (de) Verfahren zur Neuverteilung von Objekten an Recheneinheiten
DE112012005529T5 (de) Dynamisches Skalieren von mehrschichtigen Anwendungen in einer Cloud-Umgebung
DE102005030663A1 (de) System und Verfahren zum Betreiben von Lastausgleichselementen für Mehrfachinstanzanwendungen
DE102016204680A1 (de) Auswählen von Strategien zum Zuordnen von Ressourcen und Lösen von Ressourcenkonflikten
DE112011100094T5 (de) Verfahren und System zum Abstrahieren eines auf nichtfunktionalen Anforderungen beruhenden Einsatzes von virtuellen Maschinen
DE112010005096T5 (de) Verfahren und Vorrichtungen zum Bewerten der Ressourcen-Kapazität in einem System von virtuellen Containern
DE112018008127B4 (de) Verfahren und vorrichtung zum mappen von network-slices auf netzinfrastrukturen mit sla-garantie
DE202019005784U1 (de) System und Einrichtung zum Auswählen eines Edge-Servers
DE112018006769T5 (de) Erweiterte zwischenspeicherzuweisung basierend auf virtuellen knotenressourcen
DE112021005586T5 (de) Automatisches skalieren einer abfrage-steuerungsroutine für arbeitslasten im bereich big data auf unternehmensebene
DE69619531T2 (de) Dynamischer lastausgleich
DE112020004651T5 (de) Multi-tenant-etl-ressourcenaufteilung
DE112018005268T5 (de) Priorisieren von anwendungen für eine diagonale skalierung in einer verteilten datenverarbeitungsumgebung
DE112021000390T5 (de) Anpassen der leistung eines datenverarbeitungssystems
DE102013201664B4 (de) Vorausschauendes Zwischenspeichern bei Telekommunikationstürmen unter Verwendung der Weitergabe der Kennung von Elementen von Daten mit hohem Bedarf auf einer geographischen Ebene
DE102014116744B4 (de) Management von Informationstechnologieressourcen
DE102013209934B4 (de) Starten oder Stoppen virtueller Server in angemessener Reihenfolge

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE GBR, DE

Representative=s name: RICHARDT PATENTANWAELTE PART GMBB, DE

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final