-
Die
vorliegende Erfindung bezieht sich allgemein auf Verfahren und Systeme
für die
Zuteilung von Ressourcen zur Durchführung anrufbezogener Aufgaben
und insbesondere spezifisch auf die Zuteilung von Ressourcen in
einer Netzwerkumgebung, in der redundante Ressourcen für die Implementierung der
anrufbezogenen Aufgaben zur Verfügung
stehen.
-
Derzeit
existieren eine Reihe alternativer Architekturen zur Unterstützung der
Anruffunktion für Telefonie-Endgeräte in einem
Ortsnetz (Local Area Network, LAN) wie beispielsweise Telefone und/oder telefoniefähige Rechner
in einer Firmenumgebung. Eine private Nebenstellenanlage (NStAnl)
kann eingesetzt werden, um eingehende und ausgehende Anrufe an den
Telefonie-Endgeräten,
die sich in den Räumlichkeiten
des Eigentümers
der NStAnl befinden, zu unterstützen.
Herkömmliche
NStAnl übernehmen
die gesamte Anrufverarbeitung für
die unterstützten
Telefonie-Endgeräte.
Zu diesen Anrufverarbeitungs-Funktionen gehört auch die Unterstützung von
anrufbezogenen Leistungsmerkmalen, beispielsweise Anrufweiterleitung
und Sprachnachrichten-Übermittlung,
zusätzlich
zu der erforderlichen Wegewahl für
eingehende und ausgehende Anrufe.
-
Als
Alternative zu der zentralisierten Architektur bietet die verteilte
Anrufverarbeitung die Möglichkeit,
zumindest einen Teil der anrufbezogenen Leistungsmerkmale an den
Telefonie-Endgeräten selbst
zu implementieren, beinhaltet jedoch typischerweise auch ein Gerät (eine „zentral
ansteuerbare Einheit"),
welches von sämtlichen
Telefonie-Endgeräten genutzt
wird. Beispielsweise können
Personal-Computer,
auf denen ein ToL-Client läuft
(ToL = Telephony over Local Area Network, Telefonie über LAN),
anrufbezogene Leistungsmerkmale wie Anrufweiterleitung abwickeln,
während ein
Gatekeeper dazu dient, Leistungsmerkmale zu aktivieren und in eingeschränktem Umfang
Verwaltungsfunktionen auszuführen,
beispielsweise das Übersetzen
von Adressen oder Feature Services. NStAnl können ebenfalls so eingerichtet
werden, dass sie Ressourcen für
die verteilte Anrufverarbeitung bereitstellen.
-
Dementsprechend
liegt ein Vorteil der verteilten Anrufverarbeitung darin, dass die
anrufbezogenen Aufgaben an den Telefonie-Endgeräten selbst ausgeführt werden
können.
Damit wird die zentral ansteuerbare Einheit (beispielsweise ein
Gatekeeper) des Systems entlastet und kann somit ausschließlich die
Verarbeitungsaufgaben übernehmen,
die nur auf der zentral ansteuerbaren Einheit implementiert werden
können.
Der Gatekeeper oder eine vergleichbare Einheit können als eine universelle zentrale
Steuereinheit (CPU, Central Processing Unit) angesehen werden, während die
Telefonie-Endgeräte als Randbereichs-CPU
betrachtet werden. Indem die universelle CPU für Aufgaben reserviert wird,
die obligatorisch von dieser zentralen Steuereinheit auszuführen sind,
lassen sich die Verzögerungen,
die durch die innerhalb der universellen CPU ausgeführten Operationen
entstehen, kontrollieren.
-
Gängige Programmiersprachen,
die in der zentral ansteuerbaren Einheit in einer verteilten Anrufverarbeitungsumgebung
benutzt werden, sind unter anderem C und C++. Die Programmiersprache
an den Telefonie-Endgeräten
kann hiervon abweichen. Rechner, auf denen ToL-Clients laufen, arbeiten
häufig
mit der Programmiersprache JAVA® (JAVA
ist ein eingetragenes Warenzeichen von Sun Microsystems). Im Hinblick
auf die anrufbezogenen Leistungsmerkmale ist die JAVA-Sprache oft
weniger effizient als C oder C++. Entsprechend können einfache Anrufverarbeitungsfunktionen,
die auf dem Personal- Computer
eines Anwenders ausgeführt
werden, einen beträchtlichen
prozentualen Anteil der Verarbeitungsressourcen dieses Rechners
in Anspruch nehmen. Ferner wird es aufgrund der Anforderungen an
die Rechenleistung, die sich aus der Durchführung von anrufbezogenen Aufgaben
ergeben (beispielsweise Anrufweiterleitung), zu Verzögerungen kommen.
Diese Verzögerungen
sind bei Rechnern mit geringerer Leistung entsprechend stärker. Eine Lösung dieses
Problems besteht darin, jedes Telefonie-Endgerät mit einer CPU auszustatten,
die für
andere Software-Anwendungen möglicherweise
unnötig
viel Leistung bietet, die jedoch erforderlich ist, um die effiziente
Abwicklung aller anrufbezogenen Aufgaben, die von den Telefonie-Endgeräten auszuführen sind,
sicherzustellen. Der Nachteil dieser Lösung ist, dass sie für ein Unternehmen
oder eine sonstige Organisation, das/die eine Anzahl solcher Telefonie-Endgeräte einsetzt,
erhebliche Kosten mit sich bringt.
-
Eine
Teillösung
hierfür
besteht darin, die Implementierung spezifischer anrufbezogener Leistungsmerkmale
auf die zentral ansteuerbare Einheit zu verlagern, auch wenn diese
Leistungsmerkmale eigentlich auf Endgeräte-Ebene implementiert werden
könnten.
Als ein Beispiel könnte
etwa die Voicemail-Funktion
mithilfe eines Servers implementiert werden, der mit einem Gatekeeper
verbunden ist, statt die Voicemail-Funktion unmittelbar am ToL-Client
zur Verfügung
zu stellen. Diese Teillösung
wird je nach den Betriebsbedingungen mehr oder weniger Vorteile
bieten. Tatsächlich
kann sie unter bestimmten Bedingungen sogar negative Auswirkungen
haben, beispielsweise bezogen auf das aktuelle Volumen von Anrufverkehr
und/oder die aktuelle Inanspruchnahme eines bestimmten anrufbezogenen Leistungsmerkmals,
das zentral implementiert ist, obwohl es auf Endgeräte-Ebene
implementiert werden könnte.
-
Benötigt wird
also ein Verfahren und ein System für die Bereitstellung von Ressourcen
für die
verteilte Anrufverarbeitung, ohne dass hierfür unter bestimmten Betriebsbedingungen
unnötigerweise
Systemleistung geopfert werden muss.
-
Auf
einem verwandten Gebiet der Technik beschreibt das von Choquier
et al. angemeldete U.S.-Patent Nr. 5.774.668 eine zentralisierte
Architektur für
ein Online-Dienste-Netzwerk. Dieses Online-Dienste-Netzwerk umfasst
eine Anzahl von Anwendungsservern sowie eine Anzahl von Gateway-Rechnern,
die über
ein LAN miteinander verbunden sind. Die Anwendungsserver sind dabei
in Dienstegruppen angeordnet, wobei jede Dienstegruppe einem bestimmten
Dienst entspricht. Die Anwendungsserver einer bestimmten Dienstegruppe
werden „repliziert", worunter per Definition
eine Anordnung zu verstehen ist, bei der alle Anwendungsserver in
einer Gruppe dieselbe Serveranwendung ausführen, sodass die Server der
betreffenden Gruppe gemeinsam ein und denselben Dienst implementieren.
Bei diesem gemeinsamen Dienst kann es sich beispielsweise um ein
Bulletin-Board-System (BBS) handeln. Bei den Gateway-Rechnern gehen Dienstanforderungen
von den Client-Rechnern
ein, welche von Endanwendern genutzt werden. Sobald eine solche
Anforderung, ein so genannter Request, eingeht, greifen die Gateway-Rechner
auf eine Service-Map zu, um die replizierten Anwendungsserver zu
finden, auf denen aktuell die entsprechende Dienstanwendung läuft, und
wenden dann ein Lastverteilungsverfahren an, um aus dieser Gruppe
von Anwendungsservern einen Server auszuwählen, dessen Arbeitsbelastung
gerade relativ niedrig ist. Somit stehen innerhalb der zentralisierten
Architektur des Systems Mechanismen zur Verfügung, mit deren Hilfe die Arbeitsbelastung
dynamisch gleichmäßig auf
die Anwendungsserver in diesem zentralisierten System verteilt werden
kann. Darüber
hinaus beinhaltet die Architektur Mechanismen für die dynamische Zuteilung
von Verarbeitungsressourcen, beispielsweise Anwendungsservern, zu
spezifischen Online-Diensten, sodass Schwankungen bei der Nutzung
bestimmter Online-Dienste effizient abgefangen werden.
-
Die
Erfindung ist in den unabhängigen
Ansprüchen
definiert, auf die hiermit Bezug genommen wird. Weitere vorteilhafte
Funktionen und Leistungsmerkmale werden in den abhängigen Ansprüchen ausführlich erläutert.
-
Ein
Verfahren und ein System gemäß den verschiedenen
Ausführungsformen
der Erfindung nutzen die adaptive verteilte Anrufverarbeitung, um in
einem breiten Spektrum von Betriebsbedingungen eine hohe Systemleistung
zu erzielen. Das System umfasst eine zentral ansteuerbare Einheit,
die mindestens zum Teil die Anruffunktion für eine Anzahl von Telefonie-Endgeräten unterstützt. Ein
solches Verfahren beinhaltet die Befähigung der zentral ansteuerbaren
Einheit, bestimmte anrufbezogene Leistungsmerkmale (wie beispielsweise
Anrufweiterleitung) zu implementieren, sowie die Befähigung der Telefonie-Endgeräte, dieselben
Leistungsmerkmale zu implementieren, sodass die entsprechenden Ressourcen
redundant vorhanden sind. Zudem wird ein Schema für die Zuweisung
von Aufgaben eingerichtet, durch das Anforderungen der Leistungsmerkmale
auf Grundlage der aktuell vorhandenen Ressourcen bearbeitet werden
können.
Für jede
derartige Anforderung nach Implementierung eines spezifischen anrufbezogenen
Leistungsmerkmals, für
das redundante Ressourcen zur Verfügung stehen, kann die Zuweisung
gegebenenfalls adaptiv erfolgen, das heißt, sie beruht mindestens teilweise
auf der aktuellen Verfügbarkeit
entsprechender Verarbeitungsressourcen in mindestens der zentral
ansteuerbaren Einheit und/oder dem spezifischen Telefonie-Endgerät, die/das
dieser Anforderung zugeordnet ist.
-
In
den bevorzugten Ausführungsformen
der vorliegenden Erfindung handelt es sich bei den Telefonie-Endgeräten um Personal-Computer,
auf denen eine ToL-Client-Software läuft. Die zentral ansteuerbare
Einheit kann ein Gatekeeper oder ein anderes Gerät sein, das über entsprechende
Funktionalität verfügt. Beispielsweise
kann die zentral ansteuerbare Einheit als ein Server ausgeführt sein,
der vorzugsweise speziell für
die Unterstützung
von Telefonie-Leistungsmerkmalen reserviert ist.
-
In
diesem Fall kann der Schritt der Befähigung der besagten zentral
ansteuerbaren Einheit das Konfigurieren eines Servers und der Schritt
der Befähigung
des besagten Telefonie-Endgeräts das Konfigurieren
telefoniefähiger
Rechner umfassen. Ebenfalls in der bevorzugten Ausführungsform
kann die Feststellung der Verfügbarkeit
von Verarbeitungsressourcen zum jeweiligen Zeitpunkt die Erstellung
einer Prognose zu Verzögerungen
beinhalten, welche bei Ausführung
des angeforderten anrufbezogenen Leistungsmerkmals in der zentralen
Steuereinheit (CPU) entstehen könnten.
Liegt die voraussichtliche Verzögerung
unterhalb eines vorab definierten Verzögerungsschwellenwerts, wird
die Implementierung des angeforderten Leistungsmerkmals an die zentral
ansteuerbare Einheit verwiesen. Andernfalls, wenn die voraussichtliche
Verzögerung
größer ist
als der vorab definierte Verzögerungsschwellenwert,
wird dem Telefonie-Endgerät,
das dem Anruf zugeordnet ist, die Aufgabe zugewiesen, das angeforderte
Leistungsmerkmal zu implementieren. Der vorab definierte Verzögerungsschwellenwert
kann auf der voraussichtlichen Verzögerung an dem Telefonie-Endgerät basieren,
wenn dem Telefonie-Endgerät
die Implementierung des angeforderten Leistungsmerkmals zugewiesen
wurde. In einer alternativen Ausführungsform basiert die Zuweisung
statt auf der Auswahl eines feststehenden Verzögerungsschwellenwerts darauf,
dass die aktuelle Verfügbarkeit
von Verarbeitungsressourcen sowohl an der zentral ansteuerbaren
Einheit als auch an dem Telefonie-Endgerät ermittelt wird und die beiden
Werte miteinander verglichen werden.
-
Die
voraussichtlichen Verzögerungen
an der zentral ansteuerbaren Einheit sind abhängig von der verfügbaren Verarbeitungsleistung.
Entsprechend dem Schema für
die Aufgabenzuweisung kann die zentral ansteuerbare Einheit so lange
für die
Ausführung
jeder anrufbezogenen Aufgabe, für
die redundante Ressourcen zur Verfügung stehen, zugewiesen werden,
bis infolge vorheriger Anforderungen ein vorab definierter Schwellenwert
für die
Verarbeitungsleistung erreicht ist. Ist der vorab definierte Schwellenwert
einmal erreicht, werden alle weiteren Anforderungen von anrufbezogenen
Leistungsmerkmalen den Telefonie-Endgeräten zugewiesen. Eine Zuweisung
zu der zentral ansteuerbaren Einheit erfolgt erst dann wieder, wenn
aufgrund von Änderungen
im Verkehrsaufkommen oder durch andere Bedingungen die verfügbare Verarbeitungsleistung
wieder auf ein Niveau unterhalb des vorab definierten Schwellenwertes
absinkt.
-
Bei
einer weiteren Ausführungsform
handelt es sich bei den Telefonie-Endgeräten um Telefone und bei der
zentral ansteuerbaren Einheit um eine NStAnl oder eine ähnliche
Vermittlungseinrichtung. In dieser Ausführungsform müssen die
Telefone so konfiguriert sein, dass sie die Implementierung der spezifischen
anrufbezogenen Leistungsmerkmale unabhängig von der NStAnl zulassen.
So kann es sich beispielsweise bei den Telefonen um Komforttelefone
handeln, die für
die Unterstützung
der Anrufweiterleitung konfiguriert sind.
-
In
einer weiteren Ausführungsform
ist die zentral ansteuerbare Einheit ein Server, der speziell für ein bestimmtes
anrufbezogenes Leistungsmerkmal reserviert ist, und handelt es sich
bei den Telefonie-Endgeräten
um Telefone. Auch hier müssen
die Telefone in der Lage sein, die nötigen Kapazitäten für die Verarbeitung
digitaler Signale zur Verfügung
zu stellen, damit moderne anrufbezogene Leistungsmerkmale implementiert
werden können.
In einer Anwendung dieser Ausführungsform
ist der Server für die
Bereitstellung der Voicemail-Funktion reserviert, während die
einzelnen Telefone redundante Ressourcen für die Bearbeitung von Voicemail-Nachrichten
(beispielsweise die Regelung der Lautstärke) zur Verfügung stellen.
Anforderungen der Voicemail-Funktion werden dem Server zugewiesen,
bis ein Schwellenwert erreicht wird, der anzeigt, dass die voraussichtlichen
Verzögerungswerte
im Zusammenhang mit dem Hinterlassen oder Bearbeiten von Voicemail-Nachrichten
auf dem Server höher
sein werden als die voraussichtlichen Verzögerungswerte im Zusammenhang
mit dem Hinterlassen oder Bearbeiten von Voicemail-Nachrichten an
den einzelnen Telefonie-Endgeräten.
-
Durch
die dynamische und adaptive Verteilung der Arbeitslast zwischen
der zentral ansteuerbaren Einheit (zentrale CPU) und den Telefonie-Endgeräten (Randbereichs-CPU)
kann ein System die Ressourcen einer zentral ansteuerbaren Einheit
unter Bedingungen geringer Belastung oder normaler Belastung voll
ausschöpfen,
ohne jedoch in Situationen mit hoher Belastung unangemessene Verzögerungen
zu verursachen. Die Lastverteilungsfunktion kann so konfiguriert
werden, dass die „beweglichen" Leistungsmerkmale
immer am optimalen Ort ausgeführt
werden, entweder an der zentral ansteuerbaren Einheit oder an den
Telefonie-Endgeräten.
-
Bei
einem weiteren bevorzugten Verfahren zur Zuteilung von Ressourcen
für die
Ausführung
eines anrufbezogenen Leistungsmerkmals in einer Umgebung, in der
die Ausführung
des besagten Leistungsmerkmals entweder an einer zentralen Anrufverarbeitungseinrichtung
oder an Telefonie-Endgeräten,
an die Anrufe gerichtet werden, implementiert werden kann, umfasst
das besagte Verfahren folgende Schritte:
Identifizieren eines
Anrufs, für
den das besagte Leistungsmerkmal relevant ist, einschließlich des
Identifizierens des besagten Telefonie-Endgeräts, das ein Teilnehmer in besagtem
Anruf ist, wobei die aktuellen voraussichtlichen Verzögerungen
in der Ausführung des
besagten Leistungsmerkmals mittels der besagten zentralen Anrufverarbeitungseinrichtung
verglichen werden mit den voraussichtlichen Verzögerungen in der Ausführung des
besagten Leistungsmerkmals an dem besagten Telefonie-Endgerät; und
Entscheiden,
ob das besagte Leistungsmerkmal durch die besagte zentrale Anrufverarbeitungseinrichtung
oder durch das besagte Telefonie-Endgerät ausgeführt werden soll, gestützt auf
die Ergebnisse des besagten Vergleichsschritts.
-
Der
Vergleichsschritt kann Folgendes umfassen: Überwachen der besagten aktuellen
voraussichtlichen Verzögerungen
auf Basis eines Schwellenwertes der verfügbaren Verarbeitungsleistung, Zuweisen
der Ausführung
des besagten Leistungsmerkmals zu besagtem Telefonie-Endgerät, wenn
die besagte verfügbare
Verarbeitungsleistung an besagter zentraler Anrufverarbeitungsfunktion
den besagten Schwellenwert überschreitet.
-
Zum
besseren Verständnis
der vorliegenden Erfindung werden im Folgenden verschiedene ihrer Ausführungsformen
beispielhaft und unter Bezugnahme auf die beigefügten Zeichnungen beschrieben,
wobei:
-
1 eine
schematische Ansicht eines Telefoniesystems enthält, das die adaptive verteilte
Anrufverarbeitung gemäß einer
Ausführungsform
der Erfindung umfasst;
-
2 die
Verzögerungen
der Anrufverarbeitung grafisch als Funktion der Anrufverarbeitungslast
darstellt;
-
3 eine
schematische Darstellung einer zweiten Ausführungsform eines Systems, das
die adaptive verteilte Anrufverarbeitung beinhaltet, enthält;
-
4 eine
dritte Ausführungsform
eines Systems zeigt, das die adaptive verteilte Anrufverarbeitung
gemäß der Erfindung
umfasst; und
-
5 die
Abfolge der Schritte im Prozess zur Ausführung der adaptiven verteilten
Anrufverarbeitung zeigt.
-
Bezug
nehmend auf 1 wird ein Netzwerk 10 dargestellt,
das aus Arbeitsstationen besteht und für die Verteilung der Last zwischen
einer zentral ansteuerbaren Einheit und einer Anzahl von Telefonie-Endgeräten ausgelegt
ist. In der gezeigten bevorzugten Ausführungsform ist das Netzwerk
ein ToL-System, das eine Anzahl untereinander verbundener Personal-Computer 12, 14, 16 und 18 enthält. Jeder
dieser Personal-Computer ist so programmiert, dass auf ihm eine
ToL-Software läuft. Entsprechend sind
die Personal-Computer vorzugsweise mit einer TAPI (Telephony Application
Programming Interface, Schnittstelle für Telefonie-Anwenderprogramme) ausgestattet,
durch die der Rechner die Telefonfunktion unterstützen kann.
Obwohl dies keine zwingende Voraussetzung ist, kann jeder Rechner
mit einem digitalen Telefon 20, 22, 24 bzw. 26 verbunden
sein.
-
Die
Personal-Computer 12–18 und
die Telefone 20–26 übertragen
Daten, die nicht zeitkritisch sind (beispielsweise elektronische
Post, E-Mail), und zeitkritische Daten (beispielsweise Sprachinformationen)
untereinander über
eine Netzwerkverbindung 28. Diese Netzwerkverbindung kann
drahtgebunden oder drahtlos ausgeführt sein. Die Rechner und Telefone
sind Netzwerk-Endpunkte und haben eindeutige Adressen. So kann beispielsweise
jeder der Rechner eine eindeutige IP-Adresse (IP = Internetprotokoll) haben.
Diese Adressen werden dazu benutzt, die Zielendpunkte für die Übertragung
von Daten und Sprachinformationen eindeutig zu identifizieren.
-
Das
Netzwerk 10 beinhaltet darüber hinaus einen Gatekeeper 30 und
ein Gateway 32 (obwohl diese beiden als miteinander verbunden
dargestellt werden, ist dies nicht erforderlich, solange der Gatekeeper
und das Gateway logisch an die Netzwerkverbindung 28 angebunden
sind). Der Gatekeeper 30 verwaltet eine Datenbank mit den
eindeutigen Adressen der Endpunkte des Netzwerks. Wird eine Anforderung
zur Übertragung
von Daten oder Sprachinformationen von einem externen Telefonie-Endgerät an einem
der Netzwerk-Endpunkte empfangen, beispielsweise an dem telefoniefähigen Personal-Computer 12, übersetzt
der Gatekeeper eventuelle Alias-Namen von Endpunkten (beispielsweise
einen Rechnernamen oder eine E-Mail-Adresse) oder eine Telefonadresse
(beispielsweise Adressen im Telefonnummernformat) in ein für das Netzwerk
passendes Format. Wie in der Technik ausreichend bekannt ist, übernehmen
Gatekeeper darüber
hinaus auch noch andere Funktionen.
-
Die
Funktionen des Gateway 32 sind in der Technik ebenfalls
ausreichend bekannt. Gateways werden dafür eingesetzt, Protokollumwandlungen vorzunehmen,
wenn dies erforderlich ist. Das Gateway kann Anrufsteuerungssignale
und Anrufinhalte aus einem paketvermittelten Format, wie es innerhalb
des Netzwerks 10 verwendet wird, in ein leitungsvermitteltes
Format umsetzen, wie es im PSTN 34 (PSTN = Public Switched
Telephone Network, öffentliches
Fernsprechnetz) verwendet wird. Die Protokollumwandlung versetzt
die Endpunkte des Netzwerks 10 in die Lage, mit externen
Telefonie-Endgeräten
wie beispielsweise einem Telefon 36 oder der Arbeitsstation,
die aus einem telefoniefähigen
Rechner 38 und einem Telefon 40 besteht, zu kommunizieren.
Falls das Netzwerk 10 lediglich mit einem anderen Datennetzwerk
verbunden ist, etwa wenn Netzwerke zusammengeschaltet werden, um
ein Weitverkehrsnetz (Wide Area Network, WAN) zu bilden, ist gegebenenfalls
das Gateway 32 nicht erforderlich, da möglicherweise keine Protokollumwandlung
notwendig ist.
-
In
einer spezifischen Ausführungsform
bildet der Gatekeeper 30 eine „zentral ansteuerbare Einheit" in bezug auf die
Bereitstellung von Diensten für die
Netzwerk-Endpunkte, die die Personal-Computer 12–18 sowie
die Telefone 20–26 beinhalten.
In weiteren Ausführungsformen
kann die zentral ansteuerbare Einheit eine zentrale Steuereinheit
außer
dem Gatekeeper sein. Diese zentral ansteuerbare Einheit ist dafür konfiguriert,
eine Anzahl von anrufbezogenen Leistungsmerkmalen wie beispielsweise
Anrufweiterleitung, Übermittlung
von Sprachnachrichten und Durchsagen bereitzustellen. Die Personal-Computer 12–18 sind
ebenfalls dafür
konfiguriert, diese Leistungsmerkmale zu implementieren. Auf diese Weise
sind die entsprechenden Ressourcen redundant vorhanden. Unter bestimmten
Betriebsbedingungen im Netzwerk 10 kann es vorzuziehen
sein, die Ressourcen des Gatekeepers 30 zu nutzen, um die
notwendigen Aufgaben für
die Implementierung eines angeforderten anrufbezogenen Leistungsmerkmals
auszuführen.
Unter anderen Betriebsbedingungen jedoch kann es vorteilhaft sein,
diese Aufgaben demjenigen Rechner zuzuweisen, an den ein Anruf gerichtet
ist. Wenn sich beispielsweise der Anwender an Rechner 12 vorübergehend
an dem Arbeitsplatz mit dem Rechner 14 aufhält, hängt die
effizienteste Implementierung des Leistungsmerkmals Anrufweiterleitung
von den aktuellen Betriebsbedingungen ab, die im Netzwerk herrschen.
-
Bezug
nehmend auf 2 werden die Verzögerungen
in der Anrufverarbeitung, die mit der Implementierung auf der Endgeräte-Ebene
bzw. auf der Ebene der zentralen Einheit verbunden sind, als Funktion
der Belegungsversuche während
der Hauptverkehrsstunde (Busy Hour Call Attempts, BHCA) dargestellt.
Die Kurve 42, die für
die Verzögerungen
in der Anrufverarbeitung bei einer Leistungsmerkmal-Implementierung
auf Endgeräte-Ebene steht,
ist relativ flach. Dagegen ist unter hoher Belastung der Anstieg
der Kurve 44, die die Verzögerungen in der Anrufbearbeitung
für die
zentrale Steuereinheit darstellt, recht steil. In einem Netzwerk,
das die in 2 (in der das Beispiel einen
Kreuzungspunkt bei acht Anrufen zeigt) gezeigten Eigenschaften aufweist,
würde ein
optimales Schema für
die Zuweisung von Aufgaben vorsehen, dass der zentralen Steuereinheit
die Implementierung der anrufbezogenen Leistungsmerkmale so lange übertragen
wird, bis eine Anforderung eingeht und die zentrale Steuereinheit
schon mindestens acht Anrufe abwickelt. Erst dann ist es effizienter,
die Aufgabe den Telefonie-Endgeräten
zuzuweisen.
-
Es
kann eine Anzahl von Gründen
geben, aus denen das Netzwerk 10 Eigenschaften zeigt, wie sie
in 2 dargestellt werden. Häufig arbeitet der Gatekeeper 30 oder
ein vergleichbares Gerät
mit der Programmiersprache C oder C++, während die telefoniefähigen Rechner 12–18 mit
der Rechnersprache Java arbeiten. Da Java als Programmiersprache
jedoch weniger effizient ist als C oder C++, ist es effizienter,
die anrufbezogenen Aufgaben am Gatekeeper auszuführen, wenn sich das gesamte
System im Bereitschaftszustand befindet. Je stärker jedoch die Verarbeitungsleistung
am Gatekeeper beansprucht wird, desto mehr wird die CPU-Verarbeitung
am Gatekeeper zum Engpass. Hierdurch wird die Verzögerung bei
der Anrufverarbeitung gesteigert wie in 2 gezeigt.
Unter diesen Bedingungen kann die Ausführung der Aufgaben für die Implementierung der
Anrufweiterleitung oder der Durchsage mit weniger Verzögerungen
verbunden sein, wenn diese Aufgaben den Telefonie-Endgeräten zugewiesen
werden, die mit der weniger effizienten Programmiersprache arbeiten.
-
Das
Schema für
die adaptive Aufgabenzuweisung kann gegebenenfalls innerhalb des
Gatekeepers 30 umgesetzt werden. Alternativ kann das Netzwerk 10 einen
Lastverteilungs-Server 46 oder ein anderes Zusatzgerät beinhalten,
mit dessen Hilfe die Lastverteilung realisiert wird. In einer einfachen Anwendung überwacht
der Server 46 lediglich die Aktivität des Gatekeepers 30.
Wenn das Verhältnis der
Verzögerungen
der Darstellung in 2 entspricht, ist die Überwachung
der Aktivität
des Gatekeepers ausreichend, um die optimale Leistung zu ermitteln.
-
Als
Alternative zu der reinen Überwachung der
Aktivität
am Gatekeeper 30 kann der Lastverteilungs-Server 46 oder
ein vergleichbares Gerät
die Aktivität
an den einzelnen telefoniefähigen
Rechnern 12–18 überwachen.
Auf diese Weise können
die Aufgaben für
die Implementierung eines bestimmten anrufbezogenen Leistungsmerkmals,
für das
redundante Ressourcen zur Verfügung
stehen, auch dem Ziel-Rechner zugewiesen werden, sofern dieser Ziel-Rechner
nicht gerade eine Anzahl von Verarbeitungsressourcen nutzt, die
oberhalb eines Schwellenwertes liegt. Als dritte Alternative kann
der Lastverteilungs-Server 46 die Aktivität sowohl
des Gatekeepers 30 als auch der einzelnen Rechner 12–18 überwachen.
-
Der
Parameter, der durch den Lastverteilungs-Server 46 überwacht
wird, kann etwa die Anzahl der zu einem Zeitpunkt gerade abgewickelten Anrufe
sein. In dieser Anwendung kann die Zuweisung von Aufgaben verlagert
werden, wenn die Anrufbelastung einen vorab definierten Belastungs-Schwellenwert übersteigt.
Nochmals Bezug nehmend auf 2 kann dieser
vorab definierte Belastungs-Schwellenwert beispielsweise bei acht
Anrufen während
der „Hauptverkehrsstunde" liegen. Dabei kann
die Anzahl der Anrufe in Abhängigkeit von
der Tageszeit schwanken. In einer alternativen Anwendung kann der
Lastverteilungs-Server 46 die verfügbare CPU-Leistung am Gatekeeper
oder an den einzelnen Rechnern 12–18 oder sowohl an
allen Rechnern als auch am Gatekeeper überwachen. Der Server ist so
programmiert, dass er in Abhängigkeit von
der Leistung, die an der CPU noch zur Verfügung steht, die anrufbezogenen
Aufgaben entweder dem Gatekeeper oder dem Ziel-Rechner zuweist.
Auch andere Ausführungsformen
sind hierfür
möglich,
da das grundsätzliche
Ziel darin besteht, die entstehenden Verzögerungen für die Durchführung der
anrufbezogenen Aufgaben auf ein Minimum zu reduzieren und/oder die
entstehenden Verzögerungen
für Aufgaben
zu minimieren, die parallel zur Implementierung der Leistungsmerkmale,
für die
redundante Ressourcen zur Verfügung
stehen, ausgeführt
werden müssen.
-
Mit
Bezug auf 3 kann die Erfindung statt in
einem ToL-Netzwerksystem auch in einem Telekommunikationssystem
eingesetzt werden, welches die Einzelplatz-Telefone 48, 50 und 52 enthält, die
von einer NStAnl 54 unterstützt werden. Die NStAnl ist
so konfiguriert, dass sie die Implementierung von anrufbezogenen
Leistungsmerkmalen ermöglicht
wie durch die Leistungsmerkmal-Ressource 56 dargestellt.
Darüber
hinaus sind die Telefone 48–52 dafür konfiguriert,
redundante Ressourcen zur Verfügung
zu stellen. Auch hier kann die Anrufweiterleitung wieder als ein
Beispiel dienen, wie ein anrufbezogenes Leistungsmerkmal entweder
an der zentral ansteuerbaren Einheit (in der hier dargestellten
Ausführungsform
also an der NStAnl 54) oder an dem Ziel-Telefonie-Endgerät (in der vorliegenden Ausführungsform
eines der Telefone 48–52)
implementiert werden kann. Andere Leistungsmerkmale können an lediglich
einer dieser Komponenten implementiert werden. Beispielsweise muss
die Benachrichtigungsfunktion zur Signalisierung wartender Nachrichten
an den Telefonen implementiert werden. Für Leistungsmerkmale dieser
Art kann die vorliegende Erfindung nicht eingesetzt werden.
-
Obwohl
dies nicht von entscheidender Bedeutung ist, kann die NStAnl 54 unter
Umständen auch
einen oder mehrere telefoniefähige(n)
Personal-Computer 58 unterstützen. Laut Darstellung ist der
Personal-Computer 58 verbunden mit einem Telefon 60,
jedoch ist dies ebenfalls nicht von entscheidender Bedeutung. Bei
der NStAnl handelt es sich um ein herkömmliches Gerät, das Anrufe
direkt zwischen den Telefonen 48, 50, 52 und 60 weiterleitet oder
eingehende und ausgehende Anrufe von den unterstützten Telefonen zu externen
Telefonie-Endgeräten
weiterleitet, beispielsweise den Telefonen 62 und 64,
die an das PSTN 66 angeschlossen sind.
-
Das
System umfasst einen Lastverteilungs-Server 68, der in
derselben Weise arbeitet wie der Server 46, der weiter
oben unter Bezugnahme auf 1 beschrieben
wurde. Das bedeutet, dass der Server 68 Aufgaben entweder
der Leistungsmerkmal-Ressource 56 der
NStAnl 54 oder der redundanten Leistungsmerkmal-Ressource
an dem Ziel-Telefon 48, 50, 52 oder 60 zuweist.
Das Schema für
die Zuweisung der Aufgaben, das am Lastverteilungs-Server 68 umgesetzt
wird, kann auf den aktuellen Betriebsbedingungen an der NStAnl oder
auf der aktuellen Aktivität
am Ziel-Telefon oder auf einer Kombination der aktuellen Aktivitäten basieren.
Das System versucht, Verzögerungen
möglichst
auf ein Minimum zu beschränken.
Wie vorstehend bereits erläutert,
kann die aktuell verfügbare
Verarbeitungsleistung der NStAnl als Faktor für eine Prognose der Verzögerungen
verwendet werden, die entstehen, wenn das anrufbezogene Leistungsmerkmal
(beispielsweise Anrufweiterleitung) an der NStAnl implementiert
wird.
-
Eine
dritte Ausführungsform
der Erfindung ist in 4 dargestellt. Bei dieser Ausführungsform
ist die „zentral
ansteuerbare Einheit" ein
Server 70 (beispielsweise ein Voicemail-Server), der speziell
für die Unterstützung von
einem oder mehreren anrufbezogenen Leistungsmerkmalen) für die Telefone 72, 74, 76 und 78 reserviert
ist. Bei diesen Telefonen kann es sich um herkömmliche Geräte handeln, die dafür programmiert
sind, redundante Ressourcen für
die Implementierung von mindestens einem der anrufbezogenen Leistungsmerkmale
(beispielsweise Lautstärkeregelung
während
der Wiedergabe von Voicemail-Nachrichten) zur Verfügung zu
stellen. Ein Lastverteilungs-Server 80 realisiert ein Schema
für die Zuweisung
von Aufgaben wie weiter vorn beschrieben. Dementsprechend basiert
die Auswahl einer bestimmten Verarbeitungsressource für die Implementierung
eines angeforderten anrufbezogenen Leistungsmerkmals darauf, dass die
Verarbeitungsleistung überwacht
wird, sodass Verzögerungen
kontrollierbar sind.
-
Geeignete
Schritte für
die Durchführung
des adaptiven verteilten Anrufverarbeitungsverfahrens werden unter
Bezugnahme auf 5 erläutert. In Schritt 82 wird
die zentral ansteuerbare Einheit so konfiguriert, dass hier das/die
anrufbezogene(n) Leistungsmerkmal(e) implementiert werden kann/können, für das/die
redundante Ressourcen vorhanden sind. Bei der zentral ansteuerbaren
Einheit kann es sich um einen Gatekeeper, eine NStAnl oder ein vergleichbares
Gerät handeln.
Alternativ hierzu kann die zentral ansteuerbare Einheit auch ein Server
sein, der speziell für
die Unterstützung
der anrufbezogenen Leistungsmerkmale reserviert ist, wie mit Bezug
auf 4 bereits beschrieben. In der bevorzugten Ausführungsform
jedoch wird die Erfindung in einer ToL-Netzwerkumgebung eingesetzt.
-
Die
Telefonie-Endgeräte
werden so konfiguriert, dass auf ihnen unabhängig voneinander das/die anrufbezogene(n)
Leistungsmerkmal(e) implementiert ist/sind, wie dies in Schritt 84 dargestellt
wird. Bei den Telefonie-Endgeräten
handelt es sich vorzugsweise um Personal-Computer, auf denen eine ToL-Client-Software
läuft,
jedoch werden auch andere Ausführungsformen
betrachtet. So können
beispielsweise die Telefonie-Endgeräte herkömmliche Telefone sein, die
in ausreichendem Umfang Schaltungen und Programmierung für die digitale
Signalverarbeitung enthalten, sodass die Leistungsmerkmale lokal
implementiert werden können.
Gewöhnlich
ist ein ToL-Client in der Programmiersprache JAVA oder in einer
beliebigen anderen Sprache programmiert, die weniger effizient ist
als die Programmiersprache, die in der zentral ansteuerbaren Einheit zur
Anwendung kommt. Daher können
die Leistungsmerkmale in der Regel in der zentral ansteuerbaren Einheit
effizienter ausgeführt
werden, wenn an dieser Einheit aktuell ausreichende Verarbeitungsressourcen
zur Verfügung
stehen, um mit voller oder annähernd
voller Kapazität
zu arbeiten. Problem hierbei ist, dass es Zeiten geben kann, in
denen es aufgrund der aktuellen Betriebsbedingungen an der zentral
ansteuerbaren Einheit effizienter ist, die anrufbezogenen Leistungsmerkmale
auf Geräte-Ebene
zu implementieren.
-
In
Schritt 86 wird das Schema für die Zuweisung der Aufgaben
definiert. Dieses Schema ist abhängig
von dem jeweiligen Netzwerk, in dem die redundante Leistungsmerkmal-Ressource enthalten
ist. Anschließend
ist das System bereit für
den Betrieb gemäß der vorliegenden
Erfindung.
-
Wenn
in Schritt 88 eine Anforderung eines anrufbezogenen Leistungsmerkmals
erkannt wird, wird auf das Schema für die Zuweisung von Aufgaben
zugegriffen. In Schritt 90 werden die Verzögerungen
vorausberechnet, die sich durch die Implementierung des angeforderten
Leistungsmerkmals ergeben. Dies kann rein dadurch geschehen, dass
die aktuelle Auslastung der Verarbeitungsressourcen der zentral
ansteuerbaren Einheit (beispielsweise des Gatekeepers) gemessen
wird. Die aktuell beanspruchte CPU-Leistung kann überwacht
werden. Es werden jedoch auch andere Mittel zur Ermittlung bzw. Vorausberechnung
von Verzögerungen
betrachtet. Der Prozess kann unter Umständen die Überwachung der verfügbaren Verarbeitungsleistung
an den Telefonie-Endgeräten
umfassen.
-
Auf
der Grundlage der Feststellungen in Schritt 90 werden in
Schritt 92 die Aufgaben für die Implementierung des angeforderten
Leistungsmerkmals zugewiesen. Idealerweise optimiert der in 5 dargestellte
Prozess das Verhältnis
zwischen der Verarbeitung auf zentraler Ebene und der Verarbeitung
auf der Geräte-Ebene
(das heißt,
im Randbereich). Das Verfahren vergleicht die Verarbeitungsverzögerungen
auf der zentralen Ebene mit den Verarbeitungsverzögerungen
auf der Geräte-Ebene. Während bestimmte
Leistungsmerkmale, beispielsweise die Signalisierung wartender Nachrichten,
ausschließlich
auf Geräte-Ebene
ausführbar
sind, können
andere Leistungsmerkmale wie beispielsweise Anrufweiterleitung wahlweise
zentral oder an den Endpunkten ausgeführt werden. Der Lastverteilungs-Server
versucht, den optimalen Ausführungsort
für solche
Leistungsmerkmale zu finden, für
die redundante Ressourcen zur Verfügung stehen. Anschließend kehrt
der Prozess wieder zu Schritt 88 zurück, um gegebenenfalls eine
nächste
Anforderung eines anrufbezogenen Leistungsmerkmals zu erkennen.
-
Zusammengefasst
stellen die verschiedenen Ausführungsformen
der vorliegenden Erfindung ein Verfahren und ein System zur Zuteilung
von Ressourcen für
die Implementierung bestimmter anrufbezogener Leistungsmerkmale,
beispielsweise Anrufweiterleitung, zur Verfügung, das Folgendes umfasst: Befähigen einer
zentral ansteuerbaren Einheit (beispielsweise eines Gatekeepers)
zur Unterstützung der
Leistungsmerkmale sowie Befähigen
der Telefonie-Endgeräte
(beispielsweise Personal-Computer mit ToL-Client-Software) zur Implementierung
der Leitungsmerkmale unabhängig
voneinander. Damit stehen für
diese Leistungsmerkmale redundante Ressourcen zur Verfügung. Ein
Schema für
die Zuweisung von Aufgaben wird erstellt, nach dem die Durchführung der
Aufgaben, die für
die Ausführung der
Leistungsmerkmale erforderlich sind, adaptiv zugewiesen wird. Dieses
Schema beruht mindestens zum Teil auf der Ermittlung der verfügbaren Verarbeitungsressourcen
an der zentral ansteuerbaren Einheit und/oder den Telefonie-Endgeräten. Wird
eine Anforderung eines Leistungsmerkmals erkannt, wird die Ausführung des
angeforderten Leistungsmerkmals entweder der zentral ansteuerbaren
Einheit oder dem betreffenden Telefonie-Endgerät zugewiesen, welches der Anforderung
zugeordnet ist, je nachdem, welche Verarbeitungsressourcen aktuell zur
Verfügung
stehen. Das Verfahren kommt vorzugsweise in einem ToL-Netzwerk zum
Einsatz, das gegebenenfalls einen Lastverteilungs-Server enthalten
kann, welcher speziell für
die adaptive Zuweisung der anrufbezogenen Aufgaben reserviert ist.