The present invention is directed generally to event processing and specifically to monitoring agent performance.
Contact centers, such as Automatic Call Distribution or ACD systems, are employed by many enterprises to service customer contacts. A typical contact center includes a switch and/or server to receive and route incoming packet-switched and/or circuit-switched contacts and one or more resources, such as human agents and automated resources (e.g., Interactive Voice Response (IVR) units), to service the incoming contacts. Contact centers distribute contacts, whether inbound or outbound, for servicing to any suitable resource according to predefined criteria. In many existing systems, the criteria for servicing the contact from the moment that the contact center becomes aware of the contact until the contact is connected to an agent are customer-specifiable (i.e., programmable by the operator of the contact center), via a capability called vectoring. Normally in present-day ACDs when the ACD system's controller detects that an agent has become available to handle a contact, the controller identifies all predefined contact-handling skills of the agent (usually in some order of priority) and delivers to the agent the highest-priority oldest contact that matches the agent's highest-priority skill. Generally, the only condition that results in a contact not being delivered to an available agent is that there are no contacts waiting to be handled.
The primary objective of contact center management, including call-distribution algorithms, is to ultimately maximize contact center performance and profitability. An ongoing challenge in contact center administration is monitoring of agent behaviors to optimize the use of contact center resources and maximize agent performance and profitably. Current products for monitoring and reporting on contact center performance, such as Call Management System or CMS™ by Avaya, Inc., are configured as data warehouses that extract data from multiple sources, transform the data into a normalized form, and load the data into the data warehouse database, typically on a batch schedule. Additional calculations and reporting are performed after the batch load.
A common type of data warehouse is based on dimensional modeling. Dimensional modeling is a data model that divides the world into measurements and context. Measurements are usually numeric and taken repeatedly. Numeric measurements are facts. Facts are surrounded by textual context in existence when the fact is recorded. Context is often subdivided into dimensions. Fact tables are used in dimensional modeling to logically model measurements with multiple foreign keys referring to the contextual entities. The contextual entities each have an associated primary key. A “key” is a data element (e.g., attribute or column) that identifies an instance of an entity or record in a collection of data, such as a table. A “primary key” is a column or combination of columns whose values uniquely identify a row in a table or is the attribute or group of attributes selected from the candidate keys as the most suitable to uniquely identify each instance of an entity. A “foreign key” refers to a column or combination of columns whose values are required to match a primary key in another table or is a primary key of a parent entity that contributes to a child entity across a relationship. Types of primary keys include a natural key, or a key having a meaning to users, and a surrogate key, or a key that is artificially or synthetically established, meaningless to users, and used as a substitute for a natural key.
If the same entity (e.g., agent) is represented on multiple data sources (e.g., inbound call system and outbound call system) by different natural keys, a traditional data warehouse generates and assigns a surrogate key to identify the entity. The surrogate key is an internal identifier managed by the data warehouse. For example, in a contact center an agent may handle inbound calls from one system and outbound calls from another system, with different identities on each system. Data warehouses commonly process each data source independently, performing data correlation across sources at a later time. This approach is normally unworkable when events for the same entity from multiple sources must be processed simultaneously in real time, such as in the blended inbound/outbound call center. For this reason, existing contact center data warehouse products that combine data from multiple sources appear to merely process each source independently, with little or no correlation when the same entity is represented on multiple sources.
Some data models specify a behavior known as a type 2 slowly changing dimension. A type 2 dimension tracks the history of changes to an entity over time. When an attribute of an entity is changed, such as when a contact center agent changes their skill set or group membership, a new surrogate key for that entity is generated, and a new row inserted into the database. Fact data associated with the entity can now be tracked separately for activities that occurred before versus after the change by referencing the appropriate surrogate key.
The traditional technique for handling a type 2 dimension update is to associate the change with a specific point in time. If that point in time occurs in the middle of a logical transaction, there is a potential for performing incorrect data correlation. This problem is exacerbated for real time data warehouse application where the application must handle entities with multiple natural keys that also have multiple surrogate keys due to type 2 dimensions. Because an entity has multiple natural keys, a surrogate key must be used to track fact data for the entity. If the application performs calculations in real time that span a type 2 dimension change that caused a new surrogate key to be created, the result of the calculation may be indeterminate or incorrect. For example, a contact center application may track the amount of time an agent places callers on hold. If a type 2 dimension change occurs to the agent dimension while the agent has a caller on hold, a new surrogate key is generated. The application then cannot easily calculate the hold time because the start and end times are associated with different fact records with different surrogate keys. The problem expands when considering data consistency across individual calls, multiple related calls, or agent login sessions that may span hours.
These and other needs are addressed by the various embodiments and configurations of the present invention. The present invention is directed generally to sequencing the use of different surrogate keys associated with a common entity.
In a first embodiment, a method for correlating information is provided that includes the steps:
(a) receiving notification of a change to an attribute of an entity, the entity, prior to the change, being associated with a first surrogate key; and
(b) deferring the use of a second surrogate key, generated in response to the change, until a selected time. The entity and associated attribute can be context or a measurement. Typically, the entity is a dimension and the attribute is a fact.
In a second embodiment, a method for correlating information is provided that includes the steps:
(a) receiving an event notification, the event notification comprising event information and a natural key;
(b) mapping the natural key to a normalized key; and
(c) selecting a first hint for the normalized key, the first hint indicating which of a plurality of surrogate keys associated with the normalized key will be used in a record corresponding to the event information. An event is an occurrence or happening. A normalized key is a type of surrogate key used to reference an entity associated with a natural key. A hint can be any information influencing the selection of a first surrogate key over a second surrogate key. The hint is preferably a form of instruction indicating when a selected surrogate key is valid for use.
In one exemplary configuration, multiple natural keys for the same entity from multiple sources are mapped to the normalized key. Multiple surrogate keys are also maintained to support type 2 dimensions. The normalized key is used to manage facts for an entity prior to storing the facts in the database. When a new type 2 surrogate key is generated, the hint is provided to the event processor, allowing the processor to decide when to allow the new surrogate key to take effect based on knowledge of the entity state or other business conditions. Until the entity is in a state where calculated facts are consistent according to business operations, facts stored in the database are associated with the previous surrogate key.
By using a normalized key that is separate from both the natural keys and the type 2 surrogate keys, it becomes possible to perform calculations for an entity in real time without regard to the multiple representations of the entity at the sources and the multiple type 2 dimension representations in the database. Type 2 dimension semantics are maintained by deferring the time when a new type 2 surrogate key takes effect in the fact data until the entity is in an acceptable state, such as at the end of the current contact or after the agent has completed his or her daily shift. The specific time of deferral is determined in real time by the events processed from the multiple input sources, such as based on rules encoded in a specification or coded in software.
The invention can allow events for the same entity from multiple sources to be consolidated and summarized in real time into a data model that supports type 2 dimension semantics, without introducing data anomalies that could occur due to real time updates to the type 2 surrogate keys.
These and other advantages will be apparent from the disclosure of the invention(s) contained herein.
As used herein, “at least one”, “one or more”, and “and/or” are open-ended expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions “at least one of A, B and C”, “at least one of A, B, or C”, “one or more of A, B, and C”, “one or more of A, B, or C” and “A, B, and/or C” means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together.
The above-described embodiments and configurations are neither complete nor exhaustive. As will be appreciated, other embodiments of the invention are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below.
The invention will be illustrated below in conjunction with an exemplary communication system. Although well suited for use with, e.g., a system having an ACD or other similar contact processing switch, the invention is not limited to use with any particular type of communication system switch or configuration of system elements. Those skilled in the art will recognize that the disclosed techniques may be used in any communication application in which it is desirable to provide improved event (e.g., contact) processing.
The term “switch” or “server” as used herein should be understood to include a PBX, an ACD, an enterprise switch, or other type of telecommunications system switch or server, as well as other types of processor-based communication control devices such as media servers, computers, adjuncts, etc.
Referring to
The switch 130 and/or server 110 can be any architecture for directing contacts to one or more telecommunication devices. Illustratively, the switch and/or server can be a modified form of the subscriber-premises equipment disclosed in U.S. Pat. Nos. 6,192,122; 6,173,053; 6,163,607; 5,982,873; 5,905,793; 5,828,747; and 5,206,903, all of which are incorporated herein by this reference; Avaya Inc.'s Definity™ Private-Branch Exchange (PBX)-based ACD system; MultiVantage™ PBX, CRM Central 2000 Server™, Communication Manager™, S8300™ media server, and/or Avaya Interaction Center™ Typically, the switch/server is a stored-program-controlled system that conventionally includes interfaces to external communication links, a communications switching fabric, service circuits (e.g., tone generators, announcement circuits, etc.), memory for storing control programs and data, and a processor (i.e., a computer) for executing the stored control programs to control the interfaces and the fabric and to provide automatic contact-distribution functionality. The switch and/or server typically include a network interface card (not shown) to provide services to the serviced telecommunication devices. Other types of known switches and servers are well known in the art and therefore not described in detail herein.
Referring to
Referring to
The first telecommunication devices 134-1, . . . 134-N are packet-switched and can include, for example, IP hardphones such as the Avaya Inc.'s, 4600 Series IP Phones™, IP softphones such as Avaya Inc.'s, IP Softphone™, Personal Digital Assistants or PDAs, Personal Computers or PCs, laptops, packet-based H.320 video phones and conferencing units, packet-based voice messaging and response units, packet-based traditional computer telephony adjuncts, and any other communication device.
The second telecommunication devices 138-1, . . . 138-M are circuit-switched. Each of the telecommunication devices 138-1, . . . 138-M corresponds to one of a set of internal extensions Ext1, . . . ExtM, respectively. These extensions are referred to herein as “internal” in that they are extensions within the premises that are directly serviced by the switch. More particularly, these extensions correspond to conventional telecommunication device endpoints serviced by the switch/server, and the switch/server can direct incoming calls to and receive outgoing calls from these extensions in a conventional manner. The second telecommunication devices can include, for example, wired and wireless telephones, PDAs, H.320 video phones and conferencing units, voice messaging and response units, traditional computer telephony adjuncts, and any other communication device.
It should be noted that the invention does not require any particular type of information transport medium between switch or server and first and second telecommunication devices, i.e., the invention may be implemented with any desired type of transport medium as well as combinations of different types of transport channels.
The packet-switched network 162 can be any data and/or distributed processing network, such as the Internet. The network 162 typically includes proxies (not shown), registrars (not shown), and routers (not shown) for managing packet flows.
The packet-switched network 162 is in communication with an external first telecommunication device 174 via a gateway 178, and the circuit-switched network 154 with an external second telecommunication device 180. These telecommunication devices are referred to as “external” in that they are not directly supported as telecommunication device endpoints by the switch or server. The telecommunication devices 174 and 180 are an example of devices more generally referred to herein as “external endpoints.”
In a preferred configuration, the server 110, network 162, and first telecommunication devices 134 are Session Initiation Protocol or SIP compatible and can include interfaces for various other protocols such as the Lightweight Directory Access Protocol or LDAP, H.248, H.323, Simple Mail Transfer Protocol or SMTP, IMAP4, ISDN, E1/T1, and analog line or trunk.
It should be emphasized that the configuration of the switch, server, user telecommunication devices, and other elements as shown in
As will be appreciated, the central server 110 is notified via LAN 142 of an incoming contact by the telecommunications component (e.g., switch 130, fax server, email server, web server, and/or other server) receiving the incoming contact. The incoming contact is held by the receiving telecommunications component until the server 110 forwards instructions to the component to forward or route the contact to a specific contact center resource, such as the IVR unit 122, the voice mail server 118, and/or first or second telecommunication device 134, 138 associated with a selected agent. The server 110 distributes and connects these contacts to telecommunication devices of available agents based on the predetermined criteria noted above. When the central server 110 forwards a voice contact to an agent, the central server 110 also forwards customer-related information from databases 114 to the agent's computer work station for previewing and/or viewing (such as by a pop-up display) to permit the agent to better serve the customer. The agents process the contacts sent to them by the central server 110.
The input adapters 300a-n obtain events from a source system and normalize the received events into normalized event information. Normalized event information is a pre-defined set of events that conform to specific syntax and semantic rules. The input adapters translate source-specific events from source-specific formats to normalized events. One of the translation functions is the conversion of natural keys to normalized keys, namely EIDs or a type of surrogate key. EIDs are immutable keys that do not change for the life of an entity compared to surrogate keys for type 2 dimensions that often change over time. Another example of normalization is the conversion of time stamps in source notifications to a common time zone. Input adapters normally do not hold state or process events except as necessary to generate normalized event information. The output of the input adapters includes normalized events that identify entities by their EIDs rather than source-specific natural key identifiers.
Event processors 308a-m use the normalized event information to generate detail and/or state and summary data for storage in a data store. Serial data would also be generated by the event processor when there is a distinction between detail and serial data. The event processor rationalizes entity states across multiple sources, producing a single state for each entity instance. Late arriving events can be handled by staging events in the event processor, such as using a lightweight local database. The tolerance for late arriving events is much lower for real-time data than for historical data; therefore, it is possible that the real-time data shows temporarily incorrect state data that is corrected in the historical data by the longer tolerance for late arriving events. In a preferred configuration, different event processors handle real-time and historic events and the events are stored in separate real-time and historic data stores.
The data stores are preferably configured in accordance with dimensional modeling concepts. In other words, facts are associated with context and grouped into fact tables. Context is further subdivided into dimensions. Exemplary dimensions include work item (e.g., type, class, etc.), customer (e.g., identity, class, etc.), agent (e.g., identity, skills, etc.), routing (e.g., how work item was processed/routed, routing destination, etc.), class (e.g., inbound, outbound, internal, external, etc.), time (e.g., time stamp (date and time) of when an event occurred), state (e.g., state of agent, state of customer, state of work item, etc.), exit reason (e.g., reason for state change, etc.) and delivery method (e.g., direct, distributed, etc.) and/or an action involving one or more of the foregoing, such as arrival of a work item, agent state change, and the like. An event is typically associated with (structured) context. For example, events may be associated with and/or are instances of the foregoing dimensions. A measure refers to a set of events having a defined relationship. Generally, an event is a point in time while a measure is a temporal duration or a count of event occurrences.
The output adapters 312 are responsible for converting processed normalized event information received from the event processors into the form required for an external destination, such as Structured Query Language or SQL, for a database. They perform translation functions, such as converting EID's to the surrogate keys required by the data model but they generally do not hold state or process the events. All context required to generate the output is included in the processed normalized event information, such as in the form of metadata. The output adapters are thus context-free. In one configuration, one or more of the output adapters handles historic events and one or more other output adapters handles real-time events. The historical and real-time output adapters cleanse the data from the disparate event processors, which includes resolving identifiers into surrogate keys, creating new rows based on type 2 dimensions when necessary, generating multiple timestamp formats in different time zones, and the like.
The IRS 320 translates source-specific identifiers or keys into EIDs for each entity instance and provide a hint. As will be appreciated, entities often have multiple natural keys as defined the source systems. For example, an agent who performs inbound and outbound work will have different identifiers on the server 110 and predictive dialing system. Some entities, such as contacts and customers, may be associated with multiple instances of the same type of source, such as when a call is transferred from one site to another or a customer calls into different sites. In all of these cases, the natural keys must be resolved into a single identifier that allows event processing to uniquely identify each source entity. Otherwise the data will be correlated incorrectly, causing erroneous or misleading data to be displayed on reports. The EID can be obtained from tables stored locally to the IRS and/or from the key authority 324.
The key authority 324 manages surrogate keys. When an administration change causes a new surrogate key to be generated, the key authority 324 sends the BID to the IRS along with the hint that a new surrogate key is available. The normalized event notification from the input adapter to the event processor includes the hint as payload along with the EID. The event processor uses the hint and other state information to decide when the new surrogate key should take effect. For example, the new key may take effect after the agent logs out or after the agent's current call completes. The key authority is used by the output adapter to determine the current surrogate key for an entity instance.
The hint is preferably a form of instruction indicating when a surrogate key is valid for use. Examples of hints include a yes/no flag regarding availability of the surrogate key for current use, a date and/or time after which the surrogate key is valid, a signature indicating that the key is valid, an identified event which must occur before the key is valid, a time stamp (such as of the EID request), the surrogate key itself, a sequence number and the like. In one embodiment, the hint is used by the key authority to map from an EID to the valid surrogate key.
Referring to
Referring to
The operation of the event processing module 228 will now be discussed with reference to
In box 500, an event notification arrives at an input adapter 300 from a source system 304. In response, the input adapter 300 forwards an EID request to the IRS 320. In step 504, the IRS 320 maps the source-specific key(s), or natural key(s), in the EID request to determine a corresponding pair of EID and hint. Alternatively, the IRS can map to produce an EID and forward the EID to the key authority in a hint request. In either case, the IRS returns the EID and corresponding hint to the input adapter in the EID response. The input adapter then forwards the normalized event notification containing the EID and hint to the event processor.
In decision diamond 512, the event processor determines whether there is a saved hint corresponding to the ED. The event processor maintains a dynamic local table of EID's and, for each EID, a hint that was last used by the event processor for the EID. If there is no saved hint in the local table, the event processor in step 520 saves the hint in local memory. If there is a saved hint in the local table, the event processor in decision diamond 516 determines whether or not to replace the saved hint with a new hint.
The event processor is not required to use only the provided hint but may select a different hint depending on the context of events associated with an entity or other type of dimension. Because the event processor is aware of the current state(s) of source-specific dimensions, such as call state, agent state, and the like, the event processor may replace the provided hint with its own hint to reflect current events. For example if an agent natural key has administratively changed and the key authority hint indicates that a new surrogate key for the agent may now be used, the event processor may question the hint because the event involves a customer contact that the agent has been servicing. If the new surrogate key is used currently, the data structures surrounding the current customer contact would be at best incomplete and at worst misleading. The event processor may therefore replace the hint with a new hint indicating that the old surrogate key is to be used until the current contact is concluded or until the agent's shift is over.
If the event processor determines that the saved hint is to be replaced, processor in step 524 saves the new hint in the local table. If the event processor determines that the saved hint is not to be replaced or after step 524, the processor forwards the data notification to the output adapter.
The output adapter in step 528 uses the hint and EID in the data notification to obtain from the key authority the pertinent surrogate key. This is done by sending to the key authority a key request containing the EID and selected hint. The key authority maps the hint and EID to produce a surrogate key and returns the surrogate key to the output adapter in a key response.
Finally, in step 532 the output adapter sends an update request to the data store to write the data to the store.
A number of variations and modifications of the invention can be used. It would be possible to provide for some features of the invention without providing others.
For example, the server and/or switch can be a software-controlled system including a processing unit (CPU), microprocessor, or other type of digital data processor executing software or an Application-Specific Integrated Circuit (ASIC) as well as various portions or combinations of such elements. The memory may be a random access memory (RAM), a read-only memory (ROM), or combinations of these and other types of electronic memory devices.
The present invention, in various embodiments, includes components, methods, processes, systems and/or apparatus substantially as depicted and described herein, including various embodiments, subcombinations, and subsets thereof. Those of skill in the art will understand how to make and use the present invention after understanding the present disclosure. The present invention, in various embodiments, includes providing devices and processes in the absence of items not depicted and/or described herein or in various embodiments hereof, including in the absence of such items as may have been used in previous devices or processes, e.g., for improving performance, achieving ease and\or reducing cost of implementation.
The foregoing discussion of the invention has been presented for purposes of illustration and description. The foregoing is not intended to limit the invention to the form or forms disclosed herein. In the foregoing Detailed Description for example, various features of the invention are grouped together in one or more embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the following claims are hereby incorporated into this Detailed Description, with each claim standing on its own as a separate preferred embodiment of the invention.
Moreover, though the description of the invention has included description of one or more embodiments and certain variations and modifications, other variations and modifications are within the scope of the invention, e.g., as may be within the skill and knowledge of those in the art, after understanding the present disclosure. It is intended to obtain rights which include alternative embodiments to the extent permitted, including alternate, interchangeable and/or equivalent structures, functions, ranges or steps to those claimed, whether or not such alternate, interchangeable and/or equivalent structures, functions, ranges or steps are disclosed herein, and without intending to publicly dedicate any patentable subject matter.
Number | Name | Date | Kind |
---|---|---|---|
4163124 | Jolissaint | Jul 1979 | A |
4510351 | Costello et al. | Apr 1985 | A |
4567323 | Lottes et al. | Jan 1986 | A |
4737983 | Frauenthal et al. | Apr 1988 | A |
4797911 | Szlam et al. | Jan 1989 | A |
4894857 | Szlam et al. | Jan 1990 | A |
5001710 | Gawrys et al. | Mar 1991 | A |
5097528 | Gursahaney et al. | Mar 1992 | A |
5101425 | Darland | Mar 1992 | A |
5155761 | Hammond | Oct 1992 | A |
5164981 | Mitchell et al. | Nov 1992 | A |
5164983 | Brown et al. | Nov 1992 | A |
5167010 | Elm et al. | Nov 1992 | A |
5185780 | Leggett | Feb 1993 | A |
5206903 | Kohler et al. | Apr 1993 | A |
5210789 | Jeffus et al. | May 1993 | A |
5274700 | Gechter et al. | Dec 1993 | A |
5278898 | Cambray et al. | Jan 1994 | A |
5289368 | Jordan et al. | Feb 1994 | A |
5291550 | Levy et al. | Mar 1994 | A |
5299260 | Shaio | Mar 1994 | A |
5309513 | Rose | May 1994 | A |
5325292 | Crockett | Jun 1994 | A |
5335268 | Kelly, Jr. et al. | Aug 1994 | A |
5335269 | Steinlicht | Aug 1994 | A |
5390243 | Casselman et al. | Feb 1995 | A |
5436965 | Grossman et al. | Jul 1995 | A |
5444774 | Friedes | Aug 1995 | A |
5467391 | Donaghue, Jr. et al. | Nov 1995 | A |
5469503 | Butensky et al. | Nov 1995 | A |
5469504 | Blaha | Nov 1995 | A |
5473773 | Aman et al. | Dec 1995 | A |
5479497 | Kovarik | Dec 1995 | A |
5499291 | Kepley | Mar 1996 | A |
5500795 | Powers et al. | Mar 1996 | A |
5504894 | Ferguson et al. | Apr 1996 | A |
5506898 | Costantini et al. | Apr 1996 | A |
5530744 | Charalambous et al. | Jun 1996 | A |
5537470 | Lee | Jul 1996 | A |
5537542 | Eilert et al. | Jul 1996 | A |
5544232 | Baker et al. | Aug 1996 | A |
5546452 | Andrews et al. | Aug 1996 | A |
5555299 | Maloney et al. | Sep 1996 | A |
5577169 | Prezioso | Nov 1996 | A |
5592378 | Cameron et al. | Jan 1997 | A |
5592542 | Honda et al. | Jan 1997 | A |
5594726 | Thompson et al. | Jan 1997 | A |
5603029 | Aman et al. | Feb 1997 | A |
5604892 | Nuttall et al. | Feb 1997 | A |
5606361 | Davidsohn et al. | Feb 1997 | A |
5611076 | Durflinger et al. | Mar 1997 | A |
5627884 | Williams et al. | May 1997 | A |
5642515 | Jones et al. | Jun 1997 | A |
5684872 | Flockhart et al. | Nov 1997 | A |
5684964 | Powers et al. | Nov 1997 | A |
5689698 | Jones et al. | Nov 1997 | A |
5703943 | Otto | Dec 1997 | A |
5713014 | Durflinger et al. | Jan 1998 | A |
5721770 | Kohler | Feb 1998 | A |
5724092 | Davidsohn et al. | Mar 1998 | A |
5740238 | Flockhart et al. | Apr 1998 | A |
5742675 | Kilander et al. | Apr 1998 | A |
5742763 | Jones | Apr 1998 | A |
5748468 | Notenboom et al. | May 1998 | A |
5749079 | Yong et al. | May 1998 | A |
5751707 | Voit et al. | May 1998 | A |
5752027 | Familiar | May 1998 | A |
5754639 | Flockhart et al. | May 1998 | A |
5754776 | Hales et al. | May 1998 | A |
5754841 | Carino, Jr. | May 1998 | A |
5757904 | Anderson | May 1998 | A |
5784452 | Carney | Jul 1998 | A |
5790642 | Taylor et al. | Aug 1998 | A |
5790650 | Dunn et al. | Aug 1998 | A |
5790677 | Fox et al. | Aug 1998 | A |
5794250 | Carino, Jr. et al. | Aug 1998 | A |
5796393 | MacNaughton et al. | Aug 1998 | A |
5802282 | Hales et al. | Sep 1998 | A |
5802510 | Jones | Sep 1998 | A |
5818907 | Maloney et al. | Oct 1998 | A |
5819084 | Shapiro et al. | Oct 1998 | A |
5825869 | Brooks et al. | Oct 1998 | A |
5826039 | Jones | Oct 1998 | A |
5828747 | Fisher et al. | Oct 1998 | A |
5836011 | Hambrick et al. | Nov 1998 | A |
5838968 | Culbert | Nov 1998 | A |
5839117 | Cameron et al. | Nov 1998 | A |
5864874 | Shapiro | Jan 1999 | A |
5875437 | Atkins | Feb 1999 | A |
5880720 | Iwafune et al. | Mar 1999 | A |
5881238 | Aman et al. | Mar 1999 | A |
5884032 | Bateman et al. | Mar 1999 | A |
5889956 | Hauser et al. | Mar 1999 | A |
5897622 | Blinn et al. | Apr 1999 | A |
5903641 | Tonisson | May 1999 | A |
5903877 | Berkowitz et al. | May 1999 | A |
5905793 | Flockhart et al. | May 1999 | A |
5909669 | Havens | Jun 1999 | A |
5911134 | Castonguay et al. | Jun 1999 | A |
5914951 | Bentley et al. | Jun 1999 | A |
5915012 | Miloslavsky | Jun 1999 | A |
5923745 | Hurd | Jul 1999 | A |
5926538 | Deryugin et al. | Jul 1999 | A |
5930786 | Carino, Jr. et al. | Jul 1999 | A |
5937051 | Hurd et al. | Aug 1999 | A |
5937402 | Pandilt | Aug 1999 | A |
5940496 | Gisby et al. | Aug 1999 | A |
5943416 | Gisby | Aug 1999 | A |
5948065 | Eilert et al. | Sep 1999 | A |
5960073 | Kikinis et al. | Sep 1999 | A |
5963635 | Szlam et al. | Oct 1999 | A |
5963911 | Walker et al. | Oct 1999 | A |
5970132 | Brady | Oct 1999 | A |
5974135 | Breneman et al. | Oct 1999 | A |
5974462 | Aman et al. | Oct 1999 | A |
5982873 | Flockhart et al. | Nov 1999 | A |
5987117 | McNeil et al. | Nov 1999 | A |
5991392 | Miloslavsky | Nov 1999 | A |
5996013 | Delp et al. | Nov 1999 | A |
5999963 | Bruno et al. | Dec 1999 | A |
6000832 | Franklin et al. | Dec 1999 | A |
6011844 | Uppaluru et al. | Jan 2000 | A |
6014437 | Acker et al. | Jan 2000 | A |
6031896 | Gardell et al. | Feb 2000 | A |
6038293 | McNerney et al. | Mar 2000 | A |
6038296 | Brunson et al. | Mar 2000 | A |
6044144 | Becker et al. | Mar 2000 | A |
6044205 | Reed et al. | Mar 2000 | A |
6044355 | Crockett et al. | Mar 2000 | A |
6049547 | Fisher et al. | Apr 2000 | A |
6049779 | Berkson | Apr 2000 | A |
6052723 | Ginn | Apr 2000 | A |
6055308 | Miloslavsky et al. | Apr 2000 | A |
6064730 | Ginsberg | May 2000 | A |
6064731 | Flockhart et al. | May 2000 | A |
6084954 | Harless et al. | Jul 2000 | A |
6088441 | Flockhart et al. | Jul 2000 | A |
6108670 | Weida et al. | Aug 2000 | A |
6115462 | Servi et al. | Sep 2000 | A |
6128304 | Gardell et al. | Oct 2000 | A |
6151571 | Pertrushin | Nov 2000 | A |
6154769 | Cherkasova et al. | Nov 2000 | A |
6163607 | Bogart et al. | Dec 2000 | A |
6173053 | Bogart et al. | Jan 2001 | B1 |
6175564 | Miloslavsky et al. | Jan 2001 | B1 |
6178441 | Elnozahy | Jan 2001 | B1 |
6185292 | Miloslavsky | Feb 2001 | B1 |
6185603 | Henderson et al. | Feb 2001 | B1 |
6192122 | Flockhart et al. | Feb 2001 | B1 |
6215865 | McCalmont | Apr 2001 | B1 |
6226377 | Donaghue, Jr. | May 2001 | B1 |
6229819 | Darland et al. | May 2001 | B1 |
6230183 | Yocom et al. | May 2001 | B1 |
6233333 | Dezonmo | May 2001 | B1 |
6240417 | Eastwick et al. | May 2001 | B1 |
6259969 | Tackett et al. | Jul 2001 | B1 |
6263359 | Fong et al. | Jul 2001 | B1 |
6272544 | Mullen | Aug 2001 | B1 |
6275806 | Pertrushin | Aug 2001 | B1 |
6275812 | Haq et al. | Aug 2001 | B1 |
6275991 | Erlin | Aug 2001 | B1 |
6278777 | Morley et al. | Aug 2001 | B1 |
6292550 | Burritt | Sep 2001 | B1 |
6295353 | Flockhart et al. | Sep 2001 | B1 |
6298062 | Gardell et al. | Oct 2001 | B1 |
6307931 | Vaudreuil | Oct 2001 | B1 |
6324282 | McIllwaine et al. | Nov 2001 | B1 |
6332081 | Do | Dec 2001 | B1 |
6339754 | Flanagan et al. | Jan 2002 | B1 |
6353810 | Petrushin | Mar 2002 | B1 |
6356632 | Foster et al. | Mar 2002 | B1 |
6360222 | Quinn | Mar 2002 | B1 |
6366666 | Bengtson et al. | Apr 2002 | B2 |
6366668 | Borst et al. | Apr 2002 | B1 |
6389028 | Bondarenko et al. | May 2002 | B1 |
6389132 | Price et al. | May 2002 | B1 |
6389400 | Bushey et al. | May 2002 | B1 |
6411682 | Fuller et al. | Jun 2002 | B1 |
6424709 | Doyle et al. | Jul 2002 | B1 |
6426950 | Mistry | Jul 2002 | B1 |
6427137 | Petrushin | Jul 2002 | B2 |
6430282 | Bannister et al. | Aug 2002 | B1 |
6434230 | Gabriel | Aug 2002 | B1 |
6446092 | Sutter | Sep 2002 | B1 |
6449356 | Dezonno | Sep 2002 | B1 |
6449358 | Anisimov et al. | Sep 2002 | B1 |
6449646 | Sikora et al. | Sep 2002 | B1 |
6453038 | McFarlane et al. | Sep 2002 | B1 |
6463148 | Brady | Oct 2002 | B1 |
6463346 | Flockhart et al. | Oct 2002 | B1 |
6463415 | St. John | Oct 2002 | B2 |
6463471 | Dreke et al. | Oct 2002 | B1 |
6480826 | Pertrushin | Nov 2002 | B2 |
6490350 | McDuff et al. | Dec 2002 | B2 |
6535600 | Fisher et al. | Mar 2003 | B1 |
6535601 | Flockhart et al. | Mar 2003 | B1 |
6553114 | Fisher et al. | Apr 2003 | B1 |
6556974 | D'Alessandro | Apr 2003 | B1 |
6560330 | Gabriel | May 2003 | B2 |
6560649 | Mullen et al. | May 2003 | B1 |
6560707 | Curtis et al. | May 2003 | B2 |
6563920 | Flockhart et al. | May 2003 | B1 |
6571285 | Groath et al. | May 2003 | B1 |
6574599 | Lim et al. | Jun 2003 | B1 |
6574605 | Sanders et al. | Jun 2003 | B1 |
6597685 | Miloslavsky et al. | Jul 2003 | B2 |
6603854 | Judkins et al. | Aug 2003 | B1 |
6604084 | Powers et al. | Aug 2003 | B1 |
6614903 | Flockhart et al. | Sep 2003 | B1 |
6650748 | Edwards et al. | Nov 2003 | B1 |
6668167 | McDowell et al. | Dec 2003 | B2 |
6675168 | Shapiro et al. | Jan 2004 | B2 |
6697457 | Petrushin | Feb 2004 | B2 |
6700967 | Kleinoder et al. | Mar 2004 | B2 |
6704409 | Dilip et al. | Mar 2004 | B1 |
6707903 | Burok et al. | Mar 2004 | B2 |
6711253 | Prabhaker | Mar 2004 | B1 |
6735299 | Krimstock et al. | May 2004 | B2 |
6735593 | Williams | May 2004 | B1 |
6738462 | Brunson | May 2004 | B1 |
6744877 | Edwards | Jun 2004 | B1 |
6754333 | Flockhart et al. | Jun 2004 | B1 |
6757362 | Cooper et al. | Jun 2004 | B1 |
6766013 | Flockhart et al. | Jul 2004 | B2 |
6766014 | Flockhart et al. | Jul 2004 | B2 |
6766326 | Cena | Jul 2004 | B1 |
6775377 | McIllwaine et al. | Aug 2004 | B2 |
6785666 | Nareddy et al. | Aug 2004 | B1 |
6822945 | Petrovykh | Nov 2004 | B2 |
6829348 | Schroeder et al. | Dec 2004 | B1 |
6839735 | Wong et al. | Jan 2005 | B2 |
6842503 | Wildfeuer | Jan 2005 | B1 |
6847973 | Griffin et al. | Jan 2005 | B2 |
6898190 | Shtivelman et al. | May 2005 | B2 |
6915305 | Subramanian et al. | Jul 2005 | B2 |
6947543 | Alvarado et al. | Sep 2005 | B2 |
6947988 | Saleh | Sep 2005 | B1 |
6968052 | Wullert, II | Nov 2005 | B2 |
6981061 | Sakakura | Dec 2005 | B1 |
6985901 | Sachse et al. | Jan 2006 | B1 |
6988126 | Wilcock et al. | Jan 2006 | B2 |
7010542 | Trappen et al. | Mar 2006 | B2 |
7020254 | Phillips | Mar 2006 | B2 |
7035808 | Ford | Apr 2006 | B1 |
7035927 | Flockhart et al. | Apr 2006 | B2 |
7039176 | Borodow et al. | May 2006 | B2 |
7062031 | Becerra et al. | Jun 2006 | B2 |
7076051 | Brown et al. | Jul 2006 | B2 |
7100200 | Pope et al. | Aug 2006 | B2 |
7110525 | Heller et al. | Sep 2006 | B1 |
7117193 | Basko et al. | Oct 2006 | B1 |
7136873 | Smith et al. | Nov 2006 | B2 |
7149733 | Lin et al. | Dec 2006 | B2 |
7155612 | Licis | Dec 2006 | B2 |
7158628 | McConnell et al. | Jan 2007 | B2 |
7162469 | Anonsen et al. | Jan 2007 | B2 |
7165075 | Harter et al. | Jan 2007 | B2 |
7170976 | Keagy | Jan 2007 | B1 |
7170992 | Knott et al. | Jan 2007 | B2 |
7177401 | Mundra et al. | Feb 2007 | B2 |
7200219 | Edwards et al. | Apr 2007 | B1 |
7203655 | Herbert et al. | Apr 2007 | B2 |
7212625 | McKenna et al. | May 2007 | B1 |
7215744 | Scherer | May 2007 | B2 |
7222075 | Petrushin | May 2007 | B2 |
7246371 | Diacakis et al. | Jul 2007 | B2 |
7257597 | Pryce et al. | Aug 2007 | B1 |
7266508 | Owen et al. | Sep 2007 | B1 |
7283805 | Agrawal | Oct 2007 | B2 |
7295669 | Denton et al. | Nov 2007 | B1 |
7299259 | Petrovykh | Nov 2007 | B2 |
7324954 | Calderaro et al. | Jan 2008 | B2 |
7336779 | Boyer et al. | Feb 2008 | B2 |
7340408 | Drew et al. | Mar 2008 | B1 |
7376127 | Hepworth et al. | May 2008 | B2 |
7392402 | Suzuki | Jun 2008 | B2 |
7418093 | Knott et al. | Aug 2008 | B2 |
7545925 | Williams | Jun 2009 | B2 |
20010011228 | Shenkman | Aug 2001 | A1 |
20020019829 | Shapiro | Feb 2002 | A1 |
20020021307 | Glenn et al. | Feb 2002 | A1 |
20020035605 | McDowell et al. | Mar 2002 | A1 |
20020038422 | Suwamoto et al. | Mar 2002 | A1 |
20020065894 | Dalal et al. | May 2002 | A1 |
20020076010 | Sahai | Jun 2002 | A1 |
20020085701 | Parsons et al. | Jul 2002 | A1 |
20020087630 | Wu | Jul 2002 | A1 |
20020112186 | Ford et al. | Aug 2002 | A1 |
20020116336 | Diacakis et al. | Aug 2002 | A1 |
20020116461 | Diacakis et al. | Aug 2002 | A1 |
20020123923 | Manganaris et al. | Sep 2002 | A1 |
20030014491 | Horvitz et al. | Jan 2003 | A1 |
20030028621 | Furlong et al. | Feb 2003 | A1 |
20030073440 | Mukherjee et al. | Apr 2003 | A1 |
20030093465 | Banerjee | May 2003 | A1 |
20030108186 | Brown et al. | Jun 2003 | A1 |
20030144900 | Whitmer | Jul 2003 | A1 |
20030144959 | Makita | Jul 2003 | A1 |
20030177017 | Boyer et al. | Sep 2003 | A1 |
20030231757 | Harkreader et al. | Dec 2003 | A1 |
20040008828 | Coles et al. | Jan 2004 | A1 |
20040015489 | Anonsen et al. | Jan 2004 | A1 |
20040015496 | Anonsen | Jan 2004 | A1 |
20040015506 | Anonsen et al. | Jan 2004 | A1 |
20040015516 | Harter et al. | Jan 2004 | A1 |
20040019599 | Trappen et al. | Jan 2004 | A1 |
20040054743 | McPartlan et al. | Mar 2004 | A1 |
20040057569 | Busey et al. | Mar 2004 | A1 |
20040103324 | Band | May 2004 | A1 |
20040138944 | Whitacre et al. | Jul 2004 | A1 |
20040162998 | Tuomi et al. | Aug 2004 | A1 |
20040202309 | Baggenstoss et al. | Oct 2004 | A1 |
20040203878 | Thomson | Oct 2004 | A1 |
20040210475 | Starnes et al. | Oct 2004 | A1 |
20040240659 | Gagle et al. | Dec 2004 | A1 |
20040249650 | Freedman et al. | Dec 2004 | A1 |
20040260706 | Anonsen et al. | Dec 2004 | A1 |
20050021529 | Hodson et al. | Jan 2005 | A1 |
20050027612 | Walker et al. | Feb 2005 | A1 |
20050044375 | Paatero et al. | Feb 2005 | A1 |
20050071211 | Flockhart et al. | Mar 2005 | A1 |
20050071212 | Flockhart et al. | Mar 2005 | A1 |
20050071241 | Flockhart et al. | Mar 2005 | A1 |
20050071844 | Flockhart et al. | Mar 2005 | A1 |
20050091071 | Lee | Apr 2005 | A1 |
20050125432 | Lin et al. | Jun 2005 | A1 |
20050125458 | Sutherland et al. | Jun 2005 | A1 |
20050138064 | Trappen et al. | Jun 2005 | A1 |
20050154708 | Sun | Jul 2005 | A1 |
20050182784 | Trappen et al. | Aug 2005 | A1 |
20050289446 | Moncsko et al. | Dec 2005 | A1 |
20060004686 | Molnar et al. | Jan 2006 | A1 |
20060007916 | Jones et al. | Jan 2006 | A1 |
20060015388 | Flockhart et al. | Jan 2006 | A1 |
20060026049 | Joseph et al. | Feb 2006 | A1 |
20060056598 | Brandt et al. | Mar 2006 | A1 |
20060135058 | Karabinis | Jun 2006 | A1 |
20060178994 | Stolfo et al. | Aug 2006 | A1 |
20060242160 | Kanchwalla et al. | Oct 2006 | A1 |
20060256957 | Fain et al. | Nov 2006 | A1 |
20060271418 | Hackbarth et al. | Nov 2006 | A1 |
20070038632 | Engstrom | Feb 2007 | A1 |
20070064912 | Kagan et al. | Mar 2007 | A1 |
20070083572 | Bland et al. | Apr 2007 | A1 |
20070112953 | Barnett | May 2007 | A1 |
20070127643 | Keagy | Jun 2007 | A1 |
20070192414 | Chen et al. | Aug 2007 | A1 |
20070201311 | Olson | Aug 2007 | A1 |
20070201674 | Annadata et al. | Aug 2007 | A1 |
20070230681 | Boyer et al. | Oct 2007 | A1 |
20080056165 | Petrovykh | Mar 2008 | A1 |
Number | Date | Country |
---|---|---|
2143198 | Jan 1995 | CA |
2174762 | Mar 1996 | CA |
0501189 | Sep 1992 | EP |
0740450 | Oct 1996 | EP |
0770967 | May 1997 | EP |
0772335 | May 1997 | EP |
0829996 | Mar 1998 | EP |
0855826 | Jul 1998 | EP |
0863651 | Sep 1998 | EP |
0866407 | Sep 1998 | EP |
0899673 | Mar 1999 | EP |
0998108 | May 2000 | EP |
1035718 | Sep 2000 | EP |
1091307 | Apr 2001 | EP |
1150236 | Oct 2001 | EP |
2273418 | Jun 1994 | GB |
2290192 | Dec 1995 | GB |
2001-053843 | Feb 2001 | JP |
2006-054864 | Feb 2006 | JP |
WO 9607141 | Mar 1996 | WO |
WO 9728635 | Aug 1997 | WO |
WO 9856207 | Dec 1998 | WO |
WO 9917522 | Apr 1999 | WO |
WO 0180094 | Oct 2001 | WO |
WO 02099640 | Dec 2002 | WO |