US20140250100A1 - Systems and methods for indexing and searching administrative data - Google Patents

Systems and methods for indexing and searching administrative data Download PDF

Info

Publication number
US20140250100A1
US20140250100A1 US14/194,274 US201414194274A US2014250100A1 US 20140250100 A1 US20140250100 A1 US 20140250100A1 US 201414194274 A US201414194274 A US 201414194274A US 2014250100 A1 US2014250100 A1 US 2014250100A1
Authority
US
United States
Prior art keywords
data
management system
administrative data
communication devices
unified communication
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
Application number
US14/194,274
Other versions
US10229371B2 (en
Inventor
Ariel Shtilman
Arkady Karpman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avaya Inc
Original Assignee
Avaya Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Assigned to AVAYA INC. reassignment AVAYA INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KARPMAN, ARKADY, SHTILMAN, ARIEL
Application filed by Avaya Inc filed Critical Avaya Inc
Priority to US14/194,274 priority Critical patent/US10229371B2/en
Publication of US20140250100A1 publication Critical patent/US20140250100A1/en
Assigned to CITIBANK, N.A., AS ADMINISTRATIVE AGENT reassignment CITIBANK, N.A., AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AVAYA INC., AVAYA INTEGRATED CABINET SOLUTIONS INC., OCTEL COMMUNICATIONS CORPORATION, VPNET TECHNOLOGIES, INC.
Assigned to AVAYA INTEGRATED CABINET SOLUTIONS INC., VPNET TECHNOLOGIES, INC., OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION), AVAYA INC. reassignment AVAYA INTEGRATED CABINET SOLUTIONS INC. BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Assignors: CITIBANK, N.A.
Assigned to GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT reassignment GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AVAYA INC., AVAYA INTEGRATED CABINET SOLUTIONS LLC, OCTEL COMMUNICATIONS LLC, VPNET TECHNOLOGIES, INC., ZANG, INC.
Assigned to CITIBANK, N.A., AS COLLATERAL AGENT reassignment CITIBANK, N.A., AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AVAYA INC., AVAYA INTEGRATED CABINET SOLUTIONS LLC, OCTEL COMMUNICATIONS LLC, VPNET TECHNOLOGIES, INC., ZANG, INC.
Publication of US10229371B2 publication Critical patent/US10229371B2/en
Application granted granted Critical
Assigned to WILMINGTON TRUST, NATIONAL ASSOCIATION reassignment WILMINGTON TRUST, NATIONAL ASSOCIATION SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AVAYA INC., AVAYA INTEGRATED CABINET SOLUTIONS LLC, AVAYA MANAGEMENT L.P., INTELLISIST, INC.
Assigned to WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT reassignment WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT INTELLECTUAL PROPERTY SECURITY AGREEMENT Assignors: AVAYA CABINET SOLUTIONS LLC, AVAYA INC., AVAYA MANAGEMENT L.P., INTELLISIST, INC.
Assigned to AVAYA HOLDINGS CORP., AVAYA MANAGEMENT L.P., AVAYA INC., AVAYA INTEGRATED CABINET SOLUTIONS LLC reassignment AVAYA HOLDINGS CORP. RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Assignors: CITIBANK, N.A., AS COLLATERAL AGENT
Assigned to WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT] reassignment WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT] INTELLECTUAL PROPERTY SECURITY AGREEMENT Assignors: AVAYA INC., AVAYA MANAGEMENT L.P., INTELLISIST, INC., KNOAHSOFT INC.
Assigned to CITIBANK, N.A., AS COLLATERAL AGENT reassignment CITIBANK, N.A., AS COLLATERAL AGENT INTELLECTUAL PROPERTY SECURITY AGREEMENT Assignors: AVAYA INC., AVAYA MANAGEMENT L.P., INTELLISIST, INC.
Assigned to INTELLISIST, INC., AVAYA INTEGRATED CABINET SOLUTIONS LLC, AVAYA MANAGEMENT L.P., AVAYA INC. reassignment INTELLISIST, INC. RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Assignors: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Assigned to AVAYA MANAGEMENT L.P., INTELLISIST, INC., AVAYA INTEGRATED CABINET SOLUTIONS LLC, AVAYA INC. reassignment AVAYA MANAGEMENT L.P. RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Assignors: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Assigned to ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.), VPNET TECHNOLOGIES, INC., HYPERQUALITY II, LLC, CAAS TECHNOLOGIES, LLC, HYPERQUALITY, INC., AVAYA INTEGRATED CABINET SOLUTIONS LLC, AVAYA MANAGEMENT L.P., AVAYA INC., INTELLISIST, INC., OCTEL COMMUNICATIONS LLC reassignment ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.) RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Assignors: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
Assigned to AVAYA LLC reassignment AVAYA LLC (SECURITY INTEREST) GRANTOR'S NAME CHANGE Assignors: AVAYA INC.
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • G06F17/3087
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management

