DE10197256B4 - Verfahren, Vorrichtung und System zum Zuteilen von Diensten in Computersystemen - Google Patents

Verfahren, Vorrichtung und System zum Zuteilen von Diensten in Computersystemen Download PDF

Info

Publication number
DE10197256B4
DE10197256B4 DE10197256T DE10197256T DE10197256B4 DE 10197256 B4 DE10197256 B4 DE 10197256B4 DE 10197256 T DE10197256 T DE 10197256T DE 10197256 T DE10197256 T DE 10197256T DE 10197256 B4 DE10197256 B4 DE 10197256B4
Authority
DE
Germany
Prior art keywords
service allocation
allocation request
service
request
logic
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
DE10197256T
Other languages
English (en)
Other versions
DE10197256T5 (de
Inventor
Lingyun Tuo
Tao Huang
Zhang Hongyi
Zhihui Wang
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.)
Intel China Ltd
Intel Corp
Original Assignee
Intel China Ltd
Intel 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 Intel China Ltd, Intel Corp filed Critical Intel China Ltd
Publication of DE10197256T5 publication Critical patent/DE10197256T5/de
Application granted granted Critical
Publication of DE10197256B4 publication Critical patent/DE10197256B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Verfahren mit den folgenden Schritten:
Empfangen mehrerer Dienstzuteilungsanforderungen von mehreren Clients;
Berechnen einer Bewertung für jede Dienstzuteilungsanforderung, die auf einem oder mehreren Faktoren basiert, einschließlich eines ersten Faktors, der einer Eingangsdatenmenge entspricht, die für die jeweilige Dienstzuteilungsanforderung empfangen wurde, eines zweiten Faktors, der einer Anzahl von für die Zuteilung verfügbaren Ressourcen entspricht, und eines dritten Faktors, der einer relativen Priorität der jeweiligen Dienstzuteilungsanforderung entspricht; und
Zuteilen von Diensten für die mehreren Dienstzuteilungsanforderungen auf der Basis der für jede Dienstzuteilungsanforderung berechneten Bewertung,
wobei das Zuteilen von Diensten die folgenden Schritte umfaßt:
Bestimmen, ob die Bewertung für eine bestimmte Dienstzuteilungsanforderung einen Schwellenwert übersteigt; und
wenn die Bewertung für die bestimmte Dienstzuteilungsanforderung den Schwellenwert übersteigt, Zuteilen eines oder mehrerer Dienste zu der bestimmten Dienstzuteilungsanforderung.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft das Gebiet der Computerverarbeitung und insbesondere ein Verfahren, eine Vorrichtung und ein System zum Zuteilen von Diensten in Computersystemen.
  • Moderne Computersysteme enthalten in der Regel einen oder mehrere Server, die dafür konfiguriert sind, mehrere Clients zu versorgen, die über ein Computernetzwerk (z.B. ein lokales Netzwerk (LAN), ein großflächiges Netzwerk (WAN), das Internet oder beliebige Kombinationen davon) mit den Servern verbunden sind. Die Clients und die Server werden gewöhnlich als die Client-Knoten bzw. die Server-Knoten bezeichnet. In den letzten Jahren wurden mehr und mehr Anwendungen und Systeme unter Verwendung von Fortschritten in der Spracherkennungstechnologie entwickelt, damit verschiedene Benutzer zusätzlich zu der traditionellen Methode der Textverarbeitung durch Audioeingaben/-ausgaben mit einem System in Wechselwirkung treten können. Insbesondere wurden viele Anwendungen als interaktive Sprachantwortanwendungen (IVR-Anwendungen) mit Sprachmöglichkeit implementiert, um es den Benutzern zu ermöglichen, im Audioformat (z.B. Sprache) Anforderungen an das System zu übergeben und/oder Ausgabeinformationen aus dem System zu erhalten.
  • Im allgemeinen können Client-Knoten Eingangsdatenströme aus externen Kanälen annehmen und die Eingangsdaten zu den Server-Knoten senden, mit denen die Client-Knoten verbunden sind. Ein mit einem Client-Knoten verbundener Aufrufer bzw. Benutzer kann in der Regel nur einen Kanal ausschließlich auf einmal benutzen, und ein Kanal ist so konfiguriert, daß er nur einen Eingangsdatenstrom auf einmal aufweist. Server-Knoten sind dafür konfiguriert, die von den Client-Knoten empfangenen Eingangsdaten zu verarbeiten und das Ergebnis an die Client-Knoten zurückzugeben, wenn sie mit der Verarbeitung fertig sind. Jeder Server-Knoten kann gleichzeitig mehrere Eingangsdatenströme verarbeiten. Bei dieser Art von Systemkonfi guration enthält das System in der Regel eine Komponente oder ein Subsystem mit der Bezeichnung Betriebsmittelmanagement-Subsystem bzw. Ressourcenmanagement-Subsystem (RMS) oder einen Betriebsmittelmanager bzw. einen Ressourcenmanager, der für das Zuteilen eines Server-Knotens zur Versorgung eines Client-Knotens verantwortlich ist.
  • In einer verteilten Datenverarbeitungssystemumgebung (z.B. Sprachportalsystemen) ist das Ressourcenmanagement (z.B. Ressourcenzuteilung und -benutzung) bei der Systementwicklung und -implementierung schon immer eine große Schwierigkeit gewesen. Insbesondere können traditionelle oder herkömmliche Methoden der Ressourcen- bzw. Betriebsmittelzuteilung (z.B. feste Zuteilung von Servern zu Clients, Zuteilung von Ressourcen bzw. Betriebsmitteln nach dem Prinzip "forst-come-first-serve" usw.) aus verschiedenen Gründen für verschiedene Systeme nicht effektiv und effizient sein. Verschiedene Systeme können ein verschiedenes Betriebsmittelmanagement benötigen. Wenn zum Beispiel jeder Server-Knoten darauf spezialisiert ist, nur bestimmte spezifische Client-Knoten zu versorgen, dann kann häufig eine Betriebsmittelüberzuteilung und/oder eine Betriebsmittelunterzuteilung auftreten, weil die von den verschiedenen Client-Knoten benötigten Betriebsmittel möglicherweise verschieden sind und von Zeit zu Zeit signifikant variieren können. In diesem Fall kann ein bestimmter Server mit Dienstanforderungen von einem oder mehreren bestimmten Clients für deren Versorgung er konfiguriert ist, überlastet werden, während andere Server in dem System möglicherweise leerlaufen oder unterlastet sind, da ihre jeweiligen Clients nicht soviel Arbeit für diese Server haben. Ähnlich ist in einem System, das nach dem Prinzip "first-come-first-serve" arbeitet, die Betriebsmittelzuteilung auch sehr ineffektiv und ineffizient, da einige bestimmte Clients viele Dienstanforderungen mit niedriger Priorität einreichen können, während andere Clients möglicherweise nur einige wenige Dienstanforderungen mit hoher Priorität einreichen. Wenn in diesem Fall die Dienstanforderungen mit niedriger Priorität vor den Dienstanforderungen mit hoher Priorität eingereicht werden, werden diese Dienstanforderungen mit niedriger Priorität zuerst verarbeitet, obwohl sie eine niedrigere Verarbeitungspriorität aufweisen.
  • EP 0 384 339 B1 offenbart ein Computernetzwerk mit einem Broker, um einem Client, der eine Anforderung eines Dienstes erzeugt, einen Servervorschlag anzugeben. Die Auswahl des Servers erfolgt auf Grundlage einer Netzwerk-Policy und der Kapazitäten der verfügbaren Betriebsmittel der Server.
  • US 5 031 089 offenbart ein dynamisches Ressourcenzuteilungsschema in einem Computernetz. Für die Knoten in einem Netz werden Arbeitsbelastungswerte auf Grundlage der Anzahl von Diensten, die in einer Queue an dem Knoten anliegen, bestimmt. Auf Grundlage der Arbeitsbelastungswerte wird ermittelt, ob der Knoten überbelastet oder unterbelastet ist. Auf Grundlage dieser Ergebnisse werden Dienste von überlasteten Knoten zu weniger belasteten Knoten übertragen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Merkmale und Vorteile der vorliegenden Erfindung werden durch Bezugnahme auf die beigefügten Zeichnungen besser verständlich. Es zeigen:
  • 1 ein Blockschaltbild einer Ausführungsform einer Systemkonfiguration, in der die Lehren der vorliegenden Erfindung implementiert werden können;
  • 2 ein Flußdiagramm einer Ausführungsform eines Datenverarbeitungsarbeitsflusses, in dem die Lehren der vorliegenden Erfindung implementiert werden;
  • 3A und 3B ein Flußdiagramm einer Ausführungsform eines Betriebsmittelzuteilungsverfahrens gemäß den Lehren der vorliegenden Erfindung;
  • 4 ein Flußdiagramm einer Ausführungsform eines durch einen Client-Knoten durchgeführten Prozesses gemäß den Lehren der vorliegenden Erfindung;
  • 5 ein Flußdiagramm einer Ausführungsform eines durch einen Server-Knoten durchgeführten Prozesses gemäß den Lehren der vorliegenden Erfindung; und
  • 6 ein Flußdiagramm einer Ausführungsform eines Verfahrens gemäß den Lehren der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden ausführlichen Beschreibung werden zahlreiche spezifische Einzelheiten dargelegt, um ein umfassendes Verständnis der vorliegenden Erfindung bereitzustellen. Für Fachleute ist jedoch erkennbar, daß die vorliegende Erfindung ohne diese spezifischen Einzelheiten verstanden und ausgeübt werden kann.
  • In der nachfolgenden Besprechung werden die Lehren der vorliegenden Erfindung zur Implementierung eines Verfahrens, einer Vorrichtung, eines Systems und eines maschinenlesbaren Mediums für die Betriebsmittelzuteilung in einem Computersystem verwendet.
  • Bei einer Ausführungsform werden eine oder mehrere Dienstzuteilungsanforderungen von einem oder mehreren Clients (die hier auch als Client-Knoten bezeichnet werden) empfangen. Für jede Dienstzuteilungsanforderung wird eine Bewertung berechnet, die auf einem oder mehreren Faktoren basiert, darunter ein erster Faktor, der einer Menge an Eingangsdaten, die für die jeweilige Dienstzuteilungsanforderung empfangen wurde, entspricht, ein zweiter Fak tor, der einer Anzahl von Ressourcen bzw. Betriebsmitteln (z.B. Diensten), die für die Zuteilung verfügbar sind, entspricht, und ein dritter Faktor, der einer relativen Priorität (die auch als Aufrufdienstqualitätswert bezeichnet wird) der jeweiligen Dienstzuteilungsanforderung entspricht, usw. Dienste oder Betriebsmittel werden dann für die eine oder die mehreren Dienstzuteilungsanforderungen auf der Grundlage der für jede Dienstzuteilungsanforderung berechneten Bewertung zugeteilt.
  • Bei einer Ausführungsform wird, nachdem eine Bewertung für eine bestimmte Dienstanforderung berechnet wurde, bestimmt, ob die jeweilige Bewertung einen Schwellenwert übersteigt. Wenn die jeweilige Bewertung den Schwellenwert übersteigt, werden der bestimmten Dienstzuteilungsanforderung ein oder mehrere Dienste zugeteilt. Bei einer Ausführungsform kann der Schwellenwert entweder eine Zufallszahl mit einem Wert zwischen einem ersten Wert (z.B. 0) und einem zweiten Wert (z.B. 1) oder ein fester Wert, der durch Experimentieren erzeugt werden kann, sein. Obwohl die vorliegende Besprechung Sprachportalsysteme als Beispiele verwendet, sollte für Fachleute erkennbar sein, daß die Lehren der vorliegenden Erfindung auch auf andere Arten von Systemen und Anwendungen angewandt werden können.
  • 1 zeigt ein Blockschaltbild einer Ausführungsform eines Systems 100, in dem die Lehren der vorliegenden Erfindung implementiert werden. Wie in 1 gezeigt, enthält das System 100 eine Anzahl von Datenverarbeitungsknoten (z.B. Client-Knoten 110 und Server-Knoten 130 usw.). Außerdem enthält das System 100 ein Betriebsmittelmanagementsubsystem (RMS) oder einen Betriebsmittelmanager 140. Die Client-Knoten 110 sind so konfiguriert, daß sie Eingangsdatenströme aus Kanälen 120 annehmen und die Eingangsdaten zu den Server-Knoten 130 senden. Bei einer Ausführungsform kann ein mit jedem Client-Knoten 110 verbundener Benutzer oder Aufrufer einen Kanal ausschließlich auf einmal benutzen. Bei einer Ausführungsform kann ein Kanal einen Eingangsdatenstrom auf einmal aufweisen. Jeder der Server-Knoten 130 kann dafür konfiguriert sein, einen oder mehrere Clients 110 zu versorgen. Jeder der Server-Knoten 130 kann dafür konfiguriert sein, aus einem jeweiligen Client-Knoten 110 empfangene Eingangsdaten für einen bestimmten Kanal 120 zu verarbeiten und die Ergebnisse an den jeweiligen Client-Knoten 110 zurückzugeben. Bei einer Ausführungsform kann jeder Server-Knoten 130 dafür konfiguriert sein, gleichzeitig mehrere Eingangsdatenströme oder aus dem Client-Knoten 110 empfangene Dienstanforderungen zu verarbeiten. Bei einer Ausführungsform kann, um eine aus einem Client-Knoten 110 empfan gene Dienstanforderung zu verarbeiten, ein Dienstprozeß (der hier auch als Dienst bezeichnet wird) durch einen Server-Knoten 130 erzeugt oder aktiviert werden, um die jeweilige Dienstanforderung abzuwickeln. Bei einer Ausführungsform ist das RMS bzw. der Betriebsmittelmanager 140 für das Zuteilen eines entsprechenden Server-Knotens 130 zu einem Client-Knoten 110 auf der Basis verschiedener, unten ausführlicher besprochener Faktoren zur Verarbeitung einer durch den Client-Knoten 110 eingereichten Dienstanforderung (z.B. eines durch den Client-Knoten 110 gesendeten Eingangsdatenstroms) verantwortlich. Das RMS bzw. der Betriebsmittelmanager 140 kann abhängig von den konkreten Anwendungen und Implementierungen der vorliegenden Erfindung auf einem oder mehreren Datenverarbeitungsknoten verankert sein. Das in 1 gezeigte System 100 kann Eingangsdaten (z.B. Dienstanforderungen) von verschiedenen, dem Client-Knoten 110 zugeordneten Kanälen 120 empfangen, die empfangenen Eingangsdaten in den Server-Knoten 130 verarbeiten und das verarbeitete Ergebnis über die entsprechenden Client-Knoten an die verschiedenen Kanäle 120 zurückgeben.
  • 2 zeigt ein Flußdiagramm einer Ausführungsform eines durch das in 1 gezeigte System 100 durchgeführten Datenverarbeitungsarbeitsflusses 200 auf hoher Ebene. Im Block 210 sendet ein Client-Knoten, wenn er den Anfang von Eingangsdaten in einem mit diesem Client-Knoten verbundenen Kanal erkennt, eine Dienstzuteilungsanforderung zu dem RMS oder Betriebsmittelmanager. Bei einer Ausführungsform werden die Eingangsdaten in dem Client-Knoten gesichert, bis ihm ein Dienst zugeteilt wird oder sich der Client-Knoten entscheidet, die Daten zu verwerfen. Im Block 220 teilt das RMS bzw. der Betriebsmittelmanager, wenn er die Dienstzuteilungsanforderung von dem Client-Knoten empfängt, einen Dienst (z.B. einen Server-Knoten) zur Versorgung des jeweiligen Client-Knotens auf der Basis eines unten ausführlicher beschriebenen Betriebsmittelzuteilungsverfahrens zu. Das RMS bzw. der Betriebsmittelmanager sendet dann die Dienstinformationen zu dem jeweiligen Client-Knoten. Nachdem er die Dienstinformationen von dem RMS empfangen hat, beginnt der Client-Knoten im Block 230 mit dem Senden der Eingangsdaten zu dem entsprechenden Dienst (z.B. einem Server-Knoten), der ihm zugeteilt ist. Im Block 240 sendet der Client-Knoten, nachdem er das Ende von Eingangsdaten in dem Kanal erkannt hat, eine Nachricht (z.B. Datenendenachricht) zu dem entsprechenden Dienst. Der entsprechende Dienst gibt dann das Ergebnis an den Client-Knoten zurück und sendet eine Nachricht (z.B. eine Dienstabschlußnachricht) zu dem RMS, um den Dienst freizusetzen.
  • 3A und 3B zeigen ein Flußdiagramm einer Ausführungsform eines Betriebsmittelzuteilungsverfahrens 300 gemäß den Lehren der vorliegenden Erfindung. Die verschiedenen Datenstrukturen, Terme und Funktionen usw., die in der Besprechung des Betriebsmittelzuteilungsverfahrens 300 enthalten sind, werden nachfolgend angegeben:
    • – Tabelle anstehender Anforderungen: dies ist eine Datenstruktur oder Tabelle, mit der die Dienstzuteilungsanforderungen gespeichert werden, die aus den Clients empfangen werden, für die noch keine Dienste gewährt wurden.
    • – Tabelle fertiger Anforderungen: dies ist eine Datenstruktur oder Tabelle, mit der die Dienstzuteilungsanforderungen gespeichert werden, für die Dienste gewährt wurden. Bei einer Ausführungsform wird eine neue Anforderung in dieser Tabelle am Ende der Tabelle plaziert, und die älteste Anforderung wird am Kopf der Tabelle plaziert. Zum Beispiel befindet sich die erste Anforderung am Kopf (im ersten Eintrag) der Tabelle, die nächste Anforderung wird in dem zweiten Eintrag der Tabelle plaziert und so weiter. Bei einer Ausführungsform bildet, wenn eine der Anforderungen aus der Tabelle entfernt wird, der Rest der Anforderungen eine neue Tabelle in derselben Reihenfolge.
    • – Dienstzuteilungstabelle: dies ist eine Datenstruktur oder Tabelle, mit der die von dem System bereitgestellten Dienste gespeichert werden. Es sollte beachtet werden, daß ein bestimmter Server-Knoten einem oder mehreren Diensten entsprechen kann. Bei einer Ausführungsform hat, wenn ein Datenverarbeitungsknoten (z.B. Server-Knoten) mehrere Anforderungen abwickeln kann, dieser Datenverarbeitungs- oder Server-Knoten mehrere Einträge in der Dienstzuteilungstabelle. Wenn zum Beispiel ein Server-Knoten „A" fünf Anforderungen auf einmal abwickeln kann, dann befinden sich fünf Einträge für den Server „A" in der Dienstzuteilungstabelle. Bei einer Ausführungsform kann jeder Diensteintrag in dieser Tabelle einen von zwei Zuständen aufweisen: frei oder belegt. jeder Diensteintrag wird auf frei initialisiert.
    • – Die Zufallswerterzeugungsfunktion r() ist eine Funktion, die zufällig einen Float-Wert zwischen 0 und 1 erzeugt.
    • – Dienstqualitätswert: bei einer Ausführungsform wird jedem Benutzer des System ein Wert zwischen 0 und 1 gegeben, der seine Dienstqualität (die hier auch als relative Dienst priorität oder einfach relative Priorität bezeichnet wird) angibt. Bei einer Ausführungsform bedeutet es, wenn ein Benutzer einen höheren Dienstqualitätswert hat, daß der Benutzer eine höhere Versorgungspriorität hat. Wenn ein Client eine Verbindung mit einem Benutzer oder Aufrufer annimmt, kann er durch einen bestimmten vorbestimmten Mechanismus (z.B. über die diesem Benutzer zugeordneten Profilinformationen oder über Benutzereingabe usw.) den Dienstqualitätswert des Benutzers/Aufrufers erhalten. Bei einer Ausführungsform kann für einen bestimmten Benutzer/Aufrufer ein Vorgabedienstqualitätswert zugewiesen werden, wenn die Dienstqualitätsinformationen dieses bestimmten Benutzers/Aufrufers nicht erhalten werden können.
    • – Die Funktion a(n) des Verhältnisses verfügbarer Betriebsmittel ist eine Funktion, die einen Float-Wert von nicht weniger als 0 zurückgibt. Hierbei entspricht n der Anzahl verfügbarer Dienste in dem System (0<=n<=Nr, Nr ist die Gesamtzahl von Diensten in dem System). Sie. kann durch eine Tabelle definiert oder einfach durch eine Funktion erzeugt werden. In einem Normalfall gilt a(i) <= a(j) für i<j.
    • – Die Zeitgewichtungsfunktion wt(tin) ist eine Funktion, die einen Float-Wert von nicht weniger als 0 zurückgibt, wobei tinmin<=in<=tinmax ist. Im Normalfall gilt wt(t1)>wt(t2) für t1>t2. tinmin/tinmax entspricht der minimalen bzw. maximalen Zeitlänge des Eingangsdatenstroms. tnormal entspricht der maximal zulässigen Verzögerung zwischen dem Zeitpunkt des Empfangens der letzten Daten und dem Zeitpunkt des Empfangens des Endergebnisses in der Client-Seite.
  • Wieder mit Bezug auf 3A und 3B arbeitet das Ressourcen- bzw. Betriebsmittelzuteilungsverfahren 300 folgendermaßen:
    • – Im Block 305: eine Systeminitialisierung wird durchgeführt.
    • – Im Block 310: für jede Anforderung in der Tabelle anstehender Anforderungen bestimmen, ob jede Anforderung darin versorgt werden soll, wie folgt:
    • – Im Block 312 wird durch eine Funktion wie nachfolgend beschrieben eine Bewertung für die jeweilige Anforderung berechnet: – Eine Zufallsschwelle rthreshold = r() abrufen; – rthis = wt(tin)·a(n)·q berechnen, dabei ist: • wt() die Zeitgewichtungsfunktion; • a() die Funktion des Verhältnisses verfügbarer Betriebsmittel; • tin die zeitliche Länge der bereits empfangen Daten; • n die Anzahl verfügbarer Dienste in dem System; und • q der Aufrufdienstqualitätswert dieser Anforderung.
    • – Im Entscheidungsblock 314 schreitet, wenn die berechnete Bewertung größer oder gleich dem Zufallsschwellenwert ist (rthis >= rthrehold), das Verfahren 300 zum Block 316 voran. Andernfalls schreitet das Verfahren 300 zum Block 318 voran, um die nächste Anforderung zu verarbeiten.
    • – Im Block 316 wird die jeweilige Anforderung in der Tabelle fertiger Anforderungen abgelegt und wird aus der Tabelle anstehender Anforderungen entfernt. Das Verfahren 300 schreitet dann zum Block 318 voran, um die nächste Anforderung in der Tabelle anstehender Anforderungen zu verarbeiten.
    • – Nachdem alle Anforderungen in der Tabelle anstehender Anforderungen wie oben beschrieben verarbeitet wurden, schreitet das Verfahren 300 zum Entscheidungsblock 320 voran.
    • – Im Entscheidungsblock 320 schreitet, wenn ein Dienst verfügbar ist (z.B. freier Dienst) und die Tabelle fertiger Anforderungen nicht leer ist, das Verfahren 300 zum Block 322 voran. Andernfalls schreitet das Verfahren 300 zum Block 334 (siehe 3B) voran.
    • – Im Block 322 in der Tabelle fertiger Anforderungen nach der Anforderung suchen, die einen abgeschlossenen Eingangsdatenstrom mit dem höchsten Dienstqualitätswert empfangen hat. Bei einer Ausführungsform wird die Suche beginnend vom Kopf der Tabelle von Leseanforderungen durchgeführt. Bei einer Ausführungsform wird, wenn zwei Anforderungen denselben Dienstqualitätswert aufweisen, der ersten gefundenen Anforderung höhere Priorität gegeben.
    • – Im Entscheidungsblock 324 schreitet, wenn eine solche Anforderung gefunden wird (d.h. eine Anforderung, die vollständigen Eingangsdatenstrom empfangen hat und den höchsten Dienstqualitätswert aufweist), das Verfahren 300 zum Block 328 voran. Andernfalls schreitet das Verfahren 300 zum Block 326 voran.
    • – Im Block 326 nach der Anforderung mit dem höchsten Dienstqualitätswert suchen. Wenn im Entscheidungsblock 330 eine solche Anforderung vorliegt, schreitet das Verfahren 300 zum Block 328 voran. Andernfalls kehrt das Verfahren 300 in einer Schleife zum Block 320 zurück.
    • – Im Block 328 teilt das RMS im Block 322 oder im Block 326 einen Dienst für die identifizierte Anforderung zu und entfernt die jeweilige Anforderung aus der Tabelle fertiger Anforderungen. Die Dienstzuteilungstabelle wird entsprechend aktualisiert, um den aktuellen Status des jeweiligen Dienstes wiederzugeben (z.B. den Status des jeweiligen Dienstes von „frei" in „aktiv" umzuändern). Das RMS sendet dann entsprechende Nachrichten (z.B. Dienst-zugeteilt-Benachrichtigungsnachrichten) sowohl zum Client-Knoten als auch zum Dienst-Knoten. Das Verfahren 300 kehrt dann in einer Schleife zum Block 320 zurück, um die Verarbeitung von Anforderungen in der Tabelle fertiger Anforderungen fortzusetzen.
    • – Im Entscheidungsblock 334 prüft das RMS, ob eine neue Dienstzuteilungsanforderung empfangen wurde. Wenn eine neue Dienstzuteilungsanforderung empfangen wurde, schreitet das Verfahren 300 zum Entscheidungsblock 336 voran, andernfalls schreitet das Verfahren 300 zum Block 344 voran.
    • – Wenn im Entscheidungsblock 336 der Dienstqualitätswert der jeweiligen Anforderung größer als ein Schwellenwert (z.B. ein Schwellenwert von 0,5) ist, schreitet das Verfahren 300 zum Block 338 voran. Andernfalls schreitet das Verfahren 300 zum Block 340 voran.
    • – Im Block 338 wird die jeweilige Anforderung am Ende der Tabelle fertiger Anforderungen abgelegt.
    • – Im Block 340 wird die jeweilige Anforderung am Ende der Tabelle anstehender Anforderungen abgelegt.
    • – Das Verfahren 300 schreitet dann entweder vom Block 338 oder vom Block 340 zum Block 334 voran.
    • – Wenn im Block 344 das RMS eine Nachricht empfängt, die das Ende eines Datenstroms (z.B. Datenendenachricht), die auf einem Kanal erkannt wurde, empfängt, schreitet das Verfahren 300 zum Block 346 voran. Andernfalls schreitet das Verfahren 300 zum Block 350 voran.
    • – Wenn im Block 346 die entsprechende Anforderung in der Tabelle anstehender Anforderungen gefunden wird, wird sie aus der Tabelle anstehender Anforderungen entfernt und in der Tabelle fertiger Anforderungen abgelegt (z.B. die Anforderung am Ende der Tabelle fertiger Anforderungen ablegen).
    • – Wenn im Block 348 die entsprechende Anforderung in der Tabelle fertiger Anforderungen gefunden wird, die Informationen in der Tabelle für die Anforderung aktualisieren, um anzuzeigen, daß der Eingangsdatenstrom für die jeweilige Anforderung abgeschlossen ist. Wenn die entsprechende Anforderung nicht in der Tabelle fertiger Anforderungen gefunden wird, wird die Datenendenachricht ignoriert.
  • Wenn im Block 350 das RMS eine Nachricht empfängt, die anzeigt, daß eine Anforderung annulliert ist, wird die jeweilige Anforderung entweder aus der Tabelle fertiger Anforderungen oder aus der Tabelle anstehender Anforderungen entfernt, wenn in diesen Tabellen ein Eintrag für diese Anforderung vorliegt.
    • – Wenn im Block 352 das RMS eine Nachricht (z.B. Dienstabschlußnachricht) aus einem Dienst empfängt, die anzeigt, daß der Datenstrom vollständig verarbeitet worden ist, befreit das RMS den jeweiligen Dienst in der Dienstzuteilungstabelle. Bei einer Ausführungsform wird der Dienst durch Setzen des Zustands des Diensteintrags auf frei befreit.
    • – Das Verfahren 300 kehrt dann in einer Schleife zum Block 310 zurück, um die Verarbeitung fortzusetzen.
  • 4 zeigt ein Flußdiagramm eines Prozesses 400, der von einem Client-Knoten durchgeführt wird. Im Block 410 setzt der Client-Knoten nach dem Systemherauffahren den Zustand für jeden Kanal auf den Freizustand, um anzuzeigen, daß im Moment keine Eingangsdaten auf dem jeweiligen Kanal vorliegen. Wenn im Block 420 der Client-Knoten den Anfang eines Eingangsdatenstroms erkennt, sendet er eine Benachrichtigungsnachricht (z.B. eine Dienstzuteilungsanforderung) zu dem RMS, die die Länge der Eingangsdaten, die bereits zu diesem Zeitpunkt empfangen wurden, enthält. Wenn im Block 430 der Client-Knoten erkennt, daß die Eingangsdaten annulliert sind, sendet er eine Anforderungsannullierungsnachricht zu dem RMS und auch zu einem entsprechenden Dienstknoten, wenn ein Dienst zur Verarbeitung der Eingangsdaten zugeteilt wurde. Wenn im Block 440 der Client-Knoten erkennt, daß die Eingabe beendet ist, sendet er eine Benachrichtigungsnachricht zu dem RMS und dem entsprechenden Dienstknoten, wenn ein Dienst zur Verarbeitung der Eingangsdaten zugeteilt wurde. Wenn im Block 450 der Client-Knoten eine Nachricht von dem RMS empfängt, daß ein Dienst einer durch den Client-Knoten eingereichten Dienstzuteilungsanforderung zugeteilt wurde, sendet der Client-Knoten alle gespeicherten Eingangsdaten dieses Kanals zu dem designierten Dienstprozeß (d.h. dem Dienst, der zur Verarbeitung der jeweiligen Anforderung zugeteilt wurde). Alle nachfolgenden Eingangsdaten dieses Kanals werden ebenfalls zu dem designierten Dienstprozeß gesendet. Wenn im Block 460 der Client-Knoten weitere Daten empfängt, während er auf die Dienstzuteilungsnachricht von dem RMS wartet (z.B. nachdem eine Dienstzuteilungsanforderung zu dem RMS gesendet wurde), sendet der Client-Knoten eine Benachrichtigungsnachricht zu dem RMS, um die Länge der von ihm empfangenen Daten anzuzeigen.
  • 5 zeigt ein Flußdiagramm einer Ausführungsform des Prozesses 500, die in einem Server oder Dienst-Knoten durchgeführt wird. Wenn im Block 510 ein Dienstprozeß Eingangsdaten empfängt, beginnt er sobald wie möglich mit der Verarbeitung der Eingangsdaten. Wenn im Block 520 ein Dienstprozeß eine Datenendebenachrichtigung von dem entsprechenden Client-Knoten empfängt, beendet er die Verarbeitung der Eingangsdaten sobald wie möglich. Im Block 530 sendet, sobald der Dienstprozeß das Verarbeiten aller Eingangsdaten beendet, der Dienstprozeß eine Benachrichtigungsnachricht (z.B. Dienstabschlußnachricht) sowohl zum RMS als auch dem entsprechenden Client-Knoten. Bei einer Ausführungsform wird gegebenenfalls das Verarbeitungsergebnis zur weiteren Verarbeitung zu einer anderen Komponente oder Einheit in dem System gesendet. Wenn im Block 540 ein Dienstprozeß eine Nachricht empfängt, die anzeigt, daß die Eingangsdaten annulliert wurden, sendet der Dienstprozeß eine Benachrichtigungsnachricht (z.B. Dienstabschlußnachricht) zu dem RMS.
  • Bei einer Ausführungsform kann das hier beschriebene Betriebsmittelzuteilungsverfahren auf der Grundlage der folgenden Annahmen wirken:
    • - Bei Eingangsdatenstromempfang: • Eine Zeitspanne (tin), um einen vollständigen Eingangsdatenstrom von einem Kanal zu erhalten. Das Ergebnis wird erzeugt, nachdem der Server-Knoten den vollständigen Eingangsdatenstrom verarbeitet. • Wenn die minimale Zeitlänge von Eingangsdatenstrom als tinmin und die maximale Zeitlänge von Eingangsdatenstrom tinmax bezeichnet wird, dann sollte die Länge von Eingangsdatenstrom den folgenden Nebenbedingungen genügen: tinmin <= tin <= tinmax.Außerbereichs-Datenströme werden verworfen. • Der Eingangsdatenstrom von außen wird blockweise in den Client-Knoten eingespeist. Die Blockgröße ist während des Systemstarts konfigurierbar:
    • - Bei Eingangsdatenstromverarbeitung: • Die Verarbeitung der Eingangsdaten sollte in Echtzeit durchgeführt werden. Ein Server-Knoten kann mindestens einen Strom Eingangsdaten in Echtzeit verarbeiten. In diesem Fall sollte die Verzögerung zwischen der Zeit des Empfangs der letzten Daten und der Zeit des Empfangs des Endergebnisses in der Client-Seite kleiner als ein vordefinierter Wert tnormal sein. tnormal ist die maximal zulässige Verzögerung. Wenn ein Server-Knoten mehrere Datenströme verarbeitet, sind die Zeitverzögerungen zum Erhalten der Endverarbeitungsergebnisse proportional zu der Anzahl von von ihm verarbeiteten Datenströmen. Die Verzögerung kann größer werden, wenn mehr Datenströme abgewickelt werden müssen. • Die Datenverarbeitungprozedur kann mit der Dateneingabeprozedur überlappt werden. Ein Server-Knoten muß nicht auf den vollständigen Datenstrom warten, um die Verarbeitung zu beginnen. Er kann den Eingangsdatenstrom inkrementell (z.B. byteweise) verarbeiten. Anders ausgedrückt, kann ein Server-Knoten die Verarbeitung durchführen, gleichgültig wieviele Daten empfangen wurden. Das Endergebnis ist jedoch möglicherweise erst dann verfügbar, wenn der vollständige Datenstrom verarbeitet ist. Diese Konfiguration ermöglicht das Überlappen von Prozessen/Prozeduren.
  • 6 zeigt ein Flußdiagramm einer Ausführungsform eines Verfahrens 600 gemäß den Lehren der vorliegenden Erfindung. Das Verfahren 600 beginnt im Block 601 und schreitet zum Block 610 voran. Im Block 610 werden mehrere Dienstzuteilungsanforderungen von mehreren Clients empfangen. Im Block 620 wird für jede Dienstzuteilungsanforderung eine Bewertung berechnet, die auf einem oder mehreren Faktoren basiert, darunter ein erster Faktor, der einer Datenmenge entspricht, die für die jeweilige Dienstzuteilungsanforderung empfangen wurde, ein zweiter Faktor, der einer Anzahl von für die Zuteilung verfügbaren Betriebsmittel entspricht, und ein dritter Faktor, der einer relativen Priorität der jeweiligen Dienstzuteilungsanforderung entspricht. Im Block 630 werden Dienste für die mehreren Dienstzuteilungsanforderungen auf der Basis der für jede Dienstzuteilungsanforderung berechneten Bewertung zugeteilt.
  • Die Erfindung wurde in Verbindung mit der bevorzugten Ausführungsform beschrieben. Es ist klar, daß Fachleuten im Hinblick auf die obige Beschreibung zahlreiche Alternativen, Modifikationen, Varianten und Verwendungen ersichtlich sein werden.

