Systems and methods for calculating workforce staffing statistics

Information

  • Patent Grant
  • 7826608
  • Patent Number
    7,826,608
  • Date Filed
    Friday, March 31, 2006
    18 years ago
  • Date Issued
    Tuesday, November 2, 2010
    13 years ago
Abstract
Systems and methods for determining workforce staffing statistics in a contact center are disclosed. In one embodiment, the method comprises the steps of: receiving activity records associated with agents; and producing queue-specific staff counts for an interval. The counts are based on an activity record subset, and an agent skill, and a contact queue skill set. In one embodiment, the system comprises: an activity collector operative to receive events; and a staff statistics calculator operative to determine a staff count for a specified staffing interval. Each of the events describes a worker activity. In this embodiment, the calculator comprises: logic for receiving activity records derived from one of the events; logic for identifying contact queues for each worker in the activity records; and logic for incrementing a contact queue staff count if at least one skill for the respective worker is included in the respective contact skill set.
Description
FIELD OF THE DISCLOSURE

The present disclosure relates to software for contact centers, and more specifically, to a systems and methods for calculating workforce staffing statistics.


BACKGROUND

The business of a contact center is to provide rapid and efficient interaction between agents and customers, or prospective customers, using various interaction methods and media, including phone, fax, e-mail and messaging. A manager in a contact center typically uses force management software (FMS) to produce a schedule that includes agents assigned to work activities for specific time periods. During the workday, the FMS produces staffing statistics. The manager uses staffing statistics to adjust the number of agents assigned to particular activities when the contact center performance is either above or below contact center goals (e.g., a desired service level.) If performance exceeds the goals, the manager can reduce the number of agents. If performance does not meet goals, the manager can add more agents to the schedule.


Skills-based routing attempts to find the best available match between the needs of the customer and the various proficiencies or skills of available agents. Providing staffing statistics in a skills-based environment is difficult. One problem is providing an accurate count of agents. A multi-skill agent could be counted against more than one (skill) queue. A conventional FMS simply counts an agent with multiple skills against all queues, resulting in an miscount. Furthermore, a conventional FMS reports one combined count, rather than a count for each skill-related queue.


SUMMARY OF THE INVENTION

Systems and methods are disclosed for determining workforce staffing statistics in a contact center. In one embodiment, the method comprises the steps of: receiving a plurality of activity records; and producing staff counts for a staffing interval. Each activity record is associated with an agent. The staff counts are based on at least some of the activity records, and on agent skill sets, and on queue skill sets.





BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the disclosure 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 disclosure.



FIG. 1 is a block diagram of a contact center environment for an embodiment of a system and method for calculating workforce staffing statistics from activity records.



FIG. 2 illustrates the process of contact routing based on agent skills, according to one embodiment of a system and method for calculating workforce staffing statistics from activity records.



FIG. 3 is a block diagram showing several components of the WFMS of FIG. 1.



FIG. 4 is a flowchart of one implementation of the staff statistics calculator of FIG. 3.



FIG. 5 is a data flow diagram of one embodiment of the queue selection process of FIG. 4.



FIG. 6 is a hardware block diagram of a general-purpose computer which can be used to implement systems and methods for calculating workforce staffing statistics from activity records.





DETAILED DESCRIPTION


FIG. 1 is a block diagram of a contact center environment 100. The contact center 100 is 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 can be used, such as text chat, web collaboration, email, and fax. An agent workspace includes an agent phone 110 and a workstation computer 120. A network 130 connects one or more of the workstations 120.


A contact router 140 distributes or routes contacts (incoming or outgoing) to an agent position. Voice over Internet Protocol (VoIP) calls and computer-based contacts (e.g., chat, email) are routed over one or more data networks, and distributed over network 130 to one of the agent workstations 120. Contact router 140 may include an automatic call distributor (ACD) 120 to route phone contacts. The embodiments described herein will refer to the ACD 120 instead of contact router 140, but analogous contact router actions and operations are intended to be captured by this disclosure.


If an agent is not available to handle a particular call, ACD 120 puts the call into a queue, which effectively places the caller on hold. When an agent is available, ACD 120 connecting the outside trunk line 150 carrying the phone call to one of the agents. More specifically, ACD 120 connects the outside trunk line 150 to the trunk line 160 of the selected agent.


When an agent is ready to handle contacts, the agent first logs into the contact router 140. This login notifies the contact router 140 that the agent is available to generate outgoing contacts or to handle incoming contacts. An agent's state with respect to the router changes throughout the workday, as the agent performs work activities such as handling calls, performing after-call work, and taking breaks. An example list of states includes available, busy, after-call work, and unavailable.


