Systems and methods for recording using virtual machines

Information

  • Patent Grant
  • 8068602
  • Patent Number
    8,068,602
  • Date Filed
    Friday, September 29, 2006
    17 years ago
  • Date Issued
    Tuesday, November 29, 2011
    12 years ago
Abstract
A recording system that 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.
Description
FIELD OF THE DISCLOSURE

The present disclosure generally relates to recording of data.


DESCRIPTION OF THE RELATED ART

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.


SUMMARY

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.





BRIEF DESCRIPTION OF THE DRAWINGS

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.



FIG. 1 is a simplified block diagram depicting an embodiment of a recording system.



FIG. 2 is a simplified block diagram depicting an embodiment of a recording system configured to enable failover.



FIG. 3 is a simplified block diagram depicting an embodiment of a virtual machine host in which virtual recorders may be implemented.



FIG. 4 is a block diagram depicting an embodiment of a telephony tap which is used to tap telephone lines.



FIGS. 5-7 are flow charts depicting embodiments of methods for recording communications.



FIG. 8 is a flow chart depicting an embodiment of a method for recording communications.



FIG. 9 is a flow chart depicting an embodiment of a method for recording communications.





DETAILED DESCRIPTION

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.



FIG. 1 is a simplified block diagram depicting an embodiment of a recording system 100. The recording system may be located, for example, at a contact center premises. The recording system 100 includes telephones 101 and 102, computers 103 and 104, and a virtual machine host 110. In this embodiment, the telephone 101 and the computer 103 are part of a workspace for a first contact center agent. Similarly, the telephone 102 and the computer 104 are part of a workspace for a second contact center agent. The contact center agents receive telephone calls, for example, from customers and use their respective computers to help provide customer service. The computers 103 and 104 are connected to a network 106, which may be, for example, a local area network.


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).



FIG. 2 is a simplified block diagram depicting an embodiment of a recording system 200 configured to enable failover. The recording system 200 includes telephones 201 and 202, computers 203 and 204, telephony tap 207, and virtual machine hosts 220 and 210. The telephony tap 207 is configured to tap the telephone lines 208 and 209, and to communicate with the virtual machine hosts 220 and 210. The virtual machine host 220 includes a first virtual recorder 221, which is configured to record communications occurring via the telephone 201, the telephone 202, the computer 203, and/or the computer 204. The virtual machine host 210 includes a migrated virtual recorder 211, which is configured to be a backup for the first virtual recorder 221 in case the virtual machine host 220 and/or the first virtual recorder 221 fail. When the virtual machine host 220 and/or the first virtual recorder 221 fail, recording duties are transferred to the migrated virtual recorder 211. Failover may be implemented through communication between the virtual machine host 210, the virtual machine host 220, and/or the telephony tap 207. Failover may also be implemented through communication with another device (e.g., another computer not shown in FIG. 2) configured to enable the failover. Previously known or newly developed failover techniques may be implemented.


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.



FIG. 3 is a simplified block diagram of a virtual machine host 300 in which virtual recorders 111 and/or 112 may be implemented. Generally, in terms of hardware architecture, as shown in FIG. 1, the components of the virtual machine host 300 include a processor 310, a network interface 320, a memory device 330, and peripheral device interfaces 350. These components (310, 320, 330, and 350) may be communicatively coupled via a local interface 360, which may comprise, for example, one or more buses or other wired or wireless connections. The local interface 360 may have additional elements, which are omitted for simplicity, such as controllers, buffers (caches), drivers, repeaters, and receivers, to enable communications.


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 (FIGS. 1 and 2). The network interface 320 may be, for example, an Ethernet interface.


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 (FIGS. 1 and 2).


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.



FIG. 4 is a block diagram of an embodiment of a telephony tap 400 which is used to tap telephone lines. Generally, in terms of hardware architecture, as shown in FIG. 1, the components of the telephony tap 400 include a processor 410, a network interface 420, a memory device 430, and voice cards 470. These components (410, 420, and 430) may be communicatively coupled via a local interface 460, which may comprise, for example, one or more buses or other wired or wireless connections. The voice cards 470 are used to receive and digitize telephone signals tapped from the telephone lines.


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 (FIGS. 1 and 2). The network interface 420 may be, for example, an Ethernet interface.


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.



FIG. 5 is a flow chart depicting an embodiment of a method 500 for recording communications. According to step 501, a telephony tap receives telephone signals from a first and second telephone. The first and second telephones may be located on the same premises (e.g., a contact center) and may each be a part of a workspace that includes an agent workstation. According to step 502, the telephone tap digitizes the telephone signals, which may then be formatted according to a predetermined data format. According to step 503, the telephone tap transmits the formatted telephone data to a virtual machine host that hosts first and second virtual recorders. The virtual machine host may be at the same customer premises as the first and second telephones or may be remotely located. According to step 504, the first virtual recorder stores the formatted telephone data corresponding to the first telephone. According to step 505, the second virtual recorder stores the formatted telephone data corresponding to the second telephone.