Claims (26)

  1. Verfahren mit den folgenden Schritten: Empfangen mehrerer Dienstzuteilungsanforderungen von mehreren Clients; Berechnen einer Bewertung für jede Dienstzuteilungsanforderung, die auf einem oder mehreren Faktoren basiert, einschließlich eines ersten Faktors, der einer Eingangsdatenmenge entspricht, die für die jeweilige Dienstzuteilungsanforderung empfangen wurde, eines zweiten Faktors, der einer Anzahl von für die Zuteilung verfügbaren Ressourcen entspricht, und eines dritten Faktors, der einer relativen Priorität der jeweiligen Dienstzuteilungsanforderung entspricht; und Zuteilen von Diensten für die mehreren Dienstzuteilungsanforderungen auf der Basis der für jede Dienstzuteilungsanforderung berechneten Bewertung, wobei das Zuteilen von Diensten die folgenden Schritte umfaßt: Bestimmen, ob die Bewertung für eine bestimmte Dienstzuteilungsanforderung einen Schwellenwert übersteigt; und wenn die Bewertung für die bestimmte Dienstzuteilungsanforderung den Schwellenwert übersteigt, Zuteilen eines oder mehrerer Dienste zu der bestimmten Dienstzuteilungsanforderung.
  2. Verfahren nach Anspruch 1, wobei der Schwellenwert eine Zufallszahl mit einem Wert zwischen einem ersten Wert und einem zweiten Wert ist.
  3. Verfahren nach Anspruch 2, wobei der erste Wert 0 entspricht und der zweite Wert 1 entspricht.
  4. Verfahren nach Anspruch 1, weiterhin mit den folgenden Schritten: bei Empfang einer neuen Dienstzuteilungsanforderung Bestimmen, ob eine der jeweiligen Dienstzuteilungsanforderung zugewiesene relative Priorität einen ersten vorbestimmten Schwellenwert übersteigt; und wenn die der jeweiligen Dienstzuteilungsanforderung zugewiesene relative Priorität den ersten vorbestimmten Schwellenwert übersteigt, Anzeigen, daß die jeweilige Dienstzuteilungsanforderung für die Dienstzuteilung berechtigt ist.
  5. Verfahren nach Anspruch 4, wobei das Anzeigen, daß die jeweilige Dienstzuteilungsanforderung für die Dienstzuteilung berechtigt ist, folgendes umfaßt: Hinzufügen eines Eintrags für die jeweilige Dienstzuteilungsanforderung zu einer ersten Datenstruktur.
  6. Verfahren nach Anspruch 5, weiterhin mit dem folgenden Schritt: wenn die zugewiesene relative Priorität nicht den ersten vorbestimmten Schwellenwert übersteigt, Anzeigen, daß die jeweilige Dienstzuteilungsanforderung noch nicht für die Dienstzuteilung berechtigt ist.
  7. Verfahren nach Anspruch 6, wobei das Anzeigen, daß die jeweilige Dienstzuteilungsanforderung noch nicht berechtigt ist, den folgenden Schritt umfaßt: Hinzufügen eines Eintrags für die jeweilige Dienstzuteilung zu einer zweiten Datenstruktur.
  8. Verfahren nach Anspruch 5, weiterhin mit dem folgenden Schritt: Durchführen der Dienstzuteilung für diejenigen Dienstzuteilungsanforderungen, die als für die Dienstzuteilung berechtigt identifiziert wurden, auf der Grundlage der relativen Priorität jeder Dienstzuteilungsanforderung und der Vollständigkeit von jeder Dienstzuteilungsanforderung zugeordneten Eingangsdaten.
  9. Verfahren nach Anspruch 8, wobei das Durchführen folgendes umfaßt: Identifizieren einer Dienstzuteilungsanforderung, die die höchste relative Priorität aufweist und für die vollständige Eingangsdaten empfangen wurden; und Zuteilen eines oder mehrerer Dienste zu der identifizierten Dienstzuteilungsanforderung.
  10. Verfahren nach Anspruch 9, weiterhin mit dem folgenden Schritt: Entfernen des der jeweiligen Dienstzuteilungsanforderung entsprechenden Eintrags aus der ersten Datenstruktur.
  11. Verfahren nach Anspruch 9, weiterhin mit den folgenden Schritten: wenn keine solche Dienstanforderung vorliegt, Identifizieren der Dienstanforderung, die die höchste relative Priorität aufweist; und Zuteilen eines oder mehrerer Dienste zu der identifizierten Dienstzuteilungsanforderung.
  12. Vorrichtung, umfassend: eine Logik zum Empfangen mehrerer Dienstzuteilungsanforderungen von mehreren Clients; eine Logik zum Berechnen einer Bewertung für jede Dienstzuteilungsanforderung, die auf einem oder mehreren Faktoren basiert, einschließlich eines ersten Faktors, der einer Eingangsdatenmenge entspricht, die für die jeweiligen Dienstzuteilungsanforderung empfangen wurde, eines zweiten Faktors, der einer Anzahl von für die Zuteilung verfügbaren Ressourcen entspricht, und eines dritten Faktors, der einer relativen Priorität der jeweiligen Dienstzuteilungsanforderung entspricht; und eine Logik zum Zuteilen von Diensten für die mehreren Dienstzuteilungsanforderungen auf der Basis der für jede Dienstzuteilungsanforderung berechneten Bewertung, wobei die Logik zum Zuteilen von Diensten folgendes enthält: eine Logik zum Bestimmen, ob die Bewertung für eine bestimmte Dienstzuteilungsanforderung einen Schwellenwert übersteigt; und eine Logik zum Zuteilen eines oder mehrerer Dienste zu der bestimmten Dienstzuteilungsanforderung, wenn die Bewertung für die bestimmte Dienstzuteilungsanforderung den Schwellenwert übersteigt.
  13. Vorrichtung nach Anspruch 12, wobei der Schwellenwert eine Zufallszahl mit einem Wert zwischen einem ersten Wert und einem zweiten Wert ist.
  14. Vorrichtung nach Anspruch 12, die weiterhin folgendes enthält: eine Logik zum Bestimmen, bei Empfang einer neuen Dienstzuteilungsanforderung, ob eine der jeweiligen Dienstzuteilungsanforderung zugewiesene relative Priorität einen ersten vorbestimmten Schwellenwert übersteigt; und eine Logik zum Anzeigen, daß die jeweilige Dienstzuteilungsanforderung für Dienstzuteilung berechtigt ist, wenn die der jeweiligen Dienstzuteilungsanforderung zugewiesene relative Priorität den ersten vorbestimmten Schwellenwert übersteigt.
  15. Vorrichtung nach Anspruch 14, weiterhin mit einer Logik zum Anzeigen, daß die jeweilige Dienstzuteilungsanforderung noch nicht für die Dienstzuteilung berechtigt ist, wenn die zugewiesene relative Priorität nicht den ersten vorbestimmten Schwellenwert übersteigt.
  16. Vorrichtung nach Anspruch 12, weiterhin mit einer Logik zum Durchführen einer Dienstzuteilung für diejenigen Dienstzuteilungsanforderungen, die als für Dienstzuteilung berechtigt identifiziert wurden, auf der Grundlage der relativen Priorität jeder Dienstzuteilungsanforderung und der Vollständigkeit von jeder Dienstzuteilungsanforderung zugeordneten Eingangsdaten.
  17. Vorrichtung nach Anspruch 16, wobei die Logik zur Durchführung folgendes enthält: eine Logik zum Identifizieren einer Dienstzuteilungsanforderung, die die höchste relative Priorität aufweist und für die vollständige Eingangsdaten empfangen wurden; und eine Logik zum Zuteilen eines oder mehrerer Dienste zu der identifizierten Dienstzuteilungsanforderung.
  18. Vorrichtung nach Anspruch 17, die weiterhin folgendes enthält: wenn keine solche Dienstanforderung vorliegt, eine Logik zum Identifizieren der Dienstanforderung, die die höchste relative Priorität aufweist; und eine Logik zum Zuteilen eines oder mehrerer Dienste zu der identifizierten Dienstzuteilungsanforderung.
  19. System, umfassend: mehrere Clients; mehrere Server, die über ein Netzwerk mit den mehreren Clients verbunden sind; und einen Ressourcenmanager zur Verwaltung der Ressourcenzuteilung für das System mit einer Logik zum Empfangen mehrerer Dienstzuteilungsanforderungen von mehreren Clients; einer Logik zum Berechnen einer Bewertung für jede Dienstzuteilungsanforderung, die auf einem oder mehreren Faktoren basiert; und einer Logik zum Zuteilen von Diensten für die mehreren Dienstzuteilungsanforderungen auf der Grundlage der für Dienstzuteilungsanforderung berechneten Bewertung, wobei die Logik zum Zuteilen von Diensten folgendes enthält: eine Logik zum Bestimmen, ob die Bewertung für eine bestimmte Dienstzuteilungsanforderung einen Schwellenwert übersteigt; und eine Logik zum Zuteilen eines oder mehrerer Dienste zu der bestimmten Dienstzuteilungsanforderung, wenn die Bewertung für die bestimmte Dienstzuteilungsanforderung den Schwellenwert übersteigt.
  20. System nach Anspruch 19, wobei der eine bzw. die mehreren Faktoren folgendes enthalten: einen ersten Faktor, der einer Eingangsdatenmenge entspricht, die für die jeweilige Dienstzuteilungsanforderung empfangen wurde, einen zweiten Faktor, der einer Anzahl von für die Zuteilung verfügbaren Ressourcen entspricht, und einen dritten Faktor, der einer relativen Priorität der jeweiligen Dienstzuteilungsanforderung entspricht.
  21. System nach Anspruch 19 oder 20, wobei der Schwellenwert eine Zufallszahl mit einem Wert zwischen einem ersten Wert und einem zweiten Wert ist.
  22. System nach Anspruch 19, das weiterhin folgendes enthält: eine Logik zum Bestimmen, bei Empfang einer neuen Dienstzuteilungsanforderung, ob eine der jeweiligen Dienstzuteilungsanforderung zugewiesene relative Priorität einen ersten vorbestimmten Schwellenwert übersteigt; und eine Logik zum Anzeigen, daß die jeweilige Dienstzuteilungsanforderung für Dienstzuteilung berechtigt ist, wenn die der jeweiligen Dienstzuteilungsanforderung zugewiesene relative Priorität den ersten vorbestimmten Schwellenwert übersteigt.
  23. System nach Anspruch 22, weiterhin mit einer Logik zum Durchführen der Dienstzuteilung für diejenigen Dienstzuteilungsanforderungen, die als für Dienstzuteilung berechtigt identifiziert wurden, auf der Grundlage der relativen Priorität jeder Dienstzuteilungsanforderung und der Vollständigkeit von jeder Dienstzuteilungsanforderung zugeordneten Eingangsdaten.
  24. Maschinenlesbares Medium, das Anweisungen umfaßt, die, wenn sie durch eine Maschine ausgeführt werden, bewirken, daß die Maschine Operationen durchführt, zu denen folgendes gehört: Empfangen mehrerer Dienstzuteilungsanforderungen von mehreren Clients; Berechnen einer Bewertung für jede Dienstzuteilungsanforderung, die auf einem oder mehreren Faktoren basiert, einschließlich eines ersten Faktors, der einer Eingangsdatenmenge entspricht, die für die jeweilige Dienstzuteilungsanforderung empfangen wurde, eines zweiten Faktors, der einer Anzahl von für die Zuteilung verfügbaren Ressourcen entspricht, und eines dritten Faktors, der einer relativen Priorität der jeweiligen Dienstzuteilungsanforderung entspricht; und Zuteilen von Diensten für die mehreren Dienstzuteilungsanforderungen auf der Basis der für jede Dienstzuteilungsanforderung berechneten Bewertung, wobei die Dienstzuteilungen folgendes umfassen: Bestimmen, ob die Bewertung für eine bestimmte Dienstzuteilungsanforderung einen Schwellenwert übersteigt; und wenn die Bewertung für die bestimmte Dienstzuteilungsanforderung den Schwellenwert übersteigt, Zuteilen eines oder mehrerer Dienste zu der bestimmten Dienstzuteilungsanforderung.
  25. Maschinenlesbares Medium nach Anspruch 24, weithin umfassend: bei Empfang einer neuen Dienstzuteilungsanforderung Bestimmen, ob eine der jeweiligen Dienstzuteilungsanforderung zugewiesene relative Priorität einen ersten vorbestimmten Schwellenwert übersteigt; und wenn die der jeweiligen Dienstzuteilungsanforderung zugewiesene relative Priorität den ersten vorbestimmten Schwellenwert übersteigt, Anzeigen, daß die jeweilige Dienstzuteilungsanforderung für eine Dienstzuteilung berechtigt ist.
  26. Maschinenlesbares Medium nach Anspruch 25, weiterhin umfassend: Durchführen der Dienstzuteilung für diejenigen Dienstzuteilungsanforderungen, die als für die Dienstzuteilung berechtigt identifiziert wurden, auf der Grundlage der relativen Priorität jeder Dienstzuteilungsanforderung und der Vollständigkeit von jeder Dienstzuteilungsanforderung zugeordneten Eingangsdaten.