Definitions

  • Embodiments of the present invention generally relate to a system and method for managing administrative data of a contact center and particularly to a system and method for indexing and searching the administrative data of the contact center.
  • 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 or work items.
  • IVR Interactive Voice Response
  • Contact centers distribute contacts, whether inbound or outbound, for servicing to any suitable resource according to predefined criteria.
  • 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 client or operator-specifiable (i.e., programmable by the operator of the contact center), via a capability called vectoring.
  • ACDs Automatic Call Distributions
  • the controller Normally in present-day Automatic Call Distributions (ACDs) when the ACD system controller detects that an agent has become available to handle a contact, the controller identifies all predefined contact-handling queues for 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 queue.
  • 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 is to ultimately maximize contact center performance and profitability.
  • An ongoing challenge in contact center administration is monitoring and optimizing contact center efficiency.
  • the contact center efficiency is generally measured in two ways that are service level and match rate.
  • Service level is one measurement of the contact center efficiency. Service level is typically determined by dividing the number of contacts accepted within the specified period by the number accepted plus the number that were not accepted, but completed in some other way (e.g., abandoned, given busy, canceled, flowed out etc.). Of course, service level definitions may vary from one enterprise to another.
  • Match rate is another indicator used in measuring the contact center efficiency.
  • Match rate is usually determined by dividing the number of contacts accepted by a primary skill level agent within a period of time by the number of contacts accepted by any agent for a queue over the same period.
  • An agent with a primary skill level is one that typically can handle contacts of a certain nature most effectively and/or efficiently.
  • contacts received by a primary skill level agent are typically handled more quickly and accurately or effectively (e.g., higher revenue attained) than a contact received by a secondary or even backup skill level agent.
  • KPI Key Performance Index
  • SLA Service Level Agreement
  • Throughput is a measure of the number of calls/contact requests or work requests that can be processed in a given amount of time.
  • Agent utilization is a measure of how efficiently agents' time is being used.
  • Customer service level is a measure of the time customers spend waiting for their work to be handled. Company contact center customers wish to provide service to as many requests as possible in a given amount of time, using the least number of agents to do so, and minimizing the wait time for their customers that can increase the service level agreement of the contact center.
  • a voice mail server is connected to, let say, 10 different extensions in a contact center. These extensions are further connected to coverage paths to link with other communication devices.
  • a user or a supervisor of the contact center desires to access administrative data of an agent at an extension, he may only be able to access the data of that particular extension.
  • information of other extensions that is associated with the agent and which can be relevant for the supervisor is not provided.
  • the supervisor of the contact center desires to change one of a button of an agent's extension, the supervisor can search for the agent's contact center record in a conventional system, and change the button of the agent's extension.
  • the supervisor is not aware of a domain or group to which the agent is associated with. Further, the supervisor cannot be able to see the effect of changing the button of the agent's extension on other extensions.
  • Embodiments in accordance with the present invention provide a data management system for indexing administrative data of a contact center.
  • the data management system includes one or more unified communication devices configured to store the administrative data.
  • the data management system further includes a crawler configured to collect the administrative data from the one or more unified communication devices.
  • the data management system further includes a probing device configured to enable the crawler to communicate and retrieve the administrative data from the one or more unified communication devices.
  • the data management system further includes a temporary database configured to store the collected administrative data; wherein the temporary database stores the collected administrative data in a plurality of flat file tables.
  • the data management system further includes an indexing server configured to index the stored administrative data; wherein the indexed administrative data is searchable through one or more user search queries.
  • Embodiments in accordance with the present invention further provide a computer-implemented method for indexing administrative data of a contact center.
  • the computer-implemented method includes retrieving one or more connection details and one or more lists of unified communication devices from a configuration database, collecting, by a crawler, the administrative data at predefined intervals from the one or more unified communication devices, and storing the collected administrative data into a temporary database, wherein the collected administrative data is indexed by an indexing server.
  • Embodiments in accordance with the present invention further provide a computer-implemented method for searching administrative data of a contact center.
  • the method includes receiving one or more search queries from a user, segmenting the one or more search queries into a plurality of different phrases, matching the plurality of different phrases with one or more dictionary items, performing one or more lookups on a plurality of indexes based on the one or more search queries received from the user, and displaying one or more search query results to the user.
  • the present invention can provide a number of advantages depending on its particular configuration.
  • the present invention provides a system and a method for indexing the administrative data of the contact center.
  • the indexing of the administrative data enables a user to access the administrative data from the unified communication devices in a faster way.
  • the present invention indexes the administrative data and stores it in a plurality of indexes of an indexing server, so that an agent of the contact center may easily access the data.
  • the present invention enables the user to manage or optimize configuration of an agent's extension. For example, the user may change one of the buttons of an agent's extension telephone by accessing the administrative data of that agent.
  • the present invention provides additional information associated with a user's search queries. For example, if the user triggers a search query for “Alex extension” then the present invention provide data for the “Alex extension” along with additional data such as extensions of a pickup group or a hunt group which are associated with Alex.
  • the additional information may be represented as a set of hyperlinks that allows the user to access configuration data of each of the hyperlinks. Therefore, the present invention provides a chain of links associated with the user's search query. Further, one or more lookups performed by the present invention is dynamic and the search results are displayed in an order based on the user's search queries.
  • the results may be displayed in an order, such as extension, then a pickup group, a hunt group, but if the user searches for “Alex pickup” the present invention may display result in an order, such as pickup group, and then the extension and the hunt group. Further, the search results may be displayed graphically to the user.
  • FIG. 1 illustrates a block diagram depicting a contact center according to an embodiment of the present invention
  • FIG. 2 illustrates block diagram of a data management system according to an embodiment of the present invention
  • FIG. 3 illustrates block diagram of an indexing server for indexing administrative data of the contact center according to an embodiment of the present invention
  • FIG. 4A illustrates block diagram of the data management system for lookup of a user search query according to an embodiment of the present invention
  • FIG. 4B illustrates indexing server matching of different phrases and synonyms of user's search queries to an index of the indexing server according to an embodiment of the present invention
  • FIG. 5 depicts a flowchart of a method for indexing the administrative data according to an embodiment of the present invention.
  • FIG. 6 depicts a flowchart of a method for performing a lookup and displaying a result to a user based on a search query received from the user according to an embodiment of the present invention.
  • the present invention will be illustrated below in conjunction with an exemplary communication system, e.g., the Avaya Aura® system. Although well suited for use with, e.g., a system having an Automatic Call Distribution (ACD) or other similar contact processing switch, the present invention is not limited to any particular type of communication system switch or configuration of system elements. Those skilled in the art will recognize the disclosed techniques may be used in any communication application in which it is desirable to provide improved contact processing.
  • ACD Automatic Call Distribution
  • 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.
  • automated refers to any process or operation done without material human input when the process or operation is performed. However, a process or operation can be automatic, even though performance of the process or operation uses material or immaterial human input, if the input is received before performance of the process or operation. Human input is deemed to be material if such input influences how the process or operation will be performed. Human input that consents to the performance of the process or operation is not deemed to be “material”.
  • Non-volatile media includes, for example, NVRAM, or magnetic or optical disks.
  • Volatile media includes dynamic memory, such as main memory.
  • Computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, magneto-optical medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, a solid state medium like a memory card, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
  • a floppy disk a flexible disk, hard disk, magnetic tape, or any other magnetic medium, magneto-optical medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, a solid state medium like a memory card, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
  • a digital file attachment to e-mail or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium.
  • the computer-readable media is configured as a database
  • the database may be any type of database, such as relational, hierarchical, object-oriented, and/or the like. Accordingly, the present invention is considered to include a tangible storage medium or distribution medium and prior art-recognized equivalents and successor media, in which the software implementations of the present invention are stored.
  • module refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and software that is capable of performing the functionality associated with that element. Also, while the present invention is described in terms of exemplary embodiments, it should be appreciated those individual aspects of the present invention can be separately claimed.
  • switch or “server” as used herein should be understood to include a Private Branch Exchange (PBX), an ACD, an enterprise switch, or other type of communications system switch or server, as well as other types of processor-based communication control devices such as media servers, computers, adjuncts, etc.
  • PBX Private Branch Exchange
  • ACD Access to Control Component Interconnect
  • enterprise switch or other type of communications system switch or server, as well as other types of processor-based communication control devices such as media servers, computers, adjuncts, etc.
  • FIG. 1 shows an illustrative block diagram of a contact center 100 according to an embodiment of the present invention.
  • the contact center 100 comprises a server 110 , a database 114 containing information related to customers and agents other information that may enhance the value and efficiency of the contact center processing, and a plurality of servers, namely a voice mail server 118 , an Interactive Voice Response unit (e.g., IVR) 122 , and other servers 126 , a switch 130 , a plurality of working agents operating packet-switched (first) communication devices 134 - 1 -N (such as computer work stations or personal computers), and/or circuit-switched unified communication devices 138 - 1 -M, all interconnected by a Local Area Network (LAN) 142 , (or Wide Area Network (WAN)).
  • LAN Local Area Network
  • WAN Wide Area Network
  • the unified communication devices 138 - 1 -M may include, but is not restricted to, a Private Branch Exchange (PBX), an Internet Protocol Private Branch Exchange (IP PBX), a messaging system, a conferencing system, and so forth.
  • the servers may be connected via optional communication lines 146 to the switch 130 .
  • the other servers 126 may also include a scanner (which is normally not connected to the switch 130 or Web Server), VoIP software, video call software, voice messaging software, an IP voice server, a fax server, a web server, an email server, and the like.
  • the switch 130 is connected via a plurality of trunks to a circuit-switched network 152 (e.g., Public Switch Telephone Network (PSTN)) and via link(s) 154 to the unified communication devices 138 - 1 -M.
  • a security gateway 158 is positioned between the server 110 and a packet-switched network 162 to process communications passing between the server 110 and the packet-switched network 162 .
  • the security gateway 158 may be implemented as hardware such as via an adjunct processor (as shown) or as a chip in the server.
  • the present invention applies to peer-to-peer networks, such as those envisioned by the Session Initiation Protocol (SIP).
  • SIP Session Initiation Protocol
  • client-server model or paradigm network services and the programs used by end users to access the services are described.
  • the client side provides a user with an interface for requesting services from the network, and the server side is responsible for accepting user requests and providing the services transparent to the user.
  • each networked host runs both the client and server parts of an application program.
  • the present invention does not require the presence of packet- or circuit-switched networks.
  • the switch 130 and/or server 110 may be any architecture for directing contacts to one or more communication devices.
  • the switch 130 may perform load-balancing functions by allocating incoming or outgoing contacts among a plurality of logically and/or geographically distinct contact centers.
  • the switch 130 and/or server 110 may be a modified form of the subscriber-premises equipment sold by Avaya Inc. under the names DefinityTM Private-Branch Exchange (PBX) based ACD system, MultiVantageTM PBX, Communication ManagerTM, S8300TM media server and any other media servers, SIP Enabled ServicesTM, Intelligent Presence ServerTM, and/or Avaya Interaction CenterTM, and any other products or solutions offered by Avaya or another company.
  • PBX Private-Branch Exchange
  • the switch 130 /server 110 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 ACD functionality.
  • service circuits e.g., tone generators, announcement circuits, etc.
  • memory for storing control programs and data
  • a processor i.e., a computer
  • Other types of known switches and servers are well known in the art and therefore not described in detail herein.
  • the first communication devices 134 - 1 -N may be packet-switched and may include, for example, IP hardphones such as the Avaya Inc.'s, 4600 Series IP PhonesTM, IP softphones such as Avaya Inc.'s, IP SoftphoneTM, Personal Digital Assistants (PDAs), Personal Computers (PCs), laptops, packet-based H.320 video phones and conferencing units, packet-based voice messaging and response units, packet-based traditional computer telephony adjuncts, peer-to-peer based communication devices, and any other communication device.
  • IP hardphones such as the Avaya Inc.'s, 4600 Series IP PhonesTM
  • IP softphones such as Avaya Inc.'s, IP SoftphoneTM
  • PDAs Personal Digital Assistants
  • PCs Personal Computers
  • laptops packet-based H.320 video phones and conferencing units
  • packet-based voice messaging and response units packet-based traditional computer telephony adjuncts
  • peer-to-peer based communication devices and any other
  • the unified communication devices 138 - 1 -M may be circuit-switched. Each of the communication devices 138 - 1 -M corresponds to one of a set of internal extensions Ext- 1 -M, respectively.
  • the unified communication devices 138 - 1 -M may include, for example, wired and wireless telephones, PDAs, H.320 videophones and conferencing units, voice messaging and response units, traditional computer telephony adjuncts, and any other communication device.
  • a communication network may also be a cloud based network.
  • the packet-switched network 162 may be any data and/or distributed processing network, such as the Internet.
  • the packet-switched network 162 typically includes proxies (not shown), registrars (not shown), and routers (not shown) for managing packet flows.
  • the packet-switched network 162 as shown in FIG. 1 is in communication with a first communication device 174 via a security gateway 178 , and the circuit-switched network 152 with an external second communication device 180 .
  • the server 110 , the packet-switched network 162 , the first communication devices 134 - 1 -N, the circuit-switched network 152 , and the unified communication devices 138 - 1 -M are Session Initiation Protocol (SIP) compatible and may include interfaces for various other protocols such as the Lightweight Directory Access Protocol (LDAP), Secure Shell (SSH) Protocol, H.248, H.323, Simple Mail Transfer Protocol (SMTP), Internet Message Access Protocol 4 (IMAP4), Integrated Services Digital Network (ISDN), E1/T1, and analog line or trunk.
  • SIP Session Initiation Protocol
  • FIG. 1 the configuration of the switch 130 , the server 110 , user communication devices, and other elements as shown in FIG. 1 is for purposes of illustration only and should not be construed as limiting the present invention to any particular arrangement of elements.
  • the server 110 is notified via the LAN 142 of an incoming work item by the communications component (e.g., the switch 130 , fax server, email server, Web Server, and/or other server) receiving the incoming work item as shown in FIG. 1 .
  • the incoming work item 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, and/or first or unified communication devices 134 - 1 -N, 138 - 1 -M associated with a selected agent.
  • the server 110 distributes and connects these work items to telecommunication devices of available agents based on the predetermined criteria noted above.
  • the server 110 forwards a voice contact (or first work item) to an agent, the server 110 also forwards customer-related information from the database 114 to the agent's computer work station for viewing (such as by a pop-up display) to permit the agent to better serve the customer to achieve desired business goals (e.g., an average revenue, a customer satisfaction (CSAT), a service level agreement etc.) of the contact center.
  • desired business goals e.g., an average revenue, a customer satisfaction (CSAT), a service level agreement etc.
  • the server 110 may reallocate the work items to the agents.
  • the agents process the work items or contacts sent to them by the server 110 .
  • This embodiment is particularly suited for a Customer Relationship Management (CRM) environment in which customers are permitted to use any media to contact a business. In a CRM environment, both real-time and non-real-time contacts must be handled and distributed with equal efficiency and effectiveness.
  • CRM Customer Relationship Management
  • FIG. 2 illustrates block diagram of a data management system 200 according to an embodiment of the present invention.
  • the data management system 200 includes a plurality of unified communication devices 138 - 1 -M, a crawler 202 , a configuration database 204 , a probing device 206 and a plurality of probing plug-in interfaces 208 - 1 -N.
  • the plurality of unified communication devices 138 - 1 -M may include, but is not restricted to, a unified communication IP PBX 138 - 1 , a unified communication messaging system 138 - 2 , a unified communication conferencing system 138 - 3 , and so forth.
  • the unified communication IP PBX 138 - 1 is used for telephony
  • the unified communication messaging system 138 - 2 is used for voice mails
  • the unified communication conferencing system 138 - 3 is used for video or audio conferencing.
  • the plurality of unified communication devices 138 - 1 -M may store administrative data of the contact center.
  • the administrative data may include, but is not restricted to, an agent's username and personal details, an extension number of an agent, a pickup group extension number, a hunt group extension number, configuration data of associated extensions, and so forth.
  • the unified communication devices 138 - 1 -M may be a set of relational databases (for example, ORACLE SQL® databases, DB2® from IBM etc.) configured to store administrative data in an embodiment of the present invention.
  • the unified communication devices 138 - 1 -M may be a set of non-relational databases configured to store the administrative data.
  • the plurality of unified communication devices 138 - 1 -M may also include a set of relational databases with a set of non-relational databases in another embodiment of the present invention.
  • the crawler 202 is configured to automatically and repeatedly crawl in a Local Area Network (LAN) or Wide Area Network (WAN) environment that includes the plurality of unified communication devices 138 - 1 -M.
  • the LAN and WAN environment may be a contact center environment.
  • the crawler 202 is configured to access the plurality of unified communication devices 138 - 1 -M at predefined intervals for collecting the administrative data of the contact center.
  • the predefined intervals may include, but is not restricted to, an intraday interval, a daily interval, a weekly interval, and a monthly interval.
  • the administrative data is retrieved periodically from the unified communication devices 138 - 1 -M at predefined time interval, for example, 1 minute, 15 minutes, 30 minutes, and so forth.
  • the administrative data is retrieved once a day from the unified communication devices 138 - 1 -M and includes a single record for the day the customer report on.
  • the administrative data is retrieved once a week from the plurality of unified communication devices 138 - 1 -M.
  • the administrative data is retrieved once a month from the plurality of unified communication devices 138 - 1 -M.
  • the predefined intervals may be configured by a user and the configuration of the user is then stored in the configuration database 204 .
  • the user may be an agent, a supervisor or a manager of the contact center.
  • the configuration database 204 may include connection details of the unified communication devices 138 - 1 -M.
  • the connection details may include, but is not restricted to, an Internet Protocol (IP) address, a hostname, a communication protocol, a username and password that authenticates the crawler 202 to connect with the unified communication devices 138 - 1 -M, and so forth.
  • IP Internet Protocol
  • the crawler 202 retrieves the connection details of the unified communication devices 138 - 1 -M from the configuration database 204 .
  • the crawler 202 may retrieve the administrative data from the unified communication devices 138 - 1 -M at the predefined intervals by using the connection details of the unified communication devices 138 - 1 -M.
  • the probing device 206 receives a request from the crawler 202 to connect with the plurality of unified communication devices 138 - 1 -M and retrieve the administrative data.
  • the probing device 206 uses the plurality of probing plug-in interfaces 208 - 1 -N for retrieving the administrative data from the unified communication devices 138 - 1 -M in an embodiment of the present invention.
  • the probing device 206 my use a probing plug-in interface that may use a Secure Shell (SSH) protocol for communicating with the unified communication devices 138 - 1 -M, a probing plug-in interface that may use an LDAP protocol for communicating with the unified communication devices 138 - 1 -M, and so forth.
  • SSH Secure Shell
  • the probing device 206 uses the plurality of probing plug-in interfaces 208 - 1 -N to connect communication links from the crawler 202 to the unified communication devices 138 - 1 -M for retrieving the administrative data. For example, if the unified communication devices 138 - 1 -M stores a table with data for 50 different agents, then the probing device 206 by using the plurality of probing plug-in interfaces 206 - 1 - 1 N to retrieve the structure of the table as stored in the unified communication devices 138 - 1 -M and transmits it to the crawler 202 .
  • the crawler 202 is configured to store the retrieved administrative data into a temporary database 210 .
  • the temporary database 210 may use a set of flat file databases having tables to store the retrieved information of every unified communication managed objects.
  • a flat file database is a database in which each database is represented as a single table and in which all of the records are stored as single rows of data.
  • the unified communication managed objects may include, but is not restricted to, extensions, hunt groups, pickup groups, and so forth.
  • An indexing server 212 may index the retrieved administrative data stored in the temporary database 210 .
  • the indexed data may be searchable through the one or more search queries of the user.
  • a dictionary database 214 may include dictionary items associated with words or phrases of the user search queries.
  • the dictionary items may be synonyms of name of indexes of the indexing server 212 .
  • the dictionary items may include English words of a dictionary.
  • the data management system 200 further includes a user interface 216 and a third party system 218 .
  • a user of the contact center may trigger one or more search queries by using the user interface 216 .
  • the search query may be a Structured Query Language (SQL) query.
  • the query may be formed in other query languages but not limited to .QL, Java Persistence Query Language (JPQL), or Query By Example (QBE).
  • the search query of the user is then passed to a search Application Programming Interface (API) 220 that is configured to search for index logic and access a plurality of indexes created by the indexing server 212 .
  • the search API 220 breaks the user's search query into different words or phrases and then matches the phrases or synonyms to the plurality of indexes of the indexing server 212 .
  • the accessed administrative data is then displayed to the user on the user interface 216 as a search result.
  • FIG. 3 illustrates block diagram of the indexing server 212 for indexing the administrative data according to an embodiment of the present invention.
  • the index logic of the indexing server 212 explains how indexing of the administrative data is done.
  • the indexing of the administrative data of the contact center is done based on a relationship between managed entities of the contact center.
  • the managed entity may be a user or an extension of the contact center. These entities are managed between the plurality of unified communication devices 138 - 1 -M, such as an IP PBX, messaging systems, conferencing systems etc.
  • a user 302 of the contact center may be linked to an extension 304 .
  • the user 302 may include, but is not restricted to, details of a plurality of users of the contact center.
  • the details may include, but is not restricted to, a username, a user first name, a user last name, extensions assigned to a user, subscribers assigned to a user, assigned features, and so forth.
  • the extension 304 may have different relationships in the data management system 200 with a plurality of groups.
  • the extension 304 may include, but is not restricted to, details of the extensions such as an extension name, a class of service, a class of rejection, extension features, and so forth.
  • the plurality of groups may include, but is not restricted to, a plurality of pickup groups 306 - 1 -N, a plurality of hunt groups 308 - 1 -N, a plurality of coverage groups 310 - 1 -N, a plurality of external mapping groups 312 - 1 -N, a plurality of permission groups 314 - 1 -N, and so forth.
  • a pickup group is a list of extensions where each member of the group may answer a call on a telephone of another member from their own telephone.
  • the pickup group 306 may include, but is not restricted to, details of the group 306 , such as a pickup group name, a pickup group number, extensions assigned to the pickup group 306 , and so forth.
  • a hunt group is a group of extensions that are organized to process specific calls. When an incoming call is received from a caller in a call center, the call is rotated through a pool of lines until a free line is found and the caller is connected to that line. The caller may hear a busy tone only when all the lines of the pool are engaged.
  • the hunt group 308 may include, but is not restricted to, details of the hunt group 308 for example, a hunt group name, a hunt group number, extensions assigned to the hunt group 308 , and so forth.
  • a permission group is a group that may include a class of service (COS) or a class of rejection (COR) as a parameter that are used to define permission or a rejection an extension may have on the unified communication devices.
  • COS class of service
  • COR class of rejection
  • the permission group 314 may include details of the extensions that are assigned permissions (COS/COR).
  • the details of the extensions that are assigned permissions (COS/COR) may include, but is not restricted to, a class of rejection, a class of service, role of a group, a group name, and so forth.
  • the coverage 310 may include details of a coverage group.
  • the details may include, but is not restricted to, a coverage name, a coverage number, assigned coverage destinations, and so forth.
  • the external mapping group 312 may include details of external mapping such as, an external mapped number, an internal mapped number, and so forth.
  • the managed entities for example, the user 302 , and the extension 304 may also be connected to a messaging subscriber 316 and a conferencing user 318 .
  • the messaging subscriber 316 may be a group of users that may be subscribed for a messaging service.
  • the messaging subscriber 316 may include details of the subscribers such as, a subscriber number, subscriber features, subscriber permission details, and so forth.
  • a permission (COR/COS) 320 may include a class of service (COS) or a class of rejection (COR) as parameters that are used to define permission or a rejection of an extension for the messaging subscriber 316 .
  • the conferencing user 318 may be a user that may be subscribed for providing audio or video conferencing services to the customers.
  • the conferencing user 318 may include, but is not restricted to, all the details associated with a conferencing user, such as a username, extensions assigned to the user, assigned features, and so forth.
  • FIG. 4A illustrates block diagram of the data management system 200 for performing a lookup of a user search query according to an embodiment of the present invention.
  • the data management system 200 includes the user interface 216 that is configured to receive one or more search queries from a user.
  • the user triggers a search query by using the user interface 216 or the third party systems 218 , for example, “Extension Arkady Pickup 1”.
  • the search query may be a SQL query.
  • the query may be formed in other query languages such as, but is not limited to .QL, Java Persistence Query Language (JPQL), or Query By Example (QBE).
  • the search API 220 segments the search query received from the user into different phrases or words.
  • the different phrases of the search query may include Extension+Arkady+Pickup+1.
  • Each phrase of the search query is then matched with a dictionary item and the phrases that match with the dictionary items are parsed by the search API 220 in order to match a specific index in the indexing server 212 .
  • Each of the phrases and synonyms of the search queries are matched to an index of the indexing server 212 .
  • the dictionary database 214 may include dictionary items associated with words or phrases of the user search queries.
  • the dictionary items may be synonyms of name of indexes of the indexing server 212 .
  • the dictionary items may include English words of a dictionary. As shown in FIG.
  • the phrase “Extension” is matched with items such as, extension, station, and phone.
  • the phrase “pickup group” is matched with dictionary items such as pickup group, pickup, and pickupgroup.
  • each of the phrases is matched with the dictionary items for spelling mistakes of the words or phrases.
  • the indexing server 212 then performs one or more lookups in different indexes of the indexing server 212 in order to retrieve results.
  • the search API 220 may perform the one or more lookups for each of the phrases in the indexes of the indexing server 212 .
  • the search API 220 may perform the lookup for the phrase “Extension” in an extension index that is associated with the agent “Arkady”.
  • the search API 220 may perform the lookup in the extension index for an extension of the phrase “Arkady 1”.
  • the phrase “Arkady” is a name of an agent whose administrative data is to be retrieved, and therefore is displayed as it is in a search result. Further, in the extension index, the phrase “pickup” is searched in the pickup group index 306 .
  • the search API 220 may perform one or more lookups in each of the indexes of the indexing server 212 that is associated with the extension. For example, in this case, the search API 220 may found an exact match for the extension “Arkady”, that is, let say, the extension number of “Arkady” is “5555”, then the search API 220 , may also perform one or more lookups in other indexes (e.g., pickup groups, hunt groups, etc.) of the indexing server 212 .
  • other indexes e.g., pickup groups, hunt groups, etc.
  • the search API 220 performs a lookup to retrieve a list of pickup groups 306 - 1 -N that stores “5555” extension.
  • the search API 220 performs a lookup to retrieve a list of hunt groups 308 - 1 -N that stores “5555” extension.
  • other indexes are lookup to retrieve a list of groups that may store data associated with the extension.
  • one or more search results may be displayed on the user interface 216 in an order such as,
  • the user interface 216 may show a full description of the search result.
  • First row of the search result may display the result of the search query, whereas the following rows may display additional information such as hyperlinks to indexes that may store administrative data associated with the one or more search queries of the user.
  • the search result may be displayed by the data management system 200 in an order, such as
  • the user interface may show a full description of the search result.
  • First row of the search result may display the result of the search query, whereas the following rows may display additional information such as hyperlinks to indexes that may store administrative data associated with the one or more search queries of the user.
  • the data management system 200 provides dynamic search results. For example, the data management system 200 may change the order of the search results based on the user's search results.
  • the search results may include a set of hyperlinks that may allow the user to access configuration data of each link. For example, if the user clicks on the hyperlink of the first row, he may access configuration details of the extension as stored in the indexes of the indexing server 212 .
  • the search results of the search queries of the user may be displayed graphically to the user in an embodiment of the present invention.
  • FIG. 5 depicts a flowchart of a method 500 for indexing administrative data of the contact center according to an embodiment of the present invention.
  • a data management system 200 retrieves a list of unified communication devices from a configuration database in an embodiment of the present invention.
  • the list of the unified communication devices may include a list of plurality of unified communication devices from which the administrative data is to be retrieved.
  • the administrative data may include, but is not restricted to, an agent's username and personal details, an extension number of an agent, a pickup group extension number, a hunt group extension number, configuration data of associated extensions, and so forth.
  • the data management system 200 may retrieve one or more connection details of the unified communication devices from the configuration database.
  • the connection details may include, but is not restricted to, an Internet Protocol (IP) address, a hostname, a communication protocol, an input/output port, a username and password for authenticating with the unified communication devices, and so forth.
  • IP Internet Protocol
  • the crawler is configured to retrieve the connection details and list of unified communication devices from the configuration database.
  • the data management system 200 enables the crawler to connect with the plurality of unified communication devices of the contact center by transmitting a request to a probing device in an embodiment of the present invention.
  • the data management system 200 uses a plurality of probing plug-in interfaces to connect the crawler of the data management system 200 to the plurality of unified communication devices for retrieving the administrative data.
  • the probing device 206 may use a probing plug-in interface that may use a Secure Shell (SSH) protocol for communicating with the unified communication device, a probing plug-in interface that may use an LDAP protocol for communicating with the unified communication device, and so forth.
  • SSH Secure Shell
  • the probing device uses the plurality of probing plug-in interfaces to provide communication links from the crawler to the unified communication devices for retrieving the administrative data. For example, if a unified communication device stores a table with data of 50 different callers, then the probing plug-in interfaces retrieves structure of the table as it is stored in the unified communication devices and transmits it to the crawler of the data management system 200 .
  • the data management system 200 collects the administrative data from the plurality of unified communication devices at predefined interval in an embodiment of the present invention.
  • the predefined intervals may include, but is not restricted to, an intra daily interval, a daily interval, a weekly interval, and a monthly interval.
  • the intra daily interval the administrative data is retrieved periodically from the unified communication devices at predefined time interval for example, 1 minute, 15 minutes, 30 minutes, and so forth.
  • the daily interval the administrative data is retrieved once a day and includes a single record for the day the customer report on.
  • the weekly interval the administrative data is retrieved once a week from the contact center unified communication devices.
  • the monthly interval the administrative data is retrieved once a month from the unified communication devices.
  • the data management system 200 stores the collected administrative data into a temporary database in an embodiment of the present invention.
  • the temporary database may use a set of flat file database having tables to store the collected administrative data of every unified communication managed objects.
  • the unified communication managed objects may include, but is not restricted to, an extension, a hunt group, a pickup group, and so forth.
  • the temporary database receives the administrative data from the crawler and at the end of a day stores the administrative data in flat tables in an embodiment of the present invention.
  • the data management system 200 indexes the administrative data stored in the temporary database.
  • the indexed administrative data is then stored in a plurality of indexes of the indexing server.
  • the indexed data may be searchable through the one or more search queries of the user.
  • FIG. 6 depicts a flowchart of a method 600 for performing a lookup and displaying a result to a user based on a search query received from the user according to an embodiment of the present invention.
  • a data management system 200 receives a search query from a user in an embodiment of the present invention.
  • the user may be an agent, a manager, or a supervisor of the contact center in an embodiment of the present invention.
  • the user triggers a search query, using a user interface or third party systems, for example, get “extension Arkady pickup group 1”.
  • the search query may be a SQL query.
  • the query may be formed in other query languages, but is not limited to .QL, Java Persistence Query Language (JPQL), or Query By Example (QBE).
  • the data management system 200 segments the user search query into different words or phrases in an embodiment of the present invention.
  • the user search query “extension Arkady pickup group 1” is segmented into different phrases and may include different phrases such as extension+Arkady+pickup+1.
  • the data management system 200 determines whether each of the phrases or their synonyms of the search query is matched with a dictionary items.
  • the dictionary items may be synonyms of name of indexes of the indexing server. For example, in this case, the phrase “extension” is matched with dictionary items such as extension, station, or phone.
  • the dictionary items may also include English words of a dictionary.
  • the data management system 200 may display the phrase that does not match with the dictionary items as it is in a search query result.
  • the phrase “Arkady” is a name of an agent whose data is to be retrieved. Therefore, this phrase may be displayed as it is in the search query result.
  • the data management system 200 performs lookup for each of the phrases across a plurality of indexes of an indexing server in an embodiment of the present invention. For example, the data management system 200 may perform lookup for the phrase “extension” in an extension index that is associated with the agent “Arkady”. Further, the data management system 200 may perform the lookup in the extension index for extension of a phrase “Arkady 1”. Further, in the extension index, the phrase “pickup” is searched in a pickup group index.
  • the data management system 200 performs one or more lookups in additional indexes that stores administrative data associated with the matched phrase. For example, in this case, the data management system 200 may found an exact match for the extension “Arkady”, that is, let say, the extension number of “Arkady” is “5555”, then the data management system 200 may also perform lookup in other indexes (e.g., pickup groups, hunt groups, etc.) of the indexing server. In the pickup index, the data management system 200 performs a lookup to retrieve a list of pickup groups that stores “5555” extension. Similarly, in the hunt group index, the data management system 200 performs a lookup to retrieve a list of hunt groups that stores “5555” extension. Similarly, other indexes are lookup to retrieve a list of groups that may store data associated with the extension.
  • other indexes are lookup to retrieve a list of groups that may store data associated with the extension.
  • the data management system 200 displays the search query result to the user.
  • the search query result is displayed in the user interface of the data management system 200 .
  • the search result may be displayed in an order, for example,
  • the user interface may show a full description of the search result.
  • First row of the search result may display the result of the search query, whereas the following rows may display additional information such as hyperlinks to indexes that may store administrative data associated with the one or more search queries of the user.
  • exemplary embodiments of the present invention illustrated herein show the various components of the system collocated, certain components of the system can be located remotely, at distant portions of a distributed network, such as a LAN and/or the Internet, or within a dedicated system.
  • a distributed network such as a LAN and/or the Internet
  • the components of the system can be combined in to one or more devices, such as a switch, server, and/or adjunct, or collocated on a particular node of a distributed network, such as an analog and/or digital telecommunications network, a packet-switch network, or a circuit-switched network.
  • the components of the system can be arranged at any location within a distributed network of components without affecting the operation of the system.
  • the various components can be located in a switch such as a PBX and media server, gateway, in one or more communications devices, at one or more users' premises, or some combination thereof.
  • a switch such as a PBX and media server, gateway, in one or more communications devices, at one or more users' premises, or some combination thereof.
  • one or more functional portions of the system could be distributed between a telecommunications device(s) and an associated computing device.
  • the various links connecting the elements can be wired or wireless links, or any combination thereof, or any other known or later developed element(s) that is capable of supplying and/or communicating data to and from the connected elements.
  • These wired or wireless links can also be secure links and may be capable of communicating encrypted information.
  • Transmission media used as links can be any suitable carrier for electrical signals, including coaxial cables, copper wire and fiber optics, and may take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
  • the systems and methods of this present invention can be implemented in conjunction with a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit element(s), an ASIC or other integrated circuit, a digital signal processor, a hard-wired electronic or logic circuit such as discrete element circuit, a programmable logic device or gate array such as PLD, PLA, FPGA, PAL, special purpose computer, any comparable means, or the like.
  • a special purpose computer a programmed microprocessor or microcontroller and peripheral integrated circuit element(s), an ASIC or other integrated circuit, a digital signal processor, a hard-wired electronic or logic circuit such as discrete element circuit, a programmable logic device or gate array such as PLD, PLA, FPGA, PAL, special purpose computer, any comparable means, or the like.
  • any device(s) or means capable of implementing the methodology illustrated herein can be used to implement the various aspects of this present invention.
  • Exemplary hardware that can be used for the present invention includes computers, handheld devices, telephones (e.g., cellular, Internet enabled, digital, analog, hybrids, and others), and other hardware known in the art.
  • Some of these devices include processors (e.g., a single or multiple microprocessors), memory, non-volatile storage, input devices, and output devices.
  • alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.
  • the disclosed methods may be readily implemented in conjunction with software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer or workstation platforms.
  • the disclosed system may be implemented partially or fully in hardware using standard logic circuits or VLSI design. Whether software or hardware is used to implement the systems in accordance with this present invention is dependent on the speed and/or efficiency requirements of the system, the particular function, and the particular software or hardware systems or microprocessor or microcomputer systems being utilized.
  • the disclosed methods may be partially implemented in software that can be stored on a storage medium, executed on programmed general-purpose computer with the cooperation of a controller and memory, a special purpose computer, a microprocessor, or the like.
  • the systems and methods of this present invention can be implemented as program embedded on personal computer such as an applet, JAVA® or CGI script, as a resource residing on a server or computer workstation, as a routine embedded in a dedicated measurement system, system component, or the like.
  • the system can also be implemented by physically incorporating the system and/or method into a software and/or hardware system.
  • the present invention describes components and functions implemented in the embodiments with reference to particular standards and protocols, the present invention is not limited to such standards and protocols. Other similar standards and protocols not mentioned herein are in existence and are considered to be included in the present invention. Moreover, the standards and protocols mentioned herein and other similar standards and protocols not mentioned herein are periodically superseded by faster or more effective equivalents having essentially the same functions. Such replacement standards and protocols having the same functions are considered equivalents included in the present invention.
  • the present invention in various embodiments, configurations, and aspects, includes components, methods, processes, systems and/or apparatus substantially as depicted and described herein, including various embodiments, sub-combinations, 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, configurations, and aspects, includes providing devices and processes in the absence of items not depicted and/or described herein or in various embodiments, configurations, or aspects 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.

