The present disclosure relates generally to customer support and relates more specifically to managing inquiries submitted to support teams that provide assistance to customers.
Large service systems, such as data centers, rely on support teams to resolve incidents with clients' information technology (IT) infrastructures. Typically, a “ticket” is created when a problem on a service is identified (e.g., by a monitoring system or by a client reporting an issue). The ticket includes a description of the problem, a deadline to solve the problem, and a priority indicator. The ticket is then assigned to one or more members of the support team based on the members' expertise and availability. If the member to whom the ticket is assigned cannot solve the problem, he or she may ask for assistance from other members of the support team or simply forward the ticket to someone else.
Customer support systems associated with many other types of services (e.g., including non-IT related services) operate in a similar manner.
A method for resolving a query received by a support team comprising a plurality of members includes inferring current activities in which the plurality of members are involved and forwarding the query to a subset of the plurality of members based on how assignment of the query is expected to affect the current activities of the subset of the plurality of members.
In another embodiment, a tangible computer readable storage medium stores instructions which, when executed by a processor, cause the processor to perform operations for resolving a query received by a support team comprising a plurality of members, the operations including inferring current activities in which the plurality of members are involved and forwarding the query to a subset of the plurality of members based on how assignment of the query is expected to affect the current activities of the subset of the plurality of members.
In another embodiment, a system for resolving a query received by a support team comprising a plurality of members includes a database storing information relating to activities of the plurality of members and a question and answer engine coupled to the database for inferring current activities in which the plurality of members are involved, based on the information, and for forwarding the query to a subset of the plurality of members based on how assignment of the query is expected to affect the current activities of the subset of the plurality of members.
The teachings of the present disclosure can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the Figures.
In one embodiment, the present invention is a method and apparatus for managing support team inquiries. Embodiments of the invention enable queries to be forwarded to potential candidates (i.e., individuals who are believed capable of responding to the queries) based on the candidates' availability and expertise. In one embodiment, a candidate's availability is determined based on the computing resources, software systems, projects on which the candidate is currently working, and/or activities the candidate may be performing. Further embodiments of the invention allow candidates to select queries to address in a way that does not compromise the candidates' current work. Thus, embodiments of the present invention consider how handling a new query will affect a candidate's current activities.
The Q&A engine 102 operates as an input and output to the system 100. To this end, the Q&A engine 102 receives queries from individuals (e.g., customers or support team members, where a support team member may wish to forward a query to another support team member). The Q&A engine 102 also provides query answers to the individuals from whom the corresponding queries originated.
Additionally, the Q&A engine 102 makes decisions regarding assignment of queries (i.e., to which support team member(s) to assign a given query). To this end, the Q&A engine 102 receives data from the databases 104 to aid in making these decisions. The Q&A engine 102 uses the data received from the databases 104 to infer support team members' current activities (e.g., performing work on a project, fixing a server component, writing a report, solving an incident, installing software, etc.).
As discussed above, the databases 104 may include a database 1041 that stores data relating to collaborative systems. This database 1041 receives information from other systems (e.g., incident dispatching systems that provide information about tickets on which system administrators are working, project management systems that contain information about projects and teams, tools that support team members are currently using, etc.) that help determine on which work activities support team members are involved during certain periods of time.
The databases 104 may also include a database 1042 that stores data relating to support team members' skills. This data may include, for example, individual support team members' work teams and knowledge levels. In one embodiment, this data is grouped by activity type and skill.
The databases 104 may also include a database 1043 that stores data relating to support team members' activity histories. This data includes, for example, historical data about the types of activities performed by individual support team members over given periods of time. In one embodiment, this data specifically includes information about activity types (e.g., projects or tickets), support team members that performed the activities, dates and times spent on the activities (e.g., work shifts, days, years), software used to perform the activities, and/or resources on which support team members worked.
The databases 104 may also include a database 104n that stores data relating to support team members' calendars. This data may include, for example, information about individual support team members' schedules (e.g., details of meetings, appointments, vacations, etc.).
The method 200 begins in step 202. In step 204, the Q&A engine 102 receives a query from a user. For instance,
In step 206, the Q&A engine 102 retrieves data relating to collaborative systems, support team members' skills, support team members' activity histories, and/or support team members' calendars. As illustrated in
In step 208, the Q&A engine 102 infers the current activities of support team members based on the data retrieved in step 206. As discussed above, individual support team members may currently be involved in activities including, but not limited to, performing work on a project, fixing a server component, writing a report, solving an incident, and/or installing software. In one embodiment, inference of current activities is performed at the operating system level (e.g., by checking active applications, applications on which individual support team members are currently working, and/or network connections).
In another embodiment, the Q&A engine 102 sends individual support team members lists containing activities that the support team members are expected to perform over a given period of time and requests that the support team members verify their corresponding lists. These lists may rank the activities that the individual support team members are expected to be performing currently or to perform for some time. Individual support team members may modify their corresponding lists (e.g., by selecting their current activities or adding their current activities if they are not on the lists). This user-verified information may be used to refine the inferences may by the Q&A engine 102 with respect to current activities.
In step 210, the Q&A engine 102 identifies the support team member(s) who are most likely to be capable of resolving the query, based on the current activities inferred in step 208, the skills data retrieved from the databases 104, and/or the activity histories retrieved from the databases 104. In particular, the current activities, skills, and activity histories are matched to the properties of the query (e.g., type of problem, software or resources involved, related projects, etc.). The Q&A engine 102 may also estimate how long it expects each of the indentified support team members to take to answer the query, and may remove from consideration any identified support team members who are not believed to be capable of answering the query by a given deadline. In a further embodiment discussed in further detail below, the identification of support team members may also take into account the preferences of the support team members (e.g., regarding the maximum numbers of queries that the support team members wish to receive at a time, times of day during which the support team members wish to receive queries, query topics or content in which the support team members are interested).
In step 212, the Q&A engine 102 forwards the query to at least one support team member identified in step 210. For instance,
In step 214, the Q&A engine 102 receives an answer from at least one of the support team members to whom the query was forwarded in step 212. For instance,
In step 216, the Q&A engine 102 forwards the answer to the user 106 from whom the query originated. For instance,
In optional step 218 (illustrated in phantom), the Q&A engine 102 stores the query history (e.g., the query, the support team member(s) who resolved the query, the activities and/or skills of the support team member(s) who resolved the query, etc.). This information may be used by the system 100 to determine patterns of different answers to the same queries or to classify queries and answers to create a best practice or tutorial for problem resolution.
The method 200 ends in step 220.
Thus, the method 200 enables queries to be forwarded to potential candidates (i.e., individuals who are believed capable of responding to the queries) based on the candidates' availability and expertise. In one embodiment, a candidate's availability is determined based on the computing resources, software systems, and/or projects on which the candidate is currently working. Thus, embodiments of the present invention consider how handling a new query will affect a candidate's current activities.
As discussed above, the identification of potential support team members to whom to send a new query may be based at least in part on the preferences of the support team members. For instance, an individual support team member may specify that she does not wish to receive more than n queries at any given time. In this case, the Q&A engine 102 may evaluate a query against such preferences. For example, either at given intervals of time or when a new query is received, the Q&A engine 102 may, for the individual support team member, sort the list of current queries by some given criteria (e.g., ascending order of support team members' current activities, descending order of query priority, descending order of query problem deadlines, queries about similar software prioritized, queries about similar projects prioritized, and/or ascending/descending order of query length). The Q&A engine 102 may then return only the first n questions on the list. In this way, the number of queries is limited according to the individual support team member's preferences in a non-arbitrary way (e.g., the queries are prioritized according to the criteria).
Other preferences that may be taken into account include the times of day during which the individual support team member wishes to receive queries, query topics or content in which the individual support team members is interested, or query priority (e.g., as defined by the system 100 or users 106). Thus, embodiments of the invention allow support team members to customize the list of queries they receive.
Embodiments of the present invention may be especially useful in data centers, where members of a support team assigned to solve problems may not be able to solve certain problems individually. The solutions disclosed herein can be used to facilitate better collaboration among support team members and speed problem resolution. Alternatively, embodiments of the present invention may be useful in a medical care setting (e.g., a hospital), where care providers may be able to share information or expertise in order to better diagnose or treat patients.
Alternatively, embodiments of the present invention (e.g., query management module 305) can be represented by one or more software applications (or even a combination of software and hardware, e.g., using Application Specific Integrated Circuits (ASIC)), where the software is loaded from a storage medium (e.g., I/O devices 306) and operated by the processor 302 in the memory 304 of the general purpose computing device 300. Thus, in one embodiment, the query management module 305 for managing support team inquiries described herein with reference to the preceding Figures can be stored on a tangible or non-transitory computer readable medium (e.g., RAM, magnetic or optical drive or diskette, and the like).
It should be noted that although not explicitly specified, one or more steps of the methods described herein may include a storing, displaying and/or outputting step as required for a particular application. In other words, any data, records, fields, and/or intermediate results discussed in the methods can be stored, displayed, and/or outputted to another device as required for a particular application. Furthermore, steps or blocks in the accompanying Figures that recite a determining operation or involve a decision, do not necessarily require that both branches of the determining operation be practiced. In other words, one of the branches of the determining operation can be deemed as an optional step.
Although various embodiments which incorporate the teachings of the present invention have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that still incorporate these teachings.