DE10197256T 2001-07-02 2001-07-02 Verfahren, Vorrichtung und System zum Zuteilen von Diensten in Computersystemen Expired - Fee Related DE10197256B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2001/001150 WO2003005217A1 (en) 2001-07-02 2001-07-02 Method, apparatus, and system for resource allocation in computer systems

Publications (2)

Publication Number Publication Date
DE10197256T5 DE10197256T5 (de) 2004-10-14
DE10197256B4 true DE10197256B4 (de) 2006-01-05

Family

ID=4574825

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10197256T Expired - Fee Related DE10197256B4 (de) 2001-07-02 2001-07-02 Verfahren, Vorrichtung und System zum Zuteilen von Diensten in Computersystemen

Country Status (4)

Country Link
CN (1) CN100429639C (de)
DE (1) DE10197256B4 (de)
GB (1) GB2395088B (de)
WO (1) WO2003005217A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7143413B2 (en) * 2002-05-15 2006-11-28 Hewlett-Packard Development Company, L.P. Method and system for allocating system resources among applications using weights
CN100505685C (zh) 2005-08-09 2009-06-24 华为技术有限公司 通信网络中对网络地址/端口转换请求进行处理的方法
RU2613536C1 (ru) * 2015-11-30 2017-03-16 федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) Многовыходное устройство приоритета

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5031089A (en) * 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
EP0384339B1 (de) * 1989-02-24 1997-04-02 Digital Equipment Corporation Makler für die Auswahl von Rechnernetzwerkservern

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9414951D0 (en) * 1994-07-25 1994-09-14 British Telecomm Computer system having client-server architecture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5031089A (en) * 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
EP0384339B1 (de) * 1989-02-24 1997-04-02 Digital Equipment Corporation Makler für die Auswahl von Rechnernetzwerkservern