Abstract

A data management system for indexing administrative data of a contact center is disclosed. The data management system includes one or more unified communication devices configured to store the administrative data. The data management system further includes a crawler configured to collect the administrative data from the one or more unified communication devices. The data management system further includes a probing device configured to enable the crawler to communicate and retrieve the administrative data from the one or more unified communication devices. The data management system further includes a temporary database configured to store the collected administrative data; wherein the temporary database stores the collected administrative data in a plurality of flat file tables. The data management system further includes an indexing server configured to index the stored administrative data; wherein the indexed administrative data is searchable through one or more user search queries.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit of U.S. Provisional Patent Application Ser. No. 61/772,282, filed Mar. 4, 2013, entitled “UNIFIED COMMUNICATION INDEXING AND SEARCH”, which is incorporated herein by reference in its entirety.
  • BACKGROUND
  • 1. Field of the Invention
  • Embodiments of the present invention generally relate to a system and method for managing administrative data of a contact center and particularly to a system and method for indexing and searching the administrative data of the contact center.
  • 2. Description of Related Art
  • Contact centers are employed by many enterprises to service inbound and outbound contacts from customers. 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 or work items. 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 client or operator-specifiable (i.e., programmable by the operator of the contact center), via a capability called vectoring. Normally in present-day Automatic Call Distributions (ACDs) when the ACD system controller detects that an agent has become available to handle a contact, the controller identifies all predefined contact-handling queues for 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 queue. 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 is to ultimately maximize contact center performance and profitability. An ongoing challenge in contact center administration is monitoring and optimizing contact center efficiency. The contact center efficiency is generally measured in two ways that are service level and match rate.
  • Service level is one measurement of the contact center efficiency. Service level is typically determined by dividing the number of contacts accepted within the specified period by the number accepted plus the number that were not accepted, but completed in some other way (e.g., abandoned, given busy, canceled, flowed out etc.). Of course, service level definitions may vary from one enterprise to another.
  • Match rate is another indicator used in measuring the contact center efficiency. Match rate is usually determined by dividing the number of contacts accepted by a primary skill level agent within a period of time by the number of contacts accepted by any agent for a queue over the same period. An agent with a primary skill level is one that typically can handle contacts of a certain nature most effectively and/or efficiently. There are other contact center agents that may not be as proficient as the primary skill level agent, and those agents are identified either as secondary skill level agents or backup skill level agents. As can be appreciated, contacts received by a primary skill level agent are typically handled more quickly and accurately or effectively (e.g., higher revenue attained) than a contact received by a secondary or even backup skill level agent. Thus, it is an objective of most contact centers to optimize match rate along with service level.
  • In addition to service level and match rate performance measures, contact centers use other Key Performance Index (KPI), such as revenue, estimated, actual, or predicted wait time, average speed of answer, throughput, agent utilization, agent performance, agent responsiveness and the like, to calculate performance relative to their Service Level Agreements (SLAs). Operational efficiency is achieved when KPI are managed near, but not above, SLA levels.
  • Throughput is a measure of the number of calls/contact requests or work requests that can be processed in a given amount of time. Agent utilization is a measure of how efficiently agents' time is being used. Customer service level is a measure of the time customers spend waiting for their work to be handled. Company contact center customers wish to provide service to as many requests as possible in a given amount of time, using the least number of agents to do so, and minimizing the wait time for their customers that can increase the service level agreement of the contact center.
  • Typically, in a contact center environment, there are various communication devices that are connected to each other. For example, a voice mail server is connected to, let say, 10 different extensions in a contact center. These extensions are further connected to coverage paths to link with other communication devices. Now, if a user or a supervisor of the contact center desires to access administrative data of an agent at an extension, he may only be able to access the data of that particular extension. However, information of other extensions that is associated with the agent and which can be relevant for the supervisor is not provided. Further, if the supervisor of the contact center desires to change one of a button of an agent's extension, the supervisor can search for the agent's contact center record in a conventional system, and change the button of the agent's extension. However, the supervisor is not aware of a domain or group to which the agent is associated with. Further, the supervisor cannot be able to see the effect of changing the button of the agent's extension on other extensions.
  • There is thus a need for a system and method for indexing and storing the administrative data and further enables the agent of the contact center to access the data in a faster way.
  • SUMMARY
  • Embodiments in accordance with the present invention provide a data management system for indexing administrative data of a contact center. The data management system includes one or more unified communication devices configured to store the administrative data. The data management system further includes a crawler configured to collect the administrative data from the one or more unified communication devices. The data management system further includes a probing device configured to enable the crawler to communicate and retrieve the administrative data from the one or more unified communication devices. The data management system further includes a temporary database configured to store the collected administrative data; wherein the temporary database stores the collected administrative data in a plurality of flat file tables. The data management system further includes an indexing server configured to index the stored administrative data; wherein the indexed administrative data is searchable through one or more user search queries.
  • Embodiments in accordance with the present invention further provide a computer-implemented method for indexing administrative data of a contact center. The computer-implemented method includes retrieving one or more connection details and one or more lists of unified communication devices from a configuration database, collecting, by a crawler, the administrative data at predefined intervals from the one or more unified communication devices, and storing the collected administrative data into a temporary database, wherein the collected administrative data is indexed by an indexing server.
  • Embodiments in accordance with the present invention further provide a computer-implemented method for searching administrative data of a contact center. The method includes receiving one or more search queries from a user, segmenting the one or more search queries into a plurality of different phrases, matching the plurality of different phrases with one or more dictionary items, performing one or more lookups on a plurality of indexes based on the one or more search queries received from the user, and displaying one or more search query results to the user.
  • The present invention can provide a number of advantages depending on its particular configuration. First, the present invention provides a system and a method for indexing the administrative data of the contact center. The indexing of the administrative data enables a user to access the administrative data from the unified communication devices in a faster way. Further, the present invention indexes the administrative data and stores it in a plurality of indexes of an indexing server, so that an agent of the contact center may easily access the data. Further, the present invention enables the user to manage or optimize configuration of an agent's extension. For example, the user may change one of the buttons of an agent's extension telephone by accessing the administrative data of that agent.
  • Next, the present invention provides additional information associated with a user's search queries. For example, if the user triggers a search query for “Alex extension” then the present invention provide data for the “Alex extension” along with additional data such as extensions of a pickup group or a hunt group which are associated with Alex. In an embodiment of the present invention, the additional information may be represented as a set of hyperlinks that allows the user to access configuration data of each of the hyperlinks. Therefore, the present invention provides a chain of links associated with the user's search query. Further, one or more lookups performed by the present invention is dynamic and the search results are displayed in an order based on the user's search queries. For example, if the user searches for “Alex extension” then the results may be displayed in an order, such as extension, then a pickup group, a hunt group, but if the user searches for “Alex pickup” the present invention may display result in an order, such as pickup group, and then the extension and the hunt group. Further, the search results may be displayed graphically to the user.
  • These and other advantages will be apparent from the disclosure of the present invention(s) contained herein.
  • The preceding is a simplified summary of the present invention to provide an understanding of some aspects of the present invention. This summary is neither an extensive nor exhaustive overview of the present invention and its various embodiments. It is intended neither to identify key or critical elements of the present invention nor to delineate the scope of the present invention but to present selected concepts of the present invention in a simplified form as an introduction to the more detailed description presented below. As will be appreciated, other embodiments of the present invention are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above and still further features and advantages of the present invention will become apparent upon consideration of the following detailed description of embodiments thereof, especially when taken in conjunction with the accompanying drawings, and wherein:
  • FIG. 1 illustrates a block diagram depicting a contact center according to an embodiment of the present invention;
  • FIG. 2 illustrates block diagram of a data management system according to an embodiment of the present invention;
  • FIG. 3 illustrates block diagram of an indexing server for indexing administrative data of the contact center according to an embodiment of the present invention;
  • FIG. 4A illustrates block diagram of the data management system for lookup of a user search query according to an embodiment of the present invention;
  • FIG. 4B illustrates indexing server matching of different phrases and synonyms of user's search queries to an index of the indexing server according to an embodiment of the present invention;
  • FIG. 5 depicts a flowchart of a method for indexing the administrative data according to an embodiment of the present invention; and
  • FIG. 6 depicts a flowchart of a method for performing a lookup and displaying a result to a user based on a search query received from the user according to an embodiment of the present invention.
  • The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include”, “including”, and “includes” mean including but not limited to. To facilitate understanding, like reference numerals have been used, where possible, to designate like elements common to the figures.
  • DETAILED DESCRIPTION
  • The present invention will be illustrated below in conjunction with an exemplary communication system, e.g., the Avaya Aura® system. Although well suited for use with, e.g., a system having an Automatic Call Distribution (ACD) or other similar contact processing switch, the present invention is not limited to any particular type of communication system switch or configuration of system elements. Those skilled in the art will recognize the disclosed techniques may be used in any communication application in which it is desirable to provide improved contact processing.
  • The phrases “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 term “a” or “an” entity refers to one or more of that entity. As such, the terms “a” (or “an”), “one or more” and “at least one” can be used interchangeably herein. It is also to be noted that the terms “comprising”, “including”, and “having” can be used interchangeably.
  • The term “automatic” and variations thereof, as used herein, refers to any process or operation done without material human input when the process or operation is performed. However, a process or operation can be automatic, even though performance of the process or operation uses material or immaterial human input, if the input is received before performance of the process or operation. Human input is deemed to be material if such input influences how the process or operation will be performed. Human input that consents to the performance of the process or operation is not deemed to be “material”.
  • The term “computer-readable medium” as used herein refers to any tangible storage and/or transmission medium that participate in providing instructions to a processor for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, NVRAM, or magnetic or optical disks. Volatile media includes dynamic memory, such as main memory. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, magneto-optical medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, a solid state medium like a memory card, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
  • A digital file attachment to e-mail or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium. When the computer-readable media is configured as a database, it is to be understood that the database may be any type of database, such as relational, hierarchical, object-oriented, and/or the like. Accordingly, the present invention is considered to include a tangible storage medium or distribution medium and prior art-recognized equivalents and successor media, in which the software implementations of the present invention are stored.
  • The terms “determine”, “calculate” and “compute,” and variations thereof, as used herein, are used interchangeably and include any type of methodology, process, mathematical operation or technique.
  • The term “module” as used herein refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and software that is capable of performing the functionality associated with that element. Also, while the present invention is described in terms of exemplary embodiments, it should be appreciated those individual aspects of the present invention can be separately claimed.
  • The term “switch” or “server” as used herein should be understood to include a Private Branch Exchange (PBX), an ACD, an enterprise switch, or other type of communications system switch or server, as well as other types of processor-based communication control devices such as media servers, computers, adjuncts, etc.
  • FIG. 1 shows an illustrative block diagram of a contact center 100 according to an embodiment of the present invention. The contact center 100 comprises a server 110, a database 114 containing information related to customers and agents other information that may enhance the value and efficiency of the contact center processing, and a plurality of servers, namely a voice mail server 118, an Interactive Voice Response unit (e.g., IVR) 122, and other servers 126, a switch 130, a plurality of working agents operating packet-switched (first) communication devices 134-1-N (such as computer work stations or personal computers), and/or circuit-switched unified communication devices 138-1-M, all interconnected by a Local Area Network (LAN) 142, (or Wide Area Network (WAN)). The unified communication devices 138-1-M may include, but is not restricted to, a Private Branch Exchange (PBX), an Internet Protocol Private Branch Exchange (IP PBX), a messaging system, a conferencing system, and so forth. The servers may be connected via optional communication lines 146 to the switch 130. As will be appreciated, the other servers 126 may also include a scanner (which is normally not connected to the switch 130 or Web Server), VoIP software, video call software, voice messaging software, an IP voice server, a fax server, a web server, an email server, and the like. The switch 130 is connected via a plurality of trunks to a circuit-switched network 152 (e.g., Public Switch Telephone Network (PSTN)) and via link(s) 154 to the unified communication devices 138-1-M. A security gateway 158 is positioned between the server 110 and a packet-switched network 162 to process communications passing between the server 110 and the packet-switched network 162. The security gateway 158 may be implemented as hardware such as via an adjunct processor (as shown) or as a chip in the server.
  • Although the preferred embodiment is discussed with reference to client-server architecture, it is to be understood that the principles of the present invention apply to other network architectures. For example, the present invention applies to peer-to-peer networks, such as those envisioned by the Session Initiation Protocol (SIP). In the client-server model or paradigm, network services and the programs used by end users to access the services are described. The client side provides a user with an interface for requesting services from the network, and the server side is responsible for accepting user requests and providing the services transparent to the user. By contrast in the peer-to-peer model or paradigm, each networked host runs both the client and server parts of an application program. Additionally, the present invention does not require the presence of packet- or circuit-switched networks.
  • The switch 130 and/or server 110 may be any architecture for directing contacts to one or more communication devices. In some embodiments of the present invention, the switch 130 may perform load-balancing functions by allocating incoming or outgoing contacts among a plurality of logically and/or geographically distinct contact centers. Illustratively, the switch 130 and/or server 110 may be a modified form of the subscriber-premises equipment sold by Avaya Inc. under the names Definity™ Private-Branch Exchange (PBX) based ACD system, MultiVantage™ PBX, Communication Manager™, S8300™ media server and any other media servers, SIP Enabled Services™, Intelligent Presence Server™, and/or Avaya Interaction Center™, and any other products or solutions offered by Avaya or another company. Typically, the switch 130/server 110 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 ACD functionality. Other types of known switches and servers are well known in the art and therefore not described in detail herein.
  • The first communication devices 134-1-N may be packet-switched and may 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 (PDAs), Personal Computers (PCs), laptops, packet-based H.320 video phones and conferencing units, packet-based voice messaging and response units, packet-based traditional computer telephony adjuncts, peer-to-peer based communication devices, and any other communication device.
  • The unified communication devices 138-1-M may be circuit-switched. Each of the communication devices 138-1-M corresponds to one of a set of internal extensions Ext-1-M, respectively. The unified communication devices 138-1-M may include, for example, wired and wireless telephones, PDAs, H.320 videophones and conferencing units, voice messaging and response units, traditional computer telephony adjuncts, and any other communication device.
  • It should be noted that the present invention does not require any particular type of information transport medium between switch, or server and first and second communication devices, i.e., the present invention may be implemented with any desired type of transport medium as well as combinations of different types of transport channels. In an embodiment of the present invention, a communication network may also be a cloud based network.
  • The packet-switched network 162 may be any data and/or distributed processing network, such as the Internet. The packet-switched network 162 typically includes proxies (not shown), registrars (not shown), and routers (not shown) for managing packet flows.
  • The packet-switched network 162 as shown in FIG. 1 is in communication with a first communication device 174 via a security gateway 178, and the circuit-switched network 152 with an external second communication device 180.
  • In a preferred configuration, the server 110, the packet-switched network 162, the first communication devices 134-1-N, the circuit-switched network 152, and the unified communication devices 138-1-M are Session Initiation Protocol (SIP) compatible and may include interfaces for various other protocols such as the Lightweight Directory Access Protocol (LDAP), Secure Shell (SSH) Protocol, H.248, H.323, Simple Mail Transfer Protocol (SMTP), Internet Message Access Protocol 4 (IMAP4), Integrated Services Digital Network (ISDN), E1/T1, and analog line or trunk.
  • It should be emphasized that the configuration of the switch 130, the server 110, user communication devices, and other elements as shown in FIG. 1 is for purposes of illustration only and should not be construed as limiting the present invention to any particular arrangement of elements.
  • As will be appreciated, the server 110 is notified via the LAN 142 of an incoming work item by the communications component (e.g., the switch 130, fax server, email server, Web Server, and/or other server) receiving the incoming work item as shown in FIG. 1. The incoming work item 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, and/or first or unified communication devices 134-1-N, 138-1-M associated with a selected agent. The server 110 distributes and connects these work items to telecommunication devices of available agents based on the predetermined criteria noted above. When the server 110 forwards a voice contact (or first work item) to an agent, the server 110 also forwards customer-related information from the database 114 to the agent's computer work station for viewing (such as by a pop-up display) to permit the agent to better serve the customer to achieve desired business goals (e.g., an average revenue, a customer satisfaction (CSAT), a service level agreement etc.) of the contact center. Depending on the contact center configuration and current status of the business goals, the server 110 may reallocate the work items to the agents. The agents process the work items or contacts sent to them by the server 110. This embodiment is particularly suited for a Customer Relationship Management (CRM) environment in which customers are permitted to use any media to contact a business. In a CRM environment, both real-time and non-real-time contacts must be handled and distributed with equal efficiency and effectiveness.
  • FIG. 2 illustrates block diagram of a data management system 200 according to an embodiment of the present invention. The data management system 200 includes a plurality of unified communication devices 138-1-M, a crawler 202, a configuration database 204, a probing device 206 and a plurality of probing plug-in interfaces 208-1-N. In an embodiment of the present invention, the plurality of unified communication devices 138-1-M may include, but is not restricted to, a unified communication IP PBX 138-1, a unified communication messaging system 138-2, a unified communication conferencing system 138-3, and so forth. The unified communication IP PBX 138-1 is used for telephony, the unified communication messaging system 138-2 is used for voice mails, and the unified communication conferencing system 138-3 is used for video or audio conferencing.
  • The plurality of unified communication devices 138-1-M may store administrative data of the contact center. In an embodiment of the present invention, the administrative data may include, but is not restricted to, an agent's username and personal details, an extension number of an agent, a pickup group extension number, a hunt group extension number, configuration data of associated extensions, and so forth. The unified communication devices 138-1-M may be a set of relational databases (for example, ORACLE SQL® databases, DB2® from IBM etc.) configured to store administrative data in an embodiment of the present invention. In an embodiment of the present invention, the unified communication devices 138-1-M may be a set of non-relational databases configured to store the administrative data. The plurality of unified communication devices 138-1-M may also include a set of relational databases with a set of non-relational databases in another embodiment of the present invention.
  • The crawler 202 is configured to automatically and repeatedly crawl in a Local Area Network (LAN) or Wide Area Network (WAN) environment that includes the plurality of unified communication devices 138-1-M. In an embodiment of the present invention, the LAN and WAN environment may be a contact center environment. Further, the crawler 202 is configured to access the plurality of unified communication devices 138-1-M at predefined intervals for collecting the administrative data of the contact center. The predefined intervals may include, but is not restricted to, an intraday interval, a daily interval, a weekly interval, and a monthly interval. In the intra daily interval, the administrative data is retrieved periodically from the unified communication devices 138-1-M at predefined time interval, for example, 1 minute, 15 minutes, 30 minutes, and so forth. In the daily interval, the administrative data is retrieved once a day from the unified communication devices 138-1-M and includes a single record for the day the customer report on. Next, in the weekly interval, the administrative data is retrieved once a week from the plurality of unified communication devices 138-1-M. Further, in the monthly interval, the administrative data is retrieved once a month from the plurality of unified communication devices 138-1-M. The predefined intervals may be configured by a user and the configuration of the user is then stored in the configuration database 204. In an embodiment of the present invention, the user may be an agent, a supervisor or a manager of the contact center.
  • The configuration database 204 may include connection details of the unified communication devices 138-1-M. In an embodiment of the present invention, the connection details may include, but is not restricted to, an Internet Protocol (IP) address, a hostname, a communication protocol, a username and password that authenticates the crawler 202 to connect with the unified communication devices 138-1-M, and so forth. The crawler 202 retrieves the connection details of the unified communication devices 138-1-M from the configuration database 204. In an embodiment of the present invention, the crawler 202 may retrieve the administrative data from the unified communication devices 138-1-M at the predefined intervals by using the connection details of the unified communication devices 138-1-M.
  • Further, the probing device 206 receives a request from the crawler 202 to connect with the plurality of unified communication devices 138-1-M and retrieve the administrative data. The probing device 206 uses the plurality of probing plug-in interfaces 208-1-N for retrieving the administrative data from the unified communication devices 138-1-M in an embodiment of the present invention. For example, the probing device 206 my use a probing plug-in interface that may use a Secure Shell (SSH) protocol for communicating with the unified communication devices 138-1-M, a probing plug-in interface that may use an LDAP protocol for communicating with the unified communication devices 138-1-M, and so forth. The probing device 206 uses the plurality of probing plug-in interfaces 208-1-N to connect communication links from the crawler 202 to the unified communication devices 138-1-M for retrieving the administrative data. For example, if the unified communication devices 138-1-M stores a table with data for 50 different agents, then the probing device 206 by using the plurality of probing plug-in interfaces 206-1-1N to retrieve the structure of the table as stored in the unified communication devices 138-1-M and transmits it to the crawler 202.
  • In another embodiment of the present invention, the crawler 202 is configured to store the retrieved administrative data into a temporary database 210. In an embodiment of the present invention, the temporary database 210 may use a set of flat file databases having tables to store the retrieved information of every unified communication managed objects. A flat file database is a database in which each database is represented as a single table and in which all of the records are stored as single rows of data. The unified communication managed objects may include, but is not restricted to, extensions, hunt groups, pickup groups, and so forth.
  • An indexing server 212 may index the retrieved administrative data stored in the temporary database 210. In an embodiment of the present invention, the indexed data may be searchable through the one or more search queries of the user. Further, a dictionary database 214 may include dictionary items associated with words or phrases of the user search queries. In an embodiment of the present invention, the dictionary items may be synonyms of name of indexes of the indexing server 212. In an embodiment of the present invention, the dictionary items may include English words of a dictionary.
  • The data management system 200 further includes a user interface 216 and a third party system 218. In an embodiment of the present invention, a user of the contact center may trigger one or more search queries by using the user interface 216. In an embodiment of the present invention, the search query may be a Structured Query Language (SQL) query. In another embodiment of the invention, the query may be formed in other query languages but not limited to .QL, Java Persistence Query Language (JPQL), or Query By Example (QBE).
  • The search query of the user is then passed to a search Application Programming Interface (API) 220 that is configured to search for index logic and access a plurality of indexes created by the indexing server 212. In an embodiment of the present invention, the search API 220 breaks the user's search query into different words or phrases and then matches the phrases or synonyms to the plurality of indexes of the indexing server 212. The accessed administrative data is then displayed to the user on the user interface 216 as a search result.
  • FIG. 3 illustrates block diagram of the indexing server 212 for indexing the administrative data according to an embodiment of the present invention. The index logic of the indexing server 212 explains how indexing of the administrative data is done. In an embodiment of the present invention, the indexing of the administrative data of the contact center is done based on a relationship between managed entities of the contact center. In an embodiment of the present invention, the managed entity may be a user or an extension of the contact center. These entities are managed between the plurality of unified communication devices 138-1-M, such as an IP PBX, messaging systems, conferencing systems etc. As shown in FIG. 3, a user 302 of the contact center may be linked to an extension 304. The user 302 may include, but is not restricted to, details of a plurality of users of the contact center. In an embodiment of the present invention, the details may include, but is not restricted to, a username, a user first name, a user last name, extensions assigned to a user, subscribers assigned to a user, assigned features, and so forth.
  • Further, the extension 304 may have different relationships in the data management system 200 with a plurality of groups. In an embodiment of the present invention, the extension 304 may include, but is not restricted to, details of the extensions such as an extension name, a class of service, a class of rejection, extension features, and so forth. The plurality of groups may include, but is not restricted to, a plurality of pickup groups 306-1-N, a plurality of hunt groups 308-1-N, a plurality of coverage groups 310-1-N, a plurality of external mapping groups 312-1-N, a plurality of permission groups 314-1-N, and so forth.
  • A pickup group is a list of extensions where each member of the group may answer a call on a telephone of another member from their own telephone. In an embodiment of the present invention, the pickup group 306 may include, but is not restricted to, details of the group 306, such as a pickup group name, a pickup group number, extensions assigned to the pickup group 306, and so forth.
  • A hunt group is a group of extensions that are organized to process specific calls. When an incoming call is received from a caller in a call center, the call is rotated through a pool of lines until a free line is found and the caller is connected to that line. The caller may hear a busy tone only when all the lines of the pool are engaged. In an embodiment of the present invention, the hunt group 308 may include, but is not restricted to, details of the hunt group 308 for example, a hunt group name, a hunt group number, extensions assigned to the hunt group 308, and so forth.
  • A permission group is a group that may include a class of service (COS) or a class of rejection (COR) as a parameter that are used to define permission or a rejection an extension may have on the unified communication devices. For example, a group A may have a need for extended voicemail message retentions while a group B may need the ability to forward incoming calls to a cell phone, and so forth. In an embodiment of the present invention, the permission group 314, may include details of the extensions that are assigned permissions (COS/COR). The details of the extensions that are assigned permissions (COS/COR) may include, but is not restricted to, a class of rejection, a class of service, role of a group, a group name, and so forth. Similarly, the coverage 310 may include details of a coverage group. The details may include, but is not restricted to, a coverage name, a coverage number, assigned coverage destinations, and so forth. The external mapping group 312 may include details of external mapping such as, an external mapped number, an internal mapped number, and so forth.
  • Further, the managed entities for example, the user 302, and the extension 304 may also be connected to a messaging subscriber 316 and a conferencing user 318.
  • The messaging subscriber 316 may be a group of users that may be subscribed for a messaging service. The messaging subscriber 316 may include details of the subscribers such as, a subscriber number, subscriber features, subscriber permission details, and so forth. A permission (COR/COS) 320 may include a class of service (COS) or a class of rejection (COR) as parameters that are used to define permission or a rejection of an extension for the messaging subscriber 316.
  • The conferencing user 318 may be a user that may be subscribed for providing audio or video conferencing services to the customers. The conferencing user 318 may include, but is not restricted to, all the details associated with a conferencing user, such as a username, extensions assigned to the user, assigned features, and so forth.
  • FIG. 4A illustrates block diagram of the data management system 200 for performing a lookup of a user search query according to an embodiment of the present invention. The data management system 200 includes the user interface 216 that is configured to receive one or more search queries from a user. The user triggers a search query by using the user interface 216 or the third party systems 218, for example, “Extension Arkady Pickup 1”. In an embodiment of the present invention, the search query may be a SQL query. In another embodiment of the invention, the query may be formed in other query languages such as, but is not limited to .QL, Java Persistence Query Language (JPQL), or Query By Example (QBE). The search API 220 segments the search query received from the user into different phrases or words. In this case, the different phrases of the search query may include Extension+Arkady+Pickup+1. Each phrase of the search query is then matched with a dictionary item and the phrases that match with the dictionary items are parsed by the search API 220 in order to match a specific index in the indexing server 212. Each of the phrases and synonyms of the search queries are matched to an index of the indexing server 212. The dictionary database 214 may include dictionary items associated with words or phrases of the user search queries. In an embodiment of the present invention, the dictionary items may be synonyms of name of indexes of the indexing server 212. In an embodiment of the present invention, the dictionary items may include English words of a dictionary. As shown in FIG. 4B, the phrase “Extension” is matched with items such as, extension, station, and phone. Similarly, the phrase “pickup group” is matched with dictionary items such as pickup group, pickup, and pickupgroup. In another embodiment of the present invention, each of the phrases is matched with the dictionary items for spelling mistakes of the words or phrases.
  • The indexing server 212 then performs one or more lookups in different indexes of the indexing server 212 in order to retrieve results. In this case, the search API 220 may perform the one or more lookups for each of the phrases in the indexes of the indexing server 212. The search API 220 may perform the lookup for the phrase “Extension” in an extension index that is associated with the agent “Arkady”. In another embodiment of the present invention, the search API 220 may perform the lookup in the extension index for an extension of the phrase “Arkady 1”. The phrase “Arkady” is a name of an agent whose administrative data is to be retrieved, and therefore is displayed as it is in a search result. Further, in the extension index, the phrase “pickup” is searched in the pickup group index 306.
  • In case, when a phrase of a search query has an exact match in the first index i.e., in the extension index, then the search API 220 may perform one or more lookups in each of the indexes of the indexing server 212 that is associated with the extension. For example, in this case, the search API 220 may found an exact match for the extension “Arkady”, that is, let say, the extension number of “Arkady” is “5555”, then the search API 220, may also perform one or more lookups in other indexes (e.g., pickup groups, hunt groups, etc.) of the indexing server 212. In the pickup index 306, the search API 220 performs a lookup to retrieve a list of pickup groups 306-1-N that stores “5555” extension. Similarly, in the hunt group index, the search API 220 performs a lookup to retrieve a list of hunt groups 308-1-N that stores “5555” extension. Similarly, other indexes are lookup to retrieve a list of groups that may store data associated with the extension.
  • Further, one or more search results may be displayed on the user interface 216 in an order such as,
  • Extension name and number
  • Username and personal details
  • Assigned pickup group details
  • Assigned hunt group details
  • By using the above mentioned order, the user interface 216 may show a full description of the search result. First row of the search result may display the result of the search query, whereas the following rows may display additional information such as hyperlinks to indexes that may store administrative data associated with the one or more search queries of the user.
  • In an embodiment of the present invention, if the user triggers a search query “pickup Arkady”, then the search result may be displayed by the data management system 200 in an order, such as
  • Assigned pickup group details
  • Username and personal details
  • Extension name and number
  • Assigned hunt group details
  • By using the above mentioned order, the user interface may show a full description of the search result. First row of the search result may display the result of the search query, whereas the following rows may display additional information such as hyperlinks to indexes that may store administrative data associated with the one or more search queries of the user.
  • Therefore, the data management system 200 provides dynamic search results. For example, the data management system 200 may change the order of the search results based on the user's search results.
  • In an embodiment of the present invention, the search results may include a set of hyperlinks that may allow the user to access configuration data of each link. For example, if the user clicks on the hyperlink of the first row, he may access configuration details of the extension as stored in the indexes of the indexing server 212. The search results of the search queries of the user may be displayed graphically to the user in an embodiment of the present invention.
  • FIG. 5 depicts a flowchart of a method 500 for indexing administrative data of the contact center according to an embodiment of the present invention.
  • At step 502, a data management system 200 retrieves a list of unified communication devices from a configuration database in an embodiment of the present invention. The list of the unified communication devices may include a list of plurality of unified communication devices from which the administrative data is to be retrieved. In an embodiment of the present invention, the administrative data may include, but is not restricted to, an agent's username and personal details, an extension number of an agent, a pickup group extension number, a hunt group extension number, configuration data of associated extensions, and so forth.
  • In another embodiment of the present invention, the data management system 200 may retrieve one or more connection details of the unified communication devices from the configuration database. The connection details may include, but is not restricted to, an Internet Protocol (IP) address, a hostname, a communication protocol, an input/output port, a username and password for authenticating with the unified communication devices, and so forth. In an embodiment of the present invention, the crawler is configured to retrieve the connection details and list of unified communication devices from the configuration database.
  • At step 504, the data management system 200 enables the crawler to connect with the plurality of unified communication devices of the contact center by transmitting a request to a probing device in an embodiment of the present invention. The data management system 200 uses a plurality of probing plug-in interfaces to connect the crawler of the data management system 200 to the plurality of unified communication devices for retrieving the administrative data. For example, the probing device 206 may use a probing plug-in interface that may use a Secure Shell (SSH) protocol for communicating with the unified communication device, a probing plug-in interface that may use an LDAP protocol for communicating with the unified communication device, and so forth. The probing device uses the plurality of probing plug-in interfaces to provide communication links from the crawler to the unified communication devices for retrieving the administrative data. For example, if a unified communication device stores a table with data of 50 different callers, then the probing plug-in interfaces retrieves structure of the table as it is stored in the unified communication devices and transmits it to the crawler of the data management system 200.
  • At step 506, the data management system 200 collects the administrative data from the plurality of unified communication devices at predefined interval in an embodiment of the present invention. The predefined intervals may include, but is not restricted to, an intra daily interval, a daily interval, a weekly interval, and a monthly interval. In the intra daily interval, the administrative data is retrieved periodically from the unified communication devices at predefined time interval for example, 1 minute, 15 minutes, 30 minutes, and so forth. In the daily interval, the administrative data is retrieved once a day and includes a single record for the day the customer report on. Next, in the weekly interval, the administrative data is retrieved once a week from the contact center unified communication devices. Further, in the monthly interval, the administrative data is retrieved once a month from the unified communication devices.
  • At step 508, the data management system 200 stores the collected administrative data into a temporary database in an embodiment of the present invention. In an embodiment of the present invention, the temporary database may use a set of flat file database having tables to store the collected administrative data of every unified communication managed objects. The unified communication managed objects may include, but is not restricted to, an extension, a hunt group, a pickup group, and so forth. The temporary database receives the administrative data from the crawler and at the end of a day stores the administrative data in flat tables in an embodiment of the present invention.
  • At step 510, the data management system 200 indexes the administrative data stored in the temporary database. The indexed administrative data is then stored in a plurality of indexes of the indexing server. In an embodiment of the present invention, the indexed data may be searchable through the one or more search queries of the user.
  • FIG. 6 depicts a flowchart of a method 600 for performing a lookup and displaying a result to a user based on a search query received from the user according to an embodiment of the present invention.
  • At step 602, a data management system 200 receives a search query from a user in an embodiment of the present invention. The user may be an agent, a manager, or a supervisor of the contact center in an embodiment of the present invention. The user triggers a search query, using a user interface or third party systems, for example, get “extension Arkady pickup group 1”. In an embodiment of the present invention, the search query may be a SQL query. In another embodiment of the invention, the query may be formed in other query languages, but is not limited to .QL, Java Persistence Query Language (JPQL), or Query By Example (QBE).
  • At step 604, the data management system 200 segments the user search query into different words or phrases in an embodiment of the present invention. For example, in this case, the user search query “extension Arkady pickup group 1” is segmented into different phrases and may include different phrases such as extension+Arkady+pickup+1.
  • At step 606, the data management system 200 determines whether each of the phrases or their synonyms of the search query is matched with a dictionary items. In an embodiment of the present invention, the dictionary items may be synonyms of name of indexes of the indexing server. For example, in this case, the phrase “extension” is matched with dictionary items such as extension, station, or phone. In an embodiment of the present invention, the dictionary items may also include English words of a dictionary. When it is determined that each phrase is matched with the dictionary items, the method 600 proceeds towards step 610. When any of the phrase does not match with the dictionary items, the method 600 proceeds towards step 608.
  • At step 608, the data management system 200 may display the phrase that does not match with the dictionary items as it is in a search query result. For example, in this case, the phrase “Arkady” is a name of an agent whose data is to be retrieved. Therefore, this phrase may be displayed as it is in the search query result.
  • At step 610, the data management system 200 performs lookup for each of the phrases across a plurality of indexes of an indexing server in an embodiment of the present invention. For example, the data management system 200 may perform lookup for the phrase “extension” in an extension index that is associated with the agent “Arkady”. Further, the data management system 200 may perform the lookup in the extension index for extension of a phrase “Arkady 1”. Further, in the extension index, the phrase “pickup” is searched in a pickup group index.
  • At step 612, the data management system 200 performs one or more lookups in additional indexes that stores administrative data associated with the matched phrase. For example, in this case, the data management system 200 may found an exact match for the extension “Arkady”, that is, let say, the extension number of “Arkady” is “5555”, then the data management system 200 may also perform lookup in other indexes (e.g., pickup groups, hunt groups, etc.) of the indexing server. In the pickup index, the data management system 200 performs a lookup to retrieve a list of pickup groups that stores “5555” extension. Similarly, in the hunt group index, the data management system 200 performs a lookup to retrieve a list of hunt groups that stores “5555” extension. Similarly, other indexes are lookup to retrieve a list of groups that may store data associated with the extension.
  • At step 614, the data management system 200 displays the search query result to the user. In an embodiment of the present invention, the search query result is displayed in the user interface of the data management system 200. The search result may be displayed in an order, for example,
  • Extension name and number
  • Username and personal details
  • Assigned pickup group details
  • Assigned hunt group details
  • By using the above mentioned order, the user interface may show a full description of the search result. First row of the search result may display the result of the search query, whereas the following rows may display additional information such as hyperlinks to indexes that may store administrative data associated with the one or more search queries of the user.
  • The exemplary systems and methods of this present invention have been described in relation to a contact center. However, to avoid unnecessarily obscuring the present invention, the preceding description omits a number of known structures and devices. This omission is not to be construed as a limitation of the scope of the present invention. Specific details are set forth to provide an understanding of the present invention. It should however be appreciated that the present invention may be practiced in a variety of ways beyond the specific detail set forth herein.
  • Furthermore, while the exemplary embodiments of the present invention illustrated herein show the various components of the system collocated, certain components of the system can be located remotely, at distant portions of a distributed network, such as a LAN and/or the Internet, or within a dedicated system. Thus, it should be appreciated, that the components of the system can be combined in to one or more devices, such as a switch, server, and/or adjunct, or collocated on a particular node of a distributed network, such as an analog and/or digital telecommunications network, a packet-switch network, or a circuit-switched network.
  • It will be appreciated from the preceding description, and for reasons of computational efficiency, that the components of the system can be arranged at any location within a distributed network of components without affecting the operation of the system. For example, the various components can be located in a switch such as a PBX and media server, gateway, in one or more communications devices, at one or more users' premises, or some combination thereof. Similarly, one or more functional portions of the system could be distributed between a telecommunications device(s) and an associated computing device.
  • Furthermore, it should be appreciated the various links connecting the elements can be wired or wireless links, or any combination thereof, or any other known or later developed element(s) that is capable of supplying and/or communicating data to and from the connected elements. These wired or wireless links can also be secure links and may be capable of communicating encrypted information. Transmission media used as links, for example, can be any suitable carrier for electrical signals, including coaxial cables, copper wire and fiber optics, and may take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
  • Also, while the flowcharts have been discussed and illustrated in relation to a particular sequence of events, it should be appreciated that changes, additions, and omissions to this sequence can occur without materially affecting the operation of the present invention.
  • A number of variations and modifications of the present invention can be used. It would be possible to provide for some features of the present invention without providing others.
  • For example in one alternative embodiment of the present invention, the systems and methods of this present invention can be implemented in conjunction with a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit element(s), an ASIC or other integrated circuit, a digital signal processor, a hard-wired electronic or logic circuit such as discrete element circuit, a programmable logic device or gate array such as PLD, PLA, FPGA, PAL, special purpose computer, any comparable means, or the like.
  • In general, any device(s) or means capable of implementing the methodology illustrated herein can be used to implement the various aspects of this present invention. Exemplary hardware that can be used for the present invention includes computers, handheld devices, telephones (e.g., cellular, Internet enabled, digital, analog, hybrids, and others), and other hardware known in the art. Some of these devices include processors (e.g., a single or multiple microprocessors), memory, non-volatile storage, input devices, and output devices. Furthermore, alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.
  • In yet another embodiment of the present invention, the disclosed methods may be readily implemented in conjunction with software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer or workstation platforms. Alternatively, the disclosed system may be implemented partially or fully in hardware using standard logic circuits or VLSI design. Whether software or hardware is used to implement the systems in accordance with this present invention is dependent on the speed and/or efficiency requirements of the system, the particular function, and the particular software or hardware systems or microprocessor or microcomputer systems being utilized.
  • In yet another embodiment of the present invention, the disclosed methods may be partially implemented in software that can be stored on a storage medium, executed on programmed general-purpose computer with the cooperation of a controller and memory, a special purpose computer, a microprocessor, or the like. In these instances, the systems and methods of this present invention can be implemented as program embedded on personal computer such as an applet, JAVA® or CGI script, as a resource residing on a server or computer workstation, as a routine embedded in a dedicated measurement system, system component, or the like. The system can also be implemented by physically incorporating the system and/or method into a software and/or hardware system.
  • Although the present invention describes components and functions implemented in the embodiments with reference to particular standards and protocols, the present invention is not limited to such standards and protocols. Other similar standards and protocols not mentioned herein are in existence and are considered to be included in the present invention. Moreover, the standards and protocols mentioned herein and other similar standards and protocols not mentioned herein are periodically superseded by faster or more effective equivalents having essentially the same functions. Such replacement standards and protocols having the same functions are considered equivalents included in the present invention.
  • The present invention, in various embodiments, configurations, and aspects, includes components, methods, processes, systems and/or apparatus substantially as depicted and described herein, including various embodiments, sub-combinations, 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, configurations, and aspects, includes providing devices and processes in the absence of items not depicted and/or described herein or in various embodiments, configurations, or aspects 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 present invention has been presented for purposes of illustration and description. The foregoing is not intended to limit the present invention to the form or forms disclosed herein. In the foregoing Detailed Description for example, various features of the present invention are grouped together in one or more embodiments, configurations, or aspects for the purpose of streamlining the disclosure. The features of the embodiments, configurations, or aspects of the present invention may be combined in alternate embodiments, configurations, or aspects other than those discussed above. This method of disclosure is not to be interpreted as reflecting an intention that the present 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, configuration, or aspect. 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 present invention.
  • Moreover, though the description of the present invention has included description of one or more embodiments, configurations, or aspects and certain variations and modifications, other variations, combinations, and modifications are within the scope of the present 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, configurations, or aspects 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.

