US20140119530A1 - System and method for efficiently managing large contact centers - Google Patents
System and method for efficiently managing large contact centers Download PDFInfo
- Publication number
- US20140119530A1 US20140119530A1 US13/630,152 US201213630152A US2014119530A1 US 20140119530 A1 US20140119530 A1 US 20140119530A1 US 201213630152 A US201213630152 A US 201213630152A US 2014119530 A1 US2014119530 A1 US 2014119530A1
- Authority
- US
- United States
- Prior art keywords
- resource
- work item
- characteristic
- memory location
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/523—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
- H04M3/5232—Call distribution algorithms
- H04M3/5233—Operator skill based call distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/40—Aspects of automatic or semi-automatic exchanges related to call centers
- H04M2203/403—Agent or workforce training
Definitions
- the systems and methods relate to contact centers and in particular to management of contact centers.
- a resource may anything that can process, receive, store, and/or handle a work item.
- a resource can be an agent, a Personal Computer (PC), a telephone, a video system, a cellular telephone, a Personal Digital Assistant (PDA), a tablet device, a notebook device, a communication device, a speaker, a FAX machine, a terminal, a printer, a storage space, an agent, a software process, and/or the like.
- An identifier, representing the characteristic is associated with the resource (e.g., a bit) is stored in a first memory location.
- the characteristic(s) associated with the resource can include a variety of characteristics.
- the characteristic(s) associated with the resource may be that the resource is enabled (a agent is logged in or not), ready (an agent is ready to process a work item or not), interruptible (an agent can be interrupted to process another work item or not), supports a specific skill level, can support a specific type of customer (i.e., a gold or platinum customer), can support a work item representing a specific type or monetary range, can speak a specific language, can support a specific product or product type, is a specific automobile (i.e., for a specific taxi), a specific space on a shelf, and/or the like.
- the characteristic(s) can be based on a status, such as an agent is enabled or ready. Likewise, the characteristic may be based on a rule.
- the characteristic(s) associated with the work item can include a variety of characteristics.
- the characteristic(s) associated with the work item can be a type of communication (e.g., a voice call or email), a customer type (e.g., gold or platinum), a time since the work item was received, a company name, a product, a trouble ticket for a specific product, a language, a customer name, and/or the like.
- the characteristic(s) can be based on a status, such as the work item is an English communication or a voice communication.
- the characteristic may be based on a rule.
- the identifier representing the characteristic associated with the work item is stored in a second memory location. The first memory location may be bit masked and/or compared with the second memory location to determine if the resource should process the work item. In response to determining that the resource should process the work item, the work item is routed to the resource, such as an agent.
- the characteristic associated with the resource is derived from three characteristics associated with the resource.
- the three characteristics are enabled, ready, and interruptible.
- the resource may be an agent.
- the characteristic associated with the resource includes a plurality of characteristics associated with the resource. Each of the plurality of characteristics associated with the resource are associated with a rule or status.
- the characteristic associated with the work item includes a plurality of characteristics associated with the work item. Each of the plurality of characteristics associated with the work item are associated with a rule or status.
- the characteristic associated with the resource comprises a plurality of characteristics associated with the resource.
- Each of the plurality of characteristics associated with the resource includes a corresponding identifier stored in a bit in the first memory location.
- the characteristic associated with the work item comprises a plurality of characteristics associated with the work item.
- Each of the characteristics associated with the work item comprises a corresponding identifier stored in a bit in the second memory location.
- the bits that represent the plurality corresponding identifiers associated with the resource are individually bit masked and compared with the bits that represent the plurality of corresponding identifiers associated with the work item.
- the characteristic associated with the resource comprises a plurality of characteristics associated with the resource.
- Each of the plurality of characteristics associated with the resource includes a corresponding identifier stored in a bit in the first memory location.
- the characteristic associated with the work item includes a plurality of characteristics associated with the work item.
- Each of the characteristics associated with the work item includes a corresponding identifier stored in a bit in the second memory location and wherein each bit in the first and second memory locations are bit masked and compared at the same time.
- an event is detected.
- An event can be, for example, a change in a status of an agent.
- the identifier representing the characteristic associated with the first resource or the characteristic associated with the work item is updated based the event.
- the event is placed in an event queue.
- the resource e.g., an agent in a contact center
- the work item is resubmitted into a work item pool.
- a non-transient computer readable medium having stored thereon instructions that cause a processor to execute a method is used.
- the method generates an abstract tree syntax from a code base.
- a characteristic associated with at least one of a resource or a work item is identified.
- the abstract tree syntax is searched for one or more instances of the characteristic.
- the one or more instances of the characteristic are identified.
- Code is generated in an event service routine to update the identified one or more instances of the characteristic.
- a rule change is detected.
- the abstract tree syntax is rebuilt. Any changes to the one or more instances of the characteristic are identified.
- the code in the event service routine is changed based on the rule change.
- FIG. 1 is a block diagram of an illustrative system for managing a contact center.
- FIG. 2 is a diagram of how resource characteristics are matched to work item characteristics.
- FIG. 3 is a block diagram of an illustrative system for building code in a contact center.
- FIG. 4 is a trellis diagram defining characteristics of a resource.
- FIG. 5 is a flow diagram of a method for managing a contract center.
- FIG. 6 is a flow diagram of a method for detecting an event and updating identifiers representing characteristics.
- FIG. 7 is a flow diagram of a method for allowing a resource to process a work item.
- FIG. 8 is a flow diagram of a method for building code in a contact center.
- FIG. 1 is a block diagram of an illustrative system 100 for managing a contact center 120 .
- the first illustrative system 100 includes communication devices 101 - 101 C, a network 110 , the contact center 120 , and resources 130 A- 130 N.
- the communication device 101 may be any device that can communicate on the network 110 , such as a Personal Computer (PC), a telephone, a video system, a cellular telephone, a Personal Digital Assistant (PDA), a tablet device, a notebook device, a server, a process running on communication device 101 , a blog site, a tweet, a sensor, and the like.
- PC Personal Computer
- PDA Personal Digital Assistant
- any number of communication devices 101 may be connected to network 110 , including only a single communication device 101 .
- the communication device 101 may be directly connected to the contact center 120 .
- the network 110 can be any network that can send and receive information, such as the Internet, a Wide Area Network (WAN), a Local Area Network (LAN), the Public Switched Telephone Network (PSTN), a packet switched network, a circuit switched network, a cellular network, a combination of these, and the like.
- the network 110 can use a variety of protocols, such as Ethernet, Internet Protocol (IP), Session Initiation Protocol (SIP), Integrated Services Digital Network (ISDN), and the like.
- IP Internet Protocol
- SIP Session Initiation Protocol
- ISDN Integrated Services Digital Network
- the contact center 120 can be any contact center that can process work items.
- the contact center 120 can include a Private Branch Exchange, a telephone switch, an email server, a video server, an Instant Messaging (IM) system, a web server, a blog monitoring service, an out-bound dialer, an Interactive Voice Response (IVR) system, any combination of these, and the like.
- the contact center 120 further comprises a processor 121 , a memory 122 , an event detection module 123 , an event queue 124 , a work item pool 125 , a work assignment module 126 , and a routing engine 127 .
- the various elements 121 - 127 in the contact center 120 are shown in a single contact center 120 , elements 121 - 127 may be distributed across multiple systems including communication devices 101 A- 101 C and resources 130 A- 130 N.
- the processor 121 can be any processor that can execute instructions, such as a microprocessor, a multi-core processor, a digital signaling processor, a micro-controller, a computer, a specialized processor, and/or the like.
- the memory 122 can be any type of memory that can store information, such as a Random Access Memory (RAM), a flash memory, a cache memory in the processor 121 , a register in the processor 121 , a hard disk, a flash drive, and/or the like.
- RAM Random Access Memory
- the event detection module 123 can be any hardware/software that can detect events.
- the event detection module 123 can be a fingerprint scanner that logs an agent into the contact center 120 , an RFID scanner, a time clock, a software process for detecting software events, code in an interrupt service routine, an email system that detects incoming emails, a Private Branch Exchange that detects incoming or outgoing calls, and/or the like.
- the event queue 124 can be any hardware/software that can process events that are queued and later serviced by the event detection module 123 .
- the work item pool 126 can be any hardware/software that can process work items, such as a queue, a linked list, a software process, a first-in-first out (FIFO), and/or the like.
- the work assignment module 126 can be any hardware/software that can manage a work item, such as, a communication manager, a Private Branch Exchange (PBX), a communication system, and/or the like.
- the routing engine 127 can be any hardware/software that can route a work item.
- the routing engine 127 can be an email system (that sends an email to the resource 130 ), a PBX that connects a call to resource 130 , an Instant Messaging server, a text messaging service, a video switch, and/or the like.
- the resource 130 may anything that can process, receive, store, and/or handle a work item.
- the resource 130 can be a Personal Computer (PC), a telephone, a video system, a cellular telephone, a Personal Digital Assistant (PDA), a tablet device, a notebook device, the communication device 101 , a speaker, a FAX machine, a terminal, a printer, a storage space, an agent, a software process, a taxi, a car, a truck, and/or the like.
- the resource 130 may connect to the contact center 120 via the network 110 .
- the resource 130 A- 130 N can comprise any number of resources, including only a single resource.
- a work item is received at the contact center 120 .
- a work item may be any type of communication, such as, a voice communication from a user at communication device 101 C, a video communication from a user at communication device 101 A, an email communication from a user at communication 101 B, a text message, a posting on a blog, an Instant Message (IM), a FAX, and/or the like.
- the work item can be an out-bound work item, such as voice call that is going to be placed (by a predictive dialer) to a user of the communication device 101 .
- An out-bound work item can include other types of communications, such as, an email, a posting on a blog site, an Instant Message (IM), a text message, and/or the like.
- the work item is placed in communication pool 126 to be serviced by the resource 130 .
- the work assignment module 126 identifies a characteristic(s) associated with the resource 130 .
- the characteristic(s) associated with the resource 130 can include a variety of characteristics.
- the characteristic(s) associated with the resource 130 may be that the resource 130 is enabled (logged in or not), ready (ready to process a work item or not), interruptible (can be interrupted to process another work item or not), supports a specific skill level, can support a specific type of customer (i.e., a gold or platinum customer), can support a work item representing a specific type or monetary range, can speak a specific language, can support a specific product or product type, is a specific automobile (i.e., for a specific taxi), a specific space on a shelf, and/or the like.
- the characteristic(s) can be based on a status, such as an agent is enabled or ready. Likewise, the characteristic may be based on a rule. For instance, the characteristic interruptible can be based on a rule that the agent may only be interrupted during defined periods identified in the agent's calendar. Other examples of rules can include, but are not limited to the resource 130 servicing a specific type of customer during heavy load periods in the contact center 120 , supporting a work item in Spanish if no other Spanish agents are available, supporting a work item in a English if there are not work items in French in the work item pool 125 , only supporting voice and video work items, and/or the like.
- the characteristic(s) associated with the resource 130 is stored as an identifier in a location in the memory 122 .
- the identifier is typically stored as a bit in the memory 122 . However, the identifier can be stored in multiple bits, one or more bytes, one or more words, one or more longs, and/or the like.
- the identifier may be stored as part of a union. If there are multiple characteristics associated with the resource 130 , an identifier for each characteristic is stored in a first location in the memory 122 . For example, the multiple characteristics may be stored as part of an octet, a byte, word, long, long word, and/or the like in the first location in the memory 122 .
- the work assignment module 126 identifies a characteristic(s) associated with a work item.
- the characteristic(s) associated with the work item can include a variety of characteristics.
- the characteristic(s) associated with the work item can be a type of communication (e.g., a voice call or email), a customer type (e.g., gold or platinum), a time since the work item was received, a company name, a product, a trouble ticket for a specific product, a language, a customer name, and/or the like.
- the characteristic(s) can be based on a status, such as the work item is an English communication or a voice communication
- the characteristic may be based on a rule.
- a rule can be that the work item is with a gold customer. Any agent that supports gold customers will be interrupted if there are no other resources 130 that support gold customers available and the agent is currently supporting a non-gold customer.
- the characteristic(s) associated with the work item is stored as an identifier in a location in the memory 122 .
- the identifier is typically stored as a bit in the memory 122 . However, the identifier can be stored in multiple bits, one or more bytes, one or more words, one or more longs, and/or the like.
- the identifier may be stored as part of a union. If there are multiple characteristics associated with the work item, an identifier for each characteristic is stored in a second location in the memory 122 . For example, the multiple characteristics may be stored as part of an octet, a byte, word, long, long word, and/or the like in the second location in the memory 122 .
- the work assignment module 126 bit masks the first location (the resource characteristic identifier(s)) with the second location (the work item characteristic identifier(s)). The result is then compared (i.e., doing an exclusive OR on the work item identifiers and the result of the bit mask) to determine if the resource 130 should process the work item (i.e., if the result is zero).
- the routing engine 127 routes the work item to the resource 130 .
- Routing the work item can be accomplished in various ways, such as, sending an email to the resource 130 , sending a voice call to the resource 130 , sending a video call to the resource 130 , connecting the resource 130 into an out-bound call, sending the work item to be printed and stored in a storage area, sending to work item to a voice mail, connecting the resource 130 to a web site, establishing an Instant Messaging (IM) session with the resource 130 .
- IM Instant Messaging
- the resource 130 can then process the work item. For example, an agent can answer a voice call, answer a video call, view an email, view a blog site, respond to a chat, respond when a customer answers an out-bound call, and/or the like.
- the resource 130 may a storage area. The work item is printed and stored in a specific shelf in the storage area. The agent can then view the printed version of the work item.
- the resource 130 may be a taxi/taxi driver.
- the work item may be a call for a taxi at a specific location. Based on the characteristic of the call (e.g., the location), the call is routed to the taxi/taxi driver that is located in the closet proximity to the caller that is not currently in transit with another customer.
- the resource 130 may have the option of processing the work item or not. If this option is configured, the resource 130 may be presented with a screen pop or voice call (via an automated attendant) that asks the resource 130 if he/she wants to process the work item. The agent may be presented with various types of information associated with the work item. If it is determined that the resource 130 does not want to process the work item, the work item is resubmitted into the work item pool 125 . The work assignment module 126 can then determine if a different resource 130 can process the work item.
- the resource 130 can then set a status associated with the resource 130 based on the call. For example, if the resource 130 is handling voice calls, the resource 130 , on completion of the voice call, can indicate that he/she is ready to process a new voice work item.
- the characteristics associated with the resource 130 and the work item can change based on events. For example, if an agent has taken a voice call, the agent's ready status may change from ready to not ready. Likewise, a characteristic associated with a work item can change. For instance, a priority of status can change from low to high based on the work item being on hold for a defined period of time.
- the event detection module 123 detects an event and updates the associated identifier representing the characteristic. For example, if the resource 130 logs out at the end of a shift, the event detection module 123 detects the event. The event detection module 123 detects the resource 130 logging out and sets the identifier associated with the characteristic enabled to not enabled. In addition the event detection module 123 could set other identifiers for other characteristics, such as, the ready characteristic (to not ready) and the interruptible characteristic (to not interruptible) based on the event of the resource 130 logging out.
- FIG. 2 is a diagram 200 of how resource characteristics are matched to work item characteristics.
- the diagram 200 comprises memory locations 210 A and 210 B that show identifiers (represented as bits) that represent characteristics for two resources.
- the diagram 200 also comprises memory location 220 A and 220 B that show identifiers (represented as bits) that represent characteristics of two work items.
- the memory locations 210 A and 210 B show the identifiers for resource 1 and resource 2 respectively.
- the following discussion is in relation to both memory locations 210 A (resource 1) and 210 B (resource 2).
- the first bit (starting from left to right) is a bit that is derived from three characteristics of resource 1.
- the first bit is set to a 1 when the resource 130 (e.g., an agent) is enabled (logged in) and is ready (ready to work) or interruptible (is handling a work item, but can be interrupted).
- the second bit (English) is set to a 1 if the resource 130 can process work items in English.
- the third bit (Gold) is set to a 1 if the resource 130 can process Gold customers (a high value customer).
- the fourth bit is set to a 1 if the resource 130 can process a high value work item over $10,000 (e.g., a loan over $10,000).
- the fifth bit is set to a 1 if the resource 130 can process a work item with a value of between $3,000 and $10,000.
- the sixth bit is set to a 1 if the resource 130 can process a work item with a value less than $3,000. Note that most of these fields do not change very often and are only updated when an event is detected that requires a change.
- Memory locations 220 A and 220 B show the identifiers for work item 1 and work item 2 respectively.
- the following discussion is in relation to both memory locations 220 A (work item 1) and 220 B (work item 2).
- the first bit (starting from left to right) is the available bit (indicating that the resource needs to be available to process a work item).
- the second bit (English) is set to a 1 if the work item is in English.
- the third bit (Gold) is set to a 1 if the customer is a Gold customer.
- the fourth bit is set to a 1 if the work item is a high value work item over $10,000 (e.g., a loan over $10,000).
- the fifth bit is set to a 1 if the work item has a value of between $3,000 and $10,000.
- the sixth bit is set to a 1 if the work item has a value of less than $3,000.
- Work item 1 is received in contact center 120 .
- work assignment module 126 Based on a phone number of the call, a called number, an IVR response, and the like, work assignment module 126 identifies that a resource 130 must be available to process the communication that the customer is English speaking, that the customer is a gold customer, and that the value of the call is worth over $10,000.
- the work assignment module 126 sets the identifiers for each characteristic in memory location 220 A as shown.
- the work assignment module 126 first determines if resource 2 can process work item 1. To make the determination if resource 2 can process work item 1, memory location 210 B (memory location for resource 2) is bit masked using memory location 220 A (memory location for work item 1). The result of the bit mask is 110000 (the last two bits of memory location 220 B are masked off (set to 0) because memory location 220 A has the last two bits set to 0). The result is then compared to memory location 220 A. In this example, memory location 220 A contains 111100 and the result contains 110000. Since the two values do not match, the determination is made that resource 2 cannot process work item 1.
- work assignment module 126 determines if resource 1 can process work item 1.
- memory location 210 A (memory location for resource 1) is bit masked using memory location 220 A (memory location for work item 1).
- the result of the bit mask is 111100 (the last two bits of memory location 220 A are masked off (set to 0) because memory location 220 A has the last two bits set to 0).
- the result is then compared to memory location 220 A.
- memory location 220 A contains 111100 and the result also contains 111100. Since the two values match, the determination is made that resource 1 can process work item 1. Work item 1 is then routed to resource 1.
- resource 1 or resource 2 could process work item 2. Which resource (resource 1 or resource 2) processes the work item can be passed on which resource is compared first or based on other characteristics of the resource or work item.
- the above process uses a 1 to identify if a status as set. However, the opposite could also be used where a 0 indicates a status is set Likewise, other ways of ORing, ANDing, and bit masking can be used to accomplish the same result.
- the above results may be accomplished using one or more instructions in the processor 121 .
- individual identifiers can be bit masked. For example, using work item 1, each bit that is set to a 1 in memory location 220 A can be masked and compared individually to determine if the resource can process work item 1.
- FIG. 3 is a block diagram of an illustrative system 300 for building code in a contact center 320 .
- the illustrative system 300 comprises the contact center 320 and a developer terminal 330 .
- the contact center 320 can be any contact center, such as the contact center 120 .
- the contact center 320 will be a test contact center that a developer is using to develop code for the contact center 320 .
- the contact center 320 further comprises a compiler 321 , a code base 322 , and abstract tree syntax 323 .
- the compiler 321 can be any compiler that can compile code, such as, a C compiler, a Java compiler, a C++ compiler, a C## compiler, an assembler, a custom compiler, and/or the like.
- the code base 322 can be any code base that that runs on a processor 121 .
- the code base 322 can be based on any programming language, such as Java, C, C++, C##, HTML, shell script, Fortran, assembly code, machine code, and/or the like.
- the abstract tree syntax 323 is generated by a compiler 321 from the code base 322 as is known in the art.
- One purpose of the abstract tree syntax 323 to allow a developer to visually see the structure of the code base 322 .
- abstract tree syntax 323 identifies where specific variables (instances of characteristics) are used throughout the code base 322 .
- the developer terminal 330 may be any device that can communicate with contact center 320 , such as, a Personal Computer (PC), a video system, a cellular telephone, a Personal Digital Assistant (PDA), a tablet device, a notebook device, and the like. Although only 1 developer terminal 330 is shown in FIG. 3 , additional developer terminals 330 can be added as necessary to accommodate additional developers.
- PC Personal Computer
- PDA Personal Digital Assistant
- the compiler 321 generates abstract tree syntax 323 based on the code base 322 .
- the compiler 321 identifes a characteristic(s) associated with a resource 130 or a work item.
- the characteristic associated with the resource or the work item can be any of those described previously.
- the compiler 321 searches the abstract tree syntax 323 for one or more instances of the characteristic.
- the compiler 321 identifies the one or more instances of the characteristic.
- the compiler 321 generates code in an event service routine.
- the code in the event service routine updates the one or more instances when the event occurs.
- the compiler 321 can detect the change in the rule. For example, by examining changes to code base 322 . Based on the rule change, the abstract tree syntax 323 is rebuilt. The compiler 321 identifies any changes to the one or more instances of the characteristic. The compiler 321 changes the code in the event service routine based on the rule change.
- the compiler can create relationships between groups of agents, queues, sites, and characteristics. Based on these relationships, the rules may change and/or the instances of the characteristics may change.
- FIG. 4 is an exemplary trellis diagram 400 defining characteristics of a resource 130 .
- the trellis diagram 400 is a high level abstraction of the abstract tree syntax 323 described in FIG. 3 .
- Three characteristics, interruptible 401 , enabled 402 , and ready 403 are shown.
- the characteristics 401 - 403 are for a specific agent. However, the characteristics can be for multiple agents (resources 130 ).
- the interruptible characteristic 401 is defined by rule 410 .
- Rule 410 states that the agent is interruptible if the agent is not handling more than 5 emails and the date is not Friday.
- the tree from the characteristic interruptible 401 has two branches. The first branch is the date branch. The date branch is based on the output from a clock. If the clock indicates it is Friday, the date is updated, causing an event that sets a date flag.
- the second branch is the handling more than 5 emails branch.
- This variable changes based on the agent receiving or completing an email. If the agent receives an email, the number of emails is incremented. If the agent completes an email, the variable is decremented. When 1 of the three sources (received email, completed email, or date of the clock changes, the event service routine detects the event and updates the identifier for the interruptible characteristic.
- the interruptible identifier is set, the date is Thursday, and the agent currently is processing 4 emails.
- the agent receives a 5 th email.
- the event service routine detects that the agent has been given a new email to process.
- the event service routine determines that the agent is now handling 5 emails, this results in the interruptible identifier being set to not interruptible.
- the rule 411 for the characteristic enabled 402 is based on two events: 1) when the agent logs in, and 2) when the agent logs out.
- the rule for enabled is if the agent is logged in, the enabled identifier for the enabled characteristic 402 is set. If the agent logs in, the enabled identifier for the enabled characteristic 402 is not enabled by the event service routine.
- the rule 412 for the ready characteristic 403 is that an agent is ready if not on break and not processing a work item. If the agent is on break or processing a work item, the event service routine sets the identifier for the ready characteristic 403 to ready. Otherwise, the identifier for the ready characteristics 403 is set to not ready.
- FIG. 5 is a flow diagram of a method for managing a contract center.
- the communication device 101 , the contact center 120 and 320 , the event detection module 123 , the event queue 124 , the work item pool 125 , the work assignment module 126 , the routing engine 127 , the resource 130 , the compiler 321 , the code base 322 , the abstract tree syntax 323 , and the developer terminal 330 are stored-program-controlled entities, such as a computer or processor, which performs the method of FIGS. 5-8 and the processes described herein by executing program instructions stored in a tangible computer readable storage medium, such as a memory or disk.
- FIGS. 5-8 are shown in a specific order, one of skill in the art would recognize that the steps in FIGS. 5-8 may be implemented in different orders and/or be implemented in a multi-threaded environment. Moreover, various steps may be omitted or added based on implementation.
- the process starts in step 500 .
- the process identifies 502 a characteristic(s) associated with a resource.
- the characteristic(s) associated with the resource is stored 504 in an identifier in a first memory location.
- the process identifies 506 a characteristic(s) associated with a work item.
- the characteristic(s) associated with the work item is stored 508 in an identifier in a second memory location.
- the first and second memory locations are bit masked and compared 510 .
- FIG. 6 is a flow diagram of a method for detecting an event and updating identifiers representing characteristics.
- the process starts 600 .
- the process waits in step 602 for an event to occur.
- the event may occur upon the completion of a voice work item, an agent logging in, the agent receiving an email, and/or the like. If an event has not occurred in step 602 , the process goes back to step 602 . Otherwise, if an event has occurred in step 602 , the event is placed 604 in an event queue if necessary. An event may be placed in an event queue due to a heavy call volume in a contact center.
- the identifier(s) representing the characteristic is updated 606 . For example, if the agent logs in, the event service routine will change the agent's status to enabled. The process then goes to step 602 to wait for the next event.
- the above process can be implemented for an individual resource or for multiple resources.
- FIG. 7 is a flow diagram of a method for allowing a resource to process a work item.
- the process described in FIG. 7 goes between step 514 (yes branch) and, steps 518 and 516 depending on the flow of the process.
- the process described in FIG. 7 may be optional based on the specific implementation.
- the process determines 700 if the resource wants to process the work item. If the resource wants to process the work item in step 702 , the process goes to step 518 , where the work item is routed to the resource. Otherwise, if the resource does not want to process the work item in step 702 , the work item is resubmitted 704 into the work item pool.
- the process then goes to step 516 to get another resource.
- a flag may be set to indicate that the resource does not want to process this work item so that the resource is not presented with this work item again.
- FIG. 8 is a flow diagram of a method for building code in a contact center.
- the process starts 800 .
- An abstract tree syntax is generated 802 from on a code base.
- a characteristic(s) associated with a resource or work item is identified 804 .
- the characteristic associated with the resource or work item can be any of those described previously.
- the abstract tree syntax is searched 806 for one or more instances of the characteristic.
- the one or more instances of the characteristic are identified 808 .
- Code is generated 810 in an event service routine.
- the code in the event service routine updates the one or more instances when the event occurs in the code base.
- the process can detect 812 the change in the rule. For example, by examining changes to code base. Based on the rule change, the abstract tree syntax is rebuilt in step 802 . The compiler identifies any changes to the one or more instances of the characteristic in step 804 . The compiler changes the code in the event service routine based on the rule change 806 - 810 .
- the compiler can create relationships between groups of agents, queues, sites, and characteristics. Based on these relationships, the rules may change and/or the instances of the characteristics may change.
Abstract
Description
- The systems and methods relate to contact centers and in particular to management of contact centers.
- When contact centers were initially developed, the number of agents that were supported was limited; in addition, the types of communication supported were also limited. Today, this is not the case. The contact centers of today support large numbers of agents or resources ranging into the tens of thousands. Moreover, many of these contact centers are distributed across various locations. Today's contact centers also support a variety of mediums, such as voice, video, email, Instant Messaging (IM), text messaging, blogs and the like.
- As contact centers have evolved, in many instances, code from earlier version of the contact centers was ported into newer version of the contact centers. As a result, supporting a high number of resources has become difficult to obtain using technology that was previously developed for contact centers designed to support a smaller number of agents. What is need is a new paradigm that changes existing processes that match communications to resources in today's call centers.
- Systems and methods are provided to solve these and other problems and disadvantages of the prior art. Provided is a system and method that identifies a characteristic associated with a resource. A resource may anything that can process, receive, store, and/or handle a work item. For example, a resource can be an agent, a Personal Computer (PC), a telephone, a video system, a cellular telephone, a Personal Digital Assistant (PDA), a tablet device, a notebook device, a communication device, a speaker, a FAX machine, a terminal, a printer, a storage space, an agent, a software process, and/or the like. An identifier, representing the characteristic is associated with the resource (e.g., a bit) is stored in a first memory location. The characteristic(s) associated with the resource can include a variety of characteristics. For example, the characteristic(s) associated with the resource may be that the resource is enabled (a agent is logged in or not), ready (an agent is ready to process a work item or not), interruptible (an agent can be interrupted to process another work item or not), supports a specific skill level, can support a specific type of customer (i.e., a gold or platinum customer), can support a work item representing a specific type or monetary range, can speak a specific language, can support a specific product or product type, is a specific automobile (i.e., for a specific taxi), a specific space on a shelf, and/or the like. The characteristic(s) can be based on a status, such as an agent is enabled or ready. Likewise, the characteristic may be based on a rule.
- A characteristic associated with a work item is identified. The characteristic(s) associated with the work item can include a variety of characteristics. For example, the characteristic(s) associated with the work item can be a type of communication (e.g., a voice call or email), a customer type (e.g., gold or platinum), a time since the work item was received, a company name, a product, a trouble ticket for a specific product, a language, a customer name, and/or the like. The characteristic(s) can be based on a status, such as the work item is an English communication or a voice communication. Likewise, the characteristic may be based on a rule. The identifier representing the characteristic associated with the work item is stored in a second memory location. The first memory location may be bit masked and/or compared with the second memory location to determine if the resource should process the work item. In response to determining that the resource should process the work item, the work item is routed to the resource, such as an agent.
- In an embodiment, the characteristic associated with the resource is derived from three characteristics associated with the resource. The three characteristics are enabled, ready, and interruptible. In addition, the resource may be an agent.
- In an embodiment, the characteristic associated with the resource includes a plurality of characteristics associated with the resource. Each of the plurality of characteristics associated with the resource are associated with a rule or status.
- In an embodiment, the characteristic associated with the work item includes a plurality of characteristics associated with the work item. Each of the plurality of characteristics associated with the work item are associated with a rule or status.
- In an embodiment, the characteristic associated with the resource comprises a plurality of characteristics associated with the resource. Each of the plurality of characteristics associated with the resource includes a corresponding identifier stored in a bit in the first memory location. The characteristic associated with the work item comprises a plurality of characteristics associated with the work item. Each of the characteristics associated with the work item comprises a corresponding identifier stored in a bit in the second memory location. The bits that represent the plurality corresponding identifiers associated with the resource are individually bit masked and compared with the bits that represent the plurality of corresponding identifiers associated with the work item.
- In an embodiment, the characteristic associated with the resource comprises a plurality of characteristics associated with the resource. Each of the plurality of characteristics associated with the resource includes a corresponding identifier stored in a bit in the first memory location. The characteristic associated with the work item includes a plurality of characteristics associated with the work item. Each of the characteristics associated with the work item includes a corresponding identifier stored in a bit in the second memory location and wherein each bit in the first and second memory locations are bit masked and compared at the same time.
- In an embodiment, an event is detected. An event can be, for example, a change in a status of an agent. The identifier representing the characteristic associated with the first resource or the characteristic associated with the work item is updated based the event.
- In an embodiment, the event is placed in an event queue.
- In an embodiment, a determination is made to see if the resource (e.g., an agent in a contact center) wants to process the work item. In response to determining that the resource does not want to process the work item, the work item is resubmitted into a work item pool. A determination is made to see if a second resource can process the work item.
- In an embodiment, a non-transient computer readable medium having stored thereon instructions that cause a processor to execute a method is used. The method generates an abstract tree syntax from a code base. A characteristic associated with at least one of a resource or a work item is identified. The abstract tree syntax is searched for one or more instances of the characteristic. The one or more instances of the characteristic are identified. Code is generated in an event service routine to update the identified one or more instances of the characteristic.
- In an embodiment, a rule change is detected. The abstract tree syntax is rebuilt. Any changes to the one or more instances of the characteristic are identified. The code in the event service routine is changed based on the rule change.
-
FIG. 1 is a block diagram of an illustrative system for managing a contact center. -
FIG. 2 is a diagram of how resource characteristics are matched to work item characteristics. -
FIG. 3 is a block diagram of an illustrative system for building code in a contact center. -
FIG. 4 is a trellis diagram defining characteristics of a resource. -
FIG. 5 is a flow diagram of a method for managing a contract center. -
FIG. 6 is a flow diagram of a method for detecting an event and updating identifiers representing characteristics. -
FIG. 7 is a flow diagram of a method for allowing a resource to process a work item. -
FIG. 8 is a flow diagram of a method for building code in a contact center. -
FIG. 1 is a block diagram of anillustrative system 100 for managing acontact center 120. The firstillustrative system 100 includes communication devices 101-101C, anetwork 110, thecontact center 120, andresources 130A-130N. - The communication device 101 may be any device that can communicate on the
network 110, such as a Personal Computer (PC), a telephone, a video system, a cellular telephone, a Personal Digital Assistant (PDA), a tablet device, a notebook device, a server, a process running on communication device 101, a blog site, a tweet, a sensor, and the like. Although not shown inFIG. 1 , any number of communication devices 101 may be connected to network 110, including only a single communication device 101. In addition, the communication device 101 may be directly connected to thecontact center 120. - The
network 110 can be any network that can send and receive information, such as the Internet, a Wide Area Network (WAN), a Local Area Network (LAN), the Public Switched Telephone Network (PSTN), a packet switched network, a circuit switched network, a cellular network, a combination of these, and the like. Thenetwork 110 can use a variety of protocols, such as Ethernet, Internet Protocol (IP), Session Initiation Protocol (SIP), Integrated Services Digital Network (ISDN), and the like. - The
contact center 120 can be any contact center that can process work items. Thecontact center 120 can include a Private Branch Exchange, a telephone switch, an email server, a video server, an Instant Messaging (IM) system, a web server, a blog monitoring service, an out-bound dialer, an Interactive Voice Response (IVR) system, any combination of these, and the like. Thecontact center 120 further comprises aprocessor 121, amemory 122, anevent detection module 123, anevent queue 124, awork item pool 125, awork assignment module 126, and arouting engine 127. Although the various elements 121-127 in thecontact center 120 are shown in asingle contact center 120, elements 121-127 may be distributed across multiple systems includingcommunication devices 101A-101C andresources 130A-130N. - The
processor 121 can be any processor that can execute instructions, such as a microprocessor, a multi-core processor, a digital signaling processor, a micro-controller, a computer, a specialized processor, and/or the like. Thememory 122 can be any type of memory that can store information, such as a Random Access Memory (RAM), a flash memory, a cache memory in theprocessor 121, a register in theprocessor 121, a hard disk, a flash drive, and/or the like. - The
event detection module 123 can be any hardware/software that can detect events. For example, theevent detection module 123 can be a fingerprint scanner that logs an agent into thecontact center 120, an RFID scanner, a time clock, a software process for detecting software events, code in an interrupt service routine, an email system that detects incoming emails, a Private Branch Exchange that detects incoming or outgoing calls, and/or the like. Theevent queue 124 can be any hardware/software that can process events that are queued and later serviced by theevent detection module 123. - The
work item pool 126 can be any hardware/software that can process work items, such as a queue, a linked list, a software process, a first-in-first out (FIFO), and/or the like. Thework assignment module 126 can be any hardware/software that can manage a work item, such as, a communication manager, a Private Branch Exchange (PBX), a communication system, and/or the like. Therouting engine 127 can be any hardware/software that can route a work item. For example, therouting engine 127 can be an email system (that sends an email to the resource 130), a PBX that connects a call to resource 130, an Instant Messaging server, a text messaging service, a video switch, and/or the like. - The resource 130 may anything that can process, receive, store, and/or handle a work item. For example, the resource 130 can be a Personal Computer (PC), a telephone, a video system, a cellular telephone, a Personal Digital Assistant (PDA), a tablet device, a notebook device, the communication device 101, a speaker, a FAX machine, a terminal, a printer, a storage space, an agent, a software process, a taxi, a car, a truck, and/or the like. The resource 130 may connect to the
contact center 120 via thenetwork 110. Theresource 130A-130N can comprise any number of resources, including only a single resource. - An in-bound work item is received at the
contact center 120. A work item may be any type of communication, such as, a voice communication from a user atcommunication device 101C, a video communication from a user atcommunication device 101A, an email communication from a user atcommunication 101B, a text message, a posting on a blog, an Instant Message (IM), a FAX, and/or the like. Alternatively, the work item can be an out-bound work item, such as voice call that is going to be placed (by a predictive dialer) to a user of the communication device 101. An out-bound work item can include other types of communications, such as, an email, a posting on a blog site, an Instant Message (IM), a text message, and/or the like. The work item is placed incommunication pool 126 to be serviced by the resource 130. - The
work assignment module 126 identifies a characteristic(s) associated with the resource 130. The characteristic(s) associated with the resource 130 can include a variety of characteristics. For example, the characteristic(s) associated with the resource 130 may be that the resource 130 is enabled (logged in or not), ready (ready to process a work item or not), interruptible (can be interrupted to process another work item or not), supports a specific skill level, can support a specific type of customer (i.e., a gold or platinum customer), can support a work item representing a specific type or monetary range, can speak a specific language, can support a specific product or product type, is a specific automobile (i.e., for a specific taxi), a specific space on a shelf, and/or the like. The characteristic(s) can be based on a status, such as an agent is enabled or ready. Likewise, the characteristic may be based on a rule. For instance, the characteristic interruptible can be based on a rule that the agent may only be interrupted during defined periods identified in the agent's calendar. Other examples of rules can include, but are not limited to the resource 130 servicing a specific type of customer during heavy load periods in thecontact center 120, supporting a work item in Spanish if no other Spanish agents are available, supporting a work item in a English if there are not work items in French in thework item pool 125, only supporting voice and video work items, and/or the like. - The characteristic(s) associated with the resource 130 is stored as an identifier in a location in the
memory 122. The identifier is typically stored as a bit in thememory 122. However, the identifier can be stored in multiple bits, one or more bytes, one or more words, one or more longs, and/or the like. The identifier may be stored as part of a union. If there are multiple characteristics associated with the resource 130, an identifier for each characteristic is stored in a first location in thememory 122. For example, the multiple characteristics may be stored as part of an octet, a byte, word, long, long word, and/or the like in the first location in thememory 122. - The
work assignment module 126 identifies a characteristic(s) associated with a work item. The characteristic(s) associated with the work item can include a variety of characteristics. For example, the characteristic(s) associated with the work item can be a type of communication (e.g., a voice call or email), a customer type (e.g., gold or platinum), a time since the work item was received, a company name, a product, a trouble ticket for a specific product, a language, a customer name, and/or the like. The characteristic(s) can be based on a status, such as the work item is an English communication or a voice communication Likewise, the characteristic may be based on a rule. For example, a rule can be that the work item is with a gold customer. Any agent that supports gold customers will be interrupted if there are no other resources 130 that support gold customers available and the agent is currently supporting a non-gold customer. - The characteristic(s) associated with the work item is stored as an identifier in a location in the
memory 122. The identifier is typically stored as a bit in thememory 122. However, the identifier can be stored in multiple bits, one or more bytes, one or more words, one or more longs, and/or the like. The identifier may be stored as part of a union. If there are multiple characteristics associated with the work item, an identifier for each characteristic is stored in a second location in thememory 122. For example, the multiple characteristics may be stored as part of an octet, a byte, word, long, long word, and/or the like in the second location in thememory 122. - The
work assignment module 126 bit masks the first location (the resource characteristic identifier(s)) with the second location (the work item characteristic identifier(s)). The result is then compared (i.e., doing an exclusive OR on the work item identifiers and the result of the bit mask) to determine if the resource 130 should process the work item (i.e., if the result is zero). - In response to determining that the resource 130 should process the work item, the
routing engine 127 routes the work item to the resource 130. Routing the work item can be accomplished in various ways, such as, sending an email to the resource 130, sending a voice call to the resource 130, sending a video call to the resource 130, connecting the resource 130 into an out-bound call, sending the work item to be printed and stored in a storage area, sending to work item to a voice mail, connecting the resource 130 to a web site, establishing an Instant Messaging (IM) session with the resource 130. - The resource 130 can then process the work item. For example, an agent can answer a voice call, answer a video call, view an email, view a blog site, respond to a chat, respond when a customer answers an out-bound call, and/or the like. In one embodiment, the resource 130 may a storage area. The work item is printed and stored in a specific shelf in the storage area. The agent can then view the printed version of the work item. In another embodiment, the resource 130 may be a taxi/taxi driver. The work item may be a call for a taxi at a specific location. Based on the characteristic of the call (e.g., the location), the call is routed to the taxi/taxi driver that is located in the closet proximity to the caller that is not currently in transit with another customer.
- In an embodiment, the resource 130 may have the option of processing the work item or not. If this option is configured, the resource 130 may be presented with a screen pop or voice call (via an automated attendant) that asks the resource 130 if he/she wants to process the work item. The agent may be presented with various types of information associated with the work item. If it is determined that the resource 130 does not want to process the work item, the work item is resubmitted into the
work item pool 125. Thework assignment module 126 can then determine if a different resource 130 can process the work item. - After handling the work item, the resource 130 can then set a status associated with the resource 130 based on the call. For example, if the resource 130 is handling voice calls, the resource 130, on completion of the voice call, can indicate that he/she is ready to process a new voice work item.
- The characteristics associated with the resource 130 and the work item can change based on events. For example, if an agent has taken a voice call, the agent's ready status may change from ready to not ready. Likewise, a characteristic associated with a work item can change. For instance, a priority of status can change from low to high based on the work item being on hold for a defined period of time.
- The
event detection module 123 detects an event and updates the associated identifier representing the characteristic. For example, if the resource 130 logs out at the end of a shift, theevent detection module 123 detects the event. Theevent detection module 123 detects the resource 130 logging out and sets the identifier associated with the characteristic enabled to not enabled. In addition theevent detection module 123 could set other identifiers for other characteristics, such as, the ready characteristic (to not ready) and the interruptible characteristic (to not interruptible) based on the event of the resource 130 logging out. -
FIG. 2 is a diagram 200 of how resource characteristics are matched to work item characteristics. The diagram 200 comprisesmemory locations memory location - The
memory locations resource 1 andresource 2 respectively. The following discussion is in relation to bothmemory locations 210A (resource 1) and 210B (resource 2). The first bit (starting from left to right) is a bit that is derived from three characteristics ofresource 1. The first bit is set to a 1 when the resource 130 (e.g., an agent) is enabled (logged in) and is ready (ready to work) or interruptible (is handling a work item, but can be interrupted). The second bit (English) is set to a 1 if the resource 130 can process work items in English. The third bit (Gold) is set to a 1 if the resource 130 can process Gold customers (a high value customer). The fourth bit is set to a 1 if the resource 130 can process a high value work item over $10,000 (e.g., a loan over $10,000). The fifth bit is set to a 1 if the resource 130 can process a work item with a value of between $3,000 and $10,000. The sixth bit is set to a 1 if the resource 130 can process a work item with a value less than $3,000. Note that most of these fields do not change very often and are only updated when an event is detected that requires a change. -
Memory locations work item 1 andwork item 2 respectively. The following discussion is in relation to bothmemory locations 220A (work item 1) and 220B (work item 2). The first bit (starting from left to right) is the available bit (indicating that the resource needs to be available to process a work item). The second bit (English) is set to a 1 if the work item is in English. The third bit (Gold) is set to a 1 if the customer is a Gold customer. The fourth bit is set to a 1 if the work item is a high value work item over $10,000 (e.g., a loan over $10,000). The fifth bit is set to a 1 if the work item has a value of between $3,000 and $10,000. The sixth bit is set to a 1 if the work item has a value of less than $3,000. - To illustrate how
memory locations Work item 1 is received incontact center 120. Based on a phone number of the call, a called number, an IVR response, and the like,work assignment module 126 identifies that a resource 130 must be available to process the communication that the customer is English speaking, that the customer is a gold customer, and that the value of the call is worth over $10,000. - In response to the above determinations, the
work assignment module 126 sets the identifiers for each characteristic inmemory location 220A as shown. Thework assignment module 126 first determines ifresource 2 can processwork item 1. To make the determination ifresource 2 can processwork item 1,memory location 210B (memory location for resource 2) is bit masked usingmemory location 220A (memory location for work item 1). The result of the bit mask is 110000 (the last two bits ofmemory location 220B are masked off (set to 0) becausememory location 220A has the last two bits set to 0). The result is then compared tomemory location 220A. In this example,memory location 220A contains 111100 and the result contains 110000. Since the two values do not match, the determination is made thatresource 2 cannot processwork item 1. - Next,
work assignment module 126 determines ifresource 1 can processwork item 1. To make the determination ifresource 1 can processwork item 1,memory location 210A (memory location for resource 1) is bit masked usingmemory location 220A (memory location for work item 1). The result of the bit mask is 111100 (the last two bits ofmemory location 220A are masked off (set to 0) becausememory location 220A has the last two bits set to 0). The result is then compared tomemory location 220A. In this example,memory location 220A contains 111100 and the result also contains 111100. Since the two values match, the determination is made thatresource 1 can processwork item 1.Work item 1 is then routed toresource 1. - Using the above
process work item 2 is received and the corresponding identifiers are set inmemory location 220B. Using the above described process,resource 1 orresource 2 could processwork item 2. Which resource (resource 1 or resource 2) processes the work item can be passed on which resource is compared first or based on other characteristics of the resource or work item. - The above process uses a 1 to identify if a status as set. However, the opposite could also be used where a 0 indicates a status is set Likewise, other ways of ORing, ANDing, and bit masking can be used to accomplish the same result. The above results may be accomplished using one or more instructions in the
processor 121. - In another embodiment, individual identifiers can be bit masked. For example, using
work item 1, each bit that is set to a 1 inmemory location 220A can be masked and compared individually to determine if the resource can processwork item 1. -
FIG. 3 is a block diagram of anillustrative system 300 for building code in acontact center 320. Theillustrative system 300 comprises thecontact center 320 and adeveloper terminal 330. Thecontact center 320 can be any contact center, such as thecontact center 120. Typically, thecontact center 320 will be a test contact center that a developer is using to develop code for thecontact center 320. Thecontact center 320 further comprises acompiler 321, acode base 322, andabstract tree syntax 323. - The
compiler 321 can be any compiler that can compile code, such as, a C compiler, a Java compiler, a C++ compiler, a C## compiler, an assembler, a custom compiler, and/or the like. Thecode base 322 can be any code base that that runs on aprocessor 121. Thecode base 322 can be based on any programming language, such as Java, C, C++, C##, HTML, shell script, Fortran, assembly code, machine code, and/or the like. - The
abstract tree syntax 323 is generated by acompiler 321 from thecode base 322 as is known in the art. One purpose of theabstract tree syntax 323 to allow a developer to visually see the structure of thecode base 322. In addition,abstract tree syntax 323 identifies where specific variables (instances of characteristics) are used throughout thecode base 322. - The
developer terminal 330 may be any device that can communicate withcontact center 320, such as, a Personal Computer (PC), a video system, a cellular telephone, a Personal Digital Assistant (PDA), a tablet device, a notebook device, and the like. Although only 1developer terminal 330 is shown inFIG. 3 ,additional developer terminals 330 can be added as necessary to accommodate additional developers. - The
compiler 321 generatesabstract tree syntax 323 based on thecode base 322. Thecompiler 321 identifes a characteristic(s) associated with a resource 130 or a work item. The characteristic associated with the resource or the work item can be any of those described previously. Thecompiler 321 searches theabstract tree syntax 323 for one or more instances of the characteristic. Thecompiler 321 identifies the one or more instances of the characteristic. Thecompiler 321 generates code in an event service routine. The code in the event service routine updates the one or more instances when the event occurs. - If a rule for the characteristic changes, the
compiler 321 can detect the change in the rule. For example, by examining changes to codebase 322. Based on the rule change, theabstract tree syntax 323 is rebuilt. Thecompiler 321 identifies any changes to the one or more instances of the characteristic. Thecompiler 321 changes the code in the event service routine based on the rule change. - The compiler can create relationships between groups of agents, queues, sites, and characteristics. Based on these relationships, the rules may change and/or the instances of the characteristics may change.
-
FIG. 4 is an exemplary trellis diagram 400 defining characteristics of a resource 130. The trellis diagram 400 is a high level abstraction of theabstract tree syntax 323 described inFIG. 3 . Three characteristics, interruptible 401, enabled 402, and ready 403 are shown. The characteristics 401-403 are for a specific agent. However, the characteristics can be for multiple agents (resources 130). - The
interruptible characteristic 401 is defined byrule 410.Rule 410 states that the agent is interruptible if the agent is not handling more than 5 emails and the date is not Friday. The tree from thecharacteristic interruptible 401 has two branches. The first branch is the date branch. The date branch is based on the output from a clock. If the clock indicates it is Friday, the date is updated, causing an event that sets a date flag. - The second branch is the handling more than 5 emails branch. This variable changes based on the agent receiving or completing an email. If the agent receives an email, the number of emails is incremented. If the agent completes an email, the variable is decremented. When 1 of the three sources (received email, completed email, or date of the clock changes, the event service routine detects the event and updates the identifier for the interruptible characteristic.
- To illustrate, assume that the interruptible identifier is set, the date is Thursday, and the agent currently is processing 4 emails. The agent receives a 5th email. The event service routine detects that the agent has been given a new email to process. The event service routine determines that the agent is now handling 5 emails, this results in the interruptible identifier being set to not interruptible.
- The
rule 411 for the characteristic enabled 402 is based on two events: 1) when the agent logs in, and 2) when the agent logs out. The rule for enabled is if the agent is logged in, the enabled identifier for the enabled characteristic 402 is set. If the agent logs in, the enabled identifier for the enabled characteristic 402 is not enabled by the event service routine. - The
rule 412 for theready characteristic 403 is that an agent is ready if not on break and not processing a work item. If the agent is on break or processing a work item, the event service routine sets the identifier for the ready characteristic 403 to ready. Otherwise, the identifier for theready characteristics 403 is set to not ready. -
FIG. 5 is a flow diagram of a method for managing a contract center. Illustratively, the communication device 101, thecontact center event detection module 123, theevent queue 124, thework item pool 125, thework assignment module 126, therouting engine 127, the resource 130, thecompiler 321, thecode base 322, theabstract tree syntax 323, and thedeveloper terminal 330 are stored-program-controlled entities, such as a computer or processor, which performs the method ofFIGS. 5-8 and the processes described herein by executing program instructions stored in a tangible computer readable storage medium, such as a memory or disk. Although the methods described inFIGS. 5-8 are shown in a specific order, one of skill in the art would recognize that the steps inFIGS. 5-8 may be implemented in different orders and/or be implemented in a multi-threaded environment. Moreover, various steps may be omitted or added based on implementation. - The process starts in
step 500. The process identifies 502 a characteristic(s) associated with a resource. The characteristic(s) associated with the resource is stored 504 in an identifier in a first memory location. The process identifies 506 a characteristic(s) associated with a work item. The characteristic(s) associated with the work item is stored 508 in an identifier in a second memory location. The first and second memory locations are bit masked and compared 510. - A determination is made if the resource should process the work item in
step 512. If the resource is not to process the work item instep 514, the process gets 516 the next resource and goes to step 502. Otherwise, if the resource is to process the work item instep 514, the work item is routed 518 to the resource. The process gets 520 the next work item in a work item pool (if there is a resource in the work item pool.) and the process goes to step 502. -
FIG. 6 is a flow diagram of a method for detecting an event and updating identifiers representing characteristics. The process starts 600. The process waits instep 602 for an event to occur. For example, the event may occur upon the completion of a voice work item, an agent logging in, the agent receiving an email, and/or the like. If an event has not occurred instep 602, the process goes back tostep 602. Otherwise, if an event has occurred instep 602, the event is placed 604 in an event queue if necessary. An event may be placed in an event queue due to a heavy call volume in a contact center. The identifier(s) representing the characteristic is updated 606. For example, if the agent logs in, the event service routine will change the agent's status to enabled. The process then goes to step 602 to wait for the next event. The above process can be implemented for an individual resource or for multiple resources. -
FIG. 7 is a flow diagram of a method for allowing a resource to process a work item. The process described inFIG. 7 goes between step 514 (yes branch) and,steps FIG. 7 may be optional based on the specific implementation. After determining that the resource will process the work item instep 514, the process determines 700 if the resource wants to process the work item. If the resource wants to process the work item instep 702, the process goes to step 518, where the work item is routed to the resource. Otherwise, if the resource does not want to process the work item instep 702, the work item is resubmitted 704 into the work item pool. The process then goes to step 516 to get another resource. A flag may be set to indicate that the resource does not want to process this work item so that the resource is not presented with this work item again. -
FIG. 8 is a flow diagram of a method for building code in a contact center. The process starts 800. An abstract tree syntax is generated 802 from on a code base. A characteristic(s) associated with a resource or work item is identified 804. The characteristic associated with the resource or work item can be any of those described previously. The abstract tree syntax is searched 806 for one or more instances of the characteristic. The one or more instances of the characteristic are identified 808. Code is generated 810 in an event service routine. The code in the event service routine updates the one or more instances when the event occurs in the code base. - If a rule for the characteristic changes, the process can detect 812 the change in the rule. For example, by examining changes to code base. Based on the rule change, the abstract tree syntax is rebuilt in
step 802. The compiler identifies any changes to the one or more instances of the characteristic instep 804. The compiler changes the code in the event service routine based on the rule change 806-810. - The compiler can create relationships between groups of agents, queues, sites, and characteristics. Based on these relationships, the rules may change and/or the instances of the characteristics may change.
- Of course, various changes and modifications to the illustrative embodiment described above will be apparent to those skilled in the art. These changes and modifications can be made without departing from the spirit and the scope of the system and method and without diminishing its attendant advantages. The following claims specify the scope of the invention. Those skilled in the art will appreciate that the features described above can be combined in various ways to form multiple variations of the invention. As a result, the invention is not limited to the specific embodiments described above, but only by the following claims and their equivalents.
Claims (20)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/630,152 US8699696B1 (en) | 2011-07-19 | 2012-09-28 | System and method for efficiently managing large contact centers |
IN2191MU2013 IN2013MU02191A (en) | 2012-09-28 | 2013-06-28 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/186,219 US9118765B2 (en) | 2011-07-19 | 2011-07-19 | Agent skill promotion and demotion based on contact center state |
US13/630,152 US8699696B1 (en) | 2011-07-19 | 2012-09-28 | System and method for efficiently managing large contact centers |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/186,219 Continuation-In-Part US9118765B2 (en) | 2011-07-19 | 2011-07-19 | Agent skill promotion and demotion based on contact center state |
Publications (2)
Publication Number | Publication Date |
---|---|
US8699696B1 US8699696B1 (en) | 2014-04-15 |
US20140119530A1 true US20140119530A1 (en) | 2014-05-01 |
Family
ID=50441495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/630,152 Active US8699696B1 (en) | 2011-07-19 | 2012-09-28 | System and method for efficiently managing large contact centers |
Country Status (1)
Country | Link |
---|---|
US (1) | US8699696B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3506615A1 (en) * | 2017-12-29 | 2019-07-03 | Unify Patente GmbH & Co. KG | Contact centre network and method for establishing a communication session with sensor equipped devices in a contact center network |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9716790B2 (en) * | 2015-07-31 | 2017-07-25 | Avaya Inc. | Communications between contact center agent systems to facilitate agent engagement |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5903641A (en) | 1997-01-28 | 1999-05-11 | Lucent Technologies Inc. | Automatic dynamic changing of agents' call-handling assignments |
US6683947B2 (en) | 2001-12-31 | 2004-01-27 | General Electric Capital Corporation | Call center monitoring system |
US20040191735A1 (en) | 2003-03-24 | 2004-09-30 | Mccormack Tony | Method and system for simulating activity in a contact centre |
US7949121B1 (en) * | 2004-09-27 | 2011-05-24 | Avaya Inc. | Method and apparatus for the simultaneous delivery of multiple contacts to an agent |
US20060274758A1 (en) | 2005-06-01 | 2006-12-07 | Cim Ltd. | Adaptive skills-based routing |
US8116446B1 (en) * | 2005-10-03 | 2012-02-14 | Avaya Inc. | Agent driven work item awareness for tuning routing engine work-assignment algorithms |
US20100086120A1 (en) | 2008-10-02 | 2010-04-08 | Compucredit Intellectual Property Holdings Corp. Ii | Systems and methods for call center routing |
US20110255682A1 (en) | 2010-04-14 | 2011-10-20 | Avaya Inc. | High performance queueless contact center |
US8670550B2 (en) | 2010-04-14 | 2014-03-11 | Avaya Inc. | Automated mechanism for populating and maintaining data structures in a queueless contact center |
US20120101867A1 (en) | 2010-10-25 | 2012-04-26 | Zgardovski Stanislav V | System for Automatic Assignment of Agents in Inbound and Outbound Campaigns |
US9118765B2 (en) * | 2011-07-19 | 2015-08-25 | Avaya Inc. | Agent skill promotion and demotion based on contact center state |
-
2012
- 2012-09-28 US US13/630,152 patent/US8699696B1/en active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3506615A1 (en) * | 2017-12-29 | 2019-07-03 | Unify Patente GmbH & Co. KG | Contact centre network and method for establishing a communication session with sensor equipped devices in a contact center network |
WO2019129666A1 (en) * | 2017-12-29 | 2019-07-04 | Unify Patente Gmbh & Co. Kg | Contact center network and method for establishing a communication session in a contact center network |
US11005996B2 (en) | 2017-12-29 | 2021-05-11 | InContact Inc. | Contact center network and method for establishing a communication session in a contact center network |
US11323569B2 (en) | 2017-12-29 | 2022-05-03 | InContact Inc. | Contact center network and method for establishing a communication session in a contact center network |
US20220272198A1 (en) * | 2017-12-29 | 2022-08-25 | InContact Inc. | Contact center network and method for establishing a communication session in a contact center network |
US11778096B2 (en) * | 2017-12-29 | 2023-10-03 | InContact Inc. | Contact center network and method for establishing a communication session in a contact center network |
Also Published As
Publication number | Publication date |
---|---|
US8699696B1 (en) | 2014-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220210276A1 (en) | System and method for a work distribution service | |
US8879713B2 (en) | Optimized method to select and retrieve a contact center transaction from a set of transactions stored in a queuing mechanism | |
US9008075B2 (en) | System and methods for improving interaction routing performance | |
US7636432B2 (en) | System and method of determining call treatment of repeat calls | |
US8369509B2 (en) | System and method for search-based work assignments in a contact center | |
Ibe et al. | M/M/1 multiple vacation queueing systems with differentiated vacations | |
US9172810B2 (en) | System and method for calculating context-aware estimated wait time for customers | |
US8009821B1 (en) | Stores as call center resources | |
US20140280703A1 (en) | Service platform architecture | |
CN111831799A (en) | Information processing method, information processing apparatus, and information processing system | |
CN111010527B (en) | Method and related device for establishing video call through short message link | |
US11637701B2 (en) | Technologies for conducting a data transaction between enterprises using a permissioned blockchain infrastructure and an oracle system | |
US8699696B1 (en) | System and method for efficiently managing large contact centers | |
CN106485520B (en) | Cross-channel communication control method and server | |
US20140081689A1 (en) | Work assignment through merged selection mechanisms | |
CN110796543B (en) | Custom information acquisition method and device based on relational network and electronic equipment | |
KR102584377B1 (en) | Techniques for data matching in a contact center system | |
JP5950354B2 (en) | Management device, management system, maintenance management method, and program | |
US20170126883A1 (en) | Method and system for logging and reporting call detail information | |
US9100486B2 (en) | Managing transaction complexity in a contact center | |
US10412194B1 (en) | Systems and methods for managing computer-based requests | |
US11405506B2 (en) | Prompt feature to leave voicemail for appropriate attribute-based call back to customers | |
WO2022068280A1 (en) | Data processing method and apparatus, device, and storage medium | |
CN113535439A (en) | Service request processing method, device, equipment and storage medium | |
US20190014214A1 (en) | System and method of ringless voicemail |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: AVAYA INC., NEW JERSEY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:STEINER, ROBERT C.;REEL/FRAME:029127/0763 Effective date: 20120926 |
|
AS | Assignment |
Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., PENNSYLVANIA Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA, INC.;REEL/FRAME:029608/0256 Effective date: 20121221 Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., P Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA, INC.;REEL/FRAME:029608/0256 Effective date: 20121221 |
|
AS | Assignment |
Owner name: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE, PENNSYLVANIA Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA, INC.;REEL/FRAME:030083/0639 Effective date: 20130307 Owner name: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE, Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA, INC.;REEL/FRAME:030083/0639 Effective date: 20130307 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS ADMINISTRATIVE AGENT, NEW YORK Free format text: SECURITY INTEREST;ASSIGNORS:AVAYA INC.;AVAYA INTEGRATED CABINET SOLUTIONS INC.;OCTEL COMMUNICATIONS CORPORATION;AND OTHERS;REEL/FRAME:041576/0001 Effective date: 20170124 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
AS | Assignment |
Owner name: AVAYA INTEGRATED CABINET SOLUTIONS INC., CALIFORNIA Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date: 20171128 Owner name: OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION), CALIFORNIA Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date: 20171128 Owner name: AVAYA INC., CALIFORNIA Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 029608/0256;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:044891/0801 Effective date: 20171128 Owner name: AVAYA INC., CALIFORNIA Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date: 20171128 Owner name: AVAYA INTEGRATED CABINET SOLUTIONS INC., CALIFORNI Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date: 20171128 Owner name: OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date: 20171128 Owner name: VPNET TECHNOLOGIES, INC., CALIFORNIA Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date: 20171128 Owner name: AVAYA INC., CALIFORNIA Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:045012/0666 Effective date: 20171128 |
|
AS | Assignment |
Owner name: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT, NEW YORK Free format text: SECURITY INTEREST;ASSIGNORS:AVAYA INC.;AVAYA INTEGRATED CABINET SOLUTIONS LLC;OCTEL COMMUNICATIONS LLC;AND OTHERS;REEL/FRAME:045034/0001 Effective date: 20171215 Owner name: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT, NEW Y Free format text: SECURITY INTEREST;ASSIGNORS:AVAYA INC.;AVAYA INTEGRATED CABINET SOLUTIONS LLC;OCTEL COMMUNICATIONS LLC;AND OTHERS;REEL/FRAME:045034/0001 Effective date: 20171215 |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS COLLATERAL AGENT, NEW YORK Free format text: SECURITY INTEREST;ASSIGNORS:AVAYA INC.;AVAYA INTEGRATED CABINET SOLUTIONS LLC;OCTEL COMMUNICATIONS LLC;AND OTHERS;REEL/FRAME:045124/0026 Effective date: 20171215 |
|
AS | Assignment |
Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, MINNESOTA Free format text: SECURITY INTEREST;ASSIGNORS:AVAYA INC.;AVAYA MANAGEMENT L.P.;INTELLISIST, INC.;AND OTHERS;REEL/FRAME:053955/0436 Effective date: 20200925 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT, DELAWARE Free format text: INTELLECTUAL PROPERTY SECURITY AGREEMENT;ASSIGNORS:AVAYA INC.;INTELLISIST, INC.;AVAYA MANAGEMENT L.P.;AND OTHERS;REEL/FRAME:061087/0386 Effective date: 20220712 |
|
AS | Assignment |
Owner name: AVAYA INTEGRATED CABINET SOLUTIONS LLC, NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:063457/0001 Effective date: 20230403 Owner name: AVAYA MANAGEMENT L.P., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:063457/0001 Effective date: 20230403 Owner name: AVAYA INC., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:063457/0001 Effective date: 20230403 Owner name: AVAYA HOLDINGS CORP., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:063457/0001 Effective date: 20230403 |
|
AS | Assignment |
Owner name: WILMINGTON SAVINGS FUND SOCIETY, FSB (COLLATERAL AGENT), DELAWARE Free format text: INTELLECTUAL PROPERTY SECURITY AGREEMENT;ASSIGNORS:AVAYA MANAGEMENT L.P.;AVAYA INC.;INTELLISIST, INC.;AND OTHERS;REEL/FRAME:063742/0001 Effective date: 20230501 |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS COLLATERAL AGENT, NEW YORK Free format text: INTELLECTUAL PROPERTY SECURITY AGREEMENT;ASSIGNORS:AVAYA INC.;AVAYA MANAGEMENT L.P.;INTELLISIST, INC.;REEL/FRAME:063542/0662 Effective date: 20230501 |
|
AS | Assignment |
Owner name: AVAYA MANAGEMENT L.P., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: CAAS TECHNOLOGIES, LLC, NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: HYPERQUALITY II, LLC, NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: HYPERQUALITY, INC., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.), NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: VPNET TECHNOLOGIES, INC., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: OCTEL COMMUNICATIONS LLC, NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: AVAYA INTEGRATED CABINET SOLUTIONS LLC, NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: INTELLISIST, INC., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: AVAYA INC., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: AVAYA INTEGRATED CABINET SOLUTIONS LLC, NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:063705/0023 Effective date: 20230501 Owner name: INTELLISIST, INC., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:063705/0023 Effective date: 20230501 Owner name: AVAYA INC., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:063705/0023 Effective date: 20230501 Owner name: AVAYA MANAGEMENT L.P., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:063705/0023 Effective date: 20230501 Owner name: AVAYA INTEGRATED CABINET SOLUTIONS LLC, NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:063690/0359 Effective date: 20230501 Owner name: INTELLISIST, INC., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:063690/0359 Effective date: 20230501 Owner name: AVAYA INC., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:063690/0359 Effective date: 20230501 Owner name: AVAYA MANAGEMENT L.P., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:063690/0359 Effective date: 20230501 |
|
AS | Assignment |
Owner name: AVAYA LLC, DELAWARE Free format text: (SECURITY INTEREST) GRANTOR'S NAME CHANGE;ASSIGNOR:AVAYA INC.;REEL/FRAME:065019/0231 Effective date: 20230501 |