FIG. 6 is a flow chart depicting an embodiment of a method 600 for recording communications. According to step 601, a telephony tap receives a first telephone signal from a first telephone. According to step 602, the telephone tap digitizes the first telephone signal, which may then be formatted according to a predetermined data format. According to step 603, the telephone tap transmits the telephone data corresponding to the first telephone signal to a virtual machine host that hosts first and second virtual recorders. According to step 604, the first virtual recorder stores the telephone data corresponding to the first telephone signal. According to step 605, the telephony tap receives a second telephone signal from a second telephone. According to step 606, the telephone tap digitizes the second telephone signal, which may then be formatted according to a predetermined data format. According to step 607, the telephone tap transmits the telephone data corresponding to the second telephone signal to the virtual machine host. According to step 608, the second virtual recorder stores the telephone data corresponding to the second telephone signal.



FIG. 7 is a flow chart depicting an embodiment of a method 700 for recording communications. According to step 701, a telephony tap transmits telephone data (corresponding to a telephone) to a first virtual machine host that hosts a first virtual recorder. According to step 702, the first virtual recorder stores the formatted telephone data received from the telephony tap. According to step 703, a failure of the first virtual machine host and/or the first virtual recorder is detected (e.g., by a second virtual machine host). The failure may be the result of a hardware and/or a software malfunction. According to step 704, recording assignment is transferred to a second virtual recorder hosted on a second virtual machine host. This transfer may be accomplished by communication between the first and second virtual machine hosts and/or with the intervention of another computer that monitors the functionality of the first virtual machine host. According to step 705, the telephony tap transmits subsequent telephone data (corresponding to the telephone) to the second virtual machine host. According to step 706, the second virtual recorder (hosted by the second virtual machine host) stores subsequent telephone data corresponding to the telephone.



FIG. 8 is a flow chart depicting an embodiment of a method 800 for storing communications. According to step 801, a first virtual recorder hosted by a virtual machine host receives first data from a first computer. The first data may be requested by the virtual machine host or may, for example, be transmitted at pre-determined intervals by the first computer. The first data may, for example, be related to the performance of an agent at a first contact center workstation and may comprise, for example, screen shots, e-mail data, and/or customer data, among others. According to step 802, the first virtual recorder stores the first data (e.g., in non-volatile memory in the virtual machine host). According to step 803, a second virtual recorder hosted by the virtual machine host receives second data from a second computer. The second data may be requested by the virtual machine host or may, for example, be transmitted at pre-determined intervals by the second computer. The second data may, for example, be related to the performance of an agent at a second contact center workstation and may comprise, for example, screen shots, e-mail data, and/or customer data, among others. According to step 804, the second virtual recorder stores the second data (e.g., in non-volatile memory in the virtual machine host).



FIG. 9 is a flow chart depicting an embodiment of a method 900 for storing communications. According to step 901, a first virtual recorder hosted by a virtual machine host receives first telephone data corresponding to a first telephone. According to step 902, the first virtual recorder stores the first telephone data. According to step 903, the first virtual recorder receives first data from a first computer. According to step 904, the first virtual recorder stores the first data. According to step 905, a second virtual recorder hosted by the virtual machine host receives second telephone data corresponding to a second telephone. According to step 906, the second virtual recorder stores the second telephone data. According to step 907, the second virtual recorder receives second data from a second computer. According to step 908, the second virtual recorder stores the second data.


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.

Claims
  • 1. A recording system comprising: software emulating a virtual machine 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; andat least one communication interface configured to receive first data corresponding to a first contact corresponding to a first contact center agent;a second guest operating system enabled by the software emulating a virtual machine to function in a virtual machine operating environment; andthe second recording software being enabled to function by the second guest operating system;wherein said at least one processor is instructed by the first recording software to cause the first data to be stored in memory, andwherein said at least one processor is instructed by the second recording software to cause the second data to be stored in memory in the event of a failure of the first recording software.
  • 2. The system of claim 1, wherein the first data encodes a voice communication.
  • 3. The system of claim 1, wherein the first data encodes a screen capture corresponding to a workstation used by the first contact center agent.
  • 4. The system of claim 1, wherein the first contact is facilitated by Internet Protocol (IP) packets.
  • 5. The system of claim 1, wherein the at least one communication interface is configured to receive second data corresponding to a second contact corresponding to a second contact center agent.
  • 6. The system of claim 5, wherein the second data encodes a voice communication.
  • 7. The system of claim 5, wherein the second data encodes a screen capture corresponding to a workstation used by the first contact center agent.
  • 8. The system of claim 1, wherein: the first recording software functions within the first guest operating system;the first guest operating system functions within the software emulating a virtual machine; andthe software emulating a virtual machine functions within a main operating system.
US Referenced Citations (172)
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
Foreign Referenced Citations (6)
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