Claims (20)

What is claimed is:
1. A data management system for indexing administrative data of a contact center, the data management system comprising:
one or more unified communication devices configured to store the administrative data;
a crawler configured to collect the administrative data from the one or more unified communication devices;
a probing device configured to enable the crawler to communicate and retrieve the administrative data from the one or more unified communication devices;
a temporary database configured to store the collected administrative data; wherein the temporary database stores the collected administrative data in a plurality of flat file tables; and
an indexing server configured to index the stored administrative data;
wherein the indexed administrative data is searchable through one or more user search queries.
2. The data management system of claim 1, wherein the administrative data comprises at least one of an agent's username and personal details, an extension number, a pickup group extension number, a hunt group extension number, and configuration data of associated extensions.
3. The data management system of claim 1, wherein the unified communication devices comprise one or more of an Internet Protocol Private Branch Exchange (IP PBX) system, a Private Branch Exchange (PBX) system, a messaging system, and a conferencing system.
4. The data management system of claim 1, wherein the probing device comprising one or more plug-in interfaces to retrieve the administrative data from the one or more unified communication devices.
5. The data management system of claim 1, wherein the crawler is further configured to retrieve one or more lists of unified communication devices from a configuration database.
6. The data management system of claim 1, wherein the crawler is further configured to retrieve one or more connection details of the one or more unified communication devices from the configuration database.
7. The data management system of claim 1, wherein the connection details comprise one or more of an Internet Protocol (IP) address, a hostname, a communication protocol, a username and a password for authenticating with the one or more unified communication devices.
8. The data management system of claim 1, wherein the crawler is further configured to collect the administrative data at predefined intervals.
9. The data management system of claim 8, wherein the predefined interval comprise one or more of an intra daily interval, a daily interval, a weekly interval, and a monthly interval.
10. The data management system of claim 1, further comprises a dictionary database configured to store synonyms of name of indexes of the indexing server as one or more dictionary items.
11. A computer-implemented method for indexing administrative data of a contact center, the method comprising:
retrieving one or more connection details and one or more lists of unified communication devices from a configuration database;
collecting, by a crawler, the administrative data at predefined intervals from the one or more unified communication devices; and
storing the collected administrative data into a temporary database, wherein the collected administrative data is indexed by an indexing server;
wherein the indexed administrative data is searchable through one or more user search queries.
12. The method of claim 11, wherein the administrative data comprises at least one of an agent's username and personal details, an extension number, a pickup group extension number, a hunt group extension number, and configuration data of associated extensions.
13. The method of claim 11, wherein the connection details comprise one or more of an Internet Protocol (IP) address, a hostname, a communication protocol, and a username and a password for authenticating with the one or more reporting systems.
14. The method of claim 11, wherein the predefined interval comprise one or more of an intra daily interval, a daily interval, a weekly interval, and a monthly interval.
15. A computer-implemented method for searching administrative data of a contact center, the method comprising:
receiving one or more search queries from a user;
segmenting the one or more search queries into a plurality of different phrases;
matching the plurality of different phrases with one or more dictionary items;
performing one or more lookups on a plurality of indexes based on the one or more search queries received from the user; and
displaying one or more search query results to the user.
16. The method of claim 15, wherein the one or more search queries are based on Structured Query Language (SQL).
17. The method of claim 15, further comprising parsing the plurality of different phrases to match one or more specific indexes.
18. The method of claim 15, wherein the matching of the plurality of different phrases with the indexes of an indexing server is performed.
19. The method of claim 15, further performing one or more lookups in the indexes to retrieve additional data based on the one or more user search queries; wherein the additional data comprise one or more of extension numbers of one or more groups, and configuration data associated with the one or more search queries.
20. The method of claim 15, wherein the one or more search query results are displayed graphically to the user.
US14/194,274 2013-03-04 2014-02-28 Systems and methods for indexing and searching administrative data Active 2036-11-29 US10229371B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/194,274 US10229371B2 (en) 2013-03-04 2014-02-28 Systems and methods for indexing and searching administrative data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361772282P 2013-03-04 2013-03-04
US14/194,274 US10229371B2 (en) 2013-03-04 2014-02-28 Systems and methods for indexing and searching administrative data