Also Published As

Publication number Publication date
GB2395088A (en) 2004-05-12
GB2395088B (en) 2004-09-08
DE10197256T5 (de) 2004-10-14
CN100429639C (zh) 2008-10-29
CN1545663A (zh) 2004-11-10
GB0402253D0 (en) 2004-03-03
WO2003005217A1 (en) 2003-01-16

Similar Documents

Publication Publication Date Title
DE60220442T2 (de) Selbstabstimmende statistische Resourcenzuteilung für Mehrpunkt-Netzwerkereignisse
DE60033119T2 (de) System zur automatischen Voraussage der Arbeitszeit von Anrufzentraleagenten in einer Umgebung mit Agenten mit mehreren Fähigkeiten
DE60210733T2 (de) System und Verfahren zur Überlastregelung in Netzwerken
DE69924057T2 (de) Verfahren, Ablauffolgesteuerung, intelligenter Pufferspeicher, Prozessor und Telekommunikationssystem zum Verteilen verfügbahrer Bandbreite
DE60200680T2 (de) Fast optimale Fairness-Backoff-Verfahren und -System
DE102018204859A1 (de) Dynamischer Lastenausgleich in Netzschnittstellenkarten für eine optimale Leistung auf Systemebene
DE602004008550T2 (de) Speichervorrichtung und System zum Bereitstellen einer Reservierungsfunktion für einen Kommunikationspuffer.
DE60117957T2 (de) Verfahren, System und Rechnerprogrammprodukt zur Bandbreitenzuteilung in einem System mit Mehrfachzugriff
DE10247164B4 (de) Verfahren und Vorrichtung für eine Netzwerkbandbreitenoptimierung
DE69914837T2 (de) Fähigkeitwert anordnung in einer Anrufzentrale
DE69937241T2 (de) Vorrichtung zur messung der last eines netzwerkservers und berät und verfahren zur zuordnung
DE69636825T2 (de) Verzögerungsminimalisierungssystem mit garantierter Bandbreite für Echtzeitverkehr
DE69533680T2 (de) Verfahren und Vorrichtung zur dynamischen Bestimmung und Zuteilung von Zugriffsguoten für ein gemeinsames Betriebsmittel
DE69734432T2 (de) Verfahren und Vorrichtung zur Absendung von Clientverfahrenanrufen in einem Server Rechnersystem
DE69838204T2 (de) Integrierte Überlaststeuerung für verteilte Echtzeitsysteme
DE19959580A1 (de) System und Verfahren zum Sicherstellen verfügbarer Kommunikationsnetzwerkresourcen
DE60002825T2 (de) Reservierung voon Ressourcen für erwartete Arbeitseinheiten anhand von simulierten Arbeitseinheiten
DE602004010224T2 (de) Vorrichtung zur Verkehrssteuerung und entsprechendes Servicesystem
EP1477016B1 (de) Effiziente ausnutzung von für vermittlungssysteme bereitgestellten ivr-ressourcen
EP1593237B1 (de) Verfahren zur übertragungsbandbreitenzuteilung in einer pake torientierten kommunikationseinrichtung
DE112011105003T5 (de) Sendevorrichtung, Empfangsvorrichtung, Kommunikationsvorrichtung, Kommunikationssystem und Sendeverfahren
DE112019005043T5 (de) Streamzuweisung unter verwendung von stream-guthaben
EP1588234B1 (de) Zuordnung von verteilungsgewichten zu verbindungsabschnitten in einem paketnetz mit verkehrsverteilung
DE10197256B4 (de) Verfahren, Vorrichtung und System zum Zuteilen von Diensten in Computersystemen
EP1700434A1 (de) Verfahren zur bestimmung von grenzwerten für eine verkehrskontrolle in kommunikationsnetzen mit zugangskontrolle

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law

Ref document number: 10197256

Country of ref document: DE

Date of ref document: 20041014

Kind code of ref document: P

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140201