While handling a contact, the agent interacts with one or more applications 170 running on workstation 120. By way of example, workstation applications could provide the agent with access to customer records, product information, ordering status, and transaction history. The applications may access one or more business databases (not shown) via network 130.


The contact center 100 also includes a work force management system (WFMS) 180. WFMS 180 performs many functions. One of these functions is calculating staffing levels and agent schedules based on historical patterns of incoming calls. Another function of WFMS 180 is collecting call center contact statistics and providing this information, both historical and real-time, to the call center supervisor or manager. Some of these statistics are typically displayed on a periodic basis in a “pulse” window. The pulse window is used by a call center manager to obtain a quick summary of call center operations during the last period. One statistic commonly shown in a pulse window is an actual staff count for the last period.


The WFMS 180 also maintains a list of agents and skills associated with each agent. Examples of agent skills include knowledge of a particular product or process (e.g., customer service or sales), and the ability to speak a particular language (e.g., Spanish). This agent-skill association information is provided to contact router 140 so that contact router 140 can route calls based on agent skills, as shown in FIG. 2.


As each agent 210 begins work in the contact center, the agent 210 logs in to contact router 140. Contact router 140 uses the agent login information to determine the skills associated with an agent. Each skill is associated with one or more queues 230.


For example, the scenario shown in FIG. 2 includes four agents (210A-D) and three queues (230A-C). Agent 210A has only one skill (1), and is therefore associated with queue #1 (230A). Agent 210B has two skills (1, 2) and is therefore associated with queue #1 (230A) and queue #2 (230B). Agent 210C also has two skills (2, 3), and is therefore associated with queue #2 (230B) and queue #3 (230C). Finally, agent 210D has a single skill (3), and is therefore associated with queue #3 (230C).


The contact router 140 receives incoming contacts and distributes each contact 220 to one of a set of queues 230, where each queue 230 is associated with a particular agent skill. The contacts 220 remain queued until an agent 210 with appropriate skills is available.


To determine in which queue 230 a contact is to be placed, the contact router 140 identifies which agent skills the contact relates to. The contact router 140 makes this determination by classifying the contact based on various parameters, such as customer input (e.g., touchtone or interactive voice recognition) or contact information (e.g. called number or calling number). Based on this classification, the contact is then distributed to a particular queue 230, handled by agents having that skill. Two simple examples of classification are: customer presses 1 for English, or 2 for Spanish; customer dials one toll-free number for Sales or a different number for Customer Service. In that example, contacts classified as “Spanish” would be routed to a queue associated with an agent having a Spanish-speaking skill.


As an agent 210 becomes available to handle a contact 220, the contact router 140 routes, to that agent 210, the next contact in one of the queues 230 associated with that agent 210. In this scenario, all four agents are available to handle contacts. Thus, the first contact in queue #1 (220A) could be routed to agent 210A or agent 210B. The first contact in queue #2 (220B) could be routed to agent 210B or agent 210C. The first contact in queue #3 (220C) could be routed to agent 210C or agent 210D.



FIG. 3 is a block diagram showing several components of the WFMS 180, including an activity collector 310, an activity database 320, a staff statistics calculator 330, and a user interface 340. As an agent handles contacts throughout a workday, the contact router 140 reports changes in the state of the agent's phone to the WFMS 180, as ACD events 350P. As an agent interacts with various applications 170 on his workstation 120, an application monitor 360 tracks and reports application events 350A to the WFMS 180. In some embodiments, the granularity of application events 350A is application-level, so that events describe when applications start and exit, and when a user switches from one application to another. In other embodiments, the granularity is screen-level (events describe a particular screen displayed within an application) or low-level (events describe input and/or output associated with each application such as keystrokes, mouse clicks, and screen updates).


The collector 310 receives these events 350 from multiple sources. An event 350 has an occurrence time and a descriptor which includes fields such as event source (e.g., ACD, application monitor), type, and agent identifier. If the event 350 does not include an agent identifier, the collector 310 maps the phone or workstation identifier to a corresponding agent identifier based on information obtained at agent login. Thus, the event 350 indicates, either directly or indirectly, an agent identifier.


From the reported events 350, the collector 310 creates agent activity records 370, and stores them in the database 320. In some embodiments, the activity records 370 stored in the database 320 include an agent identifier, an activity source, an activity code, a start time, a stop time, and a duration.


The database 320 stores various other types of records also. A contact center manager uses the user interface 340 to create agent records 375, each of which includes the skill(s) possessed by each agent. The user interface 340 is also used to create campaign records 380, each of which includes a set of ACD queues which is associated with the campaign.


A person of ordinary skill in the art of software development will understand that the data organization described above is only one way among many to organize database 320. Database 320 can be organized in many other ways that allow the same relationships to be expressed, and all such organizations are intended to be captured by this disclosure.


The staff statistics calculator 330 uses the information provided by the activity records 370, agent records 375, and campaign records 380 to calculate per-queue staff statistics 390 for a staffing interval. The staff statistics calculator 330 produces queue-specific staff counts for the interval, based on activity records, skill sets associated with agents, and skill sets associated with contact queues. In some embodiments, staff statistics 390 include a body, or staff, count. As will be understood by one skilled in the art, a staff count is the number of agents logged into a queue in some time interval. The body count does not take into account the fact that agents with multiple skills can handle multiple queues, and therefore divide their time among specific queues (associated with the agent's skills). In some embodiments, staff statistics 390 include a full-time equivalent (FTE) count. As will also be understood by one skilled in the art, an FTE count is the number of dedicated agents needed to achieve the service levels being seen on a queue. Thus, the FTE count does take into account the way agents divide their time among queues, and that agents with multiple skills are more efficient. In some embodiments, the calculation of staff statistics 390 is run periodically, and in others the calculation is performed on demand.


The staff statistics calculator 330 will now be described in further detail. Although an activity record 370 describes which agent 210 performed the activity, an activity record 370 does not directly specify which of the queues 230 the agent was servicing at the time associated with the activity. Therefore, the staff statistics calculator 330 performs further processing to determine which ACD queue or queues 230 an agent 210 is counted against when calculating the per-queue staff statistics 390.



FIG. 4 is a flowchart depicting functionality of an embodiment of the staff statistics calculator 330. At block 410, the activity records 370 for an agent 210 are retrieved. Next (block 420), the activity records 370 are examined to determine the duration of all activities occurring within the desired time period. At block 430, the total duration is compared to a threshold. If the threshold is not met, then processing continues with the next agent 210, at block 410.


If the total duration threshold is met, then processing continues at block 440, where a subset of queues is selected. The queue selection process will be described in further detail later, in connection with FIG. 5. Next (block 450), the body count in each of the per-queue staff statistics 390 is incremented by one for each of queues selected in block 440. At block 460, the full time equivalent (FTE) count in the per-queue staff statistics 390 is calculated for each of queues selected in block 440. By way of example, calculation of FTE counts can be performed using a reverse Erlang C formula, as follows







P
c

=




E
N


N
!


×

N

N
-
E






(



E
X


X
!


+

(



E
N


N
!


×

N

N
-
E



)


)








where Pc is the probability that a customer will experience a non zero delay, E is the total traffic offered (in Erlangs), and N is the total number of resources available. One of ordinary skill in the art should understand Erlang calculations, so this will not be discussed in further detail.


At block 470, a determination is made as to whether all agents 210 have been processed. If Yes, then processing is finished. If No, then processing continues with the next agent 210, at block 410.



FIG. 5 is a data flow diagram of an embodiment of the queue selection process 440. An agent record 510 is provided as input to the queue selection process 440. In the implementation shown in FIG. 5, the agent record 510 has an association (520) with one or more campaign records 530, and each campaign record 530 has an association (540) with one or more queue records 550. Thus, each agent record 510 is associated, through one or more campaign records 530, with a set (560) of one or more queue records. In another implementations (not shown), the campaign feature may not be present, thus an agent can be directly associated with a queue.


Using information in the agent record 510, a subset 570 of the set 560 of queue records is selected for update as follows. For each queue record 550 in the set 560, the skill list (580) of the queue record 550 is compared with the skill list (590) of the agent record 510. In the case of a queue skill list 580 with no skills, then the queue record 550 is put into the selection subset 570. Otherwise, the matching queue record 550 goes into the selection subset 570 if all skills in the queue skill list 580 are found in the agent skill list 590. Instead of adding queues to an initially-empty selection subset, an alternative embodiment could instead produce a selection set by removing queues with non-matching skills from the original set 560 of queue records.


For example, in the scenario shown in FIG. 5, agent record 510 has an association with two campaigns (530A, 530B). Campaign 530A has an association with two queues (550A, 550B). Campaign 530B has an association with two queues (550C, 550D). The original queue set 560 thus comprises four queues, 550A-D.


The agent skill list 590 includes two skills: 2 and 5. Only one of the four queues has a skill list 580 that includes both skill 2 and skill 5: queue 550A. Thus, queue 550A goes into the selection subset 570. Queue 550D also goes into the selection subset 570 because queue 550D has no skills in the queue skill list 580.


Another implementation of queue selection process 440 (not shown) handles distributed campaigns. A distributed campaign uses at least one distributed queue, which is represented as a parent queue having a list of (normal) child queues. In this implementation, queue selection process 440 further expands the selection subset 570 by including in the selection subset 570 the parent of each child queue record. Thus, the staff statistics 390 are incremented for the parent queue as well as the child queue.


In another variation of staff statistics calculator 330, each contact queue 230 is associated with a media type (e.g., phone, e-mail, or chat). The staff statistics calculator 330 in this embodiment computes the staff counts for a particular media, or across all media (a feature called “combined staffing”.) When this multi-media embodiment is combined with a distributed campaign embodiment, the staff statistics 390 for the child queue are incremented only if that queue is associated with the same data source as the agent under consideration.



FIG. 6 is a hardware block diagram of a general-purpose computer 600 which can be used to implement the system and method for calculating workforce staffing statistics from activity records. The computer 600 contains a number of components that are well known in the art of contact center software, including a processor 610, a network interface 620, memory 630, and non-volatile storage 640. Examples of non-volatile storage include, for example, a hard disk, flash RAM, flash ROM, EEPROM, etc. These components are coupled via a bus 650. The memory 630 contains instructions which, when executed by the processor 610, implement the system and method for calculating workforce staffing statistics from activity records such as the process depicted in the flowcharts and dataflow diagrams of FIGS. 4 and 5. Omitted from FIG. 6 are a number of conventional components, known to those skilled in the art, that are unnecessary to explain the operation of system 600.


The systems and methods for calculating workforce staffing statistics from activity records disclosed herein can be implemented in software, hardware, or a combination thereof. In some embodiments, the system and/or method is implemented in software that is stored in a memory and that is executed by a suitable microprocessor situated in a computing device. However, the systems and methods can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device. Such instruction execution systems include any computer-based system, processor-containing system, or other system that can fetch and execute the instructions from the instruction execution system. In the context of this disclosure, a “computer-readable medium” can be any means that can contain, store, communicate, propagate, or transport the program for use by, or in connection with, the instruction execution system. The computer readable medium can be, for example but not limited to, a system or propagation medium that is based on electronic, magnetic, optical, electromagnetic, infrared, or semiconductor technology. The functionality could also be implemented in logic embodied in hardware or software-configured media.


Specific examples of a computer-readable medium using electronic technology would include (but are not limited to) the following: an electrical connection (electronic) having one or more wires; a random access memory (RAM); a read-only memory (ROM); an erasable programmable read-only memory (EPROM or Flash memory). A specific example using magnetic technology includes (but is not limited to) a portable computer diskette. Specific examples using optical technology includes (but are not limited to): an optical fiber; and a portable compact disk read-only memory (CD-ROM).


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 method for determining workforce staffing statistics in a contact center, the method comprising the steps of: receiving a plurality of activity records, each activity record associated with one of a plurality of agents;producing a plurality of queue-specific staff counts for a specified staffing interval, based on at least a subset of the activity records, on a skill set associated with each of the agents, and on a skill set associated with each of a plurality of contact queues;calculating, based on the received activity records associated with the agent, a total duration for an activity type;if the total duration exceeds a threshold, selecting, from the plurality of contact queues, a subset of queues for which one of the staff counts will be incremented;incrementing the staff count associated with each of the selected subset of queues.
  • 2. The method of claim 1, wherein the selecting step further comprises the step of: selecting contact queues for which at least one skill in the set associated with the worker matches at least one skill in the set associated with the respective contact queue.
  • 3. The method of claim 1, wherein the incrementing step further comprises the step of: incrementing, by one, a staff count associated with each of the selected subset of queues.
  • 4. The method of claim 1, wherein the incrementing step further comprises the step of: calculating a full time equivalent (FTE) for each of the selected subset of queues; andincrementing an FTE count associated with each of the selected subset of queues by the calculated FTE.
  • 5. The method of claim 1, wherein each of the contact queues is associated with a media type, and further comprising the step of: determining a plurality of staff counts for a specified staffing interval and for a specified media type, based on at least a subset of the activity records, on a skill set associated with each of the workers, and on a skill set associated with each of a plurality of contact queues.
  • 6. The method of claim 1, wherein the threshold is half the specified staffing interval.
  • 7. The method of claim 1, wherein each activity record describes a work activity performed by one of the workers during a time period.
  • 8. A system for determining workforce staffing statistics in a contact center, the program comprising the steps of: an activity collector operative to receive events, each of the events describing an activity associated with a worker;a staff statistics calculator operative to determine a plurality of staff counts for a specified staffing interval, wherein the calculator comprises: logic for receiving a plurality of activity records, each activity record derived from one of the received events;logic for identifying one or more contact queues associated with each worker described in the plurality of activity records;logic for calculating, based on the plurality of activity record, a total duration for an activity type;logic for if the total duration exceeds a threshold, selecting, from the contact queues, a subset of queues for which one of the staff counts will be incremented; andlogic for incrementing a staff count associated with each of the contact queues, if at least one of a set of skills associated with the respective worker is included in a set of skills associated with the respective contact queue.
  • 9. The system of claim 8, wherein the staff statistics calculator further comprises: logic for calculating, based on the received activity records associated with one of the workers, a total duration for an activity type; andlogic for performing the incrementing step only if the total duration exceeds a threshold.
  • 10. The system of claim 8, wherein the staff statistics calculator further comprises: logic for incrementing, by one, a staff count associated with each of the contact queues, if at least one of the skills in the worker skill set is included in the respective contact queue skill set.
  • 11. The system of claim 8, wherein the staff statistics calculator further comprises: logic for calculating a full time equivalent (FTE) count associated with each of the contact queues, if at least one of the skills in the worker skill set is included in the respective contact queue skill set; andlogic for incrementing an FTE count associated with one of the contact queues by the calculated FTE.
  • 12. The system of claim 8, wherein the staff statistics calculator further comprises: logic for identifying one or more campaigns associated with the worker; andlogic for identifying one or more contact queues associated with each of the one or more campaigns.
  • 13. The method of claim 1, wherein the threshold is half the specified staffing interval.
  • 14. A computer-readable medium having a computer program stored thereon, the computer program comprising computer-executable instructions for performing a computer-executed method for determining workforce staffing statistics in a contact center, the method comprising the steps of: receiving an activity record describing one of a plurality of workers;identifying one or more contact queues associated with the worker described by the activity record;comparing a skill set associated with the worker and a skill set associated with each of the contact queues;calculating, based on the plurality of activity record, a total duration for an activity type;if the total duration exceeds a threshold, selecting, from the contact queues, a subset of queues for which one of the staff counts will be incremented; andincrementing a staff count associated with each of the contact queues, if at least one of the skills in the worker skill set is included in the respective contact queue skill set.
  • 15. The computer-readable medium of claim 14, wherein the incrementing step further comprises the step of: incrementing, by one, a staff count associated with each of the contact queues, if at least one of the skills in the worker skill set is included in the respective contact queue skill set.
  • 16. The computer-readable medium of claim 14, wherein the incrementing step further comprises the steps of: calculating a full time equivalent (FTE) count associated with each of the contact queues, if at least one of the skills in the worker skill set is included in the respective contact queue skill set; andincrementing an FTE count associated with one of the contact queues by the calculated FTE.
  • 17. The computer-readable medium of claim 14, wherein the identifying step further comprises the step of: identifying one or more campaigns associated with the worker; andidentifying one or more contact queues associated with each of the one or more campaigns.
  • 18. The computer-readable medium of claim 14, wherein each of the contact queues is associated with a media type, and further comprising the steps of: identifying one or more contact queues associated with the worker described by the activity record and associated with a specified media type;comparing a skill set associated with the worker and a skill set associated with each of the determined contact queues; andincrementing a staff count associated with each of the contact queues, if at least one of the skills in the worker skill set is included in the respective contact queue skill set.
US Referenced Citations (169)
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
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
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
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
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
6502131 Vaid et al. Dec 2002 B1
6510220 Beckett, II et al. Jan 2003 B1
6535909 Rust Mar 2003 B1
6542602 Elazar 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
6766012 Crossley Jul 2004 B1
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
7418094 Golitsin et al. Aug 2008 B2
7478051 Nourbakhsh et al. Jan 2009 B2
20010000962 Rajan May 2001 A1
20010032335 Jones Oct 2001 A1
20010043697 Cox et al. Nov 2001 A1
20020018554 Jensen et al. Feb 2002 A1
20020038363 MacLean Mar 2002 A1
20020052948 Baudu 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
20020143597 Andre et al. Oct 2002 A1
20020143925 Pricer et al. Oct 2002 A1
20020165954 Eshghi et al. Nov 2002 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
20030177017 Boyer et al. Sep 2003 A1
20040100507 Hayner et al. May 2004 A1
20040165717 McIlwaine et al. Aug 2004 A1
20050125439 Nourbakhsh et al. Jun 2005 A1
20050138560 Lee et al. Jun 2005 A1
20060282301 Olson Dec 2006 A1
20070071222 Flockhart et al. Mar 2007 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