Publications (2)

Publication Number Publication Date
US20140250100A1 true US20140250100A1 (en) 2014-09-04
US10229371B2 US10229371B2 (en) 2019-03-12

Family

ID=51421547

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/194,274 Active 2036-11-29 US10229371B2 (en) 2013-03-04 2014-02-28 Systems and methods for indexing and searching administrative data

Country Status (1)

Country Link
US (1) US10229371B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016066108A1 (en) * 2014-10-31 2016-05-06 阿里巴巴(中国)有限公司 Route access method, route access system and user terminal
CN111428107A (en) * 2020-03-23 2020-07-17 新华智云科技有限公司 Multi-center comprehensive web crawler system
US20220012748A1 (en) * 2018-01-18 2022-01-13 Salesforce.Com, Inc. Method and system for generating insights regarding a party in response to a call

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070208714A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Method for Suggesting Web Links and Alternate Terms for Matching Search Queries
US20070209080A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Search Hit URL Modification for Secure Application Integration
US20070214129A1 (en) * 2006-03-01 2007-09-13 Oracle International Corporation Flexible Authorization Model for Secure Search
US20070283425A1 (en) * 2006-03-01 2007-12-06 Oracle International Corporation Minimum Lifespan Credentials for Crawling Data Repositories
US20100223248A1 (en) * 2007-09-03 2010-09-02 Joerg Wurzer Detecting Correlations Between Data Representing Information
US20100223246A1 (en) * 2007-09-03 2010-09-02 Joerg Wurzer Detecting correlations between data representing information

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070208714A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Method for Suggesting Web Links and Alternate Terms for Matching Search Queries
US20070209080A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Search Hit URL Modification for Secure Application Integration
US20070214129A1 (en) * 2006-03-01 2007-09-13 Oracle International Corporation Flexible Authorization Model for Secure Search
US20070283425A1 (en) * 2006-03-01 2007-12-06 Oracle International Corporation Minimum Lifespan Credentials for Crawling Data Repositories
US20100223248A1 (en) * 2007-09-03 2010-09-02 Joerg Wurzer Detecting Correlations Between Data Representing Information
US20100223246A1 (en) * 2007-09-03 2010-09-02 Joerg Wurzer Detecting correlations between data representing information

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016066108A1 (en) * 2014-10-31 2016-05-06 阿里巴巴(中国)有限公司 Route access method, route access system and user terminal
US20220012748A1 (en) * 2018-01-18 2022-01-13 Salesforce.Com, Inc. Method and system for generating insights regarding a party in response to a call
US11875360B2 (en) * 2018-01-18 2024-01-16 Salesforce, Inc. Method and system for generating insights regarding a party in response to a call
CN111428107A (en) * 2020-03-23 2020-07-17 新华智云科技有限公司 Multi-center comprehensive web crawler system

Also Published As

Publication number Publication date
US10229371B2 (en) 2019-03-12

Similar Documents

Publication Publication Date Title
US9178998B2 (en) System and method for recording calls in a WebRTC contact center
US8948369B2 (en) Method and system for optimizing performance within a contact center
US10079937B2 (en) System and method for providing agent assistance in contact centers
US9172810B2 (en) System and method for calculating context-aware estimated wait time for customers
US9473639B2 (en) System and method for agent selection in an enterprise
US20160127553A1 (en) System and method for managing resources of an enterprise
US9167094B2 (en) System and method for assisting agents of a contact center
US9826095B2 (en) Systems and methods for multichannel routing of work items in a contact center
US20150181038A1 (en) System and method for driving a virtual view of agents in a contact center
US10609219B2 (en) System and method for managing resource selection in an enterprise
US9563678B2 (en) Systems and methods for indexing and searching reporting data
US20150178660A1 (en) System and method for automated optimization of operations in a contact center
US9986097B2 (en) System and method for selecting an agent in an enterprise
US9373092B2 (en) System and method for automated distribution of supervisory functions in a contact center
US9871923B2 (en) System and method for managing resources
US20160150085A1 (en) System and method for managing allocation of resources
US10229371B2 (en) Systems and methods for indexing and searching administrative data
US10026059B2 (en) Systems and methods for managing reporting data on a hosted on-demand reporting system
US11163736B2 (en) System and method for in-memory indexing of data
US9883032B2 (en) System and method for guiding agents in an enterprise
US9020134B1 (en) System and method for automated assignment of monitoring in a contact center
US20140156326A1 (en) System and method for automating and improving self service experience
US20140270143A1 (en) Method and system for serving customers in a contact center
US10951760B2 (en) System and method for managing communication interrupts in an enterprise
US9363377B2 (en) System and method for optimizing agent login in a contact center

Legal Events

Date Code Title Description
AS Assignment

Owner name: AVAYA INC., NEW JERSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SHTILMAN, ARIEL;KARPMAN, ARKADY;REEL/FRAME:032328/0329

Effective date: 20140227

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

AS Assignment

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 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: 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 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531

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

STCF Information on status: patent grant

Free format text: PATENTED CASE

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

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

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

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