-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft allgemein Callcenter, die alternativ
auch als Telecenter und automatische Anrufverteilungssysteme bekannt
sind, und betrifft speziell die Einreihung von Anrufen in Warteschlangen
in den Callcenters.
-
Hintergrund
der Erfindung
-
Callcenter
sind Systeme, die einem Pool von auch als Agenten bezeichneten Sachbearbeitern
ermöglichen,
eingehende und/oder abgehende Anrufe zu bedienen, wobei die Anrufe
verteilt werden und mit demjenigen der Agenten, der zufällig zu
dem Zeitpunkt gerade verfügbar
ist, verbunden werden. Wenn keine Agenten frei sind und zur Abwicklung
weiterer Anrufe zur Verfügung
stehen, werden weitere eingehende Anrufe typischerweise in einer
Haltewarteschlange platziert – sie
werden eingereiht – um
zu warten, bis Agenten verfügbar
werden. Es ist übliche
Praxis, den Pool von Agenten in eine Mehrzahl von Gruppierungen
zu unterteilen, die üblicherweise
als Splits oder Gruppen bezeichnet werden, um unterschiedliche Typen
von Anrufen unterschiedlichen Gruppen zuzuweisen. Beispielsweise
können
unterschiedliche Gruppen dafür
vorgesehen werden, um Anrufe abzuwickeln, die sich auf unterschiedliche
Kundenfirmen beziehen, oder Anrufe, die sich auf unterschiedliche
Produkte oder Dienste der gleichen Kundenfirma beziehen. Alternativ
ist es möglich,
dass die Agenten in unterschiedlichen Gruppen unterschiedliche Fähigkeiten
aufweisen – beispielsweise
unterschiedliche Sprachkenntnisse – und Anrufe, die unterschiedliche Fähigkeiten
erfordern, werden dann an unterschiedliche Gruppen geleitet. Jede
Gruppe weist typischerweise ihre eigene Warteschlange für eingehende
Anrufe auf.
-
Ferner
finden es manche der großen
Firmen effektiv, eine Mehrzahl von Callcenters zu haben, beispielsweise
jeweils zur Abwicklung von Anrufen in einem anderen geographischen
Bereich. Jedes Callcenter oder jede Gruppe in jedem Callcenter hat
typischerweise ihre eigene Warteschlange für eingehende Anrufe. Ein Beispiel
für ein
solches System ist in der EP-A-0 660573 A2 offenbart. Das System
parkt einen ankommenden Anruf in dem Telefonnetz. Eine zentrale
Einrichtung (TCCP oder TOPMS) nutzt Informationen über jedes einer
Mehrzahl von ACDs sowie andere Informationen, um einen Agenten zur
Abwicklung des Anrufs auszuwählen.
Die zentrale Einrichtung bewirkt dann, dass der geparkte Anruf zu
dem ausgewählten
Agenten geleitet wird.
-
Andere
Rufabwicklungssysteme mit mehreren Standorten sind mit einem zentralisierten
Ansatz ausgelegt, bei welchem alle Anrufe zentral eingereiht und
gelenkt werden, zum Beispiel in dem Telefonnetz. Ein veranschaulichendes
Beispiel dafür
ist in der EP-A-0 660573 offenbart. Darin wird eine Mehrzahl von
ACD-basierten Telekommunikationscenters (TCs) entweder von einem
zentralen Verkehrssteuerzentrum-Prozessor (TCCP – Traffic Control Center Processor)
oder einem zentralen Anrufverwaltungssystem (CMS/TOPMS) bedient,
welcher/welches den Zustand der Mehrzahl von TCs verfolgt. Wenn
ein Anruf für
das Anrufabwicklungssystem in dem Telefonnetz ankommt, wird er in
dem Telefonnetz geparkt, und eine Meldung bezüglich des Anrufs wird an den
TCCP oder das CMS/TOPMS gesendet. Der TCCP oder das CMS/TOPMS nutzt
die Zustandsinformation, um einen Agenten in einem der TCs zur Abwicklung
des Anrufs auszuwählen
und bewirkt dann, dass das entsprechende ACD einen ausgehenden Anruf
von dem ausgewählten
Agenten zu der Netzstelle, an welcher der eingehende Anruf geparkt
ist, aufbaut. Der eingehende und der ausgehende Anruf werden dann
zu einer Rufverbindung zusammengeführt, die sich zwischen dem
Anrufer und dem ausgewählten
Agenten erstreckt.
-
Bei
einer Umgebung mit mehreren Warteschlangen kann es passieren, dass
ein Callcenter oder eine Gruppe stark mit Anrufen überlastet
ist und eine volle Warteschlange mit Anrufen aufweist, die auf einen
verfügbaren
Agenten warten, während
ein anderes Callcenter oder eine Gruppe möglicherweise nur leicht überlastet
ist und ein noch weiteres Callcenter oder eine Gruppe möglicherweise überhaupt
nicht überlastet
ist und möglicherweise
tatsächlich
freie Agenten aufweist. Um solche Ineffizienzen zu mindern, haben
einige Callcenter eine Fähigkeit
implementiert, durch welche, wenn die für die Abwicklung eines bestimmten
Anrufs primäre (bevorzugte)
Gruppe oder das primäre
Callcenter stark überlastet
ist und deren/dessen Warteschlange mit wartenden Anrufen überläuft, das
Callcenter die Anrufbelastung von anderen (Reserve-) Gruppen oder
Callcenters bewertet, um festzustellen, ob eine der anderen Gruppen
oder Callcenter weniger belegt ist und folglich – obgleich sie für einen
Anruf nicht genauso geeignet ist wie die primäre Gruppe oder das primäre Callcenter – dennoch
in der Lage sein kann, den überhängenden
Anruf abzuwickeln und dies schneller zu tun. Der überhängende Anruf
wird dann in die erste solche Reservegruppe oder das erste Reserve-Callcenter,
die gefunden werden, eingereiht, anstatt dass er bei der primären Gruppe
oder dem primären
Callcenter eingereiht wird. Solche Anordnungen sind unter verschiedenen
Bezeichnungen bekannt, unter anderem "Lookahead Interflow". Ein Beispiel für ein solches System ist in
der EP-A-0 526103 A2 offenbart, bei welcher jedes einzelne einer
Mehrzahl von ACDs (sendenden ACDs) seine überhängenden Anrufe zu einem anderen
der ACDs (Ziel-ACD) umleiten kann. Die Anrufe werden auf Grundlage
von Informationen umgeleitet, welche den Verkehr betreffen, der
von dem Ziel-ACD zu dem sendenden ACD umgeleitet worden ist. Zwischen
ACD-Standorten werden nur die umgeleiteten Anrufe und keine speziellen
Nachrichten übertragen.
Bei der Auswahl eines alternativen Antwort-Standorts fragt der sendende
ACD-Standort seinen
eigenen eingehenden Verkehr ab, und zwar fragt er nach Verkehr,
der von anderen antwortenden Standorten umgeleitet worden ist. Wenn
die Menge an Verkehr, die von einem alternativen Antwortstandortkandidaten
zu dem sendenden ACD umgeleitet worden ist, unterhalb einer Schwellenzahl
liegt, werden Anrufe zu dem alternativen Antwortstandort umgeleitet.
Wenn der alternative Antwortstandort einen solchen Anruf nicht annehmen
kann, leitet er den Anruf zurück zu
dem Ursprungs-ACD.
-
Ein
Problem bei einigen dieser Anordnungen besteht darin, dass sie sequenziell
ausgelegt sind und typischerweise dazu führen, dass der überlaufende
Anruf bei der ersten akzeptablen Gruppe oder dem ersten akzeptablen
Callcenter eingereiht wird, welche/welches möglicherweise nicht die/der
beste – optimale – der Gruppen
oder Callcenters ist. Somit bleiben Ineffizienzen bestehen. Andere
Anordnungen sind nicht sequenziell ausgelegt, um aber die Menge
an zusätzlicher
Verarbeitung oder an zusätzlichen
Kommunikationsvorgängen
zwischen Callcenters, die solche Anordnungen nach sich ziehen, zu
begrenzen, aktualisieren sie typischerweise ihre Informationen bezüglich der
Anruflasten einzelner Gruppen oder Callcenters nur periodisch und
nutzen dann diese Informationen während der gesamten Zeitspanne
zwischen den Aktualisierungen. Ein Bespiel für ein solches System ist in
der US-A-4,737,983 offenbart, welches 800 Telefondienst-Anruflasten basierend
auf dem Zustand des Verkehrsstaus an jedem von mehreren ACDs eines
Kunden ausgleicht. Jedes ACD sendet periodisch Anrufstau-Daten an
eine zentrale Datenbank.
-
Die
Daten werden periodisch analysiert, und resultierende Anruflenkungsinformationen
werden in der Datenbank gespeichert. Wenn ein Anruf für den Kunden
an einer Vermittlungsstelle ankommt, fragt die Vermittlungsstelle
die Anruflenkungsinformationen ab, um ein spezielles ACD auszuwählen und
um den Anruf zu dem ausgewählten
ACD zu leiten. Dies kann zu einer Systeminstabilität führen, bei
welcher eine Gruppe oder ein Callcenter, die bei der letzten Aktualisierung
entweder unterbelastet waren oder nur leicht überlastet waren, derart viele
Anrufe während
der Zeitspanne zwischen den Aktualisierungen empfangen, dass sie
ihrerseits stark überlastet
werden und unfähig
werden, weitere Anrufe aufzunehmen – selbst solche, für welche
sie die bevorzugte Gruppe oder das bevorzugte Callcenter darstellen.
Solche Anordnungen können
somit eigentlich zu einer noch größeren Ineffizienz von Callcenters
führen,
wenn sie nicht sorgfältig
ausgelegt werden!
-
In
der Bemühung,
diese Probleme zu vermeiden, wurde bei einigen Callcentern ein Ansatz
mit mehreren Warteschlangen verwirklicht, wobei jeder Anruf in jede
Gruppe oder jedes Callcenter eingereiht wird, die den Anruf abwickeln
könnten,
und aus allen Warteschlangen entfernt wird, sobald ein Agent in
einer dieser Gruppen oder Callcentern diesen Anruf annimmt. Dieser
Ansatz führt
jedoch zu eigenen Problemen, beispielsweise einer sehr starken Nutzung
von Verbindungsleitungen zwischen Centers, potentiellen Anrufauslieferungsverzögerungen
(an die Agenten), Phantom-Anrufen
(wenn mehr als ein Agent die Auslieferung des gleichen Anrufs anfordert),
usw. Ferner werden bei diesem Ansatz mit jedem Anruf Anrufpositionen
in mehreren Warteschlangen belegt, und dies kann sehr schnell zu
einem Überlauf
dieser Warteschlangen führen,
wodurch sich erneut Ineffizienzen ergeben. Und selbst wenn bei dem
Ansatz zwei Warteschlangen für
jede Gruppe oder jedes Callcenter genutzt werden, eine Warteschlange
für Anrufe,
für welche
die Gruppe oder das Callcenter die/das primäre darstellen, und die andere
Warteschlange für
Anrufe, für
welche die Gruppe oder das Callcenter als Reserve dienen, sind derart
viele zusätzliche
Verarbeitungsvorgänge
und Signalisierungsvorgänge
zwischen Warteschlangen oder zwischen Callcenters notwendig, dass
dadurch wahrscheinlich die Funktionsfähigkeit des Callcenters negativ
beeinflusst wird.
-
Was
daher im Fachgebiet gebraucht wird, aber fehlt, ist eine Anordnung
zum Feststellen, welche einer Vielzahl von Anrufabwicklungsressourcen
(z. B. Gruppen oder Callcenters) – egal ob lokal oder abgesetzt
oder primär
oder Reserve – momentan
entweder die insgesamt beste Ressource oder die beste Reserveressource zur
Abwicklung eines Anruf darstellt, und zwar eine, welche dies so
effizient tut, dass das Systemverhalten nicht negativ beeinflusst
wird und keine eigenen Ineffizienzen eingetragen werden. Faktoren
(vorliegend auch als Parameter oder Kriterien bezeichnet), die definieren,
welche Ressource die beste für
einen Anruf ist, sind variabel und können von dem Kunden ausgewählt werden.
Faktoren, welche genutzt werden können, um zu definieren, welche
Agentengruppe oder welches Callcenter die/das beste zur Abwicklung
eines eingehenden Anrufs ist, sind beispielsweise die voraussichtliche
Wartezeit in der Warteschlange, der Belegungsgrad des Callcenters
oder der Gruppe, die Verfügbarkeit
von Agenten, die Kenntnisniveaus von Agenten und die Kosten der
Verbindungsleitung.
-
Zusammenfassung
der Erfindung
-
Erfindungsgemäß werden
eine Anrufverteilungsanordnung entsprechend Anspruch 1 und ein Verfahren
entsprechend Anspruch 11 zur Verfügung gestellt.
-
Die
vorliegende Erfindung ist darauf ausgerichtet, diese und andere
Probleme zu lösen
und diesen und anderen Bedürfnissen
des Standes der Technik gerecht zu werden. Generell wird entsprechend
der Erfindung, wenn ein Anruf ankommt, die beste einer Vielzahl
von Anrufabwicklungseinrichtungen (z. B. Agentengruppen) für den Anruf
anhand der momentanen (z. B. Echtzeit-) Werte zumindest eines Parameters
einer Mehrzahl von Anrufabwicklungseinrichtungen festgestellt (z.
B. Wartezeit in der Warteschlange, Agentenverfügbarkeit), der vorbestimmt
worden ist, um eine beste Anrufabwicklungseinrichtung zu definieren,
und der Anruf wird dann zu dieser besten Anrufabwicklungseinrichtung
geleitet. Der Anruf wird nicht zu irgendeiner gerade verfügbaren Einrichtung
oder zu der zuerst verfügbaren
Einrichtung oder gar zu allen nutzbaren Einrichtungen gesendet. Vielmehr
wird Intelligenz eingesetzt, um eine beste Einrichtung für den Anruf
auszuwählen,
und zwar unter Verwendung irgendwelcher gewünschter Kriterien – und vorzugsweise
der momentanen, Echtzeit-Werte dieser Kriterien – dafür, welches die "beste" ist, und der Anruf
wird an diese beste der Einrichtungen zur Abwicklung des Anrufs
gesendet.
-
Speziell
sprechen entsprechend von Ausführungsformen
der Erfindung ein Verfahren und eine Anordnung zur Verteilung von
Anrufen in einem Anrufabwicklungssystem, das für jeden einzelnen einer Mehrzahl von
Anrufen eine Mehrzahl von Anrufabwicklungseinrichtungen aufweist,
auf den Eingang eines Anrufs zur Abwicklung durch das Anrufabwicklungssystem
an, indem momentane Werte eines Parameters der Mehrzahl von Anrufabwicklungseinrichtungen
für den
Anruf bestimmt werden. Der Parameter ist ein solcher, der zuvor bestimmt
worden ist, um zu definieren, was eine beste Anrufabwicklungseinrichtung
darstellt. Das Verfahren oder die Anordnung stellen dann anhand
der momentanen Werte des Parameters die beste der Mehrzahl von Anrufabwicklungseinrichtungen
für den
Anruf fest und leiten den Anruf zu der als beste bestimmten Anrufabwicklungseinrichtung.
Beispielsweise zeigen die momentanen Werte des Parameters an, wie
schnell einzelne Anrufabwicklungseinrichtungen den Anruf abwickeln
werden, und der Anruf wird an diejenige Anrufabwicklungseinrichtung
geleitet, die ihn am schnellsten abwickelt. Als weiteres Beispiel
beinhaltet die schnelle Abwicklung des Anrufs die Abwicklung des
Anrufs in einer akzeptablen (z. B. vorbestimmten) Zeitspanne, und
die beste Anrufabwicklungseinrichtung ist diejenige, welche den
Anruf in der kürzesten
Zeitspanne abwickelt – entweder
der real geschätzten
Zeit oder der mit einem bestimmten Wichtungsfaktor gewichteten,
real geschätzten Zeit.
-
Ausführungsformen
der Erfindung sind besonders nützlich
bei Callcenter-Anwendungen. Beispielsweise stellt jede Anrufabwicklungseinrichtung
entweder ein anderes Callcenter oder eine andere Gruppe von Callcenteragenten
eines oder mehrerer Callcenter dar. Jede Anrufabwicklungseinrichtung
weist ihre eigene entsprechende Anrufwarteschlange zum Halten der
Anrufe, die von dieser Einrichtung abgewickelt werden sollen, auf.
Wenn ein Anruf ankommt, wird die beste Einrichtung zur Abwicklung
des Anrufs bestimmt, und der Anruf wird in der Anrufwarteschlange
der besten Einrichtung eingereiht.
-
Vorzugweise
wird, wenn ein Anruf an einer lokalen Anrufabwicklungseinrichtung
(z. B. einem lokalen Callcenter) ankommt, festgestellt, ob Einrichtungen
verfügbar
sind, um den Anruf mit einer abgesetzten Anrufabwicklungseinrichtung
zu verbinden (z. B. einem entfernt gelegenen Callcenter), und, falls
nicht, wird diese abgesetzte Einrichtung als die schlechteste Anrufabwicklungseinrichtung
für den
Anruf bestimmt. Somit wird eine Anrufabwicklungseinrichtung nicht
als die beste Anrufabwicklungseinrichtung ausgewählt, selbst wenn sie alle anderen
Kriterien dafür
erfüllen
sollte, als die beste Anrufabwicklungseinrichtung ausgewählt zu werden, wenn
der Anruf nicht mit dieser verbunden werden kann. Außerdem wird
bevorzugt, wenn der Anruf an einer Anrufabwicklungseinrichtung ankommt,
festgestellt, welche der anderen Einrichtungen momentan wahrscheinlich
nicht die besten Einrichtungen für
den Anruf sind (zum Beispiel weil deren Wartezeiten in den Warteschlangen
bereits zu lang sind), und die beste Einrichtung wird aus den anderen
Einrichtungen als diesen Einrichtungen ermittelt. Somit wird der
Aufwand zum Ermitteln, ob eine Einrichtung die beste Einrichtung
ist, nicht für
Einrichtungen verschwendet, die keine vernünftige Chance haben, die beste
Einrichtung zu sein.
-
Diese
und andere Vorteile und Merkmale der Erfindung werden anhand der
folgenden Beschreibung einer beispielhaften Ausführungsform der Erfindung, die
zusammen mit den Zeichnungen gegeben wird, deutlicher werden.
-
Kurze Beschreibung
der Zeichnungen
-
1 stellt
ein Blockdiagramm eines Callcenter-Systems gemäß dem Stand der Technik dar;
-
2 stellt
ein Blockdiagramm einer repräsentativen
ACD-Vermittlungseinrichtung
des Netzwerks aus 1 dar, die derart modifiziert
ist, dass sie eine beispielhafte Implementierung der Erfindung umfasst;
-
3 stellt
ein Blockdiagramm einer Warteschlangeneinreihungs-Steuerfunktion
der ACD-Vermittlungseinrichtung
aus 2 dar;
-
4 ist
ein Ablaufdiagramm der Vorgänge,
die von der ACD-Vermittlungseinrichtung
aus 2 unter Ansprechen auf einen Warteschlangeneinreihungs-Steuerbefehl "BERÜCKSICHTIGE_GRUPPE" ausgeführt werden;
-
5 ist
ein Ablaufdiagramm der Vorgänge,
die von der ACD-Vermittlungseinrichtung
aus 2 unter Ansprechen auf einen Warteschlangeneinreihungs-Steuerbefehl "BERÜCKSICHTIGE_ABGESETZTEN_STANDORT" ausgeführt werden;
-
6 ist
ein Ablaufdiagramm der Vorgänge,
die von der ACD-Vermittlungseinrichtung
aus 2 unter Ansprechen auf einen Warteschlangeneinreihungs-Steuerbefehl "ADDIERE" ausgeführt werden;
-
7 ist
ein Ablaufdiagramm der Vorgänge,
die von der ACD-Vermittlungseinrichtung
aus 2 unter Ansprechen auf einen Warteschlangeneinreihungs-Steuerbefehl "ANTWORTE_MIT_BESTER" ausgeführt werden;
-
8 ist
ein Ablaufdiagramm der Vorgänge,
die von der ACD-Vermittlungseinrichtung
aus 2 unter Ansprechen auf einen Warteschlangeneinreihungs-Steuerbefehl "EINREIHEN_IN" ausgeführt werden;
-
9 ist
ein Ablaufdiagramm der Vorgänge,
die von der ACD-Vermittlungseinrichtung
aus 2 unter Ansprechen auf einen Warteschlangeneinreihungs-Steuerbefehl "EINREIHEN_IN_BESTE" ausgeführt werden;
-
10 ist
ein Ablaufdiagramm der Vorgänge,
die von der ACD-Vermittlungseinrichtung
aus 2 unter Ansprechen auf einen Warteschlangeneinreihungs-Steuerbefehl "PRÜFE_RESERVE_GRUPPE_BESTE_FALLS" ausgeführt werden;
-
11 ein
Ablaufdiagramm von Vorgängen
ist, die von der ACD-Vermittlungseinrichtung aus 2 unter
Ansprechen auf das Auftreten eines Befehls "FRAGE_UNTERBRECHUNGSZEITGEBER_AB" ausgeführt werden,
und zwar als Teil der Ausführung
eines Befehls "BERÜCKSICHTIGE_ABGESETZTEN_STANDORT" aus 5 oder
eines Befehls "ADDIERE" aus 6.
-
Detaillierte Beschreibung
-
1 zeigt
ein herkömmliches
Callcenter-System. Ein Callcenter-System umfasst zumindest ein Callcenter.
Bei diesem veranschaulichenden Beispiel umfasst das Callcenter-System eine Mehrzahl
von – in
diesem Beispiel drei – vernetzten
Callcenters 143–145,
die als "West", "Nord" bzw. "Süd" bezeichnet sind. Die Callcenter 143–145 sind
untereinander sowie mit den Telefonen 101–102 von
Anrufern, welche potentielle Nutzer der Callcenters 143–145 sind, über ein
Telefonnetz 100 verbunden. Jedes Callcenter 143–145 umfasst
jeweils eine automatische Anrufverteil-(ACD – Automatic Call Distribution)Vermittlungseinrichtung 103–105 sowie
eine Mehrzahl von Agentenstellen-Endgeräten 120, beispielsweise
Telefonen. Die ACD-Vermittlungseinrichtungen 103–105 verbinden
die Endgräte 120 mit
dem Telefonnetz 100. Für
die ACD-Vermittlungseinrichtung 104 und 105 der
Callcenters 144 und 145 ist außerdem gezeigt, dass sie über eine
dezidierte Amtsleitung, eine Sprachleitung oder Datenleitung 119,
direkt miteinander verbunden sind. In jedem Callcenter 143–145 sind
die Agenten und ihre Endgeräte 120 in
eine oder mehrere Gruppen 106–107, 108–109 bzw. 110–111 unterteilt,
und die jeweilige ACD-Vermittlungseinrichtung 103–105 definiert
eine Warteschlange für
wartende Anrufe 126–127, 128–129 und 130–131 für jede der
Gruppen 106–107, 108–109 bzw. 110–111.
Außerdem
kann jede einzelne oder können
mehrere der Warteschlangen 126–131 eine Mehrzahl
von Prioritätswarteschlangen umfassen,
jeweils zum Halten von wartenden Anrufen mit einer unterschiedlichen
Priorität
(nicht gezeigt).
-
2 zeigt
die ACD-Vermittlungseinrichtung 105 detaillierter. Die
ACD-Vermittlungseinrichtung 105 ist repräsentativ
für alle
ACD-Vermittlungseinrichtungen 103–105. Die ACD-Vermittlungseinrichtung 105 umfasst herkömm licherweise
Amtsleitungsports 200 zum Verbinden der ACD-Vermittlungseinrichtung 105 mit
dem Telefonnetz 100; Leitungsports 201 zum Verbinden
der ACD-Vermittlungseinrichtung 105 mit Agentenendgeräten 120;
Dienstschaltungen 203, die verschiedene Dienste bereitstellen,
beispielsweise Tongeneratoren, Ansagegeneratoren, Halteschaltungen,
Konferenzschaltungen, Modems, usw.; ein Koppelnetz 202,
welches wahlweise die Ports 200, die Ports 201 und
die Dienstschaltungen 203 miteinander verbindet; einen
Prozessor 204, der das Koppelnetz 202 und andere
Elemente der ACD-Vermittlungseinrichtung 105 steuert;
und einen Speicher 205, der Steuerprogramme und Daten enthält, welche
der Prozessor 204 ausführt
und nutzt, um den Betrieb der ACD-Vermittlungseinrichtung 105 zu
steuern. Der Speicher 205 enthält die Warteschlangen 130–131 für die jeweiligen
Gruppen 110–111 sowie
eine Funktion für
die geschätzte
Wartezeit (EWT – Estimated
Waiting Time) 206, welche die Zeitdauer berechnet, die
ein Anruf wahrscheinlich in einer der Warteschlangen 130–131 verbringen
wird, bevor er aus dieser Warteschlange herausgenommen wird, z.
B. bevor er mit dem Endgerät 120 eines
Agenten verbunden wird. Die Vermittlungseinrichtung 105 ist
beispielsweise die ACD-Nebenstellenanlage
(PBX) Definity® der
Avaya Inc. Die EWT-Funktion 206 kann
jede geeignete EWT-Funktion sein – beispielsweise eine solche,
wie sie in US-Patent 4,788,715 beschrieben ist – ist vorzugsweise aber die
EWT-Funktion, die in US-Patent 5,506,898 beschrieben ist.
-
Erfindungsgemäß enthält der Speicher 205 ferner
eine Warteschlangeneinreihungs-Steuerfunktion 207, die
detaillierter in 3 gezeigt ist.
-
Das
Callcenter 145 bedient eine Mehrzahl von Anrufabwicklungsanwendungen 350–351,
beispielsweise Anrufabwicklung für
Verkäufe,
Anrufabwicklung für
Service, Anrufabwicklung für
Preisanfragen, usw. Für jede
dieser Anwendungen hat das Callcenter 145 herkömmlicherweise
eine andere Telefonnummer, die vorliegend als Ankunfts-Vektor-Verzeichnisnummer
(VDN – Vector
Directoring Number) 352 bezeichnet wird. Ein Kundenanruf,
der neu an dem Callcenter 145 eingeht, wird an die Ankunfts-VDN 352 einer
der Anwendungen 350–351 geleitet,
welcher der Anruf entspricht. Erfindungsgemäß sind zwei weitere VDNs zu
jeder Anwendung 350–351 hinzugefügt; eine
Abfrage-VDN 353 und eine Umleitungs-VDN 354. Jeder VDN des VDN-Trios 352–354 jeder
Anwendung 350–351 ist
ein jeweiliges Skript – ein
Programm – 355–357 zugeordnet.
Jedes Skript 355–357 implementiert
eine Funktion FINDE-EINE-"BESTE"-GRUPPE. Bevorzugt
wird ein Skript 355–357 einer
Anwendung immer dann ausgeführt,
wenn das Callcenter 145 einen Anruf für die diesem Skript entsprechende
VDN 352–354 empfängt. Die
Warteschlangeneinreihungs-Steuerfunktion 207 jedes Callcenters 143–145 ist
in der gleichen Weise strukturiert.
-
Damit
jedes Callcenter 145 weiß, welches die Anwendungen
und die ihnen entsprechenden Abfrage- und Umleitungs-VDNs für jedes
andere Callcenter 143–144,
mit dem es vernetzt ist, sind, enthält die Warteschlangeneinreihungs-Steuerfunktion 207 ferner
eine Datenbank 366 mit Informationen zu den vernetzten Callcenters 143–144.
Die Datenbank 366 weist eine Vielzahl von Einträgen 361 auf,
und zwar einen für
jede Anwendung 350–351 jedes
Callcenters 143–144.
Jeder Eintrag 361 weist ein Feld 362 auf, welches
das entsprechende Callcenter und die Anwendung identifiziert, sowie
zwei Felder 364–365,
welche die Abfrage-VDN 353 bzw. die Umleitungs-VDN 354,
die dieser Anwendung entsprechen, identifiziert. Außerdem sind
jedem Skript 355, das einer Ankunfts-VDN 352 entspricht,
null oder mehr Zeitgeber 1050 zugeordnet, und zwar einer für jedes
abgesetzte Callcenter 143–144. Deren Nutzung
wird später
erläutert.
Die Warteschlangeneinreihungs- Steuerfunktion 207 jedes
Callcenters 143–145 ist
in der gleichen Weise strukturiert.
-
Wie
zuvor erwähnt,
implementiert jedes Skript 355–357 eine Funktion
FINDE-EINE-"BESTE"-GRUPPE. Jedes gewünschte Kriterium
oder beliebige Kriterien können
genutzt werden, um zu ermitteln, welche Gruppe für einen Anruf die "beste" ist. Beim vorliegenden
veranschaulichenden Beispiel ist das prinzipielle Kriterium, das
genutzt wird, um die "beste" Gruppe zu beschaffen,
die Warteschlangen-Wartezeit: als "beste" Gruppe wird diejenige herangezogen,
deren Warteschlange die kürzesten
Wartezeit bietet. Die Wartezeit kann entweder die echte geschätzte Wartezeit
(EWT) oder die im Hinblick auf andere Faktoren gewichtete EWT sein – beispielsweise
die Kosten von Einrichtungen, die an der Verbindung eines Anrufs
zu der der Gruppe entsprechenden Warteschlange verbunden sind, oder
ein Wunsch, den Anruf für
die bevorzugte Gruppe zurückzuhalten,
falls nicht die Wartezeit für
die Warteschlange irgendwo um einen vorgegebenen Minimalwert verbessert werden
kann. Eine Funktion FINDE-EINE-"BESTE"-GRUPPE ermöglicht es
einer ACD-Vermittlungseinrichtung,
für jeden
ankommenden Anruf die EWTs in den Warteschlangen von ausgewählten Gruppen
in diesem und/oder anderen Callcenters zu erhalten, diese EWTs zu
wichten, um die gewichteten EWTs (WEWTs) zu erhalten, die WEWTs
miteinander zu vergleichen, um die "beste" Gruppe zu ermitteln, und den Anruf
in die Warteschlange der "besten" Gruppe einzureihen,
falls gewünscht.
Jede Funktion FINDE-EINE-"BESTE"-GRUPPE ist administrativ
programmierbar, beispielsweise mittels einer Skripterstellungssprache,
welche die in Tabelle A aufgelisteten Befehle umfasst.
-
-
-
Ein
beispielhaftes Skript 355–357 für einen
Anruf, dessen bevorzugte Gruppe die Gruppe 110 (Gruppe K)
ist, kann folgendermaßen
lauten:
- BERÜCKSICHTIGE_GRUPPE
K PRIORITÄT
P
- BERÜCKSICHTIGE_GRUPPE
N PRIORITÄT
P ADDIERE 5
- BERÜCKSICHTIGE_ABGESETZTEN_STANDORT
NORD ADDIERE 15
- BERÜCKSICHTIGE_ABGESETZTEN_STANDORT
WEST ADDIERE 15
- EINREIHEN_IN_BESTE
-
Dieses
Skript ist ein Beispiel für
ein Skript 355, das einer Ankunfts-VDN 352 entspricht.
Es wird vorzugsweise immer dann ausgeführt, wenn ein Anruf an dem
Callcenter 145 für
eine Ankunfts-VDN 352 der Anwendung 350 eingeht.
Zusammenfassend läuft
die Ausführung
folgendermaßen
ab: unter Ansprechen auf den ersten Befehl holt der Prozessor 204 die
EWT für
die Warteschlange 130 mit einem Prioritätsgrad p der Gruppe 110 ein – die bevorzugte
Gruppe für
Anrufe, die an der Ankunfts-VDN 352 der Anwendung 350 ankommen – und zwar
von der EWT-Funktion 206, und überprüft effektiv, ob diese null
ist, d. h. kein Warten bedeutet. Wenn diese null ist, ignoriert
der Prozessor 204 effektiv den Rest der Befehle "BERÜCKSICHTIGE" und reiht den Anruf
danach bei der Priorität
p in die Gruppe 110 ein, und zwar unter Ansprechen auf
den letzten Befehl "EINREIHEN_IN_BESTE". Wenn diese nicht
null ist, speichert der Prozessor 204 die EWT und die Einrichtungsinformationen
der Gruppe 110 als die "beste" WEWT. Die Einrichtungsinformationen
für eine
lokale Gruppe wie etwa die Gruppe 110 sind die ID der Gruppe
sowie der Prioritätsgrad
der Warteschlange dieser Gruppe, für welche die EWT ermittelt
worden ist. Der Prozessor 204 spricht dann auf den zweiten
Befehl an. Unter Ansprechen auf den zweiten Befehl holt der Prozessor 204 die
EWT für
die Warteschlange 131 mit dem Prioritätsgrad p der Gruppe 111 ein – der ersten
Reservegruppe – und
zwar von der EWT-Funktion 206, und überprüft, ob diese null ist. Wenn
diese null ist, ignoriert der Prozessor 204 effektiv den
Rest der Befehle "BERÜCKSICHTIGE" und reiht dann den
Anruf in die Gruppe 111 bei der Priorität p ein, und zwar unter Ansprechen
auf den Befehl "EINREIHEN_IN_BESTE". Wenn sie nicht
null ist, spricht der Prozessor 204 auf den begleitenden Befehl "ADDIERE" an und addiert 5
Sekunden zu der EWT der Warteschlange 131, um deren WEWT
zu erhalten, und vergleicht diese dann mit der zuvor gespeicherten "besten" WEWT (der EWT der
Gruppe 110; wobei die WEWT der Gruppe 110 die
gleiche wie die EWT der Gruppe 110 ist, weil der erste
Befehl "BERÜCKSICHTIGE_GRUPPE
K MIT PRIORITÄT
P" nicht von einem
Befehl "ADDIERE" begleitet war).
Der Vergleich zeigt an, welche der beiden WEWTs kürzer ist,
und der Prozessor 204 speichert die kürzere WEWT und die entsprechende
EWT sowie die Einrichtungsinformationen als die "beste" WEWT und verwirft die längere WEWT.
Der Prozessor 204 spricht dann auf den nächsten Befehl
an. Der Prozessor 204 schlägt in der Datenbank 366 den
Eintrag 361 für
die gleiche Anwendung 350, aber in dem Callcenter 144 nach,
für welche der
Anruf an dem Callcenter 145 angekommen ist, und ruft aus
dieser die Abfrage-VDN 353 dieser Anwendung 350 in
dem Callcenter 144 ab. Der Prozessor 204 erzeugt
dann einen Abfrageanruf zu dem Callcenter 144 für diese
Abfrage-VDN 353. Die ACD-Vermittlungseinrichtung 104 des
Callcenters 144 spricht auf diesen Abfrageanruf von dem
Callcenter 145 an, indem sie das Skript 356 ausführt, welches
der Abfrage-VDN 353 für
diesen Anruf in dem Callcenter 144 entspricht. Das Skript 356 für eine Abfrage-VDN 353 ist
typischerweise aus Befehlen "BERÜCKSICHTIGE_GRUPPE" und "ADDIERE" aufgebaut, außer dass
es mit einem Befehl "ANTWORTE_MIT_BESTER" endet. Dieser Befehl
wird immer ausgeführt – er wird
niemals ignoriert. Durch Ausführung
des Skripts 356 wird die "beste" Gruppe aus den Gruppen 108–109 des
Callcenters 144 bestimmt. Durch Ausführung des Befehls "ANTWORTE_MIT_BESTER" weist die ACD-Vermittlungseinrichtung 104 den Abfrageanruf
von dem Callcenter 145 zurück und sendet an das Callcenter 145 die
WEWT und die EWT der "besten" Gruppe in dem Callcenter 144 zurück. Der
Prozessor 204 der ACD-Vermittlungseinrichtung 105 des Callcenters 145 prüft effektiv
die von dem Callcenter 144 zurückgesendete EWT, um festzustellen,
ob sie null ist. Wenn sie null ist, ignoriert der Prozessor 204 effektiv
den Rest der Befehle "BERÜCKSICHTIGE" des Skripts, und
danach schlägt
er unter Ansprechen auf den Befehl "EINREIHEN_IN_BESTE" die Umleitungs-VDN 354 in
dem gleichen Datenbankeintrag 361 nach, aus welchem er
zuvor die Abfrage-VDN 353 erhalten hatte, und leitet den
eingegangenen Anruf an diese Umleitungs-VDN 354 in dem
Callcenter 144 weiter. Der Prozessor 204 der ACD-Vermittlungseinrichtung 104 des
Callcenters 144 spricht auf diesen umgeleiteten Anruf von
dem Callcenter 145 an, indem er das Skript 357 ausführt, welches
dieser Umleitungs-VDN 354 für den Anruf in dem Callcenter 144 entspricht.
Das Skript 357 für
eine Umleitungs-VDN 354 ist typischerweise aus Befehlen "BERÜCKSICHTIGE_GRUPPE" und "ADDIERE" aufgebaut, außer dass
es mit einem Befehl "EINREIHEN_IN_BESTE" endet. Durch Ausführung des
Skripts 357 wird erneut die "beste" Gruppe aus den Gruppen 108–109 des
Callcenters 144 bestimmt, und der umgeleitete Anruf wird
in diese "beste" Gruppe eingereiht.
-
Falls
die von dem Callcenter 144 unter Ansprechen auf den dritten
Befehl "BERÜCKSICHTIGE" zurückgesendete
EWT nicht null ist, führt
die Ausführung
des begleitenden Befehls "ADDIERE" durch den Prozessor 204 der
ACD-Vermittlungseinrichtung 105 des Callcenters 145 dazu,
dass dieser 15 Sekunden zu der von dem Callcenter 144 zurückgesendeten
WEWT addiert, um eine neue WEWT zu erhalten. Der Prozessor 204 vergleicht
dann diese neue WEWT mit der zuvor gespeicherten "besten" WEWT. Der Vergleich
gibt an, welche der beiden WEWTs kürzer ist, und der Prozessor
speichert die kürzere
WEWT und die entsprechende EWT sowie die Einrichtungsinformationen
und verwirft die längere
WEWT. Die Einrichtungsinformation für einen abgesetzten Standort,
beispielsweise das Callcenter 144, ist die ID des abgesetzten
Standorts. Der Prozessor 204 spricht dann auf den nächsten Befehl
an. Die Funktionalität
dieses nächsten
Befehls ist die gleiche wie die Funktionalität des gerade beschriebenen
Befehls "BERÜCKSICHTIGE_ABGESETZTEN_STANDORT NORD", hat aber das Callcenter 143 zum
Gegenstand. Der Prozessor 204 geht dann zur Ausführung des
letzten Befehls des Skripts "EINREIHEN_IN_BESTE" über. Der Prozessor 204 überprüft die Einrichtungsinformationen,
die der gespeicherten "besten" WEWT zugeordnet
sind, um festzustellen, ob diese einer lokalen oder einer abgesetzten
Gruppe entsprechen. Wenn die "beste" Gruppe eine lokale
Gruppe ist, reiht der Prozessor 204 den eingegangenen Anruf
in diese "beste" Gruppe mit der angegebenen
Priorität
ein; wenn die "beste" Gruppe eine abgesetzte
Gruppe ist, leitet der Prozessor 204 den Anruf zu der entsprechenden
Umleitungs-VDN 354 des abgesetzten Callcenters weiter.
Die Ausführung
des Skripts für
die Ankunfts-VDN endet somit.
-
Eine
alternative Sequenz zu der gerade diskutierten Sequenz kann eine
solche Sequenz sein, welche den eingegangenen Anruf in die für den Anruf
primäre
Gruppe einreiht und danach bestimmt, ob die WEWT um ein bestimmtes
vorgegebenes Minimum (z. B. 20 Sekunden) verbessert werden kann,
indem der Anruf in eine Reservegruppe eingereiht wird. In diesem
Fall ist die gerade diskutierte Abfolge modifiziert, indem der Abfolge
ein Befehl "EINREIHEN_IN_K
MIT PRIORITÄT
P" vorausgeht, welcher
dazu führt,
dass der Anruf mit der Priorität
p in die Warteschlange 130 der für den Anruf primären Gruppe 110 eingereiht
wird und der Befehl "EINREIHEN_IN_BESTE" durch einen Befehl "PRÜFE_ RESERVEGRUPPE_BESTE_FALLS_WARTEVERBESSERUNG
= 20" ersetzt wird.
Unter Ansprechen auf diesen letzten Befehl addiert der Prozessor 204 20
Sekunden zu der EWT der "besten" Gruppe und vergleicht die
modifizierte "beste" EWT mit der EWT
für den
eingegangenen Anruf in der Warteschlange, in welcher der eingegangene
Anruf momentan eingereiht ist. (Die 20 Sekunden stellen folglich
einen Wichtungsfaktor dar, der jenem äquivalent ist, der durch einen
Befehl "ADDIERE" bewirkt wird, und
das Ergebnis ist eine Form einer WEWT) Wenn die modifizierte "beste" EWT die EWT für den Anruf übersteigt,
fährt der
Prozessor 204 mit der Ausführung des Skripts 355 fort,
wobei er den Anruf in der Warteschlange 130 eingereiht
belässt.
Wenn die EWT des Anrufs gleich der modifizierten "besten" EWT ist oder diese übersteigt,
führt der
Prozessor 204 den Befehl aus, als wäre es der vorstehend beschriebene
Befehl "EINREIHEN_IN_BESTE".
-
Eine
noch weitere Alternative besteht darin, dass immer dann, wenn ein
Anruf an dem Callcenter 145 für eine Ankunfts-VDN 352 der
Anwendung 350 ankommt, dieser automatisch in die für diese
VDN bestimmte primäre
Gruppe 110 eingereiht wird oder versucht wird, diesen dort
einzureihen. Nur wenn nachfolgend festgestellt wird, dass der Anruf
von der primären
Gruppe 110 nicht schnell abgewickelt werden kann – beispielsweise
weil der Einreihungsversuch fehlgeschlagen ist, weil der eingegangene
Anruf die Anrufwarteschlange 130 der primären Gruppe 110 zum Überlaufen
gebracht hat – wird
das Skript 355, welches der Ankunfts-VDN 352 entspricht,
ausgeführt,
um die beste Reservegruppe für
den Anruf zu finden.
-
Die 4–10 stellen
die Funktionalität
der Befehle dar, die in der Tabelle A aufgelistet sind. 4 zeigt,
dass unter Ansprechen auf den Empfang des Befehls "BERÜCKSICHTIGE_GRUPPE" mit einem Argument
der Gruppen-ID "X
mit Priorität
p", bei Schritt 400,
der Prozessor 204 den Inhalt des einen der Speicherbereiche "beste" untersucht (siehe
Elemente 358–360 in 3),
welche das Skript, ein Teil dessen der Befehl ist, nutzt, um Informationen
bezüglich
der "besten" Gruppe oder des "besten" Callcenters zu speichern,
um festzustellen, ob eine Gruppe mit einer EWT von null bereits
gefunden worden ist, und zwar in Schritt 402. Ist dies
der Fall, so kann die "beste" EWT durch diesen
Befehl "BERÜCKSICHTIGE_GRUPPE" nicht verbessert werden,
und somit fährt
der Prozessor 204 lediglich mit der Ausführung des
Skripts, ein Teil dessen dieser Befehl ist, fort, und zwar in Schritt 408.
Wenn aber in Schritt 402 festgestellt wird, dass noch keine
Gruppe mit einer EWT von null gefunden worden ist, fordert der Prozessor 204 bei
der EWT-Funktion 206 an, die EWT für die Warteschlange der lokalen
Gruppe X mit der Priorität
p bereitzustellen, und zwar in Schritt 404. Bei Empfang
der EWT von der EWT-Funktion 206 überprüft der Prozessor 204,
ob die EWT unendlich ist, und zwar in Schritt 406. Ist
dies der Fall, so kann der Befehl "BERÜCKSICHTIGE_GRUPPE" keine "beste" EWT erzeugen, und
somit fährt
der Prozessor 204 lediglich mit der Ausführung des
Skripts, ein Teil dessen dieser Befehl ist, fort, und zwar in Schritt 408.
Wenn die EWT der Gruppe X mit der Priorität p nicht unendlich ist, wie
in Schritt 406 festgestellt wird, fährt der Prozessor 204 mit
der Ausführung
des Skripts mit dem zugehörigen
Befehl "ADDIERE" fort, und zwar in
Schritt 410. Das Fehlen eines zugeordneten Befehls "ADDIERE" wird als Befehl "ADDIERE 0" behandelt. Die Funktionalität des Befehls "ADDIERE" ist in 6 gezeigt.
-
5 zeigt,
dass unter Ansprechen auf den Empfang des Befehls "BERÜCKSICHTIGE_ABGESETZTEN_STANDORT" mit einem Argument
der Callcenter-ID "X", in Schritt 500, der
Prozessor 204 den Inhalt des Speicherbereichs "beste" 358 untersucht,
welchen das Skript 355, dessen Teil dieser Befehl ist,
nutzt, um Informationen bezüglich
der "besten" Gruppe oder des "besten" Callcenters zu speichern,
um festzustellen, ob bereits eine Gruppe mit einer EWT von null
gefunden worden ist, und zwar in Schritt 502. Ist dies
der Fall, so kann die "beste" EWT durch diesen
Befehl "BERÜCKSICHTIGE_ABGESETZTEN_STANDORT" nicht verbessert
werden, und somit fährt
der Prozessor 204 lediglich mit der Ausführung des
Skripts 355 fort, ein Teil dessen dieser Befehl darstellt,
und zwar in Schritt 506. Wenn aber in Schritt 502 festgestellt
wird, dass noch keine Gruppe mit einer EWT von null gefunden worden
ist, überprüft der Prozessor 204 denjenigen
der Abfrageunterdrückungszeitgeber 1050,
welcher dem abgesetzten Callcenter X zugeordnet ist (siehe 3),
um festzustellen, ob er gesetzt ist (d. h. die Zeit nimmt) oder
abgelaufen ist, und zwar in Schritt 504. Der Zeitgeber 1050 wird
genutzt, weil der Abfrage des abgesetzten Callcenters X (in Schritt 512)
Kosten zuzuordnen sind, sowohl hinsichtlich der Verarbeitung und
Wartezeit als auch hinsichtlich der Nutzung von Kommunikationseinrichtungen
zwischen Callcenters. Um diese Kosten zu reduzieren, ist es wünschenswert,
das abgesetzte Callcenter X nur abzufragen, wenn für dieses
eine realistische Chance besteht, dass es das "beste" Callcenter zur Abwicklung des Anrufs
ist. Aus diesem Grund bewirkt der Befehl "BERÜCKSICHTIGE_ABGESETZTEN_STANDORT" eine intelligente
Abfrage, wobei die Häufigkeit
der Abfrage eines abgesetzten Callcenters X direkt proportional
zur Wahrscheinlichkeit dafür
ist, dass das abgesetzte Callcenter X das "beste" Callcenter ist. Bei diesem illustrierenden
Beispiel wird die Wahrscheinlichkeit als umgekehrt proportional
zu einem Vielfachen der Zeitspanne betrachtet, um welche die zuletzt bestimmte "beste" WEWT des abgesetzten
Callcenters X die zuletzt insgesamt bestimmte "beste" WEWT übersteigt. Dies ist die Funktion,
die von den Abfrageunterdrückungszeitgebern 1050 ausgeführt wird.
Wenn der Zeitgeber 1050, welcher dem abgesetzten Callcenter
X zugeordnet ist, gesetzt ist, ist die Zeit noch nicht gekommen,
um das abgesetzte Callcenter X erneut abzufragen, und so fährt der
Prozessor 204 lediglich mit der Ausführung des Skripts 355 fort,
ein Teil dessen dieser Befehl ist, und zwar in Schritt 506.
Wenn in Schritt 504 festgestellt wird, dass der Zeitgeber 1050 für das abgesetzte
Callcenter X abgelaufen ist, ist es Zeit, das abgesetzte Callcenter
X erneut abzufragen, und somit schlägt der Prozessor 204 in
der Datenbank 366 die Abfrage-VDN 353 in dem Callcenter
X für die
Anwendung des eingegangenen Anrufs nach, und zwar in Schritt 510,
und sendet dann einen Abfrageanruf (z. B. einen Lookahead-Interflow-Anruf)
an diese Abfage-VDN 353, und zwar in Schritt 512.
Es ist jedoch möglich,
dass Einrichtungen (z. B. Rufkanäle)
zum Verbinden des Anrufs mit dem abgesetzten Callcenter X momentan
nicht verfügbar
sind: alle diese Einrichtungen können
momentan durch andere Anrufe belegt sein oder können zeitweilig außer Dienst
sein, usw. Um diese Eventualität
zu berücksichtigen, überprüft der Prozessor 204 in
Schritt 514, ob sein Versuch in Schritt 512, einen
Abfrageanruf an das abgesetzte Callcenter X auszulösen, fehlgeschlagen
ist, weil Einrichtungen zum Verbinden des Anrufs mit dem abgesetzten
Callcenter X momentan nicht verfügbar
sind. Ist dies der Fall, geht der Prozessor 204 zu Schritt 524 über, um
den Abfrageunterdrückungszeitgeber 1050 zu
bedienen. Die Funktionalität
der Bedienung ist in 11 gezeigt. Bei der Rückkehr von
diesem fährt
der Prozessor 204 mit der Ausführung des Skripts fort, ein
Teil dessen dieser Befehl darstellt, und zwar in Schritt 526,
wobei er die Ausführung
des Befehls "ADDIERE" in Schritt 522 überspringt
und dadurch die Gruppen des abgesetzten Callcenters X aus der Berücksichtigung
für die
beste Reservegruppe ausschließt.
Wenn der Prozessor 204 in Schritt 514 feststellt,
dass sein Abfrageanruf an das abgesetzte Callcenter X nicht fehlgeschlagen
ist, wartet der Prozessor 204 auf eine Antwort auf den
Abfrageanruf, und zwar in Schritt 516.
-
Bei
Empfang des Abfrageanrufs an dem abgesetzten Callcenter X wird in
dem abgesetzten Callcenter X die Ausführung des Skripts 356 ausgelöst, welches
der Abfrage-VDN 353 in dem Callcenter X für den Anruf entspricht.
Die Ausführung
dieses Skripts 356 endet mit der Ausführung des Befehls "ANTWORTE_MIT_BESTER".
-
7 zeigt,
dass, unter Ansprechen auf den Empfang des Befehls "ANTWORTE_MIT_BESTER" in Schritt 700 der
Prozessor 204 den Inhalt des Speicherbereichs "beste" abfragt, der von
dem Skript, ein Teil dessen dieser Befehl darstellt, genutzt wird,
um die Informationen zu der "besten" Gruppe zu speichern,
und zwar in Schritt 702. Dieser Speicher enthält nicht
nur die ermittelte lokale "beste" WEWT, sondern auch
die entsprechende EWT, aus welcher die lokale "beste" WEWT erzeugt wurde, sowie den Prioritätsgrad und
die Kennung der lokalen Gruppe, welcher die lokale "beste" WEWT entspricht.
Der Prozessor 204 nimmt die abgerufene EWT und WEWT und
platziert diese in einer Nachricht, welche den Abfrageanruf, der
die Ausführung des
Skripts ausgelöst
hat, ein Teil dessen dieser Befehl ist, zurückweist, und sendet die Zurückweisungsnachricht
zurück
an das abgesetzte Callcenter, welches den Abfrageanruf ausgelöst hat,
und zwar in Schritt 704. Die Ausführung des Skripts, ein Teil
dessen dieser Befehl ist, endet dann in Schritt 706.
-
Diese
Zurückweisungsnachricht
ist die Antwort, die in Schritt 516 aus 5 erwartet
wird. Wenn die Antwort von dem abgesetzten Callcenter X entweder überhaupt
nicht ankommt oder nicht pünktlich
ankommt, wie in Schritt 518 festgestellt wird, fährt der
Prozessor 204 mit Schritt 524 und den folgenden
fort. Wenn die Antwort von dem abgesetzten Callcenter X pünktlich
ankommt, wie in Schritt 518 festgestellt wird, enthält die Antwort
die "beste" WEWT des abgesetzten
Callcenters sowie die entsprechende EWT, und der Prozessor 204 überprüft, ob die
empfangene EWT unendlich ist, und zwar in Schritt 520.
Ist dies der Fall, so fährt
der Prozessor 204 mit Schritt 524 und den folgenden
fort, falls nicht, fährt
der Prozessor 204 mit der Ausführung des Skripts mit dem zugehörigen Befehl "ADDIERE" fort, und zwar in
Schritt 522. Das Fehlen eines zugehörigen Befehls "ADDIERE" wird als ein Befehl "ADDIERE 0" behandelt. Die Funktionalität des Befehls "ADDIERE" ist in 6 gezeigt.
-
6 zeigt,
dass unter Ansprechen auf den Empfang des Befehls "ADDIERE" mit einem Argument "Y", bei Schritt 600, der Prozessor 204 die
zuletzt eingeholte EWT (siehe Schritt 404 aus 4)
oder WEWT (siehe Schritt 516 aus 5) abruft,
und zwar in Schritt 602, und diese EWT oder WEWT um den
Wert Y heraufsetzt, um eine neue WEWT zu erhalten, und zwar in Schritt 604.
Der Prozessor 204 überprüft dann
den Inhalt des Speicherbereichs "beste", der von dem Skript,
ein Teil dessen dieser Befehl darstellt, genutzt wird, um die momentan "beste" WEWT sowie zugehörige Informationen
zu speichern, um festzustellen, ob dieser eine "beste" WEWT gespeichert hat, und zwar in Schritt 606.
Wenn dieser keine "beste" WEWT gespeichert hat,
speichert der Prozessor 204 die neue WEWT und die dieser
entsprechende EWT sowie die Einrichtungsinformationen in dem Speicherbereich "beste" als die "beste" WEWT, und zwar in
Schritt 608, und fährt
dann mit der Ausführung
des Skripts mit dem nächsten
Befehl in der Abfolge fort, und zwar in Schritt 609. Kehren wir
zu Schritt 606 zurück,
so wird, wenn hier festgestellt wird, dass eine "beste" WEWT gespeichert ist, der Prozessor 204 die "beste" WEWT aus dem Speicherbereich "beste" abrufen, und zwar
in Schritt 610, und diese mit der neuen WEWT vergleichen,
um zu ermitteln, welche kürzer
ist, und zwar in Schritt 612. Der Prozessor 204 ruft
dann die Ausführung
der Dienstroutine des Abfrageunterdrückungszeitgebers für das abgesetzte
Callcenter auf, und zwar in Schritt 614. Die Funktionalität dieser
Routine ist in 11 gezeigt. Bei Rückkehr von der
Ausführung
der Routine aus 11 speichert der Prozessor 204 die
kürzere
WEWT und die dieser entsprechende EWT sowie die Einrichtungsinformationen
als die "beste" WEWT in dem Speicher
für die "beste" WEWT, und zwar in
Schritt 616, und fährt
dann mit der Ausführung
des Skripts mit dem nächsten
Befehl der Abfolge in Schritt 618 fort.
-
8 zeigt,
dass unter Ansprechen auf den Empfang des Befehls "EINREIHEN_IN" mit einem Argument
der Gruppen-ID "X
mit Priorität
p", bei Schritt 800,
der Prozessor 204 den betreffenden eingegangenen Anruf
in der Warteschlange der Gruppe X mit der Priorität p einreiht,
und zwar in Schritt 802, und außerdem einen Merker "eingereiht" setzt, um anzuzeigen,
dass der eingegangene Anruf eingereiht worden ist, und zwar in Schritt 804.
Der Prozessor 204 fährt
dann mit der Ausführung
des Skripts, ein Teil dessen dieser Befehl ist, fort, und zwar in
Schritt 806.
-
9 zeigt,
dass in Ansprechen auf den Empfang des Befehls "EINREIHEN_IN_BESTE", in Schritt 900, der Prozessor 204 den
Inhalt des Speicherbereichs "beste" des Skripts, ein Teil
dessen dieser Befehl darstellt, überprüft, um zu
ermitteln, ob eine "beste" WEWT gefunden und
gespeichert worden ist, und zwar in Schritt 902. Falls
nicht, gibt es keine "beste" Gruppe, um den eingegangenen
Anruf einzureihen, und somit fährt
der Prozessor 204 lediglich mit der Ausführung des
Skripts, ein Teil dessen dieser Befehl ist, fort, und zwar in Schritt 926.
Wenn aber eine "beste" WEWT gespeichert
ist, und zwar infolge der Ausführung
eines der vorausgehenden Befehle "ADDIERE", "BERÜCKSICHTIGE_GRUPPE" und "BERÜCKSICHTIGE_ABGESETZTEN_STANDORT" in der Abfolge,
ruft der Prozessor 204 die "beste" WEWT zusammen mit den dieser entsprechenden
Einrichtungsinformationen ab, und zwar in Schritt 904.
Der Prozessor 204 überprüft dann,
ob die Einrichtung, welche der "besten" WEWT entspricht,
eine lokale Gruppe ist, und zwar in Schritt 906. Ist dies
der Fall, so reiht der Prozessor 204 den Anruf in die lokale "beste" Gruppe mit dem Prioritätsgrad ein,
welche der "besten" WEWT entspricht,
und zwar in Schritt 908. Der Prozessor löscht dann den
Inhalt des Speicherbereichs "beste" des Skripts, welches
diesen Befehl enthält,
und zwar in Schritt 910, und fährt mit der Ausführung dieses
Skripts fort, und zwar in Schritt 926.
-
Kehren
wir zu Schritt 906 zurück,
so wird, wenn in diesem ermittelt wird, dass die Einrichtung, welche der "besten" WEWT entspricht,
ein abgesetztes Callcenter ist, der Prozessor 204 in der
Datenbank 366 die Umleitungs-VDN 354 für die Anwendung
für den
eingegangenen Anruf in dem abgesetzten Callcenter nachschlagen,
und zwar in Schritt 912, und dann den eingegangenen Anruf
zu dieser Umleitungs-VDN 354 umleiten, und zwar in Schritt 914.
Der Prozessor 204 wartet dann auf den Empfang einer Bestätigung der
Umleitung von dem abgesetzten Callcenter, und zwar in Schritt 916.
Bei Empfang der Bestätigung,
in Schritt 918, überprüft der Prozessor 204 den
Merker "eingereiht" (siehe Schritt 804 aus 8),
um festzustellen, ob der eingegangene Anruf lokal eingereiht ist,
als Ergebnis eines etwaig vorausgegangenen Befehls "EINREIHEN_IN", und zwar in Schritt 920.
Wenn der Anruf lokal eingereiht ist, reiht der Prozessor 204 diesen
aus der Warteschlage der lokalen Gruppe aus, und zwar in Schritt 922.
Nach Schritt 922, oder wenn der Anruf nicht lokal eingereiht ist,
löscht
der Prozessor 204 den Inhalt des Speicherbereichs "beste" des Skripts, ein
Teil dessen dieser Befehl "EINREIHEN_IN_BESTE" darstellt, und zwar
in Schritt 924, und fährt
dann mit der Ausführung
dieses Skripts in Schritt 926 fort.
-
10 zeigt,
dass unter Ansprechen auf den Empfang des Befehls "PRÜFE_RESERVE_GRUPPE_BESTE_FALLS
Y", bei Schritt 1000,
der Prozessor 204 die Bedingung Y, welche das Argument
des Befehls darstellt, interpretiert, und zwar in Schritt 1002,
um zu ermitteln, was durch die Bedingung Y gefordert wird. Der Prozessor 204 unternimmt
dann diejenigen Schritte (z. B. Berechnungen, Ermittlungen und/oder
Vergleiche), die notwendig sind, um die Anforderungen der Bedingung
Y zu bewerten und um festzustellen, ob diese Anforderungen erfüllt sind,
und zwar in Schritt 1004. Wenn die Anforderungen der Bedingung
erfüllt
sind, wie in Schritt 1006 festgestellt wird, fährt der
Prozessor 204 mit der Ausführung eines Befehls "EINREIHEN_IN_BESTE" fort, und zwar in
Schritt 1008. Wenn die Anforderungen der Bedingung nicht erfüllt sind,
fährt der
Prozessor 204 lediglich mit der Ausführung des Skripts fort, ein
Teil dessen dieser Befehl "ÜBERPRÜFE_RESERVE_GRUPPE_BESTE_FALLS" ist, und zwar in
Schritt 1010.
-
11 zeigt,
dass unter Ansprechen auf das Auftreten des Befehls "frage Unterdrückungszeitgeber ab", bei Schritt 1100,
als ein Teil der Ausführung
entweder eines Befehls "BERÜCKSICHTIGE_ABGESETZTEN_STANDORT" (siehe Schritt 524 aus 5)
oder eines Befehls "ADDIERE" (siehe Schritt 614 aus 6)
die Tätigkeit
des Prozessors 204 durch den Grund bestimmt wird, aus welchem
diese Befehlsroutine aufgerufen wurde. Wenn in Schritt 1102 festgestellt
wird, dass der Aufruf durch ein Fehlen verfügbarer Anrufeinrichtungen zu
dem betreffenden abgesetzten Callcenter bewirkt wurde (siehe Schritt 514 aus 5),
schlägt
der Prozessor 204 den administrierten Wert für ein Abfrageintervall
für dieses Ereignis
nach, und zwar in Schritt 1104, und setzt den Zeitgeber 1050,
der dem betreffenden abgesetzten Callcenter entspricht, auf diesen
administrierten Wert, und zwar in Schritt 1114. Wenn in
Schritt 1106 festgestellt wird, dass der Aufruf durch fehlenden
Empfang einer pünktlichen
Antwort von dem betreffenden abgesetzten Callcenter ausgelöst worden
ist (siehe Schritt 518 aus 5), schlägt der Prozessor 204 den
administrierten Wert für
ein Abfrageintervall für
dieses Ereignis nach, und zwar in Schritt 1108, und fährt dann
mit 1114 fort. Wenn in Schritt 1110 bestimmt wird,
dass der Aufruf dadurch verursacht worden ist, dass die von dem
betreffenden abgesetzten Callcenter zurückgesendete EWT unendlich ist
(siehe Schritt 520 aus 5), schlägt der Prozessor 204 den
administrierten Wert für
ein Abfrageintervall für
dieses Ereignis in Schritt 1112 nach und fährt dann
mit Schritt 1114 fort. Nach Schritt 1114 kehrt
der Prozessor 204 zur Stelle seines Aufrufs zurück, und
zwar in Schritt 1126.
-
Wenn
der Aufruf nicht durch eines der drei Ereignisse bewirkt worden
ist, die in den Schritten 1102, 1106 und 1110 überprüft worden
sind, wurde der Aufruf nicht direkt durch Ausführung eines Befehls "BERÜCKSICHTIGE_ABGESETZEN_STANDORT" aus 5 bewirkt,
sondern wurde vielmehr durch Ausführung eines Befehls "ADDIERE" aus 6 bewirkt.
Der Prozessor 204 überprüft daher,
ob die Einrichtung, für
die in Schritt 612 aus 6 eine längere WEWT
ermittelt worden ist, ein abgesetztes Callcenter ist, und zwar in
Schritt 1116. Falls nicht, kehrt der Prozessor 204 lediglich
zu der Stelle des Aufrufs der Routine aus 11 zurück, und
zwar in Schritt 1126; falls ja, berechnet der Prozessor 204 einen
Wert T, der gleich einem vorgegebenen (administrativ programmierbaren)
Vielfachen P des absoluten Wertes der Differenz zwischen der von
dem abgesetzten Callcenter empfangenen WEWT und der "besten" WEWT (d. h. der
in Schritt 612 aus 6 bestimmten
kürzesten
WEWT) ist, und zwar in Schritt 1118. Der Prozessor 204 überprüft dann,
ob dieser Wert T einen administrierten maximalen Wert für ein Abfrageintervall
für dieses
Ereignis übersteigt,
und zwar in Schritt 1120. Wenn der Wert T den maximalen
Wert übersteigt,
setzt der Prozessor 204 den Zeitgeber 1050, welcher
dem betreffenden abgesetzten Callcenter entspricht, auf diesen maximalen
Wert, und zwar in Schritt 1124. Falls der Wert T nicht
den maximalen Wert übersteigt,
setzt der Prozessor 204 den Zeitgeber 1050, der
dem betreffenden abgesetzten Callcenter entspricht, auf den Wert
T, und zwar in Schritt 1122. Nach Schritt 1122 oder 1124 kehrt
der Prozessor 204 an die Stelle zurück, von welcher aus die Routine
aus 11 aufgerufen worden ist, und zwar in Schritt 1126.
-
Natürlich werden
für Fachleute
auf dem Gebiet verschiedene Änderungen
und Modifikationen an der vorstehend beschriebenen illustrativen
Ausführungsform
offensichtlich sein. Beispielsweise kann ein anderes Kriterium als
die EWT und die WEWT als das prinzipielle Kriterium bei der Bestimmung
der "besten" Gruppe genutzt werden – zum Beispiel
die Belegung der Gruppe oder die Verfügbarkeit von Agenten. Außerdem kann jedes
der Skripte durch eine Tabelle mit lokalen und abgesetzten Einrichtungen
und einen entsprechenden Befehl "EINREIHEN_IN_BESTE_IN_TABELLE
X" ersetzt werden.
Solche Änderungen
und Modifikationen können
ausgeführt
werden, ohne von dem Schutzumfang der Erfindung abzuweichen und
ohne die mit dieser einhergehenden Vorteile zu schmälern.