The present disclosure generally relates to recording of data.
Contact centers are staffed by agents who handle incoming and/or outgoing contacts. Although the traditional and most common form of contact is by phone, other types of contacts are becoming more common (e.g., text chat, web collaboration, email, and fax). In order to facilitate such contact, an agent workspace typically includes an agent phone and a workstation computer. A network connects one or more of the agent workstations.
During a customer contact, the agent interacts with one or more applications running on the workstation. Workstation applications give the agent access to customer records, product information, ordering status, and transaction history, for example.
Contact centers typically record contacts of its agents, along with data indicating what information was accessed or entered by the agent using the workstation. Recording is often performed by relatively expensive computers that include voice cards for enabling such a computer to receive and digitize communications. Unfortunately, an interruption in recording can occur if the computer experiences software and/or hardware failures.
Recording systems and methods are disclosed. An embodiment of such a system includes software configured to enable a first guest operating system to function in a virtual machine operating environment, a first recording software enabled to function by the first guest operating system, at least one processor, and at least one communication interface configured to receive first data corresponding to a first contact corresponding to a first contact center, agent. The at least one processor is instructed by the first recording software to cause the first data to be stored in memory.
An embodiment of a recording method includes receiving by a recording system data that encodes first and second telephone signals from a telephony tap, the telephony tap being configured to receive a first telephone signal from a first telephone line coupled to a first telephone and a second telephone signal from a second telephone line couple to a second telephone, to digitize the first and second telephone signals, to generate the data that encodes the first and second telephone signals, and to transmit the data that encodes the first and second telephone signals to the recording system. The method also includes storing the data that encodes the first and second telephone signals by the recording system.
Another embodiment of a recording method includes receiving by a first recording system first information corresponding to a contact corresponding to an agent in a contact center, wherein the first recording system operates in conjunction with a first guest operating system that operates in a virtual machine environment; storing the first information corresponding to a contact by the first recording system; determining that the first recording system has experienced failure; responsive to determining that the first recording system has experienced failure, receiving by a second recording system second information corresponding to the agent, wherein the second recording system operates in conjunction with a second guest operating system that operates in a virtual machine environment; and storing the second information corresponding to a contact by the second recording system.
Other objects, features, and advantages of the embodiments will become apparent to one with skill in the art upon examination of the following drawings and detailed description.
The invention can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention. In the drawings, like reference numerals designate similar components throughout the several views.
Contact centers are staffed by agents who handle incoming and/or outgoing contacts (e.g., telephone calls, e-mails, facsimile transmissions, etc.). According to an embodiment of the invention, a virtual machine host uses a virtual recorder to record agent contacts. A plurality of virtual recorders may be used to record a plurality of contacts corresponding to a plurality of respective agents. The recording of agent contacts may be migrated from one virtual recorder to another (e.g., hosted by another virtual machine host) responsive to determining that a recording failure has occurred. An agent contact may also be recorded by a plurality of virtual recorders in order to ensure recording in case one of the plurality of virtual recorders (or corresponding host) fails.
The virtual machine host 110 includes first and second virtual recorders 111 and 112. The first virtual recorder 111 is configured to record communications occurring via the telephone 101 and/or via the computer 103. The second virtual recorder 112 is configured to record communications occurring via the telephone 102 and/or via the computer 104. The telephones 101 and 102 are connected to a private branch exchange (PBX) 105 which enables communications for the telephones 101 and 102 (e.g., with other telephones not located on the premises).
The telephony tap 107 is used to tap telephone signals propagating on the telephone lines 108 and 109 (which are coupled to the telephones 101 and 102, respectively). The telephony tap 107 digitizes the telephone signals from the telephone lines 108 and 109, formats them into telephone data having a predetermined data format, and transmits the formatted telephone data to the virtual machine host 110 hosting the first and second virtual recorders 111 and 112. The first virtual recorder 111 stores the formatted telephone data corresponding to the telephone line 108 (and the telephone 101), whereas the second virtual recorder 112 stores the formatted telephone data corresponding to the telephone line 109 (and the telephone 102).
In one failover embodiment, for example, the first virtual recorder 221 sends a status message to the migrated virtual recorder 211 at periodic intervals. The status message indicates whether the first virtual recorder 221 is operational. If the migrated virtual recorder 211 receives a status message from the first virtual recorder 221 indicating that the first virtual recorder 221 is in a failed state or if the migrated virtual recorder 211 does not receive a status message for a predetermined interval then the migrated virtual recorder 211 detects a failure and takes over recording functionality for the first virtual recorder 221.
Responsive to detecting the failure, the migrated virtual recorder 211 sends a message to the telephony tap 207 directing the tap 207 to send subsequent telephone data to the migrated virtual recorder 211 instead of the first virtual recorder 221. Responsive to receiving the message from the migrated virtual recorder 211, the telephony tap 207 forwards subsequent telephone data to the migrated virtual recorder 211, which then stores the subsequent telephone data.
In another failover embodiment, for example, redundant recording is implemented. In this embodiment, the telephony tap 207 sends telephone data to both the first virtual recorder 221 and to the migrated virtual recorder 211 so that the formatted telephone data may be stored in both virtual recorders. As a result, if one virtual recorder fails or is de-activated for scheduled maintenance, the recorded telephone data may still be stored by the other virtual recorder.
The processor 310 is a hardware device for executing software, particularly that stored in the memory device 330. The processor 310 can be a custom made or commercially available processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the virtual machine host 300, a semiconductor based microprocessor (in the form of a microchip or chip set), or generally any device for executing software instructions. When the virtual machine host 300 is in operation, the processor 310 is configured to execute software stored within the memory device 330, to communicate data to and from the memory device 330, and to generally control operations of the virtual machine host 300 pursuant to the software.
The peripheral device interfaces 350 may be used to communicate with one or more peripheral devices including, for example, a printer, a copier, a keyboard, a mouse, and/or a monitor, etc. The peripheral device interfaces 350 may include, for example, a serial port, a parallel port, a Small Computer System Interface (SCSI), an infra-red (IR) interface, a radio-frequency (RF) interface, and/or a universal serial bus (USB) interface, among others.
The network interface 320 enables the virtual machine host 300 to communicate with other devices such as, for example, the telephone tap 107 and the computers 103 and 104 (
The memory device 330 can include any one or combination of volatile and/or non-volatile memory elements now known or later developed. For example, the memory device 330 may comprise random access memory (RAM), read only memory (ROM), a hard disk, a tape, and/or a compact disk ROM (CD-ROM), among others. Note that the memory device 330 can have a distributed architecture, where various components are situated remote from one another, but can be accessed by the processor 310. In a preferred embodiment, the memory device 330 comprises DRAM.
The memory device 330 includes a host operating system (OS) 331, a first virtual recorder 111, and a second virtual recorder 112. The Host OS 331 essentially controls the execution of other applications, and may provide scheduling, input-output control, file and data management, memory management, and/or communication control, among other functionality. The host OS 331 may be for example, a Microsoft™, Macintosh™, or Linux™ based operating system, among others.
The virtual machine software 332 (which may be for example software provided by VMWare™, among others) operates using the host OS 331. The virtual machine software 332 enables a plurality of guest operating systems to function in the virtual machine host 300 by providing a virtual machine environment in which the guest operating systems can function. In this embodiment, the virtual machine software enables the guest OS 333 and guest OS 334 to function. The guest OS 333 and guest OS 334 may be, for example Microsoft™, Macintosh™, or Linux based operating systems, among others.
The first virtual recorder 111 operates using the guest OS 333, whereas the second virtual recorder 112 operates using the guest OS 334. In other embodiments, the first and second virtual recorders 111 and 112 may both operate using the same operating system. The first and second virtual recorders 111 and 112 include respective telephony tap drivers 335 that enable communication with the telephony tap 107 (
The virtual recorders 111 and 112 can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system or a processor-containing system. In the context of this disclosure, a “computer-readable medium” can be any means that can store, communicate, propagate, or transport a program for use by or in connection with the instruction execution system, apparatus, or device. The computer-readable medium can be, for example, among others, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium now known or later developed.
The processor 410 is a hardware device for executing software, particularly that stored in the memory device 430. The processor 410 controls operations of the telephony tap 400 pursuant to the software.
The network interface 420 enables the telephony tap 400 to communicate with other devices such as, for example, the virtual machine hosts 300 and 210 (
The memory device 430 can include any one or combination of volatile and/or non-volatile memory elements now known or later developed. In a preferred embodiment, the memory device 430 comprises DRAM. In this embodiment, the memory device 430 includes an OS 441 and telephony software 442. The OS 441 essentially controls the execution of the other applications, and may provide scheduling, input-output control, file and data management, memory management, and/or communication control, among other functionality. The telephony software 442 is used to enable transmission of the formatted telephone data to the virtual machine hosts.
It should be noted that any process descriptions or blocks in flowcharts should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. As would be understood by those of ordinary skill in the art of the software development, alternate embodiments are also included within the scope of the disclosure. In these alternate embodiments, functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved.
This description has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Obvious modifications or variations are possible in light of the above teachings. The embodiments discussed, however, were chosen to illustrate the principles of the disclosure, and its practical application. The disclosure is thus intended to enable one of ordinary skill in the art to use the disclosure, in various embodiments and with various modifications, as are suited to the particular use contemplated. All such modifications and variation are within the scope of this disclosure, as determined by the appended claims when interpreted in accordance with the breadth to which they are fairly and legally entitled.
Number | Name | Date | Kind |
---|---|---|---|
3594919 | De Bell et al. | Jul 1971 | A |
3705271 | De Bell et al. | Dec 1972 | A |
4510351 | Costello et al. | Apr 1985 | A |
4684349 | Ferguson et al. | Aug 1987 | A |
4694483 | Cheung | Sep 1987 | A |
4763353 | Canale et al. | Aug 1988 | A |
4815120 | Kosich | Mar 1989 | A |
4924488 | Kosich | May 1990 | A |
4953159 | Hayden et al. | Aug 1990 | A |
5016272 | Stubbs et al. | May 1991 | A |
5101402 | Chiu et al. | Mar 1992 | A |
5117225 | Wang | May 1992 | A |
5210789 | Jeffus et al. | May 1993 | A |
5239460 | LaRoche | Aug 1993 | A |
5241625 | Epard et al. | Aug 1993 | A |
5267865 | Lee et al. | Dec 1993 | A |
5299260 | Shaio | Mar 1994 | A |
5311422 | Loftin et al. | May 1994 | A |
5315711 | Barone et al. | May 1994 | A |
5317628 | Misholi et al. | May 1994 | A |
5347306 | Nitta | Sep 1994 | A |
5388252 | Dreste et al. | Feb 1995 | A |
5396371 | Henits et al. | Mar 1995 | A |
5432715 | Shigematsu et al. | Jul 1995 | A |
5465286 | Clare et al. | Nov 1995 | A |
5475625 | Glaschick | Dec 1995 | A |
5485569 | Goldman et al. | Jan 1996 | A |
5491780 | Fyles et al. | Feb 1996 | A |
5499291 | Kepley | Mar 1996 | A |
5535256 | Maloney et al. | Jul 1996 | A |
5572652 | Robusto et al. | Nov 1996 | A |
5577112 | Cambray et al. | Nov 1996 | A |
5590171 | Howe et al. | Dec 1996 | A |
5597312 | Bloom et al. | Jan 1997 | A |
5619183 | Ziegra et al. | Apr 1997 | A |
5696906 | Peters et al. | Dec 1997 | A |
5717879 | Moran et al. | Feb 1998 | A |
5721842 | Beasley et al. | Feb 1998 | A |
5742670 | Bennett | Apr 1998 | A |
5748499 | Trueblood | May 1998 | A |
5778182 | Cathey et al. | Jul 1998 | A |
5784452 | Carney | Jul 1998 | A |
5790798 | Beckett, II et al. | Aug 1998 | A |
5796952 | Davis et al. | Aug 1998 | A |
5809247 | Richardson et al. | Sep 1998 | A |
5809250 | Kisor | Sep 1998 | A |
5825869 | Brooks et al. | Oct 1998 | A |
5835572 | Richardson, Jr. et al. | Nov 1998 | A |
5862330 | Anupam et al. | Jan 1999 | A |
5864772 | Alvarado et al. | Jan 1999 | A |
5884032 | Bateman et al. | Mar 1999 | A |
5907680 | Nielsen | May 1999 | A |
5918214 | Perkowski | Jun 1999 | A |
5923746 | Baker et al. | Jul 1999 | A |
5933811 | Angles et al. | Aug 1999 | A |
5944791 | Scherpbier | Aug 1999 | A |
5948061 | Merriman et al. | Sep 1999 | A |
5951652 | Ingrassia et al. | Sep 1999 | A |
5954798 | Shelton et al. | Sep 1999 | A |
5958016 | Chang et al. | Sep 1999 | A |
5964836 | Rowe et al. | Oct 1999 | A |
5978648 | George et al. | Nov 1999 | A |
5982857 | Brady | Nov 1999 | A |
5987466 | Greer et al. | Nov 1999 | A |
5990852 | Szamrej | Nov 1999 | A |
5991373 | Pattison et al. | Nov 1999 | A |
5991796 | Anupam et al. | Nov 1999 | A |
6005932 | Bloom | Dec 1999 | A |
6009429 | Greer et al. | Dec 1999 | A |
6014134 | Bell et al. | Jan 2000 | A |
6014647 | Nizzari et al. | Jan 2000 | A |
6018619 | Allard et al. | Jan 2000 | A |
6035332 | Ingrassia et al. | Mar 2000 | A |
6038544 | Machin et al. | Mar 2000 | A |
6039575 | L'Allier et al. | Mar 2000 | A |
6047053 | Miner et al. | Apr 2000 | A |
6057841 | Thurlow et al. | May 2000 | A |
6058163 | Pattison et al. | May 2000 | A |
6061798 | Coley et al. | May 2000 | A |
6072860 | Kek et al. | Jun 2000 | A |
6076099 | Chen et al. | Jun 2000 | A |
6078894 | Clawson et al. | Jun 2000 | A |
6091712 | Pope et al. | Jul 2000 | A |
6108711 | Beck et al. | Aug 2000 | A |
6122665 | Bar et al. | Sep 2000 | A |
6122668 | Teng et al. | Sep 2000 | A |
6130668 | Stein | Oct 2000 | A |
6138139 | Beck et al. | Oct 2000 | A |
6144991 | England | Nov 2000 | A |
6146148 | Stuppy | Nov 2000 | A |
6151622 | Fraenkel et al. | Nov 2000 | A |
6154771 | Rangan et al. | Nov 2000 | A |
6157808 | Hollingsworth | Dec 2000 | A |
6171109 | Ohsuga | Jan 2001 | B1 |
6182094 | Humpleman et al. | Jan 2001 | B1 |
6195679 | Bauersfeld et al. | Feb 2001 | B1 |
6201948 | Cook et al. | Mar 2001 | B1 |
6211451 | Tohgi et al. | Apr 2001 | B1 |
6225993 | Lindblad et al. | May 2001 | B1 |
6230197 | Beck et al. | May 2001 | B1 |
6236977 | Verba et al. | May 2001 | B1 |
6244758 | Solymar et al. | Jun 2001 | B1 |
6256393 | Safadi et al. | Jul 2001 | B1 |
6282548 | Burner et al. | Aug 2001 | B1 |
6286030 | Wenig et al. | Sep 2001 | B1 |
6286046 | Bryant | Sep 2001 | B1 |
6288753 | DeNicola et al. | Sep 2001 | B1 |
6289340 | Puram et al. | Sep 2001 | B1 |
6301462 | Freeman et al. | Oct 2001 | B1 |
6301573 | McIlwaine et al. | Oct 2001 | B1 |
6324282 | McIlwaine et al. | Nov 2001 | B1 |
6347374 | Drake et al. | Feb 2002 | B1 |
6351467 | Dillon | Feb 2002 | B1 |
6353851 | Anupam et al. | Mar 2002 | B1 |
6360250 | Anupam et al. | Mar 2002 | B1 |
6370574 | House et al. | Apr 2002 | B1 |
6404857 | Blair et al. | Jun 2002 | B1 |
6411697 | Creamer et al. | Jun 2002 | B1 |
6411989 | Anupam et al. | Jun 2002 | B1 |
6418471 | Shelton et al. | Jul 2002 | B1 |
6459787 | McIlwaine et al. | Oct 2002 | B2 |
6487195 | Choung et al. | Nov 2002 | B1 |
6493758 | McLain | Dec 2002 | B1 |
6496850 | Bowman-Amuah | Dec 2002 | B1 |
6502131 | Vaid et al. | Dec 2002 | B1 |
6510220 | Beckett, II et al. | Jan 2003 | B1 |
6535909 | Rust | Mar 2003 | B1 |
6542602 | Elazer | Apr 2003 | B1 |
6546405 | Gupta et al. | Apr 2003 | B2 |
6560328 | Bondarenko et al. | May 2003 | B1 |
6583806 | Ludwig et al. | Jun 2003 | B2 |
6606657 | Zilberstein et al. | Aug 2003 | B1 |
6665644 | Kanevsky et al. | Dec 2003 | B1 |
6674447 | Chiang et al. | Jan 2004 | B1 |
6683633 | Holtzblatt et al. | Jan 2004 | B2 |
6697858 | Ezerzer et al. | Feb 2004 | B1 |
6724887 | Eilbacher et al. | Apr 2004 | B1 |
6738456 | Wrona et al. | May 2004 | B2 |
6757361 | Blair et al. | Jun 2004 | B2 |
6772396 | Cronin et al. | Aug 2004 | B1 |
6775377 | McIlwaine et al. | Aug 2004 | B2 |
6792575 | Samaniego et al. | Sep 2004 | B1 |
6810414 | Brittain | Oct 2004 | B1 |
6820083 | Nagy et al. | Nov 2004 | B1 |
6823384 | Wilson et al. | Nov 2004 | B1 |
6870916 | Henrikson et al. | Mar 2005 | B2 |
6901438 | Davis et al. | May 2005 | B1 |
6959078 | Eilbacher et al. | Oct 2005 | B1 |
6965886 | Govrin et al. | Nov 2005 | B2 |
20010000962 | Rajan | May 2001 | A1 |
20010032335 | Jones | Oct 2001 | A1 |
20010043697 | Cox et al. | Nov 2001 | A1 |
20020038363 | MacLean | Mar 2002 | A1 |
20020052948 | Baudu et al. | May 2002 | A1 |
20020053072 | Steinbusch et al. | May 2002 | A1 |
20020065911 | Von Klopp et al. | May 2002 | A1 |
20020065912 | Catchpole et al. | May 2002 | A1 |
20020128925 | Angeles | Sep 2002 | A1 |
20020143925 | Pricer et al. | Oct 2002 | A1 |
20020165954 | Eshghi et al. | Nov 2002 | A1 |
20030033344 | Abbott et al. | Feb 2003 | A1 |
20030055883 | Wiles et al. | Mar 2003 | A1 |
20030079020 | Gourraud et al. | Apr 2003 | A1 |
20030144900 | Whitmer | Jul 2003 | A1 |
20030154240 | Nygren et al. | Aug 2003 | A1 |
20030233386 | Waki et al. | Dec 2003 | A1 |
20040100507 | Hayner et al. | May 2004 | A1 |
20040165717 | McIlwaine et al. | Aug 2004 | A1 |
20050013560 | Mazotti et al. | Jan 2005 | A1 |
20050281470 | Adams | Dec 2005 | A1 |
20060288345 | Rice et al. | Dec 2006 | A1 |
20100077086 | El Zur | Mar 2010 | A1 |
Number | Date | Country |
---|---|---|
0453128 | Oct 1991 | EP |
0773687 | May 1997 | EP |
0989720 | Mar 2000 | EP |
2369263 | May 2002 | GB |
WO 9843380 | Nov 1998 | WO |
WO 0016207 | Mar 2000 | WO |