DE102006047499A1 - Datenerweiterbarkeit mit Hilfe externer Datenbanktabellen - Google Patents
Datenerweiterbarkeit mit Hilfe externer Datenbanktabellen Download PDFInfo
- Publication number
- DE102006047499A1 DE102006047499A1 DE102006047499A DE102006047499A DE102006047499A1 DE 102006047499 A1 DE102006047499 A1 DE 102006047499A1 DE 102006047499 A DE102006047499 A DE 102006047499A DE 102006047499 A DE102006047499 A DE 102006047499A DE 102006047499 A1 DE102006047499 A1 DE 102006047499A1
- Authority
- DE
- Germany
- Prior art keywords
- database
- data
- page
- key
- application
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
In einer Ausführungsform umfasst ein Datenverarbeitungssystem: DOLLAR A (a) eine erste Datenbank 304, die von einer ersten Seite unterhalten wird; DOLLAR A (b) eine zweite Datenbank 324, 328, die von einer zweiten Seite unterhalten wird, die sich von der ersten Seite unterscheidet; DOLLAR A (c) eine Arbeitswarteschlange 316, die dazu dient, Daten zu spezifizieren, die zu der zweiten Datenbank hinzugefügt werden sollen; DOLLAR A (d) ein Extraktions-, Transformations- und Lade-Modul 308, das dazu dient, Daten aus der ersten Datenbank in die Arbeitswarteschlange zu schreiben; und DOLLAR A (e) ein Datenimportmodul 320, das dazu dient, Daten aus der Arbeitswarteschlange in die zweite Datenbank zu importieren. In dem System ist die erste Seite nicht berechtigt, die Daten direkt in die zweite Datenbank zu schreiben.
Description
- Gebiet der Erfindung
- Die vorliegende Erfindung betrifft allgemein die Ereignisabwicklung und speziell die Überwachung des Leistungsverhaltens von Agenten.
- Hintergrund der Erfindung
- Kontaktzentralen wie etwa automatische Anrufverteilungs- oder ACD-Systeme werden von vielen Firmen angewendet, um Kundenkontakte zu bedienen. Eine typische Kontaktzentrale umfasst eine Vermittlungseinrichtung und/oder einen Server zum Empfangen und Lenken eingehender paketvermittelter und/oder leitungsvermittelter Kontakte sowie eine oder mehrere Ressourcen wie etwa als Agenten bezeichnete Sachbearbeiter und automatisierte Ressourcen (z. B. interaktive Sprachausgabe (IVR – Interactive Voice Response) -Einheiten), um die eingehenden Kontakte zu bedienen. Kontaktzentralen verteilen Kontakte, egal ob eingehende oder abgehende, zur Bedienung gemäß vordefinierter Kriterien an irgendeine geeignete Ressource. Bei vielen existierenden Systemen können die Kriterien zum Bedienen des Kontakts ab dem Zeitpunkt, zu dem die Kontaktzentrale des Kontakts gewahr wird, bis der Kontakt mit einem Agenten verbunden wird, vom Anwender spezifiziert werden (d. h. sind von dem Betreiber der Kontaktzentrale programmierbar), und zwar über eine Fähigkeit, die als Vektorisierung bezeichnet wird. Bei heutigen ACDs wird normalerweise, wenn der Controller des ACD-Systems feststellt, dass ein Agent verfügbar geworden ist, um einen Kontakt abzuwickeln, der Controller alle vordefinierten Kontaktabwicklungsfähigkeiten des Agenten feststellen (üblicherweise in einer gewissen Prioritätsreihenfolge) und an den Agenten den ältesten Kontakt mit der höchsten Priorität ausliefern, welcher mit der Fähigkeit mit höchster Priorität des Agenten übereinstimmt. Im Allgemeinen besteht der einzige Zustand, der dazu führt, dass an einen verfügbaren Agenten kein Kontakt abgegeben wird, darin, dass keine abzuwickelnden Kontakte warten.
- Die Hauptaufgabe einer Kontaktzentralenverwaltung, einschließlich der Anrufverteilungsalgorithmen, besteht letztendlich darin, die Funktionsfähigkeit und die Profitabilität der Kontaktzentrale zu maximieren. Eine ständige Herausforderung bei der Verwaltung von Kontaktzentralen ist die Überwachung des Verhaltens von Agenten, um die Nutzung von Ressourcen der Kontaktzentrale zu optimieren und die Leistungsfähigkeit und Profitabilität der Agenten zu maximieren. Derzeitige Produkte zum Überwachen und Melden des Funktionsverhaltens von Kontaktzentralen, beispielsweise das Call Management System oder CMSTM der Avaya Inc., sind als Data Warehouses (dt.: Daten-Lagerhaus) konfiguriert, die Daten aus mehreren Quellen extrahieren, die Daten in eine normierte Form umwandeln und die Daten in die Data Warehouse-Datenbank laden, typischerweise nach einem Stapelplan. Zusätzliche Berechnungen und Meldungen erfolgen nach dem Stapelladen.
- Ein üblicher Typ eines Data Warehouse basiert auf der Dimensionsmodellierung. Die Dimensionsmodellierung stellt ein Datenmodell dar, das die Welt in Messwerte und Kontext einteilt. Messwerte sind üblicherweise numerisch und werden wiederholt erfasst. Numerische Messwerte stellen Fakten dar. Fakten werden von bestehendem Kontext in Textform umgeben, wenn der Fakt aufgezeichnet wird. Der Kontext wird oft in Dimensionen unterteilt. Faktentabellen werden bei der Dimensionsmodellierung genutzt, um Messwerte logisch mit mehreren Fremdschlüsseln zu modellieren, die auf die Kontextentitäten verweisen. Den Kontextentitäten ist jeweils ein Primärschlüssel zugeordnet. Ein "Schlüssel" ist ein Datenelement (z. B. Attribut oder Spalte), das eine Instanz einer Entität oder eines Datensatzes in einer Datensammlung, beispielsweise einer Tabelle, identifiziert. Ein "Primärschlüssel" ist eine Spalte oder eine Kombination von Spalten, deren Werte eindeutig eine Zeile in einer Tabelle identifizieren, oder ist das Attribut oder die Gruppe von Attributen, die aus den Kandidatenschlüsseln als das/die geeignetste(n) ausgewählt worden ist/sind, um eindeutig jede Instanz einer Entität zu identifizieren. Ein "Fremdschlüssel" bezeichnet eine Spalte oder eine Kombination von Spalten, deren Werte mit einem Primärschlüssel in einer anderen Tabelle übereinstimmen sollen, oder ist ein Primärschlüssel einer Stammentität, die über eine Beziehung zu einer Unterentität beiträgt. Typen von Primärschlüsseln sind ein natürlicher Schlüssel oder ein Schlüssel, der eine Bedeutung für Benutzer hat, und ein Surrogatschlüssel oder ein Schlüssel, der künstlich oder synthetisch eingeführt wird, für die Benutzer bedeutungslos ist und als Substitut für einen natürlichen Schlüssel genutzt wird.
- Wenn die gleiche Entität (z. B. ein Agent) in mehreren Datenquellen (z. B. eingehendes Anrufsystem und abgehendes Anrufsystem) durch unterschiedliche natürliche Schlüssel repräsentiert wird, erzeugt ein herkömmliches Data Warehouse einen Surrogatschlüssel und ordnet diesen zu, um die Entität zu identifizieren. Der Surrogatschlüssel stellt einen internen Identifier dar, der von dem Data Warehouse verwaltet wird. Beispielsweise ist es möglich, dass in einer Kontaktzentrale ein Agent eingehende Anrufe von einem System und abgehende Anrufe von einem anderen System abwickelt, und zwar mit unterschiedlichen Identitäten in dem jeweiligen System. Data Warehouses verarbeiten üblicherweise jede Datenquelle unabhängig, wobei eine Datenkorrelation zwischen den Quellen zu einem späteren Zeitpunkt ausgeführt wird.
- Einige Datenmodelle spezifizieren ein Verhalten, das als Slowly Changing Dimensions (dt: sich langsam verändernde Dimensionen) Typ 2 bezeichnet wird. Eine Dimension vom Typ 2 verfolgt die Historie von Änderungen an einer Entität im Zeitverlauf. Wenn ein Attribut einer Entität geändert wird, beispielsweise wenn ein Agent einer Kontaktzentrale seine Fähigkeiteneinstellung oder Gruppenzugehörigkeit ändert, wird ein neuer Surrogatschlüssel für diese Entität generiert und in die Datenbank wird eine neue Zeile eingefügt. Faktdaten, die mit der Entität verknüpft sind, können nun separat auf Aktivitäten hin verfolgt werden, die vor bzw. nach der Änderung erfolgt sind, und zwar durch Bezug auf den entsprechenden Surrogatschlüssel.
- Ein fortlaufendes Problem, mit dem Anbieter von Kontaktzentralen-Softwareprodukten konfrontiert sind, insbesondere von Produkten, die Dimensionsmodellierungssoftware enthalten, stellt die Integration der Firmendatenbank-Anwendungen (oder Applikationssoftware), die typischerweise von anderen Anbietern erworben wird, mit der Software der Kontaktzentrale dar. Der Anbieter der Kontaktzentralensoftware möchte eine einfache Integration mit der existierenden Applikationssoftware der Firmendatenbank, muss aber sorgfältig darauf achten, dass die Integration der Software nicht zu semantischen Inkonsistenzen und anderen Konflikten führt, die zur Meldung von Ungenauigkeiten oder, noch schlimmer, Software-Fehlfunktionen führt.
- Eine Reihe von Ansätzen wird genutzt, um diesem Problem zu begegnen.
- Bei einem solchen Ansatz bietet die Datenbank eine eingeschränkte Möglichkeit, die Arten von Erweiterungen, die ein spezieller Datenbanknutzer vornehmen kann, zu kontrollieren. Beispielsweise verbietet der Besitzer einer Datenbanktabelle das Löschen einer Spalte, um existierende Daten zu schützen. Es ist auch möglich, dass der Besitzer einer Tabelle gestatten möchte, Spalten zu der Tabelle hinzuzufügen, und er kann die Datenbank derart konfigurieren, dass einem Tabellennutzer gestattet wird, einen festgelegten Satz von Spalten hinzuzufügen. Wenn jedoch die existierenden Spalten Randbedingungen bezüglich ihrer Werte aufweisen, die über das herkömmliche relationale Modell hinausgehen, gibt es keine Möglichkeit sicherzustellen, dass die Daten in den neuen Spalten diesen Randbedingungen genügen. Beispielsweise gibt es bei der Dimensionsmodellierung für Dimensionstabellen mit Schlüsseln vom Typ 2 spezielle Regeln dafür, wann ein neuer Schlüssel generiert werden muss. Grundsätzlich wird, wenn sich der Wert irgendeiner der Spalten mit Nicht-Typ-2-Schlüsseln ändert, eine gesamte neue Zeile mit einem neuen Schlüssel vom Typ 2 und eine komplette Kopie aller aktuellen Daten in die Tabelle eingefügt. Durch diese Vorkehrung können die historischen Informationen, die mit der Dimensionstabelle verknüpft sind, gesichert werden. Wird jedoch einer willkürlichen dritten Seite gestattet, solche Spalten zu erzeugen, ist es erforderlich, dass sich die dritte Seite an der Schlüsselsemantik vom Typ 2 beteiligt. Leider bieten Datenbanken keine Möglichkeit, die Semantik vom Typ 2 zu garantieren. Beispielsweise kann der Anwender eine Schlüsseländerung vom Typ 2 rückgängig machen, die durch die Datenbanksoftware der Kontaktzentrale erfolgt ist, oder umgekehrt. Darüber hinaus krankt dieser Ansatz auch an Wettlaufsituationen, welche den Verlust von Aktualisierungen bewirken könnten.
- Bei einem anderen Ansatz werden Datenbanktrigger an der Tabelle genutzt, um nach Änderungen von dritter Seite zu suchen, worauf, wenn sie identifiziert werden, eine Anwendung folgt, die eine entsprechende Semantik vom Typ 2 anwendet. Leider führt ein solcher Ansatz häufig zu Wettbewerbszuständen zwischen der Anwendung und der dritten Seite, welche verhindern, dass eine richtige logische Semantik aufrechterhalten wird. Einfach gesagt gibt es keine Möglichkeit, den zeitlichen Ablauf der dritten Seite, der den Änderungen an dem erweiterten Spaltensatz zugeordnet ist, zu kontrollieren. Oftmals ist die Anwendung aus irgendeinem Grund unwillig, Änderungen an einer Tabelle zu gestatten, beispielsweise während ein Extraktions-, Transformations- und Lade- oder ETL-Modul Zusammenfassungen anhand der Tabelle berechnet.
- Ein weiterer Ansatz nutzt eine Transaktions- oder "Datenbanksperre", bei welcher Anfragen (Transaktionen) um eine festgelegte Zeitspanne verzögert werden. Eine Datenbanksperre kann helfen, kann aber für eine Komplettlösung schwer zu verwenden sein. Wenn beispielsweise die Transaktionshaltezeit langlebig ist, ist es möglich, dass die Anwendung der dritten Seite oder die Anwendung der Kontaktzentrale festfahren.
- Zusammenfassung der Erfindung
- Diesen und anderen Bedürfnissen wenden sich die verschiedenen Ausführungsformen und Konfigurationen der vorliegenden Erfindung zu. Die vorliegende Erfindung ist allgemein auf ein erweiterbares Datenmodel ausgerichtet.
- Bei einer Ausführungsform der vorliegenden Erfindung umfasst ein Datenverarbeitungssystem:
- (a) eine erste Datenbank, die von einer ersten Seite oder Teilnehmer unterhalten oder verwaltet wird;
- (b) eine zweite Datenbank, die von einer zweiten Seite oder Teilnehmer unterhalten oder verwaltet wird, die sich von der ersten Seite unterscheidet;
- (c) eine Arbeitswarteschlange, um Daten zu spezifizieren, die zu der zweiten Datenbank hinzugefügt werden sollen;
- (d) ein Extraktions-, Transformations- und Lade-Modul, das dazu dient, Daten aus der ersten Datenbank in die Arbeitswarteschlange zu schreiben; und
- (e) ein Datenimportmodul, das dazu dient, Daten aus der Arbeitswarteschlange in die zweite Datenbank zu importieren.
- Die Berechtigungen der ersten Seite in Bezug auf die zweite Datenbank sind begrenzt. Zum Beispiel ist die erste Seite vorzugsweise nicht berechtigt, die Daten direkt in die zweite Datenbank zu schreiben (einzufügen, zu löschen und/oder zu aktualisieren) oder das Datenmodell, welches die zweite Datenbank definiert, zu modifizieren (einzufügen, zu löschen und/oder zu aktualisieren). Dies ist so, weil die zweite Seite für die Aufrechterhaltung und Modifizierung der zweiten Datenbank verantwortlich ist, darunter der anwendungsspezifischen Anpassung der zweiten Datenbank, um anwendungsspezifische Daten von der ersten Datenbank zu empfangen. Typischerweise stellen die erste und die zweite Seite unterschiedliche, nicht miteinander in Beziehung stehende Geschäftskörperschaften dar, die nicht unter gemeinsamer Kontrolle stehen und von denen keine ein Kontrollinteresse an der anderen hat.
- Um das herstellereigene Schema der zweiten Datenbank vor der ersten Seite zu schützen, werden die Berechtigungen hinsichtlich der zweiten Datenbank für die erste Seite vorzugsweise auf Nur-Lesen festgelegt, was den Zugriff der ersten Seite betrifft. Vorzugsweise wird der ersten Seite verwehrt, ausgewählte Teile des Schemas anzuschauen. Dies geschieht, indem der Zugang nur über Datenbankansichten und nicht die echten Tabellen gestattet wird. Generell wird der ersten Seite ein direktes Schreiben von Daten nur in Arbeitswarteschlangentabellen und möglicherweise spezifizierte anwendungsspezifische Tabellen gestattet.
- Bei einer zweiten Ausführungsform wird ein Verfahren zur Verfügung gestellt, das folgende Schritte umfasst:
- (a) Empfangen eines Satzes von Spezifikationen von der ersten Seite, wobei die Spezifikationen eine Erweiterung an der zweiten Datenbank, die von der zweiten Seite unterhalten wird, spezifizieren;
- (b) Modifizieren der zweiten Datenbank, wie in dem Satz von Spezifikationen angegeben, wobei die Modifikation eine anwendungsspezifische Tabelle, eine anwendungsspezifische Zeile in einer Tabelle und/oder eine anwendungsspezifische Spalte in einer Tabelle umfasst;
- (c) Erzeugen einer Arbeitswarteschlange entsprechend der Modifikation;
- (d) Empfangen erster Daten aus einer ersten Datenbank durch die Arbeitswarteschlange;
- (e) Normieren der ersten Daten, um zweite Daten zu bilden; und
- (f) Schreiben der zweiten Daten in. die anwendungsspezifische Tabelle, die anwendungsspezifische Zeile und/oder die anwendungsspezifische Spalte.
- Das Verfahren führt effektiv eine Abbildung von Daten aus der ersten in die zweite Datenbank aus. Die ersten Daten sind semantisch kompatibel mit der ersten Datenbank und sind semantisch inkompatibel mit der zweiten Datenbank, und die zweiten Daten sind semantisch inkompatibel mit der ersten Datenbank und sind semantisch kompatibel mit der zweiten Datenbank. Der Begriff "Semantik", wie er vorliegend genutzt wird, bezeichnet die Beziehungen von Symbolen, Zeichen oder Gruppen von Symbolen oder Zeichen zu deren Bedeutungen und/oder zueinander. Die Beziehungen sind typischerweise unabhängig von der Art und Weise ihrer Interpretation und ihrer Nutzung. Zwei Symbole oder Zeichen sind "kompatibel", wenn sie in einer gemeinsamen Datenbank genutzt werden können, ohne dass zunächst semantische Änderungen an der Datenbank erforderlich sind, um der gleichzeitigen Benutzung selbiger Rechnung zu tragen.
- Die vorliegenden Ausführungsformen können es unberechtigten Seiten (denen potentiell nicht vertraut wird) ermöglichen, Erweiterungen an einem Datenbankmodell vorzunehmen, während zugleich ein Schutz für die logische Semantik, die von dem Datenbankmodell benötigt wird, gegeben ist. Die unberechtigte Seite kennt die Komplexität der ersten, aber nicht der zweiten Datenbank, während die zweite Seite die Komplexitäten der zweiten, aber nicht der ersten Datenbank kennt. Durch die vorstehenden Ausführungsformen können effektiv die Kenntnisse der beiden Seiten miteinander verbunden werden, um die erste und die zweite Datenbank zu kombinieren, während zugleich effektiv Datenkonflikte, -kollisionen und andere Inkonsistenzen aufgrund von Konflikte ergebenden Modifikationen an der zweiten Datenbank verhindert werden. Die erste Seite wird daher davon entlastet, eine komplizierte Semantik, insbesondere Semantik vom Typ 2, des zweiten Datenbankmodells kennen und implementieren zu müssen. Beispielsweise kann die vorliegende Erfindung einen Mechanismus bereitstellen, um richtige Dimensionsschlüssel vom Typ 2 zu garantieren, wenn das Datenbankmodell die Dimensionsmodellierung nutzt.
- Bei einer Konfiguration nutzt die Erfindung externe Tabellen (in den Arbeitswarteschlangen), um den Zugriff auf die (als "geschützte Tabellen" bezeichneten) Datenbanktabellen der Anwendung zu schützen. Die externen Tabellen umfassen eine so genannte Sandbox (dt.: Sandkasten), in welcher die Firma einfügen, löschen und aktualisieren kann. Datenbanktrigger oder ein ähnlicher Änderungsmeldemechanismus an der externen Tabelle geben Meldung an die Applikationssoftware, die dann entsprechende Änderungen an der entsprechenden geschützten Tabelle vornimmt. Die Änderungen können eine Durchsetzung der Dimensionssemantik vom Typ 2 für die geschützte Tabelle umfassen.
- Bei einer weiteren Konfiguration kann die Firma nur in die externe Tabelle einfügen. In diesem Fall funktionieren die Trigger wie zuvor, wobei sie bewirken, dass entsprechende Änderungen in der geschützten Tabelle erfolgen. Sobald diese Änderungen abgeschlossen sind, wird die entsprechende Zeile aus der externen Tabelle gelöscht. Auf diese Weise implementiert die externe Tabelle eine Warteschlange für Arbeitsanfragen bezüglich von Änderungen an der geschützten Tabelle.
- Die externen Tabellen können nicht von der unberechtigten Seite aufgestellt werden. Der Besitzer der geschützten Tabelle kann die externen Tabellen basierend auf Informationen aufstellen, die von der unberechtigten Seite gegeben werden. Beispielsweise können die Informationen umfassen, auf welche geschützte Tabelle sich die externe Tabelle bezieht, wie die Spalten der externen Tabelle lauten, ob die Spalten in der geschützten Tabelle oder als eine separate geschützte Tabelle erzeugt werden sollten, usw.
- Bei beiden Konfigurationen können die geschützten Tabellen nicht von der unberechtigten Seite modifiziert werden. Die Triggermechanismen setzen die zusätzliche Semantik (z. B. Semantik vom Typ 2) durch, sodass die geschützte Tabelle immer eine richtige Semantik aufrechterhält. Die Applikation kann Triggervorgänge zeitweise aussetzen, während die geschützte Tabelle bearbeitet wird (z. B. summarische Daten anhand dieser gebildet werden). In diesem Fall kann die unberechtigte Seite verfolgen, welche Änderungen erfolgt sind, indem sie die Inhalte der externen Tabelle untersucht.
- Andere Möglichkeiten zum Schützen der Tabellensemantik gestatten Zugriff (z. B. über die Structured Query Language oder SQL), erfordern aber, dass sich die ansonsten unberechtigte Seite an der Semantik der geschützten Tabelle beteiligt. Im Gegensatz dazu bietet die vorliegende Erfindung die externen Arbeitswarteschlangen, die für die unberechtigte Seite mit Hilfe von SQL zugänglich sind, nutzt vorzugsweise aber Trigger, um die richtige Semantik der geschützten Tabelle sicherzustellen. Erfindungsgemäß kann somit die Notwendigkeit vermieden werden, Tabellen zu schützen, wobei ein Nicht-SQL-Zugriff einer dritten Seite genutzt wird.
- Aus den vorstehend genannten Gründen kann die Erfindung eine Schnittstelle bereitstellen, die in Echtzeit oder nahezu Echtzeit zwei unterschiedliche Daten aus zwei unterschiedlichen Quellen mischt oder multiplext. Die eine Quelle ist die Datensammlung der Firma und die Verarbeitungssoftware extern der Datensammlung und Verarbeitungssoftware der Kontaktzentrale, und die andere Quelle ist die Software der Kontaktzentrale selbst.
- Diese und andere Vorteile werden anhand der Offenbarung der vorliegend enthaltenen Erfindung(en) deutlich werden.
- Die Begriffe "zumindest eine", "eine oder mehrere" und "und/oder", wie sie vorliegend genutzt werden, sind offene Ausdrücke, die in ihrer Anwendung sowohl konjunktiv als auch disjunktiv sind. Beispielsweise bedeutet jeder der Ausdrücke "zumindest eines der Elemente A, B und C", "zumindest eines der Elemente A, B oder C", "eines oder mehrere der Elemente A, B und C, "eines oder mehrere der Elemente A, B oder C" und "A, B und/oder C" A allein, B allein, C allein, A und B zusammen, A und C zusammen, B und C zusammen oder A, B und C zusammen.
- Die vorliegend beschriebenen Ausführungsformen und Konfigurationen sind weder vollständig noch erschöpfend. Wie zu erkennen sein wird, sind andere Ausführungsformen der Erfindung möglich, bei denen allein oder in Kombination eines oder mehrere der vorstehend angeführten oder nachstehend im Einzelnen beschriebenen Merkmale genutzt werden.
- Kurze Beschreibung der Zeichnungen
-
1 ist ein Blockdiagramm, das eine Kontaktzentrale entsprechend einer Ausführungsform der vorliegenden Erfindung darstellt; -
2 ist ein Blockdiagramm eines Servers entsprechend einer Ausführungsform der vorliegenden Erfindung; -
3 ist ein Blockdiagramm, das eine Ausführungsform des Ereignisverarbeitungsmoduls darstellt; -
4 ist ein Ablaufdiagramm, das eine erste funktionale Ausführungsform des Ereignisverarbeitungsmoduls darstellt; und -
5 ist ein Ablaufdiagramm, das eine zweite funktionale Ausführungsform des Ereignisverarbeitungsmoduls darstellt. - Detaillierte Beschreibung
- Die Erfindung wird nachstehend im Zusammenhang mit einem beispielhaften Kommunikationssystem veranschaulicht. Obgleich sie gut geeignet für den Einsatz mit z. B. einem System ist, das eine ACD- oder eine ähnliche Kontaktabwicklungs-Vermittlungseinrichtung aufweist, ist die Erfindung nicht auf den Einsatz mit irgendeiner bestimmten Art von Kommunikationssystem-Vermittlungseinrichtung oder Konfiguration von Systemelementen beschränkt. Fachleute werden erkennen, dass die offenbarten Verfahren in einer beliebigen Anwendung genutzt werden können, bei welcher es wünschenswert ist, eine verbesserte Ereignis- (z. B. Kontakt-) Abwicklung bereitzustellen.
-
1 zeigt eine beispielhafte Ausführungsform der vorliegenden Erfindung. Eine Kontaktzentrale100 umfasst einen zentralen Server110 , einen Satz von Datenspeichern oder Datenbanken114 , die kontakt- oder kundenbezogene Informationen und andere Informationen enthalten, welche den Wert und die Effizienz der Kontaktabwicklung verbessern können, sowie eine Mehrzahl von Servern, nämlich einen Sprachmail-Server118 , eine interaktive Sprachausgabeeinheit oder IVR (Interactive Voice Response)122 sowie andere Server126 (beispielsweise ein prädiktives Einwählprogramm (Dialer)), eine Vermittlungseinrichtung130 , eine Mehrzahl von arbeitenden Agenten, die paketvermittelte (erste) Telekommunikationseinrichtungen134-1 bis N bedienen (beispielsweise Arbeitsplatzcomputer oder Personalcomputer) und/oder leitungsvermittelte (zweite) Telekommunikationseinrichtungen138-1 bis M, die alle durch ein lokales Netz LAN (oder Weitverkehrsnetz WAN)142 untereinander verbunden sind. Die Server können über optionale Kommunikationsleitungen146 mit der Vermittlungseinrichtung130 verbunden sein. Wie zu erkennen sein wird, können die anderen Server126 auch einen Scanner (der normalerweise nicht mit der Vermittlungseinrichtung130 oder dem Webserver verbunden ist), VoIP-Software, Videoanrufsoftware, Sprachbenachrichtigungssoftware, einen IP-Sprachserver, einen Fax-Server, einen Webserver und einen E-Mail-Server und dergleichen umfassen. Die Vermittlungseinrichtung130 ist über eine Mehrzahl von Amtsleitungen150 mit dem öffentlichen Telekommunikationsnetz oder PSTN154 und über eine/mehrere Verbindung(en)152 mit den zweiten Telekommunikationseinrichtungen138-1 bis M verbunden. Ein Gateway158 ist zwischen dem Server110 und dem paketvermittelten Netz162 angeordnet, um Kommunikationsvorgänge abzuwickeln, die zwischen dem Server110 und dem Netz162 laufen. - Der Begriff "Vermittlungseinrichtung" oder "Server", wie er vorliegend genutzt wird, sollte dahingehend verstanden werden, dass er eine Nebenstellenanlage- (PBX-), eine automatische Anrufverteilungs- (ACD-), eine Firmen-Vermittlungseinrichtung oder eine andere Art von Telekommunikationssystem-Vermittlungseinrichtung oder -Server einschließt, ebenso wie andere Arten von prozessorbasierten Kommunikationssteuerungseinrichtungen wie etwa Medienserver, Computer, Adjuncts, usw.
- Die Vermittlungseinrichtung
130 und/oder der Server110 können eine beliebige Architektur aufweisen, um Kontakte zu einer oder zu mehreren Telekommunikationseinrichtungen zu lenken. Beispielsweise können die Vermittlungseinrichtung und/oder der Server eine modifizierte Form des ACD-Systems auf Basis der Nebenstellenanlage (PBX) DefinityTM, der PBX MultiVantageTM, des CRM Central 2000 ServerTM, des Communication ManagerTM, des Medienservers S8300TM und/oder des Avaya Interaction CenterTM der Avaya Inc. darstellen. Typischerweise stellt die Vermittlungseinrichtung/der Server ein speicherprogrammgesteuertes System dar, das in herkömmlicher Weise Schnittstellen zu externen Kommunikationsverbindungen, ein Kommunikationskoppelnetz, Dienstschaltungen (z. B. Tongeneratoren, Ansageschaltungen usw.), einen Speicher zum Speichern von Steuerprogrammen und Daten sowie einen Prozessor (d. h. einen Computer) zum Ausführen der gespeicherten Steuerprogramme, um die Schnittstellen und das Koppelnetz zu steuern und eine automatische Kontaktverteilungsfunktionalität bereitzustellen, umfasst. Die Vermittlungseinrichtung und/oder der Server umfassen typischerweise eine (nicht gezeigte) Netzschnittstellenkarte, um Dienste für die bedienten Telekommunikationseinrichtungen bereitzustellen. Andere Arten bekannter Vermittlungseinrichtungen und Server sind im Fachgebiet allgemein bekannt und werden daher vorliegend nicht im Detail beschrieben. - Die ersten Telekommunikationseinrichtungen
134-1 , ...134-N sind paketvermittelt und können beispielsweise IP-Hardphones wie etwa die 4600 Series IP PhonesTM der Avaya Inc., IP-Softphones wie etwa das IP SoftphoneTM der Avaya Inc., persönliche digitale Assistenten oder PDAs, Personalcomputer oder PCs, Laptops, paketbasierte H.320-Videotelefone und Konferenzschaltungseinheiten, paketbasierte Sprachbenachrichtigungs- und Antworteinheiten, paketbasierte herkömmliche Computertelefonie-Adjuncts und eine andere Kommunikationseinrichtung sein. - Die zweiten Telekommunikationseinrichtungen
138-1 , ...138-M sind leitungsvermittelt und können beispielsweise drahtgebundene und drahtlose Telefone, PDAs, H.320-Videotelefone und Konferenzschaltungseinheiten, Sprachbenachrichtigungs- und -Antworteinheiten, herkömmliche Computertelefonie-Adjuncts und eine andere Kommunikationseinrichtung sein. - Das paketvermittelte Netz
162 kann ein beliebiges Datennetz und/oder Netz mit verteilter Verarbeitung wie etwa das Internet sein. - Das paketvermittelte Netz
162 steht in Verbindung mit einer externen ersten Telekommunikationseinrichtung174 über ein Gateway178 , und das leitungsvermittelte Netz154 mit einer externen zweiten Telekommunikationseinrichtung180 . - Es sei betont, dass die Konfiguration der Vermittlungseinrichtung, des Servers, der Nutzer-Telekommunikationseinrichtungen und andere Elemente, wie sie in
1 gezeigt ist, lediglich der Veranschaulichung dient und nicht als die Erfindung auf irgendeine spezielle Anordnung von Elementen einschränkend betrachtet werden sollte. - Nehmen wir Bezug auf
2 , so ist in dieser eine mögliche Konfiguration des Servers110 dargestellt. Der Server110 steht in Verbindung mit einer Mehrzahl von Teilnehmerkommunikationsleitungen200a –y (welches eine oder mehrere Amtsleitungen, Telefonleitungen, usw. sein können) und einer Agentenkommunikationsleitung204 (welches eine Übertragungsleitung für Sprache und Daten wie etwa eine LAN-Leitung142 und/oder eine leitungsvermittelte Sprachleitung140 sein kann). Der Server110 kann ein Ereignisverarbeitungsmodul228 wie beispielsweise eine modifizierte Form des Basic Call Management SystemTM oder BCMS, Call Management SystemTM und/oder Operational AnalystTM der Avaya Inc. sein, welche Anrufdatensätze und Kontaktzentralen-Statistik zur Nutzung bei der Erzeugung von Kontaktzentralen-Berichten sammelt. - Unter den in dem Server
110 gespeicherten Daten befindet sich ein Satz von Kontaktwarteschlangen208a –n und ein separater Satz von Agentenwarteschlangen112a –n. Jede Kontaktwarteschlange208a –n entspricht einem unterschied lichen Satz von Agenten-Fähigkeiten, ebenso wie jede Agentenwarteschlage212a –n. Herkömmlich wird Kontakten eine Priorität zugeordnet und sie werden entweder in einzelnen Kontaktwarteschlangen208a –n in der Reihenfolge ihrer Priorität eingereiht oder werden in unterschiedlichen einer Mehrzahl von Kontaktwarteschlangen, die einer unterschiedlichen Priorität entsprechen, eingereiht. Gleichfalls wird den Fähigkeiten jedes Agenten eine Priorität zugeordnet, und zwar entsprechend dem Niveau der Expertenkenntnisse bezüglich dieser Fähigkeit, und die Agenten werden entweder in einzelnen Agentenwarteschlangen212a –n in der Reihenfolge ihre Niveaus an Fachkenntnissen eingereiht oder werden in unterschiedliche einer Mehrzahl von Agentenwarteschlangen212a –n eingereiht, die einer Fähigkeit entsprechen und wovon jede einem unterschiedlichen Niveau an Fachkenntnissen entspricht. Unter den Steuerprogrammen in dem Server110 befindet sich ein Kontaktvektor216 . Kontakte, die in der Kontaktzentrale eingehen, werden durch den Kontaktvektor216 unterschiedlichen Kontaktwarteschlangen208a –n zugeordnet, und zwar auf Basis einer Reihe vorbestimmter Kriterien, darunter der Identität des Kunden, den Ansprüchen des Kunden, den Ansprüchen der Kontaktzentrale, der momentanen Länge der Warteschlangen der Kontaktzentrale, dem Wert des Kunden und der Fähigkeit des Agenten, die zur richtigen Abwicklung des Kontakts erforderlich ist. Agenten, die zur Abwicklung von Kontakten zur Verfügung stehen, werden auf Basis der Fähigkeiten und/oder des Niveaus an Fähigkeiten, die sie besitzen, den Agentenwarteschlangen212a –n zugeordnet. -
3 stellt eine Ausführungsform des Ereignisverarbeitungsmoduls228 dar. Das Modul228 umfasst einen ersten Satz300 von Einrichtungen, nämlich eine Firmendatenbank304 und ein Extraktions-, Transformations- und Lade- oder ETL-Moduls308 , die von der Firma kontrolliert werden, sowie einen zweiten Satz312 von Einrichtungen, nämlich die firmenkontrollierte(n) Spezifikation(en)318 , einen Datenmodellmodifikator322 , Arbeitswarteschlangen316a –n, ein Datenimportmodul320 , eine Anbieter-Datenbank324 , eine Erweiterungstabelle328 , ein Semantik-Modul332 , eine Schlüsselverwaltung336 sowie einen Identitätsauflösungsdienst340 , die alle von einer dritten Seite, beispielsweise dem Hersteller, Anbieter oder der Dienstanbieter- oder Verwaltungsentität der Kontaktzentralen-Software kontrolliert werden. Anders ausgedrückt besitzen die Firma und die dritte Seite einen ersten und einen zweiten Satz von Berechtigungen, was die Modifikation der Datenbanksoftware der Kontaktzentrale betrifft, wobei der erste Satz von Berechtigungen nicht die Fähigkeit einschließt, die Datenbanksoftware und/oder das Datenmodell der Kontaktzentrale zu modifizieren, und wobei der zweite Satz von Berechtigungen diese Fähigkeit einschließt. Das "Modifizieren der Datenbanksoftware und/oder des Datenmodells" umfasst beispielsweise die Fähigkeit, Dimensionen, Schlüssel oder Attribute sowie Zeilen und/oder Spalten von Tabellen einzufügen, zu löschen und/oder zu aktualisieren. - Die Firmendatenbank
304 sowie das ETL-Modul308 sind herkömmlich. Wie zu erkennen sein wird, liest das ETL-Modul308 Daten aus seiner Quelle, bereinigt diese und formatiert sie einheitlich und schreibt sie danach in das Ziel-Repository, welches als eine Arbeitswarteschlange316 dargestellt ist. Beispielshalber führt das ETL-Modul308 etwaige Abbildungen von Schlüsseln/Identifiern von externen Quellen auf natürliche Schlüssel aus, die von dem durch die dritte Seite kontrollierten System erkannt werden. Das ETL-Modul308 stellt ferner sicher, dass die korrekten Daten geladen werden. Dies kann die Ausführung von Berechnungen oder anderen Transformationen an den Daten sowie die Verknüpfung dieser mit den richtigen Entitäten beinhalten. Beispiele für geeignete Software für die Firmendatenbank304 sind die Datenbankprodukte von OracleTM sowie die SQL-Server-Datenbankprodukte von MicrosoftTM sowie die Software zur Verwaltung von Kundenbeziehungen von SiebelTM, und Beispiele für geeignete ETL-Module sind die ETL-Systeme, die von MicrosoftTM, OracleTM, IBMTM, der Ascential Software CorporationTM und Hummingbird LtdTM angeboten werden. - Die firmenkontrollierte(n) Spezifikation(en)
318 und der Datenmodellmodifikator322 stellen zusammen ein erweiterbares Datenmodell bereit, das von der dritten Seite nach Anforderung durch die Firma modifiziert werden kann. Die Spezifikation(en) stellt/stellen vorzugsweise eine Metadaten-Spezifikation der Firma dar. Die Spezifikation stellt eine Datei in eXtended Markup Language oder XML dar, welche die Tabellen und Spalten definiert, die in das Datenmodell eingefügt werden sollen, aus diesem gelöscht werden sollen oder in diesem aktualisiert werden sollen. Die Spezifikation stellt vorzugsweise einen Satz von XML-Tags und deren Beziehungen zueinander dar. Die Firma ändert die Spezifikation(en) manuell und/oder über eine Benutzerschnittstelle. Die Benutzerschnittstelle würde beispielsweise dem Nutzer eine Reihe von Anfragen stellen, was die vorgeschlagenen Modifikationen betrifft, und würde die Antworten in eine XML-Datei in der/den Spezifikation(en) schreiben. Um dies zu ermöglichen, kann die Firma bei einer Konfiguration ausgewählte Teile des Datenmodells und/oder der echten Tabellen für die Datenbank324 anschauen (ohne Änderungsberechtigungen). Der Datenmodellmodifikator322 implementiert die in der/den Spezifikation(en)318 angegebene Modifikation. Das Datenmodell kann von dem Datenmodifikator322 in zumindest folgender Weise modifiziert werden: - 1. anwendungsspezifische Fakten können zu einer existierenden Faktentabelle hinzugefügt werden;
- 2. anwendungsspezifische Fakten können zu einer neuen Tabelle hinzugefügt werden, die parallel einer bestehenden Faktentabelle vorgesehen wird;
- 3. anwendungsspezifische Attribute können zu einer bestehenden Dimensionstabelle hinzugefügt werden;
- 4. anwendungsspezifische Attribute können zu einer neuen Tabelle hinzugefügt werden, die parallel zu einer bestehenden Dimensionstabelle vorgesehen ist; und
- 5. anwendungsspezifische Tabellen können hinzugefügt werden.
- Dies vorausgesetzt, umfasst/umfassen die Spezifikationen typischerweise Spezifikationen, welche die Daten betreffen, die von dem ETL-Modul empfangen werden sollen. Beispiele für solche Spezifikationen sind Dimensionsidentitäten und Beziehungen zu anderen Objekten (d. h. Dimensionen, Schlüsseln und Attributen) in dem Datenmodell
324 , die Identitäten neuer Reihen und Spalten sowie die Beziehungen zu anderen Objekten in dem Datenmodell, Schlüsselidentitäten und -typen sowie deren Beziehungen zu anderen Objekten in dem Datenmodell, Attributidentitäten und -beziehungen zu anderen Objekten in dem Datenmodell, die Identitäten von Spalten, welche Änderungen vom Typ 1 oder 2 erfordern, und dergleichen. - Wenn eine existierende Fakten- oder Dimensionstabelle erweitert wird, werden die Spalten, die in der/den Spezifikation(en) spezifiziert sind, von dem Modifikator
322 zu der existierenden Tabelle hinzugefügt. Dies ermöglicht eine einfachere und bessere Ausführung von Listenabfragen, kann aber zu breiten Tabellen führen. Dieser Ansatz ist natürlich beschränkt, wenn eine spezielle Datenbankimplementierung die Anzahl der Spalten, die in einer Tabelle gestattet sind, einschränkt. - Um Einschränkungen bezüglich breiter Tabellen zu umgehen, kann der Datenmodellmodifikator
322 eine neue Tabelle erzeugen, die parallel zu der bestehenden Tabelle vorgesehen wird. Die neue Tabelle enthält die anwendungsspezifischen Spalten sowie einen Schlüssel, der sich auf die bestehende Tabelle bezieht. Dieser Ansatz ist beliebig erweiterbar, erfordert aber eine Vereinigung, um auf die Spalten oder Datenfelder der Firma zuzugreifen. Neue Tabellen, die über diesen Ansatz erzeugt werden, werden von der dritten Seite in der gleichen Weise wie Standardtabellen verwaltet. - Der Modifikator
322 kann auch anwendungsspezifische Tabellen erzeugen, die vollständig von der Firma verwaltet werden. - Die neuen Tabellen und die Firmentabellen sind insgesamt in den Erweiterungstabellen
328 umfasst. - Für jede Tabelle mit anwendungsspezifischen Spalten und für jede Erweiterungstabelle
328 erzeugt der Modifikator322 eine entsprechende Arbeitswarteschlange316a –n. Jede Arbeitswarteschlange enthält die anwendungsspezifischen Spalten und den natürlichen Schlüssel und empfängt Daten von dem ETL-Modul308 zum Import in die jeweilige anwendungsspezifische Spalte in der Datenbank324 des Anbieters und/oder in die entsprechende anwendungsspezifische (Erweiterungs-)Tabelle328 . Vorzugsweise sind die einzigen Tabellen, in welche die Firma schreiben kann, die Arbeitswarteschlangentabellen und etwaige firmenkontrollierte anwendungsspezifische Tabellen. - Das Datenimportmodul
320 kopiert die Daten aus den Arbeitswarteschlangen316a –n gegebenenfalls in die Datenbank324 der dritten Seite und die Erweiterungstabellen328 . Das Modul320 wirkt als ein Eingabeadapter, der die Datensätze in der Arbeitswarteschlange in normierte Ereignisse übersetzt und nötigenfalls Dimensionsaktualisierungen vornimmt. Ein "Ereignis" ist ein Vorkommnis oder ein Vorfall, und ein "normiertes Ereignis" ist ein Ausdruck für ein Ereignis, das mit den Datenstrukturen in dem Datenmodell der dritten Seite konsistent ist. Normierte Ereignisse werden für jede Aktualisierung erzeugt und werden zur Verarbeitung in das System312 eingespeist. Beispielsweise konvertiert das Modul320 natürliche Schlüssel zu Entitätsidentifiern oder für die Datenbank324 der Kontaktzentrale internen Schlüsseln, und zwar mit Hilfe des (optionalen) Identitätsauflösungsdienstes (IRS – Identity Resolution Service)340 und der Schlüsselverwaltung336 . - Das Datenimportmodul kann auf mehrerlei Weise anwendungsspezifische Ereignisse in normierte Ereignisse konvertieren. Beispielsweise kann ein XML-Schema für anwendungsspezifische Ereignisse definiert werden und ein Web-Dienst publiziert werden, der das XML in normierte Ereignisse übersetzt. Ein alternativer Ansatz besteht darin, einen anwendungsspezifischen Eingabeübersetzer zu implementieren, der Ereignisse von dem ETL-Modul
308 empfängt und diese in normierte Ereignisse übersetzt. Zusätzlich kann eine standardmäßige Ereignisquelle ihre eigenen anwendungsspezifisch gestaltbaren Ereignisfähigkeiten aufweisen. - Das Datenimportmodul kann derart terminiert werden, dass in es einem von der Firma spezifizierten Intervall läuft (z. B. täglich, stündlich, alle 5 Minuten, usw.), manuell aufgerufen wird, nachdem das ETL-Modul gelaufen ist, oder von einem Datenbanktrigger aufgerufen wird.
- Der Identitätsauflösungsdienst
340 unterhält eine Tabelle mit Entitätsidentifiern, Hinweisen und entsprechenden natürlichen Schlüsseln. Ein "Hinweis" ist eine Form von Anweisung, die angibt, wann ein Surrogatschlüssel zur Nutzung gültig ist. Beispiele für Hinweise sind Ja/Nein-Merker bezüglich der Verfügbarkeit des Surrogatschlüssels für den momentanen Gebrauch, ein Datum und/oder eine Zeit, nach welchem/r der Surrogatschlüssel gültig ist, eine Signatur, die anzeigt, dass der Schlüssel gültig ist, ein bezeichnetes Ereignis, das auftreten muss, bevor der Schlüssel gültig ist, ein Zeitstempel (wie beispielsweise von der Entitäts-IDentifier- oder EID-Anforderung), der Surrogatschlüssel selbst, eine Sequenznummer und dergleichen. Bei einer Ausführungsform wird der Hinweis von der Schlüsselverwaltung genutzt, um von einer EID auf einen entsprechenden (gültigen) Surrogatschlüssel abzubilden. - Die Schlüsselverwaltung
336 verwaltet die Surrogatschlüssel. Wenn eine administrative Änderung bewirkt, dass ein neuer Surrogatschlüssel generiert wird, sendet die Schlüsselverwaltung336 den Entitätsidentifier an den Identitätsauflösungsdienst340 zusammen mit dem Hinweis, dass ein neuer Surrogatschlüssel verfügbar ist. Die Konfigurationen und Funktionsvorgänge des IRS340 und der Schlüsselverwaltung336 sind detailliert in der gleichzeitig anhängigen US-Anmeldung 11/199,828, eingereicht am 08. August 2005, mit dem Titel "Deferred Control of Surrogate Key Generation in a Distributed Processing Architecture" von Bland et al. beschrieben, die hier durch diese Bezugnahme einbezogen wird. - Das (optionale) Semantikmodul
332 bietet ein Objektmodell zum Aktualisieren von Dimensions- und Faktendaten an, versteckt die Details der Implementierung der realen Datenbank vor der Firma, einschließlich des realen Schemas, der Abstraktion der Datenbank der dritten Seite sowie der Dimensionssemantik vom Typ 2, verwaltet die Dimensionssemantik vom Typ 2 (d. h. wickelt Dimensionsänderungen vom Typ 2 ab, darunter die Erzeugung von Surrogatschlüsseln) und schreibt, in Zusammenarbeit mit dem Datenimportmodul320 , Dimensions- und Faktendaten in die Datenbanken. - Die Drittseiten-, Erweiterungstabellen- und Firmendatenbank,
304 ,324 und328 , bilden zusammen die Datenbank114 aus1 . Die Datenbanken enthalten Fakten und Messwerte und damit in Beziehung stehende Semantik, eine Anzahl von Firmenobjekten betreffend, beispielsweise Kunden, Agenten, Kontakte oder Arbeitsthemen, sowie die Agenten- und Kontaktwarteschlangen208 und212 . - Die Funktionsweise des Datenmodellmodifikators
322 soll nun mit Bezug auf4 diskutiert werden. - Der Prozess wird in Schritt
400 eingeleitet, wenn ein Eintrag durch die Firma in die Spezifikation(en)318 geschrieben wird. - In Schritt
404 erkennt der Modifikator322 den Eintrag durch ein geeignetes Verfahren. Das Verfahren kann beispielsweise in einem Abfragemechanismus bestehen, oder indem direkt der Modifikator322 ausgelöst wird, nachdem der Eintrag erfolgte. - In Schritt
408 ruft der Modifikator322 einen nächsten Eintrag in der/den Spezifikation(en) ab. - In Schritt
412 modifiziert der Modifikator322 das Datenmodell wie durch den Eintrag angefordert. - In Schritt
416 löscht der Modifikator322 den verarbeiteten Eintrag aus der/den Spezifikation(en). - Im Entscheidungsfeld
420 stellt der Modifikator322 fest, ob es einen nächsten Eintrag in der/den Spezifikation(en) gibt. Falls nicht, kehrt der Modifikator322 zu Schritt400 zurück. Falls ja, kehrt der Modifikator322 zu Schritt408 zurück und wiederholt diesen in Bezug auf den nächsten Eintrag. - Ein Beispiel soll die Funktionsweise des Modifikators
322 veranschaulichen. Nehmen wir an, dass die Firma eine Agentenkennung zu dem Datenmodell hinzufügen möchte, weil die Firma eine interne Agentenkennung für jeden ihrer Agenten in der Kontaktzentrale hat. Die Firma möchte daher zu der Agentdimension des Datenmodells der dritten Seite hinzufügen. Die Firma erzeugt eine XML-Spezifikation, die angibt, dass eine Spalte (oder Dimension des Typs 2), die als "Kunden-ID" bezeichnet wird, zu der Tabelle Agentdimension hinzugefügt werden soll. Der Spaltentyp wird als "String" bezeichnet. Wie zu erkennen sein wird, sind andere potentielle Typen für Spalten eine numerische Währung, ein ganze Zahl, Gleitzahl und Datum/Zeit. Die XML-Spezifikation lautet folgendermaßen: - Unter Ansprechen darauf erzeugt der Modifikator in dem Datenmodell eine Erweiterungstabelle für die Tabelle Agentdimension, welche die Spalte Kunden-ID enthält (als ein Fremdschlüssel in dem Datenmodell der dritten Seite für die Datenbank
324 ) und fügt eine Arbeitswarteschlangentabelle hinzu, die mit der Erweiterungstabelle verknüpft ist. Nachdem Daten in die Arbeitswarteschlange für eine Kundenkennung geschrieben worden sind, werden sie von dem Datenimportmodul320 in die entsprechende Erweiterungstabelle geschrieben. Wie zu erkennen sein wird, könnte die neue Spalte, anstatt dass eine separate Erweiterungstabelle erzeugt wird, direkt an das Datenmodell für die Datenbank324 angefügt werden. - Die Funktionsweise des Datenimportmoduls
320 , des Identitätsauflösungsdienstes340 , der Schlüsselverwaltung336 und des Semantikmoduls332 soll nun mit Bezug auf5 beschrieben werden. - Im Schritt
500 schreibt das ETL-Modul320 einen Datensatz/mehrere Datensätze in eine oder mehrere Arbeitswarteschlangen (z. B. Arbeitswarteschlangentabellen). - In Schritt
504 erkennt das Datenimportmodul320 den/die neuen Datensatz/-sätze in der/den Arbeitswarteschlange(n). Die Erkennung erfolgt durch irgendein geeignetes Verfahren, beispielsweise durch einen Abfragemechanismus (bei welchem das Datenimportmodul periodisch (in definierten Intervallen) die Arbeitswarteschlangen nach Informationen über unverarbeitete Einträge abfragt), einen Datenbanktrigger (welcher Software in der Arbeitswarteschlange aktiviert; d. h. ein Datenbankcode in den Arbeitswarteschlangen ruft einen Applikationscode auf, wenn der Datenbankcode feststellt, dass eine neue Zeile in die Arbeitswarteschlangentabelle geschrieben worden ist) oder indem die Firma direkt eine Importapplikation auslöst, nachdem in die Warteschlangentabelle geschrieben werden ist. - In Schritt
508 ruft das Datenimportmodul320 den nächsten (eingegebenen) Datensatz aus der Arbeitswarteschlange ab. - In Schritt
512 führt das Datenimportmodul320 etwaig notwendige Transformationen an dem abgerufenen Datensatz zur Normierung der Daten aus. Beispielsweise werden die (externen) natürlichen Schlüssel der Firma in (interne) Schlüssel des Datenbankmodells (beispielsweise Entitätsidentifier) konvertiert. - In Schritt
516 liest das Datenimportmodul320 den seit kürzestem existierenden Datensatz aus der Datenbank114 für den spezifizierten internen Schlüssel. - In Schritt
520 vergleicht das Modul320 die Attribute des existierenden Datenbank-Datensatzes mit den neuen Attributen in dem abgerufenen Datensatz. - Im Entscheidungsfeld
524 stellt das Modul320 fest, ob sich irgendwelche Attribute geändert haben. Anders ausgedrückt stellt das Modul fest, ob die Attribute in dem abgerufenen Datensatz sich von den Attributen in der Datenbank114 für den spezifizierten internen Schlüssel unterscheiden. - Wenn keine Änderung vorhanden ist, führt das Modul
320 in Schritt528 keinerlei Änderung an der Datenbank114 für den abgerufenen Datensatz aus. - Wenn eine Änderung vorhanden ist, stellt das Modul
320 im Entscheidungsfeld536 fest, ob sich irgendwelche Attribute vom Typ 2 geändert haben. - Wenn sich kein Attribut vom Typ 2 geändert hat, führt das Modul
320 in Schritt532 eine Aktualisierung vom Typ 1 aus. Bei einer Konfiguration wird, wenn eine Dimension vom Typ 1 konfiguriert wird, der Entitätsidentifier als der Schlüssel genutzt, und eine Aktualisierung in Schritt532 beeinflusst die existierende Zeile in der Tabelle. - Wenn sich ein Attribut vom Typ 2 geändert hat, erzeugt das Semantikmodul in Schritt
540 einen neuen Surrogatschlüssel, und in Schritt544 fügt das Datenimportmodul320 einen neuen Datensatz, der den neuen Surrogatschlüssel und einen/mehrere neue(n) Attributwert(e) enthält, ein. - Bei einer Konfiguration, wenn eine Dimension vom Typ 2 konfiguriert wird und sich die Aktualisierung auf eine Dimension bezieht, wählen die Module
320 und332 die momentanen Dimensionsdaten aus der Datenbank aus (wobei die Auswahl auf dem Entitätsidentifier oder der Nutzung der Schlüsselverwaltung336 zur Abbildung des Entitätsidentifiers auf einen entsprechenden Surrogatschlüssel basiert) (Schritt516 ); vergleicht die momentanen Daten mit den für die Aktualisierung angeforderten neuen Daten (falls keine Spalten geändert wurden, ist keine momentane Aktualisierung notwendig) (Schritt520 ); stellt fest, welche Spalte vom Typ 2 ist (Schritt536 ); erzeugt, wenn alle Änderungen auf Spalten vom Typ 1 beschränkt sind, eine Aktualisierungsanweisung, um die momentane Zeile in der Datenbank zu aktualisieren (Schritt532 ); und fordert, falls sich eine Spalte vom Typ 2 geändert hat, einen neuen Surrogatschlüssel von der Schlüsselverwaltung an (Schritt540 ) und generiert eine Einfügungsanweisung, um eine neue Zeile in die Datenbank mit dem neuen Surrogatschlüssel einzufügen (Schritt544 ). - Falls eine Spalte vom Typ 2 konfiguriert wird und die Aktualisierung einen Fakt betrifft, aktualisieren die Module
320 und322 den Fakt, indem sie einen Surrogatschlüssel von der Schlüsselverwaltung anfordern, und zwar unter Nutzung des Entitätsidentifiers und eines Hinweises (wie erwähnt informiert der Hinweis die Schlüsselverwaltung darüber, welcher Surrogatschlüssel für die spezielle Faktenaktualisierung gilt, und wird von dem IRS, dem Datenimportmodul oder einem Ereignisprozessor erzeugt und der Schlüsselverwaltung zur Verfügung gestellt) (Schritt540 ), und erzeugt eine geeignete Anweisung in Structured Query Language (SQL), um die Faktdaten mit Hilfe des von der Schlüsselverwaltung bereitgestellten Surrogatschlüssels einzufügen oder zu aktualisieren (Schritt544 ). - Eine Veranschaulichung der Funktionsweise des Dateneingabe- und des Semantikmoduls
320 und332 soll unter Bezugnahme auf das vorstehende Beispiel diskutiert werden. Nehmen wir an, dass ein Agent "Bob Smith", der in der Datenbank324 einen natürlichen Schlüssel "100" hat, eine entsprechende Kunden-ID "12345" aufweist. In der entsprechenden Arbeitswarteschlange schreibt das ETL-Modul einen Fremdschlüssel, nämlich "100" (der dem natürlichen Schlüssel der dritten Seite entspricht), und den entsprechenden natürlichen Schlüssel der Firma, oder die Kunden-ID, nämlich "12345". Das Datenimportmodul erkennt den Eintrag in der Arbeitstabelle und fügt einen entsprechenden Datensatz ein, nämlich eine neue Instanz "Bob Smith" mit einem neuen Schlüssel "101", weil die Änderung als eine Änderung vom Typ 2 spezifiziert ist. Der Datensatz stellt eine neue Zeile in der Tabelle Agentdimension dar, die durch den Schlüssel "101" identifiziert wird. Der Eintrag wird dann aus der Tabelle in der Arbeitswarteschlange gelöscht. - Eine Reihe von Varianten und Modifikationen der Erfindung können genutzt werden. Es wäre möglich, einige Merkmale der Erfindung vorzusehen, ohne dass andere vorgesehen werden.
- Beispielsweise ist bei einer alternativen Ausführungsform die Erfindung nicht auf Dimensionsmodelle vom Typ 2 beschränkt, sondern auf irgendein Dimensionsmodell oder eine andere Art von relationalem (nicht-dimensionalem) Datenbankmodell. Die Erfindung ist insbesondere anwendbar auf jede Applikation, bei welcher eine komplizierte Semantik zwischen dem Datenmodell der Applikation und den Erweiterungen, die ein Kunde möglicherweise integrieren möchte, vorhanden ist. Obwohl eine Semantik vom Typ 2 ein gutes Beispiel für eine solche Komplexität darstellt, könnte es andere Anwendungen geben, die nur Typ-1-dimensionale oder nicht-dimensionale Datenbanken mit komplizierter Semantik umfassen.
- Bei einer anderen alternativen Ausführungsform kann der Server und/oder die Vermittlungseinrichtung ein softwaregesteuertes System darstellen, das eine Verarbeitungseinheit (CPU), einen Mikroprozessor oder eine andere Art von digitalem Datenprozessor umfasst, der Software ausführt, oder eine anwendungsspezifische integrierte Schaltung (ASIC) wie auch verschiedene Teile oder Kombinationen solcher Elemente. Der Speicher kann einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM) oder Kombinationen dieser und anderer Arten elektronischer Speichereinrichtungen darstellen.
- Die vorliegende Erfindung in ihren verschiedenen Ausführungsformen umfasst Komponenten, Verfahren, Prozesse, Systeme und/oder Vorrichtungen im Wesentlichen so, wie sie vorliegend dargestellt und beschrieben worden sind, einschließlich verschiedener Ausführungsformen, Teilkombinationen und Teilgruppen derselben. Fachleute auf dem Gebiet werden nach dem Verstehen der vorliegenden Offenbarung verstehen, wie die vorliegende Erfindung auszuführen und zu nutzen ist.
- Die vorliegende Erfindung umfasst in verschiedenen Ausführungsformen das Bereitstellen von Einrichtungen und Prozessen ohne solche Elemente, die vorliegend oder in verschiedenen Ausführungsformen des Vorstehenden nicht dargestellt und/oder beschrieben worden sind, darunter ohne solche Elemente, die möglicherweise bei früheren Einrichtungen oder Prozessen verwendet worden sind, z. B. um das Funktionsverhalten zu verbessern, eine einfache Realisierung zu erreichen und/oder die Kosten der Realisierung zu reduzieren.
- Die vorstehende Diskussion der Erfindung wurde zum Zwecke der Veranschaulichung und Beschreibung dargeboten. Mit dem Vorstehenden wird nicht beabsichtigt, die Erfindung auf die vorliegend offenbarte(n) Form oder Formen einzuschränken. In der vorstehenden detaillierten Beschreibung sind beispielsweise verschiedene Merkmale der Erfindung in. einer oder mehreren Ausführungsformen zusammengefasst, zum Zwecke der flüssigeren Offenbarung. Diese Methode der Offenbarung darf nicht dahingehend interpretiert werden, dass sie eine Intension widerspiegelt, dass die beanspruchte Erfindung mehr Merkmale erfordere, als explizit in jedem Anspruch angeführt sind. Wie die folgenden Ansprüche reflektieren, beruhen die erfindungsgemäßen Aspekte vielmehr auf weniger als allen Merkmalen einer einzigen vorstehend offenbarten Ausführungsform. Die folgenden Ansprüche seien hiermit also in diese detaillierte Beschreibung einbezogen, wobei jeder Anspruch für sich allein für eine separate bevorzugte Ausführungsform der Erfindung steht.
- Obgleich darüber hinaus die Beschreibung der Erfindung die Beschreibung einer oder mehrerer Ausführungsformen und bestimmter Varianten und Modifikationen umfasste, liegen auch andere Varianten und Modifikationen innerhalb des Schutzumfangs der Erfindung, wie sie zum Beispiel nach dem Verstehen der vorliegenden Offenbarung im Rahmen der Fertigkeiten und Kenntnisse von Fachleuten auf dem Gebiet liegen werden. Es wird beabsichtigt, Rechte zu erlangen, die alternative Ausführungsformen in dem gestatteten Umfang einschließen, darunter alternative, austauschbare und/oder äquivalente Strukturen, Funktionen, Bereiche oder Schritte zu den beanspruchten, egal ob diese alternativen, austauschbaren und/oder äquivalenten Strukturen, Funktionen, Bereiche oder Schritte vorliegend offenbart sind oder nicht, und ohne die Absicht, etwaig patentierbare Erfindungsmerkmale öffentlich zu überlassen.
Claims (15)
- Datenverarbeitungssystem, umfassend: eine erste Datenbank (
304 ), die von einer ersten Seite unterhalten wird; eine zweite Datenbank (324 ,328 ), die von einer zweiten Seite unterhalten wird, die sich von der ersten Seite unterscheidet; Arbeitswarteschlangenmittel (316 ) zum Spezifizieren von Daten, die zu der zweiten Datenbank hinzugefügt werden sollen; Extraktions-, Transformations- und Lademittel (308 ) zum Schreiben von Daten aus der ersten Datenbank in die Arbeitswarteschlangenmittel; und Datenimportmittel (320 ) zum Importieren von Daten aus der Arbeitswarteschlange in die zweite Datenbank, wobei die erste Seite nicht berechtigt ist, die Daten direkt in die zweite Datenbank zu schreiben. - System nach Anspruch 1, bei welchem die erste Seite ein Kunde ist und die zweite Seite ein Verkäufer der zweiten Datenbank ist, wobei die erste Seite nicht berechtigt ist, die Semantik der zweiten Datenbank direkt zu modifizieren, wobei die erste Seite nicht berechtigt ist, bereits existierende Daten aus der zweiten Datenbank zu löschen und bereits existierende Daten in der zweiten Datenbank zu aktualisieren, und wobei die zweite Seite nicht berechtigt ist, die Semantik der ersten Datenbank direkt zu modifizieren, und welches ferner umfasst: Semantikmittel zum Ausführen von Aktualisierungen an Dimensionssemantik vom Typ 2 in der zweiten Datenbank, um den importierten Daten Rechnung zu tragen.
- System nach Anspruch 2, bei welchem die erste Seite berechtigt ist, zumindest ausgewählte Teile der zweiten Datenbank anzuschauen, und welche ferner umfasst: eine Spezifikation (
318 ), um eine zweite Datenbank, die von einer zweiten Seite unterhalten wird, zu erweitern, wobei die Spezifikation von der ersten Seite bereitgestellt wird; und Modifikatormittel (322 ), um ein Datenmodell zu modifizieren, das die zweite Datenbank beschreibt, um die Spezifikation zu reflektieren und die Arbeitswarteschlangenmittel, die der Modifikation entsprechen, zu erzeugen. - System nach einem der Ansprüche 1 bis 3, bei welchem die Arbeitswarteschlangenmittel einen natürlichen Schlüssel für die erste Datenbank umfassen, wobei der natürliche Schlüssel bezüglich der zweiten Datenbank extern ist, wobei die Datenimportmittel den natürlichen Schlüssel in einen für die zweite Datenbank internen und für die erste Datenbank externen Schlüssel konvertieren, und wobei die Modifikation zumindest eine der folgenden darstellt: (i) Hinzufügen von anwendungsspezifischen Fakten zu einer existierende Faktentabelle in der zweiten Datenbank; (ii) Hinzufügen von anwendungsspezifischen Fakten zu' einer neuen Tabelle, die parallel einer existierenden Faktentabelle in der zweiten Datenbank vorgesehen wird; (iii) Hinzufügen von anwendungsspezifischen Attributen zu einer existierenden Dimensionstabelle in der zweiten Datenbank; (iv) Hinzufügen von anwendungsspezifischen Attributen zu einer neuen Tabelle, die parallel einer existierenden Dimensionstabelle in der zweiten Datenbank vorgesehen ist; und (v) Hinzufügen einer anwendungsspezifischen Tabelle.
- Verfahren, umfassend: (a) Empfangen, von einer ersten Seite, eines Satzes von Spezifikationen, die eine Erweiterung an einer zweiten Datenbank definieren, die von der zweiten Seite unterhalten wird; (b) Modifizieren der zweiten Datenbank wie in dem Satz von Spezifikationen angegeben, wobei die Modifikation zumindest entweder eine anwendungsspezifische Tabelle oder eine anwendungsspezifische Spalte in einer Tabelle umfasst; (c) Erzeugen einer Arbeitswarteschlange entsprechend der Modifikation; (d) Empfangen von ersten Daten aus einer ersten Datenbank durch die Arbeitswarteschlange; (e) Normieren der ersten Daten, um zweite Daten zu bilden, wobei die ersten Daten mit der ersten Datenbank semantisch kompatibel sind und mit der zweiten Datenbank semantisch inkompatibel sind und wobei die zweiten Daten mit der ersten Datenbank semantisch inkompatibel sind und mit der zweiten Datenbank semantisch kompatibel sind; und (f) Schreiben der zweiten Daten in zumindest entweder eine anwendungsspezifische Tabelle oder eine anwendungsspezifische Spalte in einer Tabelle.
- Verfahren nach Anspruch 5, bei welchem eine Arbeitswarteschlange für jeden einer Mehrzahl von Spezifikationssätzen erzeugt wird, wobei die erste Seite ein Kunde ist und die zweite Seite ein Verkäufer der zweiten Datenbank ist, wobei die erste Seite nicht berechtigt ist, die Semantik der zweiten Datenbank direkt zu modifizieren, wobei die erste Seite nicht berechtigt ist, direkt in die zweite Datenbank zu schreiben und wobei die zweite Seite nicht berechtigt ist, die Semantik der ersten Datenbank direkt zu modifizieren, und welches ferner umfasst: (g) Gestatten, dass die erste Seite nur ausgewählte Teile der zweiten Datenbank anschaut.
- Verfahren nach einem der Ansprüche 5 bis 6, bei welchem die Modifikation zumindest eine der folgenden darstellt: (i) Hinzufügen von anwendungsspezifischen Fakten zu einer existierenden Faktentabelle in der zweiten Datenbank; (ii) Hinzufügen von anwendungsspezifischen Fakten zu einer neuen Tabelle, die parallel einer existierenden Faktentabelle in der zweiten Datenbank vorgesehen wird; (iii) Hinzufügen von anwendungsspezifischen Attributen zu einer existierenden Dimensionstabelle in der zweiten Datenbank; (iv) Hinzufügen von anwendungsspezifischen Attributen zu einer neuen Tabelle, die parallel einer existierenden Dimensionstabelle in der zweiten Datenbank vorgesehen wird; und (v) Hinzufügen einer anwendungsspezifischen Tabelle.
- Verfahren nach einem der Schritte 5 bis 7, bei welchem in Schritt (e) die Arbeitswarteschlange einen natürlichen Schlüssel für die erste Datenbank umfasst, wobei der natürliche Schlüssel bezüglich der zweiten Datenbank extern ist und wobei das Datenimportmodul den natürlichen Schlüssel in einen für die zweite Datenbank internen und für die erste Datenbank externen Schlüssel umwandelt, und welches ferner umfasst: (h) nach Schritt (b) Löschen des verarbeiteten Satzes von Spezifikationen.
- Verfahren nach einem der Ansprüche 5 bis 8, bei welchem der Schreibschritt umfasst: (f1) Vergleichen eines ersten Satzes von Attributen in der zweiten Datenbank mit einem entsprechenden bereits existierenden zweiten Satz von Attributen in der zweiten Datenbank; (f2) wenn der erste und der zweite Satz von Attributen unterschiedlich sind, Feststellen, ob sich ein Attribut vom Typ 2 geändert hat; (f3) wenn sich kein Attribut vom Typ 2 geändert hat, Ausführen einer Aktualisierung vom Typ 1 an der zweiten Datenbank; und (f4) wenn sich ein Attribut vom Typ 2 geändert hat, Generieren eines neuen Surrogatschlüssels und Einfügen eines neuen Datensatzes in die zweite Datenbank, der den neuen Surrogatschlüssel und den ersten Satz von Attributen enthält.
- Verfahren nach Anspruch 7, wobei die Modifikation (i) ist.
- Verfahren nach Anspruch 10, wobei die Modifikation (ii) ist.
- Verfahren nach Anspruch 11, wobei die Modifikation (iii) ist.
- Verfahren nach Anspruch 12, wobei die Modifikation (iv) ist.
- Verfahren nach Anspruch 13, wobei die Modifikation (v) ist.
- Computerlesbares Medium, welches ausführbare Anweisungen zum Ausführen der Schritte gemäß Anspruch 5 umfasst.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/246,789 US7752230B2 (en) | 2005-10-06 | 2005-10-06 | Data extensibility using external database tables |
US11/246,789 | 2005-10-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102006047499A1 true DE102006047499A1 (de) | 2007-04-12 |
Family
ID=37434776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102006047499A Ceased DE102006047499A1 (de) | 2005-10-06 | 2006-10-05 | Datenerweiterbarkeit mit Hilfe externer Datenbanktabellen |
Country Status (5)
Country | Link |
---|---|
US (1) | US7752230B2 (de) |
JP (1) | JP4499699B2 (de) |
CN (1) | CN100541492C (de) |
DE (1) | DE102006047499A1 (de) |
GB (1) | GB2431022A (de) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7415417B2 (en) * | 2002-03-15 | 2008-08-19 | Avaya Technology Corp. | Presence awareness agent |
US8094804B2 (en) | 2003-09-26 | 2012-01-10 | Avaya Inc. | Method and apparatus for assessing the status of work waiting for service |
US7734032B1 (en) | 2004-03-31 | 2010-06-08 | Avaya Inc. | Contact center and method for tracking and acting on one and done customer contacts |
US8000989B1 (en) | 2004-03-31 | 2011-08-16 | Avaya Inc. | Using true value in routing work items to resources |
US7953859B1 (en) | 2004-03-31 | 2011-05-31 | Avaya Inc. | Data model of participation in multi-channel and multi-party contacts |
US8738412B2 (en) | 2004-07-13 | 2014-05-27 | Avaya Inc. | Method and apparatus for supporting individualized selection rules for resource allocation |
US7949121B1 (en) | 2004-09-27 | 2011-05-24 | Avaya Inc. | Method and apparatus for the simultaneous delivery of multiple contacts to an agent |
US8234141B1 (en) | 2004-09-27 | 2012-07-31 | Avaya Inc. | Dynamic work assignment strategies based on multiple aspects of agent proficiency |
US7809127B2 (en) | 2005-05-26 | 2010-10-05 | Avaya Inc. | Method for discovering problem agent behaviors |
US7779042B1 (en) | 2005-08-08 | 2010-08-17 | Avaya Inc. | Deferred control of surrogate key generation in a distributed processing architecture |
US7822587B1 (en) | 2005-10-03 | 2010-10-26 | Avaya Inc. | Hybrid database architecture for both maintaining and relaxing type 2 data entity behavior |
US7787609B1 (en) | 2005-10-06 | 2010-08-31 | Avaya Inc. | Prioritized service delivery based on presence and availability of interruptible enterprise resources with skills |
US8737173B2 (en) | 2006-02-24 | 2014-05-27 | Avaya Inc. | Date and time dimensions for contact center reporting in arbitrary international time zones |
US7418453B2 (en) * | 2006-06-15 | 2008-08-26 | International Business Machines Corporation | Updating a data warehouse schema based on changes in an observation model |
US7936867B1 (en) | 2006-08-15 | 2011-05-03 | Avaya Inc. | Multi-service request within a contact center |
US8391463B1 (en) | 2006-09-01 | 2013-03-05 | Avaya Inc. | Method and apparatus for identifying related contacts |
US8811597B1 (en) | 2006-09-07 | 2014-08-19 | Avaya Inc. | Contact center performance prediction |
US8938063B1 (en) | 2006-09-07 | 2015-01-20 | Avaya Inc. | Contact center service monitoring and correcting |
US8255374B2 (en) * | 2006-10-02 | 2012-08-28 | Salesforce.Com, Inc. | Method and system for selecting amongst a plurality of processes to send a message |
US10387440B2 (en) | 2007-03-29 | 2019-08-20 | Jda Software Group, Inc. | Generic data staging and loading using enhanced metadata and associated method |
US8108335B2 (en) * | 2007-07-17 | 2012-01-31 | Teradata Us, Inc. | Techniques for integrating disparate data access mechanisms |
US8504534B1 (en) | 2007-09-26 | 2013-08-06 | Avaya Inc. | Database structures and administration techniques for generalized localization of database items |
US8862979B2 (en) * | 2008-01-15 | 2014-10-14 | Microsoft Corporation | Multi-client collaboration to access and update structured data elements |
US8856182B2 (en) | 2008-01-25 | 2014-10-07 | Avaya Inc. | Report database dependency tracing through business intelligence metadata |
US8078570B2 (en) * | 2009-05-01 | 2011-12-13 | International Business Machines Corporation | Versioning data warehouses |
US8565386B2 (en) | 2009-09-29 | 2013-10-22 | Avaya Inc. | Automatic configuration of soft phones that are usable in conjunction with special-purpose endpoints |
US8527443B2 (en) * | 2009-10-08 | 2013-09-03 | Oracle International Corporation | Techniques for processing ontologies |
US9516069B2 (en) | 2009-11-17 | 2016-12-06 | Avaya Inc. | Packet headers as a trigger for automatic activation of special-purpose softphone applications |
US8655859B2 (en) * | 2010-03-01 | 2014-02-18 | International Business Machines Corporation | Concurrency control for extraction, transform, load processes |
TWI461929B (zh) * | 2011-12-09 | 2014-11-21 | Promise Tecnnology Inc | 雲端數據儲存系統 |
US10445664B2 (en) * | 2013-02-20 | 2019-10-15 | Walmart Apollo, Llc | Systems and methods for navigating and reserving building spaces |
US9442977B2 (en) | 2013-09-06 | 2016-09-13 | Sap Se | Database language extended to accommodate entity-relationship models |
US9361407B2 (en) | 2013-09-06 | 2016-06-07 | Sap Se | SQL extended with transient fields for calculation expressions in enhanced data models |
US9619552B2 (en) * | 2013-09-06 | 2017-04-11 | Sap Se | Core data services extensibility for entity-relationship models |
US9430523B2 (en) | 2013-09-06 | 2016-08-30 | Sap Se | Entity-relationship model extensions using annotations |
US9639572B2 (en) | 2013-09-06 | 2017-05-02 | Sap Se | SQL enhancements simplifying database querying |
US10078699B2 (en) * | 2013-12-31 | 2018-09-18 | Facebook, Inc. | Field mappings for properties to facilitate object inheritance |
US20160110396A1 (en) * | 2014-10-21 | 2016-04-21 | Macrodata, Inc. | Data processing apparatuses, methods, and non-transitory tangible machine-readable medium thereof |
GB2534373A (en) | 2015-01-20 | 2016-07-27 | Ibm | Distributed system with accelerator and catalog |
GB2534374A (en) | 2015-01-20 | 2016-07-27 | Ibm | Distributed System with accelerator-created containers |
US9934277B2 (en) | 2015-05-19 | 2018-04-03 | International Business Machines Corporation | Data management system with stored procedures |
US10515326B2 (en) * | 2015-08-28 | 2019-12-24 | Exacttarget, Inc. | Database systems and related queue management methods |
US10133782B2 (en) * | 2016-08-01 | 2018-11-20 | Palantir Technologies Inc. | Techniques for data extraction |
CN110622152B (zh) * | 2017-02-27 | 2021-04-13 | 分秒库公司 | 用于查询时间序列数据的可扩展数据库系统 |
EP3785133A4 (de) * | 2018-04-24 | 2022-01-19 | Von Drakk, Viktor | Verbessertes verfahren und vorrichtung zum korrelieren mehrerer tabellen in einer datenbankumgebung |
US10764253B2 (en) | 2018-06-28 | 2020-09-01 | Bank Of America Corporation | System for using metadata to identify and extract specific upstream data, provisioning data batches, and providing dynamic downstream data access |
CN110008264B (zh) * | 2019-03-04 | 2020-12-25 | 广州易朋软件有限公司 | 成本核算系统的数据采集方法和装置 |
US11163761B2 (en) * | 2020-03-20 | 2021-11-02 | International Business Machines Corporation | Vector embedding models for relational tables with null or equivalent values |
CN112966047B (zh) * | 2021-03-05 | 2023-01-13 | 上海沄熹科技有限公司 | 一种基于分布式数据库的复制表功能实现方法 |
CN114595294B (zh) * | 2022-03-11 | 2022-09-20 | 北京梦诚科技有限公司 | 一种数据仓库建模和抽取方法及系统 |
Family Cites Families (345)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4163124A (en) | 1978-07-24 | 1979-07-31 | Rolm Corporation | Finite storage-time queue |
US4510351A (en) * | 1982-10-28 | 1985-04-09 | At&T Bell Laboratories | ACD Management information system |
US4567323A (en) * | 1983-07-12 | 1986-01-28 | At&T Bell Laboratories | Method and apparatus for providing a plurality of special services |
US4737983A (en) * | 1985-10-02 | 1988-04-12 | American Telephone And Telegraph Company Communications, Inc. | Automatic call distributor telephone service |
US5644727A (en) * | 1987-04-15 | 1997-07-01 | Proprietary Financial Products, Inc. | System for the operation and management of one or more financial accounts through the use of a digital communication and computation system for exchange, investment and borrowing |
US4797911A (en) * | 1987-06-16 | 1989-01-10 | Inventions, Inc. | Customer account online servicing system |
US4894857A (en) * | 1987-06-16 | 1990-01-16 | Inuentions Inc. | Method and apparatus for customer account servicing |
US5167010A (en) | 1989-08-03 | 1992-11-24 | Westinghouse Electric Corp. | Expert advice display processing system |
US6044205A (en) * | 1996-02-29 | 2000-03-28 | Intermind Corporation | Communications system for transferring information between memories according to processes transferred with the information |
US5001710A (en) * | 1989-10-24 | 1991-03-19 | At&T Bell Laboratories | Customer programmable automated integrated voice/data technique for communication systems |
US5274700A (en) | 1989-11-27 | 1993-12-28 | Unifi Communications Corporation | Methods of automatically rerouting an incoming telephone call placed over a network |
US5155761A (en) | 1990-01-26 | 1992-10-13 | Intervoice, Inc. | Automatic call back system and method of operation |
US5164981A (en) | 1990-06-04 | 1992-11-17 | Davox | Voice response system with automated data transfer |
US5101425A (en) * | 1990-08-07 | 1992-03-31 | Digital Systems International, Inc. | Operations monitoring system |
US5325292A (en) | 1990-10-12 | 1994-06-28 | Crockett Gary B | Tour/schedule generation for a force management system |
US5289368A (en) * | 1990-10-12 | 1994-02-22 | Iex Corporation | Force management system user interface |
US5911134A (en) | 1990-10-12 | 1999-06-08 | Iex Corporation | Method for planning, scheduling and managing personnel |
US5185780A (en) * | 1990-10-12 | 1993-02-09 | Tex Corporation | Method for predicting agent requirements in a force management system |
AU9063891A (en) * | 1990-11-20 | 1992-06-11 | Unifi Communications Corporation | Telephone call handling system |
US5291550A (en) * | 1990-12-26 | 1994-03-01 | At&T Bell Laboratories | Dynamic network call distributor |
US5206903A (en) * | 1990-12-26 | 1993-04-27 | At&T Bell Laboratories | Automatic call distribution based on matching required skills with agents skills |
US5164983A (en) | 1991-01-28 | 1992-11-17 | American Telephone & Telegraph Company | Telemarketing complex performance management system |
US5097528A (en) | 1991-02-25 | 1992-03-17 | International Business Machines Corporation | System for integrating telephony data with data processing systems |
US5278898A (en) * | 1991-05-30 | 1994-01-11 | Davox Corporation | System for managing a hold queue |
US5210789A (en) | 1991-06-28 | 1993-05-11 | International Telecharge, Inc. | Interactive telephone operator terminal |
US5749079A (en) | 1992-03-04 | 1998-05-05 | Singapore Computer Systems Limited | End user query facility including a query connectivity driver |
US5335269A (en) | 1992-03-12 | 1994-08-02 | Rockwell International Corporation | Two dimensional routing apparatus in an automatic call director-type system |
US5642515A (en) | 1992-04-17 | 1997-06-24 | International Business Machines Corporation | Network server for local and remote resources |
US5504894A (en) * | 1992-04-30 | 1996-04-02 | International Business Machines Corporation | Workload manager for achieving transaction class response time goals in a multiprocessing system |
US6173052B1 (en) | 1992-06-25 | 2001-01-09 | Apropros Technology | Blending communications in a call center |
AU4653593A (en) | 1992-06-25 | 1994-01-24 | Teledata Solutions, Inc. | Call distributor |
US5444774A (en) | 1992-06-26 | 1995-08-22 | At&T Corp. | Interactive queuing sytem for call centers |
US5309513A (en) | 1992-07-02 | 1994-05-03 | Rockwell International Corporation | Telephone system with ubiquitous agents |
EP0587290B1 (de) | 1992-07-30 | 2000-01-26 | Teknekron Infoswitch Corporation | Verfahren und System zur Überwachung und/oder Steuerung der Leistung einer Organisation |
US5684964A (en) | 1992-07-30 | 1997-11-04 | Teknekron Infoswitch Corporation | Method and system for monitoring and controlling the performance of an organization |
WO1994006087A1 (en) * | 1992-09-01 | 1994-03-17 | Nuttall David J H | Information model based on a physical system |
US5469504A (en) | 1992-10-14 | 1995-11-21 | Blaha; David L. | Automatic call distribution with intersubnetwork customer information transfer system and method |
WO1994009585A1 (en) | 1992-10-21 | 1994-04-28 | Digital Systems International, Inc. | Integrated intelligent call blending |
US5335268A (en) | 1992-10-22 | 1994-08-02 | Mci Communications Corporation | Intelligent routing of special service telephone traffic |
CA2102868C (en) | 1992-11-11 | 1999-10-26 | Joseph E. Bloom | Device for programming script sets in a telephone system |
GB2273025B (en) | 1992-11-12 | 1997-03-26 | Rockwell International Corp | Automatic call distributor with a programmable data window display system and method |
CA2103204C (en) | 1992-11-17 | 2002-11-12 | Daniel F. Baker | Call distributor with automatic preannouncement system and method |
US5499291A (en) * | 1993-01-14 | 1996-03-12 | At&T Corp. | Arrangement for automating call-center agent-schedule-notification and schedule-adherence functions |
JPH06232982A (ja) * | 1993-02-02 | 1994-08-19 | Fujitsu Ltd | 着信呼の分配制御方式 |
US5937051A (en) | 1993-07-08 | 1999-08-10 | Teknekron Infoswitch Corporation | Method and system for transferring calls and call-related data between a plurality of call centers |
AU677393B2 (en) | 1993-07-08 | 1997-04-24 | E-Talk Corporation | Method and system for transferring calls and call-related data between a plurality of call centres |
US5499386A (en) | 1993-07-09 | 1996-03-12 | Telefonaktiebolaget L M Ericsson | Best server selection in layered cellular radio system |
US5469503A (en) | 1993-07-27 | 1995-11-21 | Aspect Telecommunications Corporation | Method for resynchronizing secondary database and primary database with preservation of functionality of an automatic call distribution system |
US5594726A (en) * | 1993-09-17 | 1997-01-14 | Scientific-Atlanta, Inc. | Frequency agile broadband communications system |
AU693462B2 (en) | 1993-09-22 | 1998-07-02 | E-Talk Corporation | Method and system for automatically monitoring the performance quality of call center service representatives |
US5390243A (en) * | 1993-11-01 | 1995-02-14 | At&T Corp. | Telemarketing complex with automatic threshold levels |
US5436965A (en) | 1993-11-16 | 1995-07-25 | Automated Systems And Programming, Inc. | Method and system for optimization of telephone contact campaigns |
US5963911A (en) | 1994-03-25 | 1999-10-05 | British Telecommunications Public Limited Company | Resource allocation |
US5473773A (en) | 1994-04-04 | 1995-12-05 | International Business Machines Corporation | Apparatus and method for managing a data processing system workload according to two or more distinct processing goals |
US5537542A (en) | 1994-04-04 | 1996-07-16 | International Business Machines Corporation | Apparatus and method for managing a server workload according to client performance goals in a client/server data processing system |
US5537470A (en) | 1994-04-06 | 1996-07-16 | At&T Corp. | Method and apparatus for handling in-bound telemarketing calls |
US5577169A (en) | 1994-04-29 | 1996-11-19 | International Business Machines Corporation | Fuzzy logic entity behavior profiler |
US5864874A (en) * | 1994-05-02 | 1999-01-26 | Ubique Ltd. | Community co-presence system |
US6243714B1 (en) * | 1997-04-11 | 2001-06-05 | Ubique Ltd. | Co-presence data retrieval system |
GB2289149B (en) | 1994-05-02 | 1998-11-18 | Ubique Ltd | A co-presence data retrieval system |
US5790650A (en) | 1994-06-01 | 1998-08-04 | Davox Corporation | Telephone call center management system which supports multi-user and separate private applications |
US5784452A (en) | 1994-06-01 | 1998-07-21 | Davox Corporation | Telephony call center with agent work groups |
US5519773A (en) | 1994-06-07 | 1996-05-21 | Siemens Colm Communications Inc. | Call sharing for inbound and outbound call center agents |
US5506898A (en) | 1994-07-12 | 1996-04-09 | At&T Corp. | Expected wait-time indication arrangement |
US5592378A (en) * | 1994-08-19 | 1997-01-07 | Andersen Consulting Llp | Computerized order entry system and method |
US5682460A (en) | 1994-08-29 | 1997-10-28 | Motorola, Inc. | Method for selecting transmission preferences |
US5530744A (en) | 1994-09-20 | 1996-06-25 | At&T Corp. | Method and system for dynamic customized call routing |
US5611076A (en) * | 1994-09-21 | 1997-03-11 | Micro Data Base Systems, Inc. | Multi-model database management system engine for databases having complex data models |
US5594791A (en) | 1994-10-05 | 1997-01-14 | Inventions, Inc. | Method and apparatus for providing result-oriented customer service |
JPH08139802A (ja) | 1994-11-10 | 1996-05-31 | Fujitsu Ltd | リングトリップ判定回路 |
US5752027A (en) | 1994-11-30 | 1998-05-12 | Dun & Bradstreet Software Services, Inc. | Apparatus and process for creating and accessing a database centric object |
US5836011A (en) | 1995-01-20 | 1998-11-10 | International Business Machines Corporation | Implementation of teams and roles within a people oriented work environment |
US6339754B1 (en) * | 1995-02-14 | 2002-01-15 | America Online, Inc. | System for automated translation of speech |
US5546452A (en) | 1995-03-02 | 1996-08-13 | Geotel Communications Corp. | Communications system using a central controller to control at least one network and agent system |
DE69636239T2 (de) | 1995-04-24 | 2007-05-10 | International Business Machines Corp. | Verfahren und Gerät zur auf Geschicklichkeit basierten Leitweglenkung in einer Anrufzentrale |
US5790642A (en) | 1995-04-28 | 1998-08-04 | Dialogic Corporation | Competitively bidding service centers |
US5748468A (en) | 1995-05-04 | 1998-05-05 | Microsoft Corporation | Prioritized co-processor resource manager and method |
US5606361A (en) * | 1995-05-10 | 1997-02-25 | Davidsohn; John | Videophone interactive mailbox facility system and method of processing information |
US5603029A (en) * | 1995-06-07 | 1997-02-11 | International Business Machines Corporation | System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available |
US5751707A (en) | 1995-06-19 | 1998-05-12 | Bell Atlantic Network Services, Inc. | AIN interaction through wireless digital video network |
US5627884A (en) | 1995-06-26 | 1997-05-06 | Williams; Mark J. | Method for returning inbound calls |
US5790677A (en) | 1995-06-29 | 1998-08-04 | Microsoft Corporation | System and method for secure electronic commerce transactions |
US6236655B1 (en) * | 1995-07-19 | 2001-05-22 | Fujitsu Network Communications, Inc. | Port and link identification |
US5684872A (en) | 1995-07-21 | 1997-11-04 | Lucent Technologies Inc. | Prediction of a caller's motivation as a basis for selecting treatment of an incoming call |
CA2181781C (en) * | 1995-07-26 | 2000-02-29 | Seiji Iwafune | Television system for providing interactive television programs and server system for constructing the television system |
US6411682B1 (en) | 1995-09-21 | 2002-06-25 | Aspect Telecommunications Corporation | Computer controlled paging and telephone communication system and method |
US5884032A (en) * | 1995-09-25 | 1999-03-16 | The New Brunswick Telephone Company, Limited | System for coordinating communications via customer contact channel changing system using call centre for setting up the call between customer and an available help agent |
US5742675A (en) | 1995-09-26 | 1998-04-21 | Telefonaktiebolaget Lm Ericsson | Method and apparatus for automatically distributing calls to available logged-in call handling agents |
US6430282B1 (en) | 1995-09-29 | 2002-08-06 | Nortel Networks Limited | Methods and apparatus for originating voice calls |
US5703943A (en) | 1995-10-16 | 1997-12-30 | Lucent Technologies, Inc. | Completion of calls to a preferred agent in an automatic call distributor |
US5930786A (en) | 1995-10-20 | 1999-07-27 | Ncr Corporation | Method and apparatus for providing shared data to a requesting client |
US5754841A (en) | 1995-10-20 | 1998-05-19 | Ncr Corporation | Method and apparatus for parallel execution of user-defined functions in an object-relational database management system |
US5794250A (en) | 1995-10-20 | 1998-08-11 | Ncr Corporation | Method and apparatus for extending existing database management system for new data types |
US5689698A (en) | 1995-10-20 | 1997-11-18 | Ncr Corporation | Method and apparatus for managing shared data using a data surrogate and obtaining cost parameters from a data dictionary by evaluating a parse tree object |
US6597685B2 (en) | 1995-10-25 | 2003-07-22 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for determining and using multiple object states in an intelligent internet protocol telephony network |
US6175564B1 (en) * | 1995-10-25 | 2001-01-16 | Genesys Telecommunications Laboratories, Inc | Apparatus and methods for managing multiple internet protocol capable call centers |
US5926538A (en) | 1997-02-11 | 1999-07-20 | Genesys Telecommunications Labs, Inc | Method for routing calls to call centers based on statistical modeling of call behavior |
US5915012A (en) | 1997-01-14 | 1999-06-22 | Genesys, Telecommunications Laboratories, Inc. | System and method for operating a plurality of call centers |
EP0770967A3 (de) | 1995-10-26 | 1998-12-30 | Koninklijke Philips Electronics N.V. | System zur Entscheidungsunterstützung für das Management einer flinken Versorgungskette |
US5754639A (en) | 1995-11-03 | 1998-05-19 | Lucent Technologies | Method and apparatus for queuing a call to the best split |
US5740238A (en) | 1995-11-03 | 1998-04-14 | Lucent Technologies Inc. | Method and apparatus for queuing a call to the best backup split |
US20030051136A1 (en) | 1995-11-06 | 2003-03-13 | Pavel Curtis | Multimedia coordination system |
US5754776A (en) | 1995-12-28 | 1998-05-19 | Intel Corporation | Re-prioritizing background data transfers in multipoint conferencing |
US5802282A (en) | 1995-12-28 | 1998-09-01 | Intel Corporation | Recovering missing data during background data transfer in multipoint conferencing |
US5742763A (en) | 1995-12-29 | 1998-04-21 | At&T Corp. | Universal message delivery system for handles identifying network presences |
US5802510A (en) | 1995-12-29 | 1998-09-01 | At&T Corp | Universal directory service |
US5826039A (en) | 1995-12-29 | 1998-10-20 | Lucent Technologies Inc. | Universal connection point for resources and communication unrelated to a physical endpoint |
US5757904A (en) | 1996-02-05 | 1998-05-26 | Lucent Technologies Inc. | Context-sensitive presentation of information to call-center agents |
US5973756A (en) | 1996-02-06 | 1999-10-26 | Fca Corporation | IR Transmitter with integral magnetic-stripe ATM type credit card reader & method therefor |
US5838968A (en) | 1996-03-01 | 1998-11-17 | Chromatic Research, Inc. | System and method for dynamic resource management across tasks in real-time operating systems |
US5909669A (en) | 1996-04-01 | 1999-06-01 | Electronic Data Systems Corporation | System and method for generating a knowledge worker productivity assessment |
US5914951A (en) | 1996-04-16 | 1999-06-22 | At&T Corp | System and method for controlling and monitoring communication between customers and customer service representatives |
US5867562A (en) | 1996-04-17 | 1999-02-02 | Scherer; Gordon F. | Call processing system with call screening |
US20030144900A1 (en) | 2002-01-28 | 2003-07-31 | Whitmer Michael L. | Method and system for improving enterprise performance |
US5915010A (en) | 1996-06-10 | 1999-06-22 | Teknekron Infoswitch | System, method and user interface for data announced call transfer |
US6064730A (en) | 1996-06-18 | 2000-05-16 | Lucent Technologies Inc. | Customer-self routing call center |
US5721770A (en) * | 1996-07-02 | 1998-02-24 | Lucent Technologies Inc. | Agent vectoring programmably conditionally assigning agents to various tasks including tasks other than handling of waiting calls |
US6052723A (en) | 1996-07-25 | 2000-04-18 | Stockmaster.Com, Inc. | Method for aggregate control on an electronic network |
US6385646B1 (en) | 1996-08-23 | 2002-05-07 | At&T Corp. | Method and system for establishing voice communications in an internet environment |
US5903877A (en) | 1996-09-30 | 1999-05-11 | Lucent Technologies Inc. | Transaction center for processing customer transaction requests from alternative media sources |
US5897622A (en) | 1996-10-16 | 1999-04-27 | Microsoft Corporation | Electronic shopping and merchandising system |
US6446092B1 (en) | 1996-11-01 | 2002-09-03 | Peerdirect Company | Independent distributed database system |
US5796393A (en) | 1996-11-08 | 1998-08-18 | Compuserve Incorporated | System for intergrating an on-line service community with a foreign service |
US6055308A (en) | 1997-01-21 | 2000-04-25 | Genesys Telecommunications Laboratories, Inc. | Method and system for determining and using multiple object states in a computer telephony integration system |
US5903641A (en) | 1997-01-28 | 1999-05-11 | Lucent Technologies Inc. | Automatic dynamic changing of agents' call-handling assignments |
US5828747A (en) | 1997-01-28 | 1998-10-27 | Lucent Technologies Inc. | Call distribution based on agent occupancy |
US6014437A (en) * | 1997-02-03 | 2000-01-11 | International Business Machines Corporation | Multi service platform architecture for telephone networks |
US6044144A (en) * | 1997-02-07 | 2000-03-28 | Mci Communications Corp. | Network call parking manager |
US5940496A (en) | 1997-02-10 | 1999-08-17 | Gewesys Telecommunications Laboratories, Inc. | Apparatus and methods enhancing call routing within and between call-centers |
US5946387A (en) | 1997-02-10 | 1999-08-31 | Genesys Telecommunications Laboratories, Inc, | Agent-level network call routing |
US6185292B1 (en) * | 1997-02-10 | 2001-02-06 | Genesys Telecommunications Laboratories, Inc. | Skill-based real-time call routing in telephony systems |
US5923745A (en) | 1997-02-28 | 1999-07-13 | Teknekron Infoswitch Corporation | Routing calls to call centers |
US5982873A (en) | 1997-03-07 | 1999-11-09 | Lucent Technologies Inc. | Waiting-call selection based on objectives |
US5905793A (en) | 1997-03-07 | 1999-05-18 | Lucent Technologies Inc. | Waiting-call selection based on anticipated wait times |
US6185603B1 (en) * | 1997-03-13 | 2001-02-06 | At&T Corp. | Method and system for delivery of e-mail and alerting messages |
US6134318A (en) | 1997-03-19 | 2000-10-17 | At&T Corp | System and method for telemarketing through a hypertext network |
US5948065A (en) | 1997-03-28 | 1999-09-07 | International Business Machines Corporation | System for managing processor resources in a multisystem environment in order to provide smooth real-time data streams while enabling other types of applications to be processed concurrently |
US5974462A (en) | 1997-03-28 | 1999-10-26 | International Business Machines Corporation | Method and apparatus for controlling the number of servers in a client/server system |
US5960073A (en) | 1997-04-03 | 1999-09-28 | Genesys Telecommunications Laboratories , Inc. | Method and apparatus for providing an interactive home agent with access to call center functionality and resources |
NO971605L (no) | 1997-04-08 | 1998-10-09 | Ericsson Telefon Ab L M | Anordning for forbedring av tilgjengelighet av tjenester i et kommunikasjonssystem |
US5996013A (en) | 1997-04-30 | 1999-11-30 | International Business Machines Corporation | Method and apparatus for resource allocation with guarantees |
US6049547A (en) | 1997-05-15 | 2000-04-11 | Lucent Technologies Inc. | Lookahead interflow of traffic among a plurality of serving sites of one customer |
US5901215A (en) | 1997-05-20 | 1999-05-04 | Rockwell Semiconductor Systems, Inc. | Apparatus and method for identifying records of overflowed ACD calls |
US6263359B1 (en) | 1997-05-22 | 2001-07-17 | International Business Machines Corporation | Computer resource proportional utilization and response time scheduling |
US6259969B1 (en) | 1997-06-04 | 2001-07-10 | Nativeminds, Inc. | System and method for automatically verifying the performance of a virtual robot |
US5974135A (en) | 1997-06-11 | 1999-10-26 | Harrah's Operating Company, Inc. | Teleservices computer system, method, and manager application for integrated presentation of concurrent interactions with multiple terminal emulation sessions |
US5937402A (en) | 1997-06-19 | 1999-08-10 | Ontos, Inc. | System for enabling access to a relational database from an object oriented program |
US5987117A (en) | 1997-07-07 | 1999-11-16 | Mitel Corporation | Method of dynamic load sharing between systems with automatic telephone call distributors |
US6044355A (en) * | 1997-07-09 | 2000-03-28 | Iex Corporation | Skills-based scheduling for telephone call centers |
US6023681A (en) | 1997-08-11 | 2000-02-08 | At&T Corp. | Method and apparatus for predicting queuing delays |
US6052685A (en) | 1997-08-13 | 2000-04-18 | Mosaix, Inc. | Integration of legacy database management systems with ODBC-compliant application programs |
US6038293A (en) * | 1997-09-03 | 2000-03-14 | Mci Communications Corporation | Method and system for efficiently transferring telephone calls |
US6000832A (en) | 1997-09-24 | 1999-12-14 | Microsoft Corporation | Electronic online commerce card with customer generated transaction proxy number for online transactions |
US6490350B2 (en) | 1997-09-30 | 2002-12-03 | Mci Communications Corporation | Monitoring system for telephony resources in a call center |
US6084954A (en) | 1997-09-30 | 2000-07-04 | Lucent Technologies Inc. | System and method for correlating incoming and outgoing telephone calls using predictive logic |
US6038296A (en) * | 1997-10-07 | 2000-03-14 | Lucent Technologies Inc. | Internet/intranet user interface to a multimedia messaging system |
US6229819B1 (en) | 1997-10-21 | 2001-05-08 | Mci Communications Corporation | Advanced intelligent network gateway |
US5999963A (en) | 1997-11-07 | 1999-12-07 | Lucent Technologies, Inc. | Move-to-rear list scheduling |
JP3617997B2 (ja) * | 1997-11-14 | 2005-02-09 | 三菱電機株式会社 | データ更新方式 |
US6108670A (en) | 1997-11-24 | 2000-08-22 | International Business Machines Corporation | Checking and enabling database updates with a dynamic, multi-modal, rule based system |
US6088441A (en) | 1997-12-17 | 2000-07-11 | Lucent Technologies Inc. | Arrangement for equalizing levels of service among skills |
US6704409B1 (en) * | 1997-12-31 | 2004-03-09 | Aspect Communications Corporation | Method and apparatus for processing real-time transactions and non-real-time transactions |
US6115462A (en) | 1998-01-09 | 2000-09-05 | Gte Laboratories Incorporated | Method and apparatus for efficient call routing |
US6192122B1 (en) * | 1998-02-12 | 2001-02-20 | Avaya Technology Corp. | Call center agent selection that optimizes call wait times |
US6426950B1 (en) | 1998-02-13 | 2002-07-30 | Nortel Networks Limited | Method of resource management at computer controlled telephony hardware |
US6449358B1 (en) | 1998-02-17 | 2002-09-10 | Genesys Telecommunications Laboratories, Inc. | Method for predicting and managing call load by determining the optimum frequency of outbound call generation during an out-bound calling campaign from a call center |
US6157655A (en) | 1998-02-17 | 2000-12-05 | Genesys Telecommunications Laboratories, Inc. | Method for estimating telephony system-queue waiting time in an agent level routing environment |
US5943416A (en) | 1998-02-17 | 1999-08-24 | Genesys Telecommunications Laboratories, Inc. | Automated survey control routine in a call center environment |
US6226377B1 (en) | 1998-03-06 | 2001-05-01 | Avaya Technology Corp. | Prioritized transaction server allocation |
US6230183B1 (en) | 1998-03-11 | 2001-05-08 | International Business Machines Corporation | Method and apparatus for controlling the number of servers in a multisystem cluster |
US6278777B1 (en) | 1998-03-12 | 2001-08-21 | Ser Solutions, Inc. | System for managing agent assignments background of the invention |
US6154769A (en) | 1998-03-27 | 2000-11-28 | Hewlett-Packard Company | Scheduling server requests to decrease response time and increase server throughput |
US6049779A (en) | 1998-04-06 | 2000-04-11 | Berkson; Stephen P. | Call center incentive system and method |
US6173053B1 (en) | 1998-04-09 | 2001-01-09 | Avaya Technology Corp. | Optimizing call-center performance by using predictive data to distribute calls among agents |
US6650748B1 (en) | 1998-04-13 | 2003-11-18 | Avaya Technology Corp. | Multiple call handling in a call center |
US6360222B1 (en) * | 1998-05-06 | 2002-03-19 | Oracle Corporation | Method and system thereof for organizing and updating an information directory based on relationships between users |
US6604084B1 (en) | 1998-05-08 | 2003-08-05 | E-Talk Corporation | System and method for generating an evaluation in a performance evaluation system |
US6449356B1 (en) | 1998-05-26 | 2002-09-10 | Rockwell Semiconductor Systems, Inc. | Method of multi-media transaction processing |
US6292550B1 (en) | 1998-06-01 | 2001-09-18 | Avaya Technology Corp. | Dynamic call vectoring |
US6233332B1 (en) | 1998-06-03 | 2001-05-15 | Avaya Technology Corp. | System for context based media independent communications processing |
US6011844A (en) * | 1998-06-19 | 2000-01-04 | Callnet Communications | Point-of-presence call center management system |
US6307931B1 (en) | 1998-06-19 | 2001-10-23 | Avaya Technology Corp. | System and method for allowing communication between networks having incompatible addressing formats |
US20010011228A1 (en) | 1998-07-31 | 2001-08-02 | Grigory Shenkman | Method for predictive routing of incoming calls within a communication center according to history and maximum profit/contribution analysis |
US6389400B1 (en) | 1998-08-20 | 2002-05-14 | Sbc Technology Resources, Inc. | System and methods for intelligent routing of customer requests using customer and agent models |
US6535601B1 (en) * | 1998-08-27 | 2003-03-18 | Avaya Technology Corp. | Skill-value queuing in a call center |
US6272544B1 (en) | 1998-09-08 | 2001-08-07 | Avaya Technology Corp | Dynamically assigning priorities for the allocation of server resources to completing classes of work based upon achievement of server level goals |
US6178441B1 (en) * | 1998-09-21 | 2001-01-23 | International Business Machines Corporation | Method and system in a computer network for the reliable and consistent ordering of client requests |
US6295353B1 (en) | 1998-10-07 | 2001-09-25 | Avaya Technology Corp. | Arrangement for efficiently updating status information of a network call-routing system |
US6449646B1 (en) | 1998-10-13 | 2002-09-10 | Aspect Communications Corporation | Method and apparatus for allocating mixed transaction type messages to resources via an integrated queuing mechanism |
US6128304A (en) | 1998-10-23 | 2000-10-03 | Gte Laboratories Incorporated | Network presence for a communications system operating over a computer network |
US6298062B1 (en) | 1998-10-23 | 2001-10-02 | Verizon Laboratories Inc. | System providing integrated services over a computer network |
US6031896A (en) * | 1998-10-23 | 2000-02-29 | Gte Laboratories Incorporated | Real-time voicemail monitoring and call control over the internet |
US6064731A (en) | 1998-10-29 | 2000-05-16 | Lucent Technologies Inc. | Arrangement for improving retention of call center's customers |
US6735593B1 (en) | 1998-11-12 | 2004-05-11 | Simon Guy Williams | Systems and methods for storing data |
EP1003117A3 (de) | 1998-11-17 | 2003-07-23 | Citibank, N.A. | Verfahren und System für eine strategische Verwaltung der anfallenden Arbeiten in Dienstleistungsunternehmen |
US6275812B1 (en) | 1998-12-08 | 2001-08-14 | Lucent Technologies, Inc. | Intelligent system for dynamic resource management |
US6665395B1 (en) * | 1998-12-11 | 2003-12-16 | Avaya Technology Corp. | Automatic call distribution system using computer network-based communication |
US6366666B2 (en) | 1998-12-16 | 2002-04-02 | Avaya Technology Corp. | Adjustment of call selection to achieve target values for interval-based performance metrics in a call center |
US6463471B1 (en) | 1998-12-28 | 2002-10-08 | Intel Corporation | Method and system for validating and distributing network presence information for peers of interest |
US6556974B1 (en) | 1998-12-30 | 2003-04-29 | D'alessandro Alex F. | Method for evaluating current business performance |
US6356632B1 (en) * | 1998-12-31 | 2002-03-12 | Avaya Technology Corp. | Call selection and agent selection in a call center based on agent staffing schedule |
US7295669B1 (en) | 1999-01-21 | 2007-11-13 | Avaya Technology Corp. | Call center telephone and data flow connection system |
US6434230B1 (en) | 1999-02-02 | 2002-08-13 | Avaya Technology Corp. | Rules-based queuing of calls to call-handling resources |
US7200219B1 (en) | 1999-02-10 | 2007-04-03 | Avaya Technology Corp. | Dynamically allocating server resources to competing classes of work based upon achievement of service goals |
US6560649B1 (en) | 1999-02-10 | 2003-05-06 | Avaya Technology Corp. | Hierarchical service level remediation for competing classes based upon achievement of service level goals |
US6744877B1 (en) | 1999-03-08 | 2004-06-01 | Avaya Technology Corp. | Method and system for enterprise service balancing |
US6366668B1 (en) | 1999-03-11 | 2002-04-02 | Avaya Technology Corp. | Method of routing calls in an automatic call distribution network |
US6424709B1 (en) | 1999-03-22 | 2002-07-23 | Rockwell Electronic Commerce Corp. | Skill-based call routing |
US6574599B1 (en) | 1999-03-31 | 2003-06-03 | Microsoft Corporation | Voice-recognition-based methods for establishing outbound communication through a unified messaging system including intelligent calendar interface |
US20060178994A1 (en) * | 1999-07-26 | 2006-08-10 | Stolfo Salvatore J | Method and system for private shipping to anonymous users of a computer network |
US6829348B1 (en) | 1999-07-30 | 2004-12-07 | Convergys Cmg Utah, Inc. | System for customer contact information management and methods for using same |
JP3614044B2 (ja) | 1999-08-12 | 2005-01-26 | サクサ株式会社 | 電話装置 |
US6463415B2 (en) | 1999-08-31 | 2002-10-08 | Accenture Llp | 69voice authentication system and method for regulating border crossing |
US6427137B2 (en) * | 1999-08-31 | 2002-07-30 | Accenture Llp | System, method and article of manufacture for a voice analysis system that detects nervousness for preventing fraud |
US6697457B2 (en) * | 1999-08-31 | 2004-02-24 | Accenture Llp | Voice messaging system that organizes voice messages based on detected emotion |
US6480826B2 (en) * | 1999-08-31 | 2002-11-12 | Accenture Llp | System and method for a telephonic emotion detection that provides operator feedback |
US6275806B1 (en) | 1999-08-31 | 2001-08-14 | Andersen Consulting, Llp | System method and article of manufacture for detecting emotion in voice signals by utilizing statistics for voice signal parameters |
US6151571A (en) | 1999-08-31 | 2000-11-21 | Andersen Consulting | System, method and article of manufacture for detecting emotion in voice signals through analysis of a plurality of voice signal parameters |
US6353810B1 (en) * | 1999-08-31 | 2002-03-05 | Accenture Llp | System, method and article of manufacture for an emotion detection system improving emotion recognition |
US7222075B2 (en) | 1999-08-31 | 2007-05-22 | Accenture Llp | Detecting emotions using voice signal analysis |
US6389028B1 (en) | 1999-09-24 | 2002-05-14 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for providing estimated response-wait-time displays for data network-based inquiries to a communication center |
US6463346B1 (en) | 1999-10-08 | 2002-10-08 | Avaya Technology Corp. | Workflow-scheduling optimization driven by target completion time |
US6389132B1 (en) | 1999-10-13 | 2002-05-14 | Avaya Technology Corp. | Multi-tasking, web-based call center |
US7035808B1 (en) | 1999-10-20 | 2006-04-25 | Avaya Technology Corp. | Arrangement for resource and work-item selection |
US20040202309A1 (en) | 1999-11-16 | 2004-10-14 | Knowlagent, Inc. | Managing the rate of delivering performance interventions in a contact center |
US20020065894A1 (en) | 1999-12-03 | 2002-05-30 | Dalal Siddhartha R. | Local presence state and user-controlled presence and message forwarding in unified instant messaging |
US6535600B1 (en) * | 1999-12-06 | 2003-03-18 | Avaya Technology Corp. | System for automatically routing calls to call center agents in an agent surplus condition based on service levels |
US6553114B1 (en) | 1999-12-06 | 2003-04-22 | Avaya Technology Corp. | System for automatically predicting call center agent work time in a multi-skilled agent environment |
US6563920B1 (en) | 1999-12-15 | 2003-05-13 | Avaya Technology Corp. | Methods and apparatus for processing of communications in a call center based on variable rest period determinations |
US6614903B1 (en) | 1999-12-15 | 2003-09-02 | Avaya Technology Corp. | Methods and apparatus for service state-based processing of communications in a call center |
US6571285B1 (en) | 1999-12-23 | 2003-05-27 | Accenture Llp | Providing an integrated service assurance environment for a network |
US6985901B1 (en) * | 1999-12-23 | 2006-01-10 | Accenture Llp | Controlling data collection, manipulation and storage on a network with service assurance capabilities |
US20020035605A1 (en) * | 2000-01-26 | 2002-03-21 | Mcdowell Mark | Use of presence and location information concerning wireless subscribers for instant messaging and mobile commerce |
US6668167B2 (en) | 2000-01-26 | 2003-12-23 | Mcdowell Mark | Method and apparatus for sharing mobile user event information between wireless networks and fixed IP networks |
US6711253B1 (en) * | 2000-02-04 | 2004-03-23 | Avaya Technology Corp. | Method and apparatus for analyzing performance data in a call center |
US7203655B2 (en) | 2000-02-16 | 2007-04-10 | Iex Corporation | Method and system for providing performance statistics to agents |
US6603854B1 (en) | 2000-02-25 | 2003-08-05 | Teltronics, Inc. | System and method for evaluating agents in call center |
US6839735B2 (en) * | 2000-02-29 | 2005-01-04 | Microsoft Corporation | Methods and systems for controlling access to presence information according to a variety of different access permission types |
US6775377B2 (en) | 2001-09-10 | 2004-08-10 | Knowlagent, Inc. | Method and system for delivery of individualized training to call center agents |
US6324282B1 (en) | 2000-03-02 | 2001-11-27 | Knowlagent, Inc. | Method and system for delivery of individualized training to call center agents |
US6757362B1 (en) | 2000-03-06 | 2004-06-29 | Avaya Technology Corp. | Personal virtual assistant |
WO2001071939A1 (en) * | 2000-03-21 | 2001-09-27 | Ehud Shapiro | Community co-presence system and method having virtual groups |
CA2398426A1 (en) * | 2000-04-17 | 2001-10-25 | Avaya Technology Corp. | A system for integrating diverse databases and maintaining their consistency |
US20020021307A1 (en) * | 2000-04-24 | 2002-02-21 | Steve Glenn | Method and apparatus for utilizing online presence information |
US6754333B1 (en) | 2000-04-27 | 2004-06-22 | Avaya Technology Corp. | Wait time prediction arrangement for non-real-time customer contacts |
ATE350857T1 (de) * | 2000-05-17 | 2007-01-15 | Ibm | System und methode um den aufenthalt oder die verfügbarkeit eines telefonnutzers zu erkennen und die rufnummer im internet zu veröffentlichen |
US7266508B1 (en) | 2000-05-25 | 2007-09-04 | At&T Intellectual Property, Inc. | System and method for managing customer contacts and related information |
US7526440B2 (en) * | 2000-06-12 | 2009-04-28 | Walker Digital, Llc | Method, computer product, and apparatus for facilitating the provision of opinions to a shopper from a panel of peers |
US7340408B1 (en) | 2000-06-13 | 2008-03-04 | Verizon Laboratories Inc. | Method for evaluating customer valve to guide loyalty and retention programs |
CA2311884A1 (en) * | 2000-06-16 | 2001-12-16 | Cognos Incorporated | Method of managing slowly changing dimensions |
US7117215B1 (en) * | 2001-06-07 | 2006-10-03 | Informatica Corporation | Method and apparatus for transporting data for data warehousing applications that incorporates analytic data interface |
US6785666B1 (en) * | 2000-07-11 | 2004-08-31 | Revenue Science, Inc. | Method and system for parsing navigation information |
US6738462B1 (en) | 2000-07-19 | 2004-05-18 | Avaya Technology Corp. | Unified communications automated personal name addressing |
US6766326B1 (en) | 2000-07-24 | 2004-07-20 | Resty M Cena | Universal storage for dynamic databases |
US20020012186A1 (en) * | 2000-07-24 | 2002-01-31 | Tohoku Techno Arch Co., Ltd. | Magnetic record/reproduce apparatus for recording/reproducing large amounts of data at ultra-high-speed using a perpendicular magnetic recording mode |
US6947988B1 (en) | 2000-08-11 | 2005-09-20 | Rockwell Electronic Commerce Technologies, Llc | Method and apparatus for allocating resources of a contact center |
US7039176B2 (en) | 2000-08-14 | 2006-05-02 | Telephony@Work | Call center administration manager with rules-based routing prioritization |
JP2002082911A (ja) * | 2000-09-11 | 2002-03-22 | Nec Corp | 認証システム |
GB2368227B (en) * | 2000-10-17 | 2003-12-10 | Hewlett Packard Co | Contact center |
US20020087630A1 (en) | 2000-10-20 | 2002-07-04 | Jonathan Wu | Enhanced information and presence service |
US20020085701A1 (en) | 2000-10-30 | 2002-07-04 | Parsons Eric W. | Method and system for providing unified communication management based on presence information |
US6822945B2 (en) | 2000-11-08 | 2004-11-23 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for anticipating and planning communication-center resources based on evaluation of events waiting in a communication center master queue |
US7299259B2 (en) | 2000-11-08 | 2007-11-20 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for intelligent routing of instant messaging presence protocol (IMPP) events among a group of customer service representatives |
AU2002219796A1 (en) | 2000-11-20 | 2002-06-03 | At And T Wireless Services, Inc. | Systems for providing wireless communication presence information |
US7957514B2 (en) | 2000-12-18 | 2011-06-07 | Paltalk Holdings, Inc. | System, method and computer program product for conveying presence information via voice mail |
US6766014B2 (en) | 2001-01-09 | 2004-07-20 | Avaya Technology Corp. | Customer service by batch |
US6968052B2 (en) | 2001-01-24 | 2005-11-22 | Telecordia Technologies, Inc. | Method and apparatus for creating a presence monitoring contact list with dynamic membership |
US7568001B2 (en) * | 2001-01-30 | 2009-07-28 | Intervoice, Inc. | Escalated handling of non-realtime communications |
US7246371B2 (en) | 2001-02-05 | 2007-07-17 | Openwave Systems Inc. | System and method for filtering unavailable devices in a presence and availability management system |
US20020112186A1 (en) | 2001-02-15 | 2002-08-15 | Tobias Ford | Authentication and authorization for access to remote production devices |
US20020123923A1 (en) | 2001-03-01 | 2002-09-05 | Stefanos Manganaris | Method and system for assessing intrinsic customer value |
US8601492B2 (en) | 2001-03-31 | 2013-12-03 | Siebel Systems, Inc. | User interface for multi-channel communication |
US7315616B2 (en) | 2001-03-31 | 2008-01-01 | Siebel Systems, Inc. | System and method for maintaining real-time agent information for multi-channel communication queuing |
US20030028621A1 (en) * | 2001-05-23 | 2003-02-06 | Evolving Systems, Incorporated | Presence, location and availability communication system and method |
US20070038632A1 (en) * | 2001-05-31 | 2007-02-15 | Engstrom G E | Time slot based calendar access control |
US6766013B2 (en) | 2001-06-05 | 2004-07-20 | Avaya Technology Corp. | Timely shut-down of a real-time work center |
US7100200B2 (en) | 2001-06-13 | 2006-08-29 | Citrix Systems, Inc. | Method and apparatus for transmitting authentication credentials of a user across communication sessions |
US7110525B1 (en) | 2001-06-25 | 2006-09-19 | Toby Heller | Agent training sensitive call routing system |
US7844055B2 (en) | 2001-06-26 | 2010-11-30 | Link Us All, Llc | Detecting and transporting dynamic presence information over a wireless and wireline communications network |
US7409423B2 (en) | 2001-06-28 | 2008-08-05 | Horvitz Eric J | Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access |
US6879683B1 (en) | 2001-06-28 | 2005-04-12 | Bellsouth Intellectual Property Corp. | System and method for providing a call back option for callers to a call center |
US7324954B2 (en) | 2001-06-29 | 2008-01-29 | International Business Machines Corporation | System and method for organizational risk based on personnel planning factors |
US7953219B2 (en) | 2001-07-19 | 2011-05-31 | Nice Systems, Ltd. | Method apparatus and system for capturing and analyzing interaction based content |
US6915305B2 (en) | 2001-08-15 | 2005-07-05 | International Business Machines Corporation | Restructuring view maintenance system and method |
US20030093465A1 (en) | 2001-10-31 | 2003-05-15 | International Business Machines Corporation | Management strategies for internationalization in a distributed computer environment |
US6735299B2 (en) | 2001-11-08 | 2004-05-11 | Avaya Technology Corp. | Automatic call distribution groups in call center management systems |
US7139390B2 (en) | 2001-12-12 | 2006-11-21 | International Business Machines Corporation | Promoting use of experts to callers waiting in a hold queue |
US7076051B2 (en) | 2001-12-12 | 2006-07-11 | International Business Machines Corporation | Promoting caller voice browsing in a hold queue |
US7257597B1 (en) | 2001-12-18 | 2007-08-14 | Siebel Systems, Inc. | Table substitution |
US7212625B1 (en) | 2001-12-20 | 2007-05-01 | Nortel Networks Limited | System and method for presenting queue lengths of various media used by service centers |
US6947543B2 (en) | 2002-01-03 | 2005-09-20 | Avaya Technology Corp. | Computer-telephony integration that uses features of an automatic call distribution system |
WO2003065251A1 (en) | 2002-01-29 | 2003-08-07 | Children's Hospital Boston | Information exchange between heterogeneous databases through automated identification of concept equivalence |
JP2003223420A (ja) | 2002-01-31 | 2003-08-08 | Fujitsu Ltd | アクセス制御方法、記憶装置及び情報処理装置 |
US7035927B2 (en) | 2002-03-12 | 2006-04-25 | Avaya Technology Corp. | Intelligent inbound/outbound communications blending |
US7336779B2 (en) | 2002-03-15 | 2008-02-26 | Avaya Technology Corp. | Topical dynamic chat |
US7415417B2 (en) | 2002-03-15 | 2008-08-19 | Avaya Technology Corp. | Presence awareness agent |
US7620169B2 (en) | 2002-06-17 | 2009-11-17 | Avaya Inc. | Waiting but not ready |
US20040008828A1 (en) * | 2002-07-09 | 2004-01-15 | Scott Coles | Dynamic information retrieval system utilizing voice recognition |
US7010542B2 (en) * | 2002-07-20 | 2006-03-07 | Microsoft Corporation | Result set formatting and processing |
US7136873B2 (en) | 2002-07-20 | 2006-11-14 | Microsoft Corporation | Dynamic filtering in a database system |
US7165075B2 (en) * | 2002-07-20 | 2007-01-16 | Microsoft Corporation | Object graph faulting and trimming in an object-relational database system |
US7412436B2 (en) | 2002-07-20 | 2008-08-12 | Microsoft Corporation | System and interface for manipulating a database |
US7162469B2 (en) | 2002-07-20 | 2007-01-09 | Microsoft Corporation | Querying an object for properties |
US7096216B2 (en) * | 2002-07-20 | 2006-08-22 | Microsoft Corporation | Performing operations on a set of objects in a database system |
US7149733B2 (en) | 2002-07-20 | 2006-12-12 | Microsoft Corporation | Translation of object queries involving inheritence |
US7082433B2 (en) * | 2002-07-20 | 2006-07-25 | Microsoft Corporation | Translation of object queries involving inheritence |
US20040138944A1 (en) | 2002-07-22 | 2004-07-15 | Cindy Whitacre | Program performance management system |
US7558739B2 (en) | 2002-10-22 | 2009-07-07 | Avaya Inc. | Method and apparatus for meeting an on-site enterprise service level objective |
US7020254B2 (en) * | 2002-10-28 | 2006-03-28 | Bellsouth Intellectual Property Corporation | Escalation tracking system |
US20040210475A1 (en) | 2002-11-25 | 2004-10-21 | Starnes S. Renee | Variable compensation tool and system for customer service agents |
US8065717B2 (en) | 2002-11-27 | 2011-11-22 | Activcard | Automated security token administrative services |
US7545925B2 (en) | 2002-12-06 | 2009-06-09 | At&T Intellectual Property I, L.P. | Method and system for improved routing of repair calls to a call center |
US7170976B1 (en) | 2002-12-17 | 2007-01-30 | Cisco Technology, Inc. | System and method for communicating text teletype (TTY) information in a communication network |
US6847711B2 (en) | 2003-02-13 | 2005-01-25 | Sbc Properties, L.P. | Method for evaluating customer call center system designs |
US20040162998A1 (en) | 2003-02-14 | 2004-08-19 | Jukka Tuomi | Service authentication in a communication system |
US7155612B2 (en) * | 2003-04-30 | 2006-12-26 | International Business Machines Corporation | Desktop database data administration tool with row level security |
US7376127B2 (en) | 2003-05-12 | 2008-05-20 | Avaya Technology Corp. | Methods for reconstructing missing packets in TTY over voice over IP transmission |
US7110523B2 (en) | 2003-05-30 | 2006-09-19 | Interactive Intelligence, Inc. | System and method for distributing and routing calls in a call center |
US7050566B2 (en) | 2003-06-13 | 2006-05-23 | Assurant, Inc. | Call processing system |
US7392402B2 (en) * | 2003-07-02 | 2008-06-24 | Hitachi, Ltd. | Method and apparatus for data integration security |
CN100363855C (zh) * | 2003-07-04 | 2008-01-23 | 诺基亚有限公司 | 密钥存储管理方法、装置及其系统 |
US20050021529A1 (en) * | 2003-07-22 | 2005-01-27 | Jeff Hodson | Transaction time tracking and reporting system |
US7158628B2 (en) * | 2003-08-20 | 2007-01-02 | Knowlagent, Inc. | Method and system for selecting a preferred contact center agent based on agent proficiency and performance and contact center state |
US6842503B1 (en) * | 2003-09-02 | 2005-01-11 | Cisco Technology, Inc. | Support of TTY systems in voice over data networks |
US20050071212A1 (en) * | 2003-09-26 | 2005-03-31 | Flockhart Andrew D. | Method and apparatus for business time computation in a resource allocation system |
US7770175B2 (en) * | 2003-09-26 | 2010-08-03 | Avaya Inc. | Method and apparatus for load balancing work on a network of servers based on the probability of being serviced within a service time goal |
US8094804B2 (en) * | 2003-09-26 | 2012-01-10 | Avaya Inc. | Method and apparatus for assessing the status of work waiting for service |
US20050071241A1 (en) * | 2003-09-26 | 2005-03-31 | Flockhart Andrew D. | Contact center resource allocation based on work bidding/auction |
US7783513B2 (en) | 2003-10-22 | 2010-08-24 | Intellisist, Inc. | Business performance and customer care quality measurement |
US20050125458A1 (en) * | 2003-12-09 | 2005-06-09 | Sutherland James E. | Chronological data record access |
US7290205B2 (en) | 2004-06-23 | 2007-10-30 | Sas Institute Inc. | System and method for management of document cross-reference links |
US7672966B2 (en) * | 2004-06-30 | 2010-03-02 | Microsoft Corporation | Adding extrinsic data columns to an existing database schema using a temporary column pool |
US7656861B2 (en) * | 2004-07-09 | 2010-02-02 | Cisco Technology, Inc. | Method and apparatus for interleaving text and media in a real-time transport session |
US8738412B2 (en) * | 2004-07-13 | 2014-05-27 | Avaya Inc. | Method and apparatus for supporting individualized selection rules for resource allocation |
US20060026049A1 (en) | 2004-07-28 | 2006-02-02 | Sbc Knowledge Ventures, L.P. | Method for identifying and prioritizing customer care automation |
US20060056598A1 (en) * | 2004-09-14 | 2006-03-16 | Sbc Knowledge Ventures, L.P. | Detection of TTY's using programmable filters |
US8594704B2 (en) | 2004-12-16 | 2013-11-26 | Atc Technologies, Llc | Location-based broadcast messaging for radioterminal users |
US7177401B2 (en) * | 2005-02-03 | 2007-02-13 | Texas Instruments Incorporated | TTY communication over packet networks |
US7567653B1 (en) | 2005-03-22 | 2009-07-28 | Avaya Inc. | Method by which call centers can vector inbound TTY calls automatically to TTY-enabled resources |
US7809127B2 (en) | 2005-05-26 | 2010-10-05 | Avaya Inc. | Method for discovering problem agent behaviors |
JP4125309B2 (ja) | 2005-07-25 | 2008-07-30 | キヤノン株式会社 | 撮像装置 |
US8774389B2 (en) * | 2005-09-13 | 2014-07-08 | International Business Machines Corporation | Call routing between shared service centers |
US8199900B2 (en) | 2005-11-14 | 2012-06-12 | Aspect Software, Inc. | Automated performance monitoring for contact management system |
US8737173B2 (en) | 2006-02-24 | 2014-05-27 | Avaya Inc. | Date and time dimensions for contact center reporting in arbitrary international time zones |
US8856182B2 (en) | 2008-01-25 | 2014-10-07 | Avaya Inc. | Report database dependency tracing through business intelligence metadata |
-
2005
- 2005-10-06 US US11/246,789 patent/US7752230B2/en active Active
-
2006
- 2006-09-26 CN CNB2006101395600A patent/CN100541492C/zh active Active
- 2006-09-27 GB GB0619051A patent/GB2431022A/en not_active Withdrawn
- 2006-10-05 DE DE102006047499A patent/DE102006047499A1/de not_active Ceased
- 2006-10-06 JP JP2006274656A patent/JP4499699B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
GB0619051D0 (en) | 2006-11-08 |
GB2431022A (en) | 2007-04-11 |
CN100541492C (zh) | 2009-09-16 |
US20070083572A1 (en) | 2007-04-12 |
JP4499699B2 (ja) | 2010-07-07 |
CN101000612A (zh) | 2007-07-18 |
US7752230B2 (en) | 2010-07-06 |
JP2007102797A (ja) | 2007-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102006047499A1 (de) | Datenerweiterbarkeit mit Hilfe externer Datenbanktabellen | |
DE602006000907T2 (de) | Zugangssteuerungssystem, Regelmaschinen-Anpasseinrichtung, regelbasierte Erzwingungsplattform und Verfahren zum Ausführen einer Zugriffssteuerung | |
DE69831671T2 (de) | Die kentnisse von bedienpersonen berücksichtigende terminplanung für fernsprechanrufzentralen | |
DE60003395T2 (de) | Multimedia Kundenanrufzentrale mit schichtformigen Steuerarchitektur | |
DE112016002395T5 (de) | Zugriffskontrolle für Datenressourcen | |
DE102007007669A1 (de) | Datums- und Zeitdimensionen für Kontaktzentralen-Auswertung in beliebigen internationalen Zeitzonen | |
DE102009043274A1 (de) | Zwischenbetriebliche Zusammenarbeitsüberlagerungslösung für berufliche Sozialnetze | |
DE19955718A1 (de) | Paralleler Datenbank-Support für Workflow-Management-Systeme | |
DE102011016865A1 (de) | View and metrics for a queueless contact center | |
DE102011121803A1 (de) | System und verfahren für suchbasierte arbeitszuweisungen in einem kontakt-center | |
DE202016008918U1 (de) | Ein Dokumentenverifizierungssystem | |
DE112018005452T5 (de) | Schlüsselbasiertes loggen für die verarbeitung strukturierter datenelemente mit ausführbarer logik | |
DE112013001175T5 (de) | Erzeugen von elektronischen Stammbäumen | |
DE102011016859A1 (de) | Bitmaps für Kontaktzentrale der nächsten Generation | |
DE10320419A9 (de) | Datenbank-Abfragesystem und Verfahren zum rechnergestützten Abfragen einer Datenbank | |
DE10252445A1 (de) | Verfahren und Computer-Anordnung zum Bereitstellen von Datenbankinformation einer ersten Datenbank und Verfahren zum rechnergestützten Bilden eines statistischen Abbildes einer Datenbank | |
EP2601594A1 (de) | Verfahren und vorrichtung zur automatischen verarbeitung von daten in einem zellen-format | |
DE102008045853B4 (de) | Vereinigte Leitung und Steuerung einer Vielzahl von Heterogenen Systemen, welche die Funktionsfähigkeit von Callcentern unterstützen | |
EP3776257B1 (de) | Objektdatenbank zur geschäftsmodellierung mit verbesserter datensicherheit | |
EP1285315B1 (de) | Informationsverarbeitungssystem und verfahren zu dessen betrieb | |
EP1139243A1 (de) | Abrechnungs- und Kundenverwaltungssystem | |
EP1051016B1 (de) | Verfahren zum Auffinden einer Kontaktperson oder zum Verbindungsaufbau zu dieser Kontaktperson | |
DE202021105248U1 (de) | Ein Studenten-Service-Management-System | |
WO2002015061A2 (de) | Verfahren zur bearbeitung von anfragen und anfragebearbeitungssystem | |
DE102007054674A1 (de) | Arbeitserkenntnis-Algorithmus für Kontaktzentralenagenten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8131 | Rejection |