Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTION
This communication is a Final Office Action in response to communications received on 1/21/26.
Claims 4, 9 and 12 have been amended.
Therefore, Claims 1-12 are now pending and have been addressed below.
Response to Amendment
Applicant has amended Claims 4 and 11 to overcome the claim objection and 35U.S.C 112b rejection. Examiner withdraws the 35 U.S.C. 112 rejections with respect to these and all depending claims unless otherwise indicated.
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
Claims 4, 9 rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. Claim 4 recites "wherein the likelihood of responsiveness to the user is calculated based on at least one of the average time response, the current length of chat conversations until positive solution, an overall chat rating and/or an efficiency score". Examiner could not find support for this limitation in specification. Specification is silent regarding likelihood of responsiveness and how it is calculated. Spec at [0005], [0017] recites a limit may be based on efficiency scoring, such as an average response time contrasted with a number of tickets. However, Specification is silent regarding "likelihood of responsiveness to the user is calculated based on at least one of the average time response, the current length of chat conversations until positive solution, an overall chat rating and/or an efficiency score. Further, Claim 9 recites enabling webhook subscription via the API providing real-time notification for events such as ticket creation or update…” Examiner could not find support for this limitation. Specification is silent regarding enabling webhook subscription via API. Thus the claims merely recite a description of the end desired result ("problem to be solved") and the scope of claims encompasses all techniques to attain that result ("all solutions") without describing how the terms are functionally related. A description that merely renders the invention obvious does not satisfy the requirement, Lockwood v. Am. Airlines, 107 F.3d 1565, 1571-72 (Fed. Cir. 1997). Appropriate correction is required.
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claim 4 rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Claim 4 recites the limitation "the average time response, the current length of chat conversation.." in last limitation. There is insufficient antecedent basis for this limitation in the claim. Appropriate correction is required.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-12 are rejected under 35 U.S.C. § 101 because the claimed invention is directed to a judicial exception (an abstract idea) without significantly more.
Step 1: Identifying Statutory Categories
In the instant case, claims 1-9 are directed to a method and claims 10-12 are directed to a system. Thus, the claims fall within one of the four statutory categories. Nevertheless, the claims fall within the judicial exception of an abstract idea.
Step 2A: Prong 1 Identifying a Judicial Exception
Under Step 2A, prong 1, Claims 1-12 are rejected under 35 U.S.C. 101 because the claimed invention recites an abstract idea without significantly more. Independent claims 1 and 10 recite methods for automatic chat routing including that starting a chat conversation by at least one end user; defining a status of incoming chat; checking availability of agents that are online; assigning the chat conversation to an available chat agent that has been in communication with the user at least once in the past; determining whether another agent is available within a time period and if the another agent is available assigning the chat conversation to a queue; routing to the another agent if the agents are not available; creating a ticket if neither the agents nor the another agent is unavailable; and wherein the definition of incoming chat may be either new for newly created conversation or returning for the end users that opens to continue the conversation; wherein the step of checking availability further comprises the steps of determining whether at least one of the agents and the another agent are online; have a queue of chats below predefined limit and are able to accept incoming chats based on predefined working hours and average efficiency of response. (Claim 10) chat display on a website and arranged on a chat provider infrastructure; save the data of chat conversations; chat operate both real-time and asynchronously.
These limitations as drafted, are a process that, under its broadest reasonable interpretation, covers methods of organizing human activity (including commercial interactions such as business relations, managing personal behavior or relationships or interactions between people (including social activities, teaching, and following rules or instructions) including interaction between person and computer), but for the recitation of generic computer components. That is, other than reciting the structural elements (such as Claim 1 chat widget on the website; claim 10 a first user processor to operate with the internet browser, a chat widget, a storage including web storage and on-server storage, a second user processor, an API), the claims are directed to routing chat based on agent availability. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation of organizing human activity but for the recitation of generic computer components, the claim recites an abstract idea.
Step 2A Prong 2 - This judicial exception is not integrated into a practical application because the claim merely describes how to generally “apply” the concept of receiving data, analyzing it, and providing chat routing. In particular, the claims only recites the additional element – Claim 1 chat widget on the website; claim 10 a first user processor to operate with the internet browser, a chat widget, a storage including web storage and on-server storage, a second user processor, an API). The additional elements are recited at a high-level of generality such that it amounts to no more than mere instructions to apply the exception using a generic computer component. Simply implementing the abstract idea on generic components is not a practical application of the abstract idea. Accordingly, these additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. a) The additional elements merely add the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea, as discussed in MPEP 2106.05(f).
The claims are directed to an abstract idea. When considered in combination, the claims do not amount to improvements to the functioning of a computer, or to any other technology or technical field, as discussed in MPEP 2106.05(a), applying the judicial exception with, or by use of, a particular machine, as discussed in MPEP 2106.05(b), effecting a transformation or reduction of a particular article to a different state or thing, as discussed in MPEP 2106.05(c), or applying or using the judicial exception in some other meaningful way beyond generally linking the use of the judicial exception to a particular technological environment, such that the claim as a whole is more than a drafting effort designed to monopolize the exception, as discussed in MPEP 2106.05(e). Accordingly, the additional elements do not integrate the abstract idea into a practical application because they does not impose any meaningful limits on practicing the abstract idea. Therefore, the claims are directed to an abstract idea.
Step 2B: Considering Additional Elements
The claimed invention is directed to an abstract idea without significantly more. The claim does not include additional elements that are sufficient to amount significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the claims describe how to generally “apply” to; provide chat routing based on agent availability. The claim(s) do not include additional elements that are sufficient to amount to significantly more than the judicial exception because mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. The independent claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. Even when viewed as a whole, nothing in the claim adds significantly more (i.e., an inventive concept) to the abstract idea. The claims are not patent eligible. The dependent claim(s) when analyzed as a whole are held to be patent ineligible under 35 U.S.C. 101 because the additional recited limitation(s) fail to establish that the claim(s) is/are not directed to an abstract idea. The dependent claims are not significantly more because they are part of the identified judicial exception. See MPEP 2106.05(g). The claims are not patent eligible. With respect to the (Claim 1) chat widget on the website; claim 10 a first user processor to operate with the internet browser, a chat widget, a storage including web storage and on-server storage, a second user processor, an API), these limitations are described in Applicant’s own specification as generic and conventional elements. See Applicants specification, Paragraph [0019] details “ chat widget 101. [0042] The storage is further composed of the at least one web storage (406) that is further used for the most frequent data accessed by the user to provide more efficient use of the processing velocity. To access the data least frequently accessed, the embodiment of the invention includes the on-server storage (407) that is further available on demand. [0041]401 processor accessing chat widget” These are basic computer elements applied merely to carry out data processing such as, discussed above, receiving, analyzing, transmitting and displaying data, which fall under well-understood, routine and conventional functions of generic computers. Furthermore, the use of such generic computers to receive or transmit data over a network has been identified as a well understood, routine and conventional activity by the courts. See Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information); TLI Communications LLC v. AVAuto. LLC, 823 F.3d 607, 610, 118 USPQ2d 1744, 1745 (Fed. Cir. 2016) (using a telephone for image transmission); Presenting offers and gathering statistics, OIP Techs., 788 F.3d at 1362-63, 115 USPQ2d at 1092-93, OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network); buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2014) (computer receives and sends information over a network); but see DDR Holdings, LLC v. Hotels.com, L.P., 773 F.3d 1245, 1258, 113 USPQ2d 1097, 1106 (Fed. Cir. 2014) ("Unlike the claims in Ultramercial, the claims at issue here specify how interactions with the Internet are manipulated to yield a desired result-a result that overrides the routine and conventional sequence of events ordinarily triggered by the click of a hyperlink." (emphasis added)); Also see MPEP 2106.05(d) discussing elements that the courts have recognized as well-understood, routine and conventional activities in particular fields. Lastly, the additional elements provides only a result-oriented solution which lacks details as to how the computer performs the claimed abstract idea. Therefore, the additional elements amount to mere instructions to apply the exception. See MPEP 2106.05(f).
Furthermore, these steps/components are not explicitly recited and therefore must be construed at the highest level of generality and are well-understood, routine and conventional limitations that amount to mere instructions to implement the abstract idea on a computer. Therefore, the claimed invention does not demonstrate a technologically rooted solution to a computer-centric problem or recite an improvement to another technology or technical field, an improvement to the function of any computer itself, applying the exception with, or by use of, a particular machine, effect a transformation or reduction of a particular article to a different state or thing, add a specific limitation other than what is well-understood, routine and conventional in the field, add unconventional steps that confine the claim to a particular useful application, or provide meaningful limitations beyond generally linking an abstract idea to a particular technological environment such as computing. Viewing the limitations as an ordered combination does not add anything further than looking at the limitations individually. Taking the additional claimed elements individually and in combination, the computer components at each step of the process perform purely generic computer functions. Viewed as a whole, the claims do not purport to improve the functioning of the computer itself, or to improve any other technology or technical field. Use of an unspecified, generic computer does not transform an abstract idea into a patent-eligible invention. Thus, the claim does not amount to significantly more than the abstract idea itself.
Dependent claims 2-9, and 11-12 add additional limitations, for example but these only serve to further limit the abstract idea, and hence are nonetheless directed towards fundamentally the same abstract
Claims 2-4 recite wherein the step of defining the status of incoming chat further comprises the steps of: checking if there was any communication with a particular end user prior to the incoming communication; checking if there was any communication with a particular end user prior to the incoming communication assigning the status of returning communication; and if there was no communication with a particular end user prior to the incoming communication, assigning the status of new communication; listing agents that are logged online; checking a queue status of each agent that is logged online; selecting the most efficient agent of those logged online, based on predefined conditions set up in a database calculated based on the round robin algorithm; assigning the chat to the agent; reassigning the chat to the agent in the case of previously selected agents becoming offline during the course of ongoing chat conversation; and wherein the step of checking queue status means comparing the maximum queue applicable to the agent according to predefined conditions set up in the database against current amount of pending chats; checking the status of incoming chat; checking availability of online agents; checking if there is availability for chat conversation routing; checking the work scheduler to determine working hours of the agent; prioritizing assigning the chat conversation to the agent that has been in communicating with the user beforehand; selecting another agent based on the efficiency score calculated as the likelihood of responsiveness to the user; routing the chat conversation to another agent if assigning the chat conversation to the agent that has been in communicating with the user beforehand is not possible; creating a ticket for the agent for asynchronous communication if it is impossible to rout the chat conversation; wherein the determination of the first user origin means checking the source of the user path as previously visited websites, geolocation, assignment of the user to a particular agent or group of agents in the database; wherein checking if there is availability of chat conversation routing is based on the agents available at the moment and on the blacklisted conversation users for particular agent; and wherein the likelihood of responsiveness to the use is calculated based on the average time response, current length of chat conversations until positive solution, overall chat rating and efficiency score. These limitations further narrow the abstract idea of claim 1 by defining how availability of agent is determined. The additional element of “round robin algorithm” is recited at ‘apply it “ level. The claims do not provide any new additional elements beyond abstract idea. Therefore, whether analyzed individually or as an ordered combination, they fail to integrate the abstract idea into a practical application or provide significantly more than the abstract idea.
Claims 5-9 recite wherein the step of assigning the chat conversation to the queue if the agent availability is calculated to be upcoming in a short period of time further comprises the evaluation of the time availability of agent that is below the predefined threshold saved in the database by the agent; the step of creating a queue of chats that are to be assigned to agents as soon as availability occurs; wherein the creating ticket further includes the steps of: defining the at least one first user details including contact details; displaying data input where the at least one first user can include message; saving the at least one first user details including contact details and message in the database; sending the at least one first user details including contact details and message via API to the external ticketing system; displaying to the agent information about the ticket created; and enabling the agent to respond either via chat widget or via email asynchronously; wherein the average efficiency of response is calculated based on the time and velocity of tickets solved by the agent; wherein the step of sending the at least one first user details including contact details and message via API to an external ticketing system comprises the step of exposing the endpoint enabling the ticketing system to receive such data or enabling webhook subscription that proactively send the information about ticket being generated to the ticketing system. These limitations further narrow the abstract idea of claim 1. The claims do not provide any new additional elements beyond abstract idea. Therefore, whether analyzed individually or as an ordered combination, they fail to integrate the abstract idea into a practical application or provide significantly more than the abstract idea.
Claims 11-12 recites operate on the most frequently requested data according to the average accessing frequency; operate on the least frequently requested data according to the average accessing frequency or on the most processing-consuming data; and wherein processing-consuming means data means data that due to size or complexity are likely to need more operating power from the server; the server infrastructure responsible for the business logic storage, web storage and on-server storage configured to operate with the chat widget. These limitations further narrow the abstract idea of claim 10. The claims do not provide any new additional elements beyond abstract idea. Therefore, whether analyzed individually or as an ordered combination, they fail to integrate the abstract idea into a practical application or provide significantly more than the abstract idea.
Therefore, dependent claims do not integrate into a practical application. As such, the additional elements individually or in combination do not integrate the exception into a practical application, but rather, the recitation of any additional element amounts to merely reciting the words “apply it” (or equivalent) with the judicial exception, or merely includes instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea (See MPEP 2106.05(f)). The dependent claims also do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of a computing system is merely being used to apply the abstract idea to a technological environment. These limitations do not include an improvement to another technology or technical field, an improvement to the functioning of the computer itself, or meaningful limitations beyond generally linking the use of the abstract idea to a particular technological environment. See MPEP 2106.05d. Thus, the claims do not add significantly more to an abstract idea. The claims are ineligible. Therefore, since there are no limitations in the claim that transform the exception into a patent eligible application such that the claim amounts to significantly more than the exception itself, the claims are rejected under 35 USC 101 as being directed to non-statutory subject matter. See (Alice Corporation Pty. Ltd. v. CLS Bank International, et al.).
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-2, 5-6 are rejected under 35 U.S.C. 103 as being unpatentable over Thomas et al. (US 2024/0257142 A1) in view of Howard (US 10,616,415 B1), further in view NPL Solved_ Offer user more options when live agent is unavailable - ServiceNow Community (2020) Hereafter called ServiceNow Community)
Regarding Claim 1. Thomas discloses the method for automatic chat routing ([0001] intent-aware virtual assistant chat routing.), the method comprising the steps of:
Thomas discloses starting a chat conversation by at least one end user via chat widget on the website (Fig 3 shows a chat widget 300, 304, [0034] Server computing device 106 establishes a chat-based communication session with client computing device 102a-102n via VA application 108a. [0036] As shown in FIG. 3, user interface 300 includes introductory messages 302 from VA application 108a to prompt the user at client computing device 102a-102n to interact with VA application 108a. User interface 300 also includes input element 304 that enables the user to enter messages and button 306 that can be activated by the user to transmit the entered message to VA application 108a as part of the chat session.);
Thomas discloses defining a status of incoming chat (Fig 3 # 302 select from commonly asked questions such as where can I see my tax forms, [0034] When the session is established, server computing device 106 can transmit one or more VA messages to client computing device 102a-102n that greet the user and ask the user how the VA application 108a can help.(status) [0035] during an automated chat session with VA application 108a, there may be a need to connect to a live agent or customer service representative for service. For example, if VA application 108a does not provide satisfactory information or answers, the user may want to speak to a live agent in order to resolve their queries. Typically, in order to request service from a live agent, the user at client computing device 102a-102n enters the request as a user message in the chat session. The user request can take any of a number of different forms or phrases—e.g., “speak with agent,” “contact us,” “live chat,” “talk to real person,” etc. (status), Fig 4 # 402 talk to person status);
Thomas discloses checking availability of agents that are online (Fig 7 # 702 connect to a live chat representative, [0052] routing decisions based upon availability of agents for certain intents or topics. Determine agent availability based upon at least the above considerations and route chat sessions accordingly (if possible) or provide an indication to the user that a live chat session is unavailable.);
Thomas discloses determining whether another agent is available within a time period ([0010] determining an agent availability based upon the captured topic comprises determining an agent service window associated with the captured topic, comparing a current time to the agent service window, and determining that no agents are available for the captured topic when the current time is outside the agent service window);
Thomas discloses routing to the message if the agents are not available ([0010] the server computing device presents alternative agent contact information in the chat-based communication session upon determining that no agents are available for the captured topic. Fig 9 #902 and [0053] user interface 900 of the chat-based communication session when VA application 108a determines that no agents are available after receiving a request for a live chat session. After the user submits message 902 for connection to a live agent, VA application 108a responds with a message 904 asking the user to try again at a different time., [0054] After the user selects a topic 1004 from list 1002, VA application 108a determines that no agents are available for live chat and responds with a message 1006 asking the user to call a customer service center. );
Thomas discloses wherein the definition of incoming chat may be either new for newly created conversation ([0041] FIG. 6 is a diagram of an exemplary user interface 600 for the chat-based communication session that shows an information request message (i.e., prompt 602) requesting details about the user's issue and the corresponding response 604 from the user. As shown, the user has entered the text “browser issue” as message 604) or returning for the end users that opens the chat widget to continue the conversation;
Thomas teaches wherein the step of checking availability further comprises the steps of determining whether at least one of the agents and the another agent are available ([0051] VA application 108a identifies a plurality of candidate agents based upon the topic value. For example, VA application 108a can scan agent profile information to determine one or more candidate agents that are assigned to a particular technology or product group that matches the selected topic. Using the list of candidate agents, VA application 108a can select one of the candidate agents to receive the chat-based communication session. VA application 108a then connects (step 210b) the agent computing device 112a-112n associated with the selected agent to the chat-based communication session.); have a queue of chats ([0050] one or more agents can be connected to multiple chat sessions with different users concurrently. For example, an agent may be capable of handling a plurality of chat sessions with intents that are labeled by NLP module 108b as low complexity. When selecting agents to receive a chat session, VA application 108a can determine that even though a given agent is currently connected to a session with a first user, that agent is eligible to receive a second chat session with another user (queue) because the intents associated with each of the chat sessions are associated with a certain complexity value.) and are able to accept incoming chats based on predefined working hours and average efficiency of response ([0052] the number of live agents available to service user requests may be lower or zero at certain times of day—for example, live agents may only be staffed to receive incoming chat requests during defined operating hours (e.g., 9:00 am to 7:00 pm) (working hours). Therefore, system 100 should be configured to determine agent availability based upon at least the above considerations and route chat sessions accordingly, [0048] VA application 108a can search agent profiles for a plurality of agents and identify a subset of those agents that are eligible or capable of handling a chat-based communication session associated with the identified intent. As mentioned above, the list of candidates can be further refined based upon the complexity value for the user intent. In some embodiments, VA application 108a determines a confidence level (i.e., a score that indicates the likelihood that the agent will be able to successfully service the user requests in the chat session) for each of the candidate agents using the complexity value (average efficiency of response)., [0049] Based upon the remaining candidate agents that are eligible to receive the chat session, VA application 108a selects an agent and connects (step 208b) an agent computing device 112a-112n associated with the selected agent to the chat-based communication session.)
Thomas does not specifically teach assigning the chat conversation to an available chat agent that has been in communication with the user at least once in the past; and if the another agent is available assigning the chat conversation to a queue; routing to the another agent if the agents are not available
Howard teaches assigning the chat conversation to an available chat agent that has been in communication with the user at least once in the past (Col 2 lines 51-58 a determination is made as to whether the communication is part of an existing chain of communications being conducted between the remote party and a particular agent of the plurality of agents assigned to handle communications placed in the selected treatment. If so, then the communication is placed in a queue associated with the particular agent and connected to the particular agent upon the agent becoming available., Col 6 lines 37-49 A given chain may switch from one chaining channel to another, for example from SMS to MMS, and either remain assigned to the same agent or be reassigned. As long as the same agent continues the interchange of communications, the chain is still assigned in various embodiments. In particular instances, if a chain is switched to a non-chaining channel, then the non-chaining channel communication may be treated as the final communication in the chain if it is directed to the same agent); and if the another agent is available assigning the chat conversation to a queue (Col 33 lines 4-15 the SAQS startup module determines whether another agent is available who is online and allocated to the treatment in Operation 630. If so, then the SAQS startup module returns to Operation 615 and selects the next agent, Col 36 lines 40-49 The SAQS offline agent module initially determines whether a chaining queue exists for the agent who is now offline for the treatment in Operation 915. If so, then the SAQS offline agent module determines whether any communications that have been assigned to the agent's queue remain in the queue in Operation 920. The reason for this check is that if any communications do remain in the queue, these communications need to be reassigned to other agents so that when the queue is deleted, they are not simply lost and never handled by an agent.); routing to the another agent if the agents are not available (Col 6 lines 40-50 An assigned chain may be returned to unassigned status in some circumstances, such as when the agent assigned completes his or her shift and leaves for a week's vacation. if a chain is switched to a non-chaining channel, then the non-chaining channel communication may be treated as the final communication in the chain if it is directed to the same agent. If the final communication is not directed to the same agent, then the chain may be considered to be terminated when the last chaining communication is completed. Col 36 lines 40-49 The SAQS offline agent module initially determines whether a chaining queue exists for the agent who is now offline for the treatment in Operation 915. If so, then the SAQS offline agent module determines whether any communications that have been assigned to the agent's queue remain in the queue in Operation 920. The reason for this check is that if any communications do remain in the queue, these communications need to be reassigned to other agents so that when the queue is deleted, they are not simply lost and never handled by an agent.);
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included assigning the chat conversation to an available chat agent that has been in communication with the user at least once in the past; and if the another agent is available assigning the chat conversation to a queue; routing to the another agent if the agents are not available, as disclosed by Howard in the system disclosed by Thomas, for the motivation of providing a method of determining whether the communication is part of an existing chain of communications being conducted between the remote party and a particular agent of the plurality of agents assigned to handle communications placed in the selected treatment. If so, then the communication is placed in a queue associated with the particular agent and connected to the particular agent upon the agent becoming available. (Col 2 lines 51-59 Howard)
Thomas does not specifically teach determining whether at least one of the agents and the another agent are online; have a queue of chats below predefined limit
Howard teaches determining whether at least one of the agents and the another agent are online (Col 35 lines 43-54 the SAQS new agent module receiving a notice of the agent assigned to the treatment coming online for the first time that workday in Operation 810. For instance, in particular embodiments, the agent may log into his or her workstation and the call handler 150 is notified that the agent is now logged in and available to handle communications for the contact center. Accordingly, the call handler 150 may notify the TEF handling a treatment the agent is assigned to. The TEF (or SAQS) may respond by invoking the SAQS new agent module and providing the module with a notice of the agent becoming available for the treatment.) ; have a queue of chats below predefined limit (Col 3 lines 15-20 a determination may be made as to whether the target agent has a capacity for handling the communication prior to placing the communication in the queue associated with the target agent. The determination may be based on a virtualization discipline that includes a set of constraints (predefined limit) placed on the target agent with respect to what combinations and numbers of communications from different channels of communication the target agent may handle concurrently. Col 35 lines 55-60 The SAQS new agent module responds to the notice by determining whether the agent handles one or more chaining channels for the treatment in Operation 815. If so, then the SAQS new agent module creates a queue for the agent in Operation 820., Col 8 lines 24-40 an agent is often only allowed to handle a defined maximum number of communications using that channel concurrently (see virtualization discipline below). Thus, the potential virtual agent pool for a treatment, channel, and time is all the possible virtual agents that could exist simultaneously if each of the treatment's online agents who handle the channel spawned their maximum allowed number of concurrent virtual agents for that channel. For example, if a treatment currently has three online agents of which only two of the agents can handle the chat channel, with the first of those two agents being allowed to handle two chats concurrently and the second of those two agents being allowed to handle one chat at a time (below threshold), then the treatment's potential virtual agent pool for the chat channel includes three potential virtual agents.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included determining whether at least one of the agents and the another agent are online; have a queue of chats below predefined limit, as disclosed by Howard in the system disclosed by Thomas, for the motivation of providing a method of receiving a notice of the agent assigned to the treatment coming online for the first time that workday (Col 35 lines 43-54 Howard) and determining whether the target agent has a capacity for handling the communication prior to placing the communication in the queue associated with the target agent. (Col 3 lines 15-20 Howard)
Thomas/Howard do not teach creating a ticket if neither the agents nor the another agent is unavailable. However, Howard teaches the communications handler 150 may place a call in a queue if there are no suitable agents available to handle the call, and/or the handler 150 may route the call to an interactive voice response system (e.g., server) (“IVR”) (not shown) to play voice prompts. In particular embodiments, these prompts may be defined to be in a menu type structure and the IVR may collect and analyze responses from the party in the form of dual-tone multiple frequency (“DMTF”) tones and/or speech. (Col 21 lines 27-35)
ServiceNow Community teaches creating a ticket if neither the agents nor the another agent is unavailable (Page 2 Next, in the workflow you can show a static choice of these 2 options(This will run only when the live agent is not available). So, once the user selects:1) Create a Ticket workflow 2) Show all the topics again) Page 4 the VA to offer additional option in case the live agent is unavailable. vaSystem.isLiveAgentAvailable() agent is unavailable. method is used to verify if Live Agent is available Page 6 if chat agents are not available, then allow the user to choose between the below 2 options. There are User input controls that I'm hoping to be able to use in order to prompt the user to select from available options: Trying a new search OR Opening a case)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included creating a ticket if neither the agents nor the another agent is unavailable, as disclosed by ServiceNow Community in the system disclosed by Thomas/Howard, for the motivation of providing a method of allowing the user to choose between the below 2 options if chat agents are not available including Trying a new search OR Opening a case (Page 6 ServiceNow Community)
Regarding Claim 2. Thomas as modified by Howard/ServiceNow Community teaches the method according to claim 1, wherein the step of defining the status of incoming chat further comprises the steps of:
Thomas does not teach checking if there was any communication with a particular end user prior to the incoming communication; checking if there was any communication with a particular end user prior to the incoming communication assigning the status of returning communication; and if there was no communication with a particular end user prior to the incoming communication, assigning the status of new communication.
Howard teaches checking if there was any communication with a particular end user prior to the incoming communication (Col 2 lines 51-58 a determination is made as to whether the communication is part of an existing chain of communications being conducted between the remote party and a particular agent of the plurality of agents assigned to handle communications placed in the selected treatment. If so, then the communication is placed in a queue associated with the particular agent and connected to the particular agent upon the agent becoming available.); checking if there was any communication with a particular end user prior to the incoming communication assigning the status of returning communication (Col 27 lines 35-42determining whether the communication is part of an existing chain of communications in Operation 340. In other words, the SAQS 330 determines whether the communication is involved in an existing exchange of communications assigned to an agent that is taking place between that agent and a remote party. The particular party who sent the email is already engaged in an exchange of emails with a particular agent of the contact center. Normally, the contact center would want the received email to be sent to the particular agent already engaged in the exchange of emails with the party for continuity reasons. Thus, if the SAQS 330 determines the communication is part of an existing chain, then the SAQS 330 identifies the assigned agent involved in the chain in Operation 345. (return status)) ; and if there was no communication with a particular end user prior to the incoming communication, assigning the status of new communication (Col 27 lines 56-65 However, if the communication is not part of an existing chain (new communication), then the SAQS 330 goes about identifying and assigning an agent to the communication in Operation 350. Generally speaking, the SAQS 330 performs this operation in various embodiments by attempting to match the communication with an appropriate agent who is authorized to handle the communication's channel by considering the value of the communication and ranking of the agent for that channel.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included checking if there was any communication with a particular end user prior to the incoming communication; checking if there was any communication with a particular end user prior to the incoming communication assigning the status of returning communication; and if there was no communication with a particular end user prior to the incoming communication, assigning the status of new communication., as disclosed by Howard in the system disclosed by Thomas, for the motivation of providing a method of receiving a notice of the agent assigned to the treatment coming online for the first time that workday (Col 35 lines 43-54 Howard) and determining whether the target agent has a capacity for handling the communication prior to placing the communication in the queue associated with the target agent. (Col 3 lines 15-20 Howard)
Regarding Claim 5. Thomas as modified by Howard/ServiceNow Community teaches the method according to claim 1
Thomas does not teach wherein the step of assigning the chat conversation to the queue if the agent availability is calculated to be upcoming in a short period of time further comprises the evaluation of the time availability of agent that is below the predefined threshold saved in the database by the agent. However, Thomas teaches determining availability by comparing work schedule ([0053] VA application 108a can compare a timestamp of the live chat session request from the client computing device 102a-102n to a data structure that contains the operating hours for one or more live agents or live agent groups. VA application 108a confirms that the timestamp is outside of the operating hours range (below threshold). As a result, VA application 108a can display a graceful error message to the user. FIG. 9 is a diagram of an exemplary user interface 900 of the chat-based communication session when VA application 108a determines that no agents are available after receiving a request for a live chat session.)
Howard teaches wherein the step of assigning the chat conversation to the queue if the agent availability is calculated to be upcoming in a short period of time further comprises the evaluation of the time availability of agent that is below the predefined threshold saved in the database by the agent. (Col 2 lines 52-58 the communication is placed in a queue associated with the particular agent and connected to the particular agent upon the agent becoming available. Fig 3 # 355 wait in assigned agents queue, Col 14 lines 30-36 Given a selected wait time and the communication value threshold for a selected percentage of all the communications of a queue, the average (mean) wait time in the queue of the communications in the corresponding applicable set must not exceed that selected wait time Col 28 lines 2-6, 13-20 the agent that appropriately matches up with the value of the communication may currently have five other communications assigned to the agent sitting in the agent's queue. At this point, the SAQS 330 places the communication in the selected agent's queue in Operation 355. Therefore, the communication waits in the agent's queue until the agent becomes available to handle the communication. Col 17 lines24-30 determining which communications handled by the queue made use of the given channel and were connected to an agent during the selected window of time)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included the evaluation of the time availability of agent that is below the predefined threshold saved in the database by the agent, as disclosed by Howard in the system disclosed by Thomas, for the motivation of providing a method of selecting treatment includes a plurality of range intervals in which each range interval includes a communication value range and has one or more agents who are assigned to the range interval from a plurality of agents who handle communications placed in the selected treatment. (Col 2 lines 40-46 Howard)
Regarding Claim 6. Thomas as modified by Howard/ServiceNow Community teaches the method according to claim 1 wherein the step of assigning the chat conversation to the queue if the agent availability further includes
Thomas does not teach the step of creating a queue of chats that are to be assigned to agents as soon as availability occurs.
Howard teaches the step of creating a queue of chats that are to be assigned to agents as soon as availability occurs (Col 2 lines 52-58 the communication is placed in a queue associated with the particular agent and connected to the particular agent upon the agent becoming available. Fig 3 # 355 wait in assigned agents queue, Col 28 lines 2-6, 13-20 the agent that appropriately matches up with the value of the communication may currently have five other communications assigned to the agent sitting in the agent's queue. At this point, the SAQS 330 places the communication in the selected agent's queue in Operation 355. Therefore, the communication waits in the agent's queue until the agent becomes available to handle the communication. )
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included creating a queue of chats that are to be assigned to agents as soon as availability occurs, as disclosed by Howard in the system disclosed by Thomas, for the motivation of providing a method of selecting treatment includes a plurality of range intervals in which each range interval includes a communication value range and has one or more agents who are assigned to the range interval from a plurality of agents who handle communications placed in the selected treatment. (Col 2 lines 40-46 Howard)
Claim 3 is rejected under 35 U.S.C. 103 as being unpatentable over Thomas et al. (US 2024/0257142 A1) in view of Howard (US 10,616,415 B1), further in view NPL Solved_ Offer user more options when live agent is unavailable - ServiceNow Community (2020) Hereafter called ServiceNow Community) as applied to claim 1, further in view of Kumar (US 9,313,332 B2)
Regarding Claim 3. Thomas as modified by Howard/ServiceNow Community teaches the method according to claim 1, wherein the step of checking availability of agents that are online further comprises the steps of:
Thomas does not teach listing agents that are logged online; checking a queue status of each agent that is logged online; selecting the most efficient agent of those logged online, based on predefined conditions set up in a database calculated based on the round robin algorithm; assigning the chat to the agent; reassigning the chat to the agent in the case of previously selected agents becoming offline during the course of ongoing chat conversation; and wherein the step of checking queue status means comparing the maximum queue applicable to the agent according to predefined conditions set up in the database against current amount of pending chats.
Howard teaches listing agents that are logged online (Col 35 lines 43-54 the SAQS new agent module receiving a notice of the agent assigned to the treatment coming online for the first time that workday in Operation 810. For instance, in particular embodiments, the agent may log into his or her workstation and the call handler 150 is notified that the agent is now logged in and available to handle communications for the contact center. Accordingly, the call handler 150 may notify the TEF handling a treatment the agent is assigned to. The TEF (or SAQS) may respond by invoking the SAQS new agent module and providing the module with a notice of the agent becoming available for the treatment); checking a queue status of each agent that is logged online (Col 3 lines 15-20 a determination may be made as to whether the target agent has a capacity for handling the communication prior to placing the communication in the queue associated with the target agent. The determination may be based on a virtualization discipline that includes a set of constraints (predefined limit) placed on the target agent with respect to what combinations and numbers of communications from different channels of communication the target agent may handle concurrently. Col 35 lines 55-60 The SAQS new agent module responds to the notice by determining whether the agent handles one or more chaining channels for the treatment in Operation 815. If so, then the SAQS new agent module creates a queue for the agent in Operation 820., Col 8 lines 24-40 an agent is often only allowed to handle a defined maximum number of communications using that channel concurrently (see virtualization discipline below). Thus, the potential virtual agent pool for a treatment, channel, and time is all the possible virtual agents that could exist simultaneously if each of the treatment's online agents who handle the channel spawned their maximum allowed number of concurrent virtual agents for that channel. For example, if a treatment currently has three online agents of which only two of the agents can handle the chat channel, with the first of those two agents being allowed to handle two chats concurrently and the second of those two agents being allowed to handle one chat at a time (below threshold), then the treatment's potential virtual agent pool for the chat channel includes three potential virtual agents); selecting the most efficient agent of those logged online, based on predefined conditions set up in a database calculated based on the algorithm (Col 2 lines 59-67 if the communication is not part of an existing chain of communications, then a communication value is determined for the communication that defines an expected payback from applying the selected treatment to the communication and a particular range interval is identified from the plurality of range intervals for the selected treatment based on the determined communication value being within the value range for the particular range interval. At that point, a target agent is identified from the one or more agents who are assigned to the particular range interval based on a matchup score for the particular agent. Col 3 lines 6-12 the matchup score may be based on indication of how suitable the personality and/or the engagement style of the target agent is with the remote party. Once the target agent has been identified, the communication is placed in a queue associated with the target agent and connected to the agent upon him or her becoming available.); assigning the chat to the agent (Col 3 lines 6-12 the matchup score may be based on indication of how suitable the personality and/or the engagement style of the target agent is with the remote party. Once the target agent has been identified, the communication is placed in a queue associated with the target agent and connected to the agent upon him or her becoming available.); reassigning the chat to the agent in the case of previously selected agents becoming offline during the course of ongoing chat conversation (Col 36 lines 6-14 there may be occurrences after a treatment has been started when an agent may go offline and is no longer available for handling chaining communications for the treatment. For example, an agent may become ill during a work shift and may decide to go home for the day, or an agent may complete their shift normally and leave for the day. Col 36 lines 40-49 determines whether a chaining queue exists for the agent who is now offline for the treatment in Operation 915. If so, then the SAQS offline agent module determines whether any communications that have been assigned to the agent's queue remain in the queue in Operation 920. The reason for this check is that if any communications do remain in the queue, these communications need to be reassigned to other agents so that when the queue is deleted, they are not simply lost and never handled by an agent.); and wherein the step of checking queue status means comparing the maximum queue applicable to the agent according to predefined conditions set up in the database against current amount of pending chats (Col 36 50-59 if communications do remain in the agent's queue, the SAQS offline agent module reassigns these communications to one or more other agents' queues in Operation 925. As further detailed herein, the SAQS offline agent module performs this particular operation in various embodiments by attempting to reassign the communications to the most appropriate agents based on the values of the communications, the value range intervals assigned to the agents who are handling the corresponding chaining channels, and the availability of these agents. Col 8 lines 35-45 The headcount for a treatment's potential virtual agent pool of a given channel is the sum of the maximum number of communications of the given channel that can be handled concurrently by each of the treatment's online agents who handle the channel. For example, if a treatment currently has three online agents of which only two of the agents can handle the chat channel, with the first of those two agents being allowed to handle two chats concurrently and the second of those two agents being allowed to handle one chat at a time, then the treatment's potential virtual agent pool for the chat channel includes three potential virtual agents. Col 3 lines 14-22 a determination may be made in various embodiments as to whether the target agent has a capacity (maximum queue) for handling the communication prior to placing the communication in the queue associated with the target agent. For instance, in particular embodiments, the determination may be based on a virtualization discipline that includes a set of constraints placed on the target agent with respect to what combinations and numbers of communications from different channels of communication the target agent may handle concurrently.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included listing agents that are logged online; checking a queue status of each agent that is logged online; selecting the most efficient agent of those logged online, based on predefined conditions set up in a database calculated based on the round robin algorithm; assigning the chat to the agent; reassigning the chat to the agent in the case of previously selected agents becoming offline during the course of ongoing chat conversation; and wherein the step of checking queue status means comparing the maximum queue applicable to the agent according to predefined conditions set up in the database against current amount of pending chats, as disclosed by Howard in the system disclosed by Thomas, for the motivation of providing a method of receiving a notice of the agent assigned to the treatment coming online for the first time that workday (Col 35 lines 43-54 Howard) and determining whether the target agent has a capacity for handling the communication prior to placing the communication in the queue associated with the target agent. (Col 3 lines 15-20 Howard) for routing a communication (Col 2 lines 35-40 Howard)
Thomas/Howard do not specifically teach round robin algorithm
Kumar teaches routing based round robin algorithm (Fig 6 # 620 routing based on round robin algorithm and Col 53 lines 18-22 system for selecting a human agent for routing user communications based on different agent selection options. Col 54 lines 1-10 ) The contact handling platform 130 uses the process 620 when the content provider has selected the option “Hunt/Round Robin” using instructions 256 on page 240. At 622, the contact handling platform identifies the next available agent based on a Round Robin algorithm. )
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included routing based round robin algorithm, as disclosed by Kumar in the system disclosed by Thomas/Howard/ServiceNow Community, for the motivation of providing a method of selecting the next available agent based on a round robin algorithm and connecting user to agent (Col 54 lines 1-5 Kumar)
Claims 4, 8 are rejected under 35 U.S.C. 103 as being unpatentable over Thomas et al. (US 2024/0257142 A1) in view of Howard (US 10,616,415 B1), further in view NPL Solved_ Offer user more options when live agent is unavailable - ServiceNow Community (2020) Hereafter called ServiceNow Community) as applied to claim 1, further in view of Booher (US 2022/0207538)
Regarding Claim 4. Thomas as modified by Howard/ServiceNow Community teaches the method according to claim 1, wherein the step of assigning the chat further comprises the steps of:
Thomas teaches checking the status of incoming chat ([0034] if VA application 108a does not provide satisfactory information or answers, the user may want to speak to a live agent in order to resolve their queries. Typically, in order to request service from a live agent, the user at client computing device 102a-102n enters the request as a user message in the chat session. The user request can take any of a number of different forms or phrases—e.g., “speak with agent,” “contact us,” “live chat,” “talk to real person,” etc. (status), Fig 4 # 402 talk to person status);
Thomas teaches checking availability of online agents ([0052] routing decisions based upon availability of agents for certain intents or topics [0053]determination of agent availability occurs upon initiation of the request for a live chat session by the user at client computing device 102a-102n.);
Thomas teaches checking if there is availability for chat conversation routing ([0052]routing of chat sessions that are associated with high priority intents/topics and/or those intents/topics for which agents are required to be available at all times (e.g., due to regulatory or business considerations). Also, the number of live agents available to service user requests may be lower or zero at certain times of day—for example, live agents may only be staffed to receive incoming chat requests during defined operating hours (e.g., 9:00 am to 7:00 pm). determine agent availability based upon at least the above considerations and route chat sessions accordingly, Fig 8 # 802-804 chat routing);
Thomas teaches checking the work scheduler to determine working hours of the agent ([0053] VA application 108a can compare a timestamp of the live chat session request from the client computing device 102a-102n to a data structure that contains the operating hours for one or more live agents or live agent groups). ;
Thomas does not specifically teach prioritizing assigning the chat conversation to the agent that has been in communicating with the user beforehand; selecting another agent based on an efficiency score calculated as the likelihood of responsiveness to the user; routing the chat conversation to another agent if assigning the chat conversation to the agent that has been in communicating with the user beforehand is not possible; creating a ticket for the agent for asynchronous communication if it is impossible to route the chat conversation; wherein the determination of the first user origin means checking the source of the user path as previously visited websites, geolocation, assignment of the user to a particular agent or group of agents in the database; wherein checking if there is availability of chat conversation routing is based on the agents available at the moment and on the blacklisted conversation users for particular agent; and wherein the likelihood of responsiveness to the user is calculated based on the at least one of average time response, current length of chat conversations until positive solution, overall chat rating and efficiency score. However, Thomas teaches wherein the determination of the first user origin means checking the source of the user path as previously visited websites ([0032] the user can interact with the application to access one or more websites and/or webpages (either internally or externally hosted) in order to view information and submit queries for retrieval of additional information. In one embodiment, the user of client computing device 102a-102n is a customer accessing a company website to retrieve information (e.g., product information, account information, customer service information, and the like)., [0033]-[0034])
Howard teaches prioritizing assigning the chat conversation to the agent that has been in communicating with the user beforehand (Col 2 lines 51-58 a determination is made as to whether the communication is part of an existing chain of communications being conducted between the remote party and a particular agent of the plurality of agents assigned to handle communications placed in the selected treatment. If so, then the communication is placed in a queue associated with the particular agent and connected to the particular agent upon the agent becoming available.); selecting another agent based on an efficiency score calculated as the likelihood of responsiveness to the user (Col 6 lines 35-50A chain whose ongoing sequence of inbound communications are not addressed to a specific agent may remain unassigned until an assignment is made or the chain terminates. An assigned chain may be returned to unassigned status in some circumstances, such as when the agent assigned completes his or her shift and leaves for a week's vacation. A given chain may switch from one chaining channel to another, for example from SMS to MMS, and either remain assigned to the same agent or be reassigned. As long as the same agent continues the interchange of communications, the chain is still assigned in various embodiments. In particular instances, if a chain is switched to a non-chaining channel, then the non-chaining channel communication may be treated as the final communication in the chain if it is directed to the same agent. If the final communication is not directed to the same agent (select another agent), then the chain may be considered to be terminated when the last chaining communication is completed.); routing the chat conversation to another agent if assigning the chat conversation to the agent that has been in communicating with the user beforehand is not possible (Col 6 lines 40-50 An assigned chain may be returned to unassigned status in some circumstances, such as when the agent assigned completes his or her shift and leaves for a week's vacation. if a chain is switched to a non-chaining channel, then the non-chaining channel communication may be treated as the final communication in the chain if it is directed to the same agent. If the final communication is not directed to the same agent, then the chain may be considered to be terminated when the last chaining communication is completed. Col 36 lines 40-49 The SAQS offline agent module initially determines whether a chaining queue exists for the agent who is now offline for the treatment in Operation 915. If so, then the SAQS offline agent module determines whether any communications that have been assigned to the agent's queue remain in the queue in Operation 920. The reason for this check is that if any communications do remain in the queue, these communications need to be reassigned to other agents so that when the queue is deleted, they are not simply lost and never handled by an agent); checking the assignment of the user to a particular agent or group of agents in the database (Col 1 lines 13-28 The first of these questions is what are the best treatments to institute for handling the communications? A treatment is considered a process used to conduct a particular communication. For example, a contact center may define a treatment that involves having telephone calls from remote parties who primarily speak Spanish handled by agents working for the contact center who also primarily speak Spanish. a contact center applies some set of criteria and/or associated business rules to select the best treatment for a particular communication. This can be as simple as routing a communication to an agent who speaks the same language as the remote party involved with the communication or as complex as making use of predictive models); wherein checking if there is availability of chat conversation routing is based on the agents available at the moment (Col 35 lines 43-54 the SAQS new agent module receiving a notice of the agent assigned to the treatment coming online for the first time that workday in Operation 810. For instance, in particular embodiments, the agent may log into his or her workstation and the call handler 150 is notified that the agent is now logged in and available to handle communications for the contact center. Accordingly, the call handler 150 may notify the TEF handling a treatment the agent is assigned to. The TEF (or SAQS) may respond by invoking the SAQS new agent module and providing the module with a notice of the agent becoming available for the treatment); and wherein the likelihood of responsiveness is calculated based on the time response, and efficiency score. (Col 11 lines 48-60 The matchup score (efficiency score) provides a measure of how well the agent is matched to the other person involved in the communication. For instance, the matchup score may indicate how suitable the personality or engagement style of the agent is for a given communication. A more suitable matchup implies a better chance of the goal associated with the treatment's chosen communication value being achieved. The higher the matchup score, the better the matchup. Note that in particular instances, the matchup score may be channel dependent. For example, a given agent's style on voice communications may indicate a good matchup for a voice communication involving a particular party, yet that same agent's style on text messaging may indicate a poorer matchup for a texting communication with the same party., Col 78 lines 48-58 the wait time threshold selected for each queue other than the highest queue is typically never less than the wait time threshold selected for the queue immediately above (higher than) it. The reason being that higher queues provide service for communications that have communication values greater than the communications values of communications serviced by lower queues, and faster response times are generally desirable for higher queues as a result.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included prioritizing assigning the chat conversation to the agent that has been in communicating with the user beforehand; selecting another agent based on the efficiency score calculated as the likelihood of responsiveness to the user; routing the chat conversation to another agent if assigning the chat conversation to the agent that has been in communicating with the user beforehand is not possible; checking the assignment of the user to a particular agent or group of agents in the database; wherein checking if there is availability of chat conversation routing is based on the agents available at the moment; and wherein the likelihood of responsiveness to the use is calculated based on the time response, and efficiency score., as disclosed by Howard in the system disclosed by Thomas, for the motivation of providing a method of receiving a notice of the agent assigned to the treatment coming online for the first time that workday (Col 35 lines 43-54 Howard) and determining whether the target agent has a capacity for handling the communication prior to placing the communication in the queue associated with the target agent. (Col 3 lines 15-20 Howard) for routing a communication (Col 2 lines 35-40 Howard)
Thomas/Howard do not teach wherein the determination of the first user origin means checking the source of the user path as previously visited websites, geolocation, assignment of the user to a particular agent or group of agents in the database wherein checking if there is availability of chat conversation routing is based on the agents available at the moment and on the blacklisted conversation users for particular agent; and wherein the likelihood of responsiveness to the user is calculated based on at least one of the average time response, current length of chat conversations until positive solution, overall chat rating and efficiency score
Booher teaches wherein the determination of the first user origin means checking the source of the user path as previously visited websites, geolocation, assignment of the user to a particular agent or group of agents in the database ([0046] the request is associated with an issue history of the customer and/or the customer device 110, and indicates prior issues, satisfaction ratings, and/or message content for the customer relating to prior conversations, [0047] the controller 124 categorizes the issue. In one embodiment, this comprises identifying a product or service that the issue pertains to. Controller 124 may identify the product or service by reviewing metadata within the request, reviewing the title of the request, determining a referring website address, and/or via other means. In this embodiment, categorizing the issue also includes determining a complexity of the issue, referred to herein as an “issue complexity.” , [0048] Call centers 130 may be filtered based on tags indicating their proficiency with different products or services. Controller 124 may then choose the call center 130 that is geographically closest to the customer, is open, and has at least a minimum level of proficiency with the associated product or service.); wherein checking if there is availability of chat conversation routing is based on the agents available at the moment and on the blacklisted conversation users for particular agent ([0050] a call center-level implementation of “skill-based” routing, wherein customers are connected to agents who are subject matter experts. [0052] For example, if a customer has a history of being dissatisfied (blacklisted) with the support provided for their inquiries, or is indicated in a profile as a Very Important Person (VIP), a specialized call center may be chosen that has additional expertise in a product or issue, is particularly expeditious, etc. For example, controller 124 may select a “high touch” call center to provide a customer with an additional level of service. High-touch call centers tend to be more expensive (due to additional agent training) and have fewer available agents, and hence allowing controller 124 to select such call centers only in response to detecting special characteristics of a customer helps to save cost., [0053] In step 212, an agent from the call center 130 is chosen. An agent is chosen based on whether the agent is available. In one embodiment, this comprises selecting an agent that is logged in, connected, and that is not currently at capacity for handling issues); and wherein the likelihood of responsiveness to the user is calculated based on at least one of the average time response, current length of chat conversations until positive solution, overall chat rating and efficiency score. ([0053] An agent is chosen based on whether the agent is available. In one embodiment, this comprises selecting an agent that is logged in, connected, and that is not currently at capacity for handling issues. Furthermore, an agent may be selected based on their ability to interact in a language known by the customer. With the agent known, controller 124 accesses an agent device 132 (e.g., laptop, desktop, tablet, cellular phone, etc.) operated by the agent., [0054] agents are classified based on whether they are logged into the issue coordination server 120, currently connected to the issue coordination server 120, and/or available (e.g., under capacity). In still further embodiments, memory 126 stores information indicating languages spoken by agents, effectiveness scores of agents, a list of areas of expertise of agents (e.g., on a product-by-product or service-by-service basis), and other information.), [0056] The physical/geographic locations of these data centers may be chosen to enhance response times, on a client-by-client basis. For example, a datacenter pertaining to a first client may be located in Asia to facilitate response times for a customer, [0059] each agent response during a conversation is tracked to determine whether or not it is provided within a threshold period of time, but the threshold period is dynamically altered/configurable based on the method of communication, and may be adjusted on a message-by-message basis. (current length of conversation). AES is then scored as a percentage of responses for a conversation within the threshold for the method of communication (i.e., responses that are flagged as “acceptable” based on response time, [0106] issue coordination server 120 is capable of monitoring the responsiveness of customers and agents for each conversation to within a fine level of detail (e.g., to within a hundredth of a second or less), and may even perform these operations in real-time on a message-by-message (chat rating)).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included wherein the determination of the first user origin means checking the source of the user path as previously visited websites, geolocation, assignment of the user to a particular agent or group of agents in the database wherein checking if there is availability of chat conversation routing is based on the agents available at the moment and on the blacklisted conversation users for particular agent; and wherein the likelihood of responsiveness to the use is calculated based on the average time response, current length of chat conversations until positive solution, overall chat rating and efficiency score, as disclosed by Booher in the system disclosed by Thomas/Howard/ServiceNow Community, for the motivation of providing a method of tracking and analysis of messages to facilitate the calculation or updating of an AES for the agent. ([0058] Booher) and communications are routed and issue coordination server 120 is capable of monitoring the responsiveness of customers and agents for each conversation to within a fine level of detail ([0106] Booher)
Thomas/Howard/Booher do not teach creating a ticket for the agent for asynchronous communication if it is impossible to rout the chat conversation. However, Howard teaches the communications handler 150 may place a call in a queue if there are no suitable agents available to handle the call, and/or the handler 150 may route the call to an interactive voice response system (e.g., server) (“IVR”) (not shown) to play voice prompts. In particular embodiments, these prompts may be defined to be in a menu type structure and the IVR may collect and analyze responses from the party in the form of dual-tone multiple frequency (“DMTF”) tones and/or speech. (Col 21 lines 27-35)
ServiceNow Community teaches creating a ticket for the agent for asynchronous communication if it is impossible to route the chat conversation (Page 2 Next, in the workflow you can show a static choice of these 2 options(This will run only when the live agent is not available). So, once the user selects:1) Create a Ticket workflow 2) Show all the topics again) Page 4 the VA to offer additional option in case the live agent is unavailable. vaSystem.isLiveAgentAvailable() agent is unavailable. method is used to verify if Live Agent is available Page 6 if chat agents are not available, then allow the user to choose between the below 2 options. There are User input controls that I'm hoping to be able to use in order to prompt the user to select from available options: Trying a new search OR Opening a case)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included creating a ticket for the agent for asynchronous communication if it is impossible to rout the chat conversation, as disclosed by ServiceNow Community in the system disclosed by Thomas/Howard, for the motivation of providing a method of allowing the user to choose between the below 2 options if chat agents are not available including Trying a new search OR Opening a case (Page 6 ServiceNow Community)
Regarding Claim 8. Thomas as modified by Howard/ServiceNow Community teaches the method according to claim 1,
Thomas does not teach wherein the average efficiency of response is calculated based on the time and velocity of tickets solved by the agent.
Booher teaches wherein the average efficiency of response is calculated based on the time and velocity of tickets solved by the agent. ([0008] calculates an effectiveness score for the agent based on a number of agent responses that were provided within the permitted time period during the conversation, updates a profile for the agent with the effectiveness score, and uses the effectiveness score as criteria for selecting the agent for participation in future conversations., Fig 4 # 412 calculate effectiveness of agent based on complexity and times, [0059] AES is then scored as a percentage of responses for a conversation within the threshold for the method of communication (i.e., responses that are flagged as “acceptable” based on response time), [0102] average the effectiveness score for the conversation with other effectiveness scores for the agent for other conversations. This may be performed across all conversations for the agent, conversations for a specific product and/or issue, conversations during a specific time period (e.g., the last thirty days on a rolling basis, etc.), etc.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included wherein the average efficiency of response is calculated based on the time and velocity of tickets solved by the agent, as disclosed by Booher in the system disclosed by Thomas, for the motivation of providing a method of tracking and analysis of messages to facilitate the calculation or updating of an AES for the agent. ([0058] Booher)
Claim 7 is rejected under 35 U.S.C. 103 as being unpatentable over Thomas et al. (US 2024/0257142 A1) in view of Howard (US 10,616,415 B1), further in view NPL Solved_ Offer user more options when live agent is unavailable - ServiceNow Community (2020) Hereafter called ServiceNow Community) as applied to claim 1, further in view of Chan (US 2019/0197457)
Regarding Claim 7. Thomas as modified by Howard/ServiceNow Community teaches the method according to claim 1 wherein the creating ticket further includes the steps of:
Thomas teaches defining the at least one first user details including contact details ([0009] the user context comprises one or more of: profile information associated with the user of the client computing device, device information associated with the client computing device (contact detail), or a contact channel associated with the chat-based communication session.);
Thomas teaches displaying data input where the at least one first user can include message ([0009] the server computing device captures a user context associated with the chat-based communication session and identifies the user intent associated with the user message);
Thomas teaches saving the at least one first user details including contact details and message in the database ([0030] generates a prediction of user intent associated with the user message based upon its training on historical user messages and known intents for those historical messages., [0039] user-specific profile information (e.g., demographics, accounts or products registered to the user, transaction history, etc.), prior chat exchanges between the user and the VA during the session, etc.);
Thomas teaches sending the at least one first user details including contact details and message via API to the system ([0041] VA application 108a can transmit the user message to NLP module 108b by initiating an application programming interface (API) call to NLP module, where the call includes the user message as a parameter or in a payload packet of the transmission. While the user intent is identified and an agent is selected to participate in the chat-based communication session, VA application 108a can inform the user that the connection is taking place.);
Thomas does not specifically teach external ticketing system; displaying to the agent information about the ticket created; and enabling the agent to respond either via chat widget or via email asynchronously.
Chan teaches external ticketing system (Fig 1 # 122 ticketing system, Fig 2 # 212 ticket creation, [0037] Help center 120 organizes customer issues using a ticketing system 122, which generates tickets to represent each customer issue. Ticketing systems are typically associated with a physical or virtual “help center” (or “help desk”) for resolving customer problems., [0038] Ticketing system 122 comprises a set of software resources that enable a customer to resolve an issue. ticket can include a ticket identifier, and information (or links to information) associated with the problem. For example, this information can include: (1) information about the problem; (2) customer information for one or more customers who are affected by the problem; (3) agent information for one or more customer-service agents who are interacting with the customer; (4) email and other electronic communications about the problem (which, for example, can include a question posed by a customer about the problem); (5) information about telephone calls associated with the problem); displaying to the agent information about the ticket created (Fig 5 # 516 and [0046] the matching subset comprises tickets for which the agent possesses a superset of the required skills that the ticket is tagged with (step 514). The system then presents the matching subset of tickets to the agent through a user interface (UI) (step 516), and allows the agent to operate the UI to select a ticket from the matching subset of the set of tickets to be processed, Fig 5C #530 present the ticket to be processed to the agent); and enabling the agent to respond either via chat widget or via email asynchronously. (Fig 5C #532 allow the agent to respond to customer request associated with the ticket, [0047] The system then presents the ticket to be processed to the agent through a UI (step 530), and allows the agent to operate the UI to process the ticket by responding to an associated customer request (step 532)., [0002] online customer-service resources commonly include ticketing systems, product-related knowledge bases, and online chat systems that are designed to help customers resolve their problems, either by providing information to the customers, or by facilitating online interactions with customer-support agents., [0040] Customer service agent 222 then processes the selected ticket by sending a reply 216 to respond to an associated customer request. Reply 216 flows back through ticket processor 215 and is presented to customer 202 through a user interface 204. (Note that user interface 204 can be implemented in a number of different ways for both mobile and desktop platforms. For example, user interface 204 can be incorporated into: a web page, an email, or a UI screen provided by an application.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included external ticketing system; displaying to the agent information about the ticket created; and enabling the agent to respond either via chat widget or via email asynchronously, as disclosed by Chan in the system disclosed by Thomas, for the motivation of providing a method of automating customer-service interactions, thereby significantly reducing a company's customer-service costs. ([0002] Chan)
Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over Thomas et al. (US 2024/0257142 A1) in view of Howard (US 10,616,415 B1), further in view NPL Solved_ Offer user more options when live agent is unavailable - ServiceNow Community (2020) Hereafter called ServiceNow Community) as applied to claim 6, further in view of Chan (US 2019/0197457) and Tremblay (US 2022/0343250 A1)
Regarding Claim 9. Thomas as modified by Howard/ServiceNow Community teaches the method according to claim 6
Thomas teaches wherein the step of sending the at least one first user details including contact details and message via API to system ([0041] VA application 108a can transmit the user message to NLP module 108b by initiating an application programming interface (API) call to NLP module, where the call includes the user message as a parameter or in a payload packet of the transmission. ). However, Thomas/Howard does not specifically teach an external ticketing system comprises the step of exposing the endpoint enabling the ticketing system to receive such data and enabling webhook subscription via the API providing real-time notifications for events such as ticket creation or update that proactively send the information about ticket being generated to the ticketing system.
Chan teaches an external ticketing system comprising the step of exposing the endpoint enabling the ticketing system to receive such data (Fig 5C #522 and [0047] The system first receives a ticket to be processed at the customer-support ticketing system (step 522). Next, the system determines any required skills, which are required to respond to the ticket based on raw data from the ticket and one or more pre-defined rules that associate raw data with required skills (step 524). The system then tags the ticket with the required skills, if any (step 526). Next, the system performs a matching operation to select an agent from a set of agents who are available to process tickets, wherein each available agent is represented by a data structure, which is tagged with any skills possessed by the agent, and wherein the matching operation selects an agent who possesses a superset of the required skills, if any, that the ticket is tagged with (step 528). The system then presents the ticket to be processed to the agent through a UI (step 530) (endpoint), [0017]-[0018] assigning tickets to agents in a customer-support ticketing system under a pull/push model, [0040] if the system is operating under a pull model, customer service agent 222 is presented with a list of tickets to be processed, and the customer service agent 222 then selects a ticket to process. Customer service agent 222 then processes the selected ticket by sending a reply 216 to respond to an associated customer request.) or enabling webhook subscription that proactively send the information about ticket being generated to the ticketing system.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included an external ticketing system comprising the step of exposing the endpoint enabling the ticketing system to receive such data, as disclosed by Chan in the system disclosed by Thomas, for the motivation of providing a method of automating customer-service interactions, thereby significantly reducing a company's customer-service costs. ([0002] Chan)
Thomas/Howard/Chan do not teach enabling webhook subscription via the API providing real-time notifications for events such as ticket creation or update that proactively send the information about ticket being generated to the ticketing system.
Tremblay teaches enabling webhook subscription via the API providing real-time notifications for events ([0237] the client configuration system 1602 may allow a user to create new and/or update workflows by defining different service-related workflow actions (also referred to as “actions”) and conditions that trigger those actions. In some embodiments, a workflow may be defined with respect to a ticket. For example, the user affiliated with a cable or internet service provider (or “ISP”) can define an action that notifies a customer when a new ticket is generated (e.g., generates and sends an email to the user that initiated the ticket, [0486] the payment execution service 6424 may expose a webhook (webhook subscription) to the third party payment processor 6410 and may add the pending transaction to a listening thread that may listen for confirmation of the transaction via a webhook that may be exposed by the payment execution system 6424. In these example embodiments, the third party payment processor 6410 may provide a confirmation of the transaction (notification) to the payment execution service 6424 via the exposed webhook., [0579] the workflow system 562 may utilize an automation application programming interface (API) which may provide “Get” functionality (e.g., get all workflows, get a specific workflow, get current enrollments, get performance stats for a workflow, and the like), “Post” functionality (e.g., enroll an object such as a contact into a workflow, create a workflow, using webhooks in workflows, and the like), [0581] the input options may be either a static list or a webhook URL that may be provided. If the webhook URL is provided, the options may be fetched from that URL whenever the action may be edited by a user in the workflow actions system (e.g., workflows tool). [0590] events of extensions may include create a ticket (e.g., an issue tracking ticket such as a Jira ticket), or create an Asana ticket, or call out a webhook to a third-party company or internally, etc. In other examples, messages may be sent through various channels (e.g., send Slack messages).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included enabling webhook subscription via the API providing real-time notifications for events such as ticket creation or update that proactively send the information about ticket being generated to the ticketing system, as disclosed by Tremblay in the system disclosed by Thomas, for the motivation of providing a method of using webhook in workflow ([0579] Tremblay) and provide notification to customer based on workflow event when a new ticket is generated ([0237] Tremblay)
Claims 10-12 are rejected under 35 U.S.C. 103 as being unpatentable over Thomas et al. (US 2024/0257142 A1) in view of Howard (US 10,616,415 B1), further in view of Chan (US 2019/0197457)
Regarding Claim 10. Thomas discloses the system for at least one of automatic and manual chat routing ([0001] intent-aware virtual assistant chat routing) comprising:
Thomas discloses a first user processor configured to operate with the internet browser (Fig 1 # 102a client computing device, Network 104);
Thomas discloses a chat widget configured to display on a website and arranged on a chat provider infrastructure ([0003] a user may want to connect to a live agent in the chat session so that the user can ask questions specific to their circumstances or receive information that is otherwise unavailable via the conversation service application. Generally, most VA applications are configured to route the chat session to any available customer service agent, [0004] systems for live chat session routing in conversation service applications. Fig 7 # 702 chat widget, [0028] virtual assistant application 108a comprises a conversation service software application (i.e. chatbot) configured to automatically interact with a user at client computing devices 102a-102n in order to gather information and/or respond to inquiries., [0029] a native application is a software application (also called an ‘app’) that written with programmatic code designed to interact with an operating system that is native to client computing device 102a-102n and provide information and application functionality (such as a chatbot interface) to a user of client computing device 102a-102n.);
Thomas discloses a storage arranged on the chat provided infrastructure and configured to save the data ([0027] memory modules of server computing device 106, to receive data from other components of system 100, transmit data to other components of system 100, and perform functions for intent-aware virtual assistant chat routing as described herein., [0057] one or more memory devices for storing instructions and/or data. Memory devices, such as a cache, can be used to temporarily store data. Memory devices can also be used for long-term data storage. Generally, a computer also includes, or is operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data);
Thomas discloses a second user processor arranged to communicate with the chat widget over the Internet ( Fig 1 # 1120a agent devices communicate via 108a virtual assistant application, [0028]VA application 108a provides the chat interface for the exchange of messages with client computing devices 102a-102n.);
Thomas discloses an API configured to communicate with system ([0041] VA application 108a can transmit the user message to NLP module 108b by initiating an application programming interface (API) call to NLP module, where the call includes the user message as a parameter or in a payload packet of the transmission. ) and wherein the chat widget is configured to operate both real-time and asynchronously. (Fig 5 # 502 chat widget operating real time; Fig 7 # 702 no agents available)
Thomas does not specifically teach save the data of chat conversations; external providers including ticketing systems; wherein the storage includes both web storage and on-server storage;
Howard teaches chat widget (Col 22 lines 8-12 With respect to chats, in various embodiments a party can request a chat by accessing a website (e.g., one or more webpages) via a Web server 145. In turn, the Web server 145 informs the communications handler 150 of the chat and the handler 150 queues the appropriate agent(s) to handle the chat.); save the data of chat conversations (Col 31 lines 37-52depending on the embodiment, the treatment initialization module may read the family of treatments from some type of storage media located within or outside of the contact center (e.g., data store 175 in FIG. 1). In addition, the treatment initialization module may retrieve one or more pieces of information about each of the treatments such as, for example, the current queue configuration for a treatment, the service level requirements set for the queues of the treatment, and/or the communication volume percentages set for these queues.); wherein the storage includes both web storage and on-server storage (Col 22 lines 56-65 A server may incorporate a local data store and/or interface with an external data store);
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included save the data of chat conversations; external providers including ticketing systems; wherein the storage includes both web storage and on-server storage, as disclosed by Howard in the system disclosed by Thomas, for the motivation of providing a method of receiving a notice of the agent assigned to the treatment coming online for the first time that workday (Col 35 lines 43-54 Howard) and determining whether the target agent has a capacity for handling the communication prior to placing the communication in the queue associated with the target agent. (Col 3 lines 15-20 Howard) for routing a communication (Col 2 lines 35-40 Howard)
Thomas/Howard do not teach external providers including ticketing systems
Chan teaches external providers including ticketing systems (Fig 1 # 122 ticketing system, Fig 2 # 212 ticket creation, [0037] Help center 120 organizes customer issues using a ticketing system 122, which generates tickets to represent each customer issue. Ticketing systems are typically associated with a physical or virtual “help center” (or “help desk”) for resolving customer problems., [0038] Ticketing system 122 comprises a set of software resources that enable a customer to resolve an issue. ticket can include a ticket identifier, and information (or links to information) associated with the problem. For example, this information can include: (1) information about the problem; (2) customer information for one or more customers who are affected by the problem; (3) agent information for one or more customer-service agents who are interacting with the customer; (4) email and other electronic communications about the problem (which, for example, can include a question posed by a customer about the problem); (5) information about telephone calls associated with the problem);
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included external ticketing system, as disclosed by Chan in the system disclosed by Thomas/Howard, for the motivation of providing a method of automating customer-service interactions, thereby significantly reducing a company's customer-service costs. ([0002] Chan)
Regarding Claim 11. Thomas as modified by Howard/Chan teaches the system according to claim 10 wherein the storage is further comprising:
Thomas does not teach a web storage configured to operate on the most frequently requested data according to the average accessing frequency; a on-server storage configured to operate on the least frequently requested data according to the average accessing frequency or on the most processing-consuming data module component or process; wherein processing-consuming data means data that due to size or complexity are likely to need more operating power from the server.
Howard teaches a web storage configured to operate on the most frequently requested data according to the average accessing frequency (Col 17 lines 54-60 How short the time window can be is dependent on the frequency at which communications of the given channel of the queue are being connected to agents (connection rate). If the frequency is high, say 50 connections per second, then a 3 second window will produce a wait time set with about 150 wait times. That number of wait times is likely to provide a reliable estimate.); an on-server storage configured to operate on the least frequently requested data according to the average accessing frequency or on the most processing-consuming data ( Col 17 lines 60-64 if the frequency is quite low, such as only 0.02 connections per second (one connection every 50 seconds), then a 3 second window is likely to produce a wait time set that is empty. No reliable estimate can be provided by an empty wait time set.); and wherein processing-consuming means data means data that due to size or complexity are likely to need more operating power from the server. (Col 30 lines 30-40 as the workday progresses, conditions related to the treatment may occur that affect the performance of the treatment. For instance, the arrival rate of non-chaining communications and/or the availability rate of the treatment's agents handling non-chaining communications may change in a manner that affects the performance of the different non-chaining queues. For example, the arrival rate for telephone calls that are assigned to the highest queue of the treatment may increase from an arrival rate at startup of a telephone call arriving every thirty seconds on average to an arrival rate at the middle of the workday of a telephone call arriving every five seconds on average., Col 41 lines 18-24 During this processing period, all communications placed in the low queue simply wait in the queue, since no agents are initially assigned to the low queue. Once IQUS startup is completed, the low queue is assigned agents and can begin routing communications to agents., Col 64 lines 63-67 Col 65 lines 1-10 it may be more effective to permit the failure of the lower communication arrival rate channels to meet their service level requirements for the high queue without penalty. This will allow considerably greater flexibility to increase the number of IQUS queues (increase operating power) and will avoid allowing a relatively small volume of non-chaining communications to restrict use of an optimal approach for the vast majority of non-chaining communications. Generally, increasing the number of IQUS queues improves the effectiveness of the IQUS in matching agents to communications based on communication value and agent ranking, and also decreases the queue wait times for higher value communications.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have included a web storage configured to operate on the most frequently requested data according to the average accessing frequency; a non-server storage configured to operate on the least frequently requested data according to the average accessing frequency or on the most processing-consuming data; wherein processing-consuming data means data that due to size or complexity are likely to need more operating power from the server, as disclosed by Howard in the system disclosed by Thomas, for the motivation of providing a method of processing communications by using the family of treatments as a result of initializing all of the treatments supported by the contact center. (Col 32 lines 25-28 Howard)
Regarding Claim 12. Thomas as modified by Howard/Chan teaches the system according to claim 10
Thomas teaches wherein the chat provider infrastructure is further comprises the server infrastructure ([0059] a distributed computing system that includes a back-end component. The back-end component can, for example, be a data server, a middleware component, and/or an application server. The above described techniques can be implemented in a distributed computing system that includes a front-end component. The front-end component can, for example, be a client computer having a graphical user interface, a Web browser through which a user can interact with an example implementation, and/or other graphical user interfaces for a transmitting device.) responsible for the business logic storage, web storage and on-server storage ([0057] storage) configured to operate with the chat widget. [0003] a user may want to connect to a live agent in the chat session so that the user can ask questions specific to their circumstances or receive information that is otherwise unavailable via the conversation service application. Generally, most VA applications are configured to route the chat session to any available customer service agent, [0004] systems for live chat session routing in conversation service applications. Fig 7 # 702 chat widget, [0028] virtual assistant application 108a comprises a conversation service software application (i.e. chatbot) configured to automatically interact with a user at client computing devices 102a-102n in order to gather information and/or respond to inquiries., [0029] a native application is a software application (also called an ‘app’) that written with programmatic code (business logic) designed to interact with an operating system that is native to client computing device 102a-102n and provide information and application functionality (such as a chatbot interface) to a user of client computing device 102a-102n.);
Also, Chan teaches wherein the chat provider infrastructure (Fig 1 # 122 help center ticketing system) is further comprises the server infrastructure ([0034] application can be hosted on local or remote server) responsible for the business logic storage, web storage and on-server storage configured to operate with the chat widget. ([0021] code and/or data, which can be stored in a computer-readable storage medium as described above. When a computer system reads and executes the code and/or data stored on the computer-readable storage medium, the computer system performs the methods and processes embodied as data structures and code and stored within the computer-readable storage medium. Fig 5C #522 and [0047] The system first receives a ticket to be processed at the customer-support ticketing system (step 522). Next, the system determines any required skills, which are required to respond to the ticket based on raw data from the ticket and one or more pre-defined rules that associate raw data with required skills (step 524). The system then tags the ticket with the required skills, if any (step 526). Next, the system performs a matching operation to select an agent from a set of agents who are available to process tickets, wherein each available agent is represented by a data structure, which is tagged with any skills possessed by the agent, and wherein the matching operation selects an agent who possesses a superset of the required skills, if any, that the ticket is tagged with (step 528). The system then presents the ticket to be processed to the agent through a UI (step 530))
Response to Arguments
Applicant's arguments filed 1/21/26 have been fully considered but they are not persuasive.
Regarding 101 rejection, examiner has considered all arguments. The claims as drafted, are a process that, under its broadest reasonable interpretation, covers methods of organizing human activity (including commercial interactions such as business relations, managing personal behavior or relationships or interactions between people (including social activities, teaching, and following rules or instructions) including interaction between person and computer), but for the recitation of generic computer components. That is, other than reciting the structural elements (such as Claim 1 chat widget on the website; claim 10 a first user processor to operate with the internet browser, a chat widget, a storage including web storage and on-server storage, a second user processor, an API), the claims are directed to routing chat based on agent availability. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation of organizing human activity but for the recitation of generic computer components, the claim recites an abstract idea. This judicial exception is not integrated into a practical application because the claim merely describes how to generally “apply” the concept of receiving data, analyzing it, and providing chat routing. In particular, the claims only recites the additional element – Claim 1 chat widget on the website; claim 10 a first user processor to operate with the internet browser, a chat widget, a storage including web storage and on-server storage, a second user processor, an API). The additional elements are recited at a high-level of generality such that it amounts to no more than mere instructions to apply the exception using a generic computer component. Simply implementing the abstract idea on generic components is not a practical application of the abstract idea. Accordingly, these additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. a) The additional elements merely add the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea, as discussed in MPEP 2106.05(f).
Regarding 103 rejection, applicant on page 16 sates that prior art does not teach claim 1-2,5-6 and that cited art do not offer technical rational or improvement. Further applicant arguments regarding lack of motivation and hindsight for claims 1-12 have been considered. In response to applicant’s argument that there is no teaching, suggestion, or motivation to combine the references, the examiner recognizes that obviousness may be established by combining or modifying the teachings of the prior art to produce the claimed invention where there is some teaching, suggestion, or motivation to do so found either in the references themselves or in the knowledge generally available to one of ordinary skill in the art. See In re Fine, 837 F.2d 1071, 5 USPQ2d 1596 (Fed. Cir. 1988), In re Jones, 958 F.2d 347, 21 USPQ2d 1941 (Fed. Cir. 1992), and KSR International Co. v. Teleflex, Inc., 550 U.S. 398, 82 USPQ2d 1385 (2007). In this case, office action provides motivation to combine references cited.
In response to applicant's argument that the examiner's conclusion of obviousness is based upon improper hindsight reasoning, it must be recognized that any judgment on obviousness is in a sense necessarily a reconstruction based upon hindsight reasoning. But so long as it takes into account only knowledge which was within the level of ordinary skill at the time the claimed invention was made, and does not include knowledge gleaned only from the applicant's disclosure, such a reconstruction is proper. See In re McLaughlin, 443 F.2d 1392, 170 USPQ 209 (CCPA 1971).
Regarding Claim 3, examiner has considered all arguments and respectfully disagrees. As noted in rejection, Howard teaches reassigning the chat to the agent in the case of previously selected agents becoming offline during the course of ongoing chat conversation (Col 36 lines 6-14 there may be occurrences after a treatment has been started when an agent may go offline and is no longer available for handling chaining communications for the treatment. For example, an agent may become ill during a work shift and may decide to go home for the day, or an agent may complete their shift normally and leave for the day. Col 36 lines 40-49 determines whether a chaining queue exists for the agent who is now offline for the treatment in Operation 915. If so, then the SAQS offline agent module determines whether any communications that have been assigned to the agent's queue remain in the queue in Operation 920. The reason for this check is that if any communications do remain in the queue, these communications need to be reassigned to other agents so that when the queue is deleted, they are not simply lost and never handled by an agent.). Regarding Claims 4, 8, applicant states likelihood of responsiveness user 4 inputs (pg. 20), however amended claim recite: “at least one of..”.. These limitations have been address above. In response to applicant's argument that the references fail to show certain features of the invention, it is noted that the features upon which applicant relies (i.e., compare agent queue to threshold pg. 17) are not recited in the rejected claim(s). Although the claims are interpreted in light of the specification, limitations from the specification are not read into the claims. See In re Van Geuns, 988 F.2d 1181, 26 USPQ2d 1057 (Fed. Cir. 1993). In response to applicant's argument that the examiner's conclusion of obviousness is based upon improper hindsight reasoning, it must be recognized that any judgment on obviousness is in a sense necessarily a reconstruction based upon hindsight reasoning. But so long as it takes into account only knowledge which was within the level of ordinary skill at the time the claimed invention was made, and does not include knowledge gleaned only from the applicant's disclosure, such a reconstruction is proper. See In re McLaughlin, 443 F.2d 1392, 170 USPQ 209 (CCPA 1971).
In response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986).
Applicant response regarding claim 9, 112a rejection has been considered and it is not persuasive, therefore 112a is maintained.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Agarwal (US 8,831,207 B1) teaches assigning the chat conversation to an available chat agent that has been in communication with the user at least once in the past (Fig 1B #122 agent Amelia handled original issue, Col 3 lines 5-13 the service center 110 may identify an appropriate agent for handling the reply upon receiving the selection of the button 180 by the customer. Referring to FIG. 1B, the system 100B may determine assign the reply of the customer 130 to one of a plurality of agents 122, 124, 126, 128 according to a defined hierarchy. First, if the agent 122 who handled the original issue reported by the customer 130 is available, the reply by the customer 130 is assigned to the agent 122. Next, if a preferred agent 124 identified by the customer 130 is available, the reply by the customer 122 may be assigned to the preferred agent 124. ); routing to the another agent if the agents are not available (Col 3 lines 14-27 if a preferred agent 124 identified by the customer 130 is available, the reply by the customer 122 may be assigned to the preferred agent 124. The preferred agent 124 may be identified by any means, including an express identification by the customer 130, or an implicit identification based on ratings of one or more agents provided by the customer 130. If the reply by the customer 122 should be handled a particularly skilled representative, then the reply is assigned to an agent 126 having a relevant skill set. Finally, if neither the agent 122 who handled the original issue, the preferred agent 124 nor the agent 126 having the relevant skill set is available, then an agent 128 may be selected from a pool of agent at random.). Agarwal teaches checking if there was any communication with a particular end user prior to the incoming communication (Fig 1B3 122 agent handled original issue, Col 2 lines 46-55 When the customer 130 identifies an original, relevant issue that may be handled by the service center 110, the customer 130 may reach out to the service center 110 using the smartphone 132 by way of a user interface, such as by generating an E-mail message 136A using an electronic mail (or "E-mail") client or web browser. The smartphone 132 may transmit the message 136 over the network 140 to the service center 110, which may assign the message to the agent 122 for resolution. The agent 122 may prepare a response message 160 for the customer 130, and transmit the response message 160 to the customer 130 over the network 140.) ; checking if there was any communication with a particular end user prior to the incoming communication assigning the status of returning communication (Fig 1B #122 and Col 6 lines 34-40 where a subsequent contact is received from a customer, a status of an agent who handled an original contact received at the service center from the customer may be determined.)
Levinson (US 10,460,290 B2) teaches listing agents that are logged online (Fig 3 available agents A & B)
Bergher (US 2022/0215324 A1) discloses system provide for data tracking and generation for workforce management. The system has a database and tracks customers and conversations customers have with agents.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SANGEETA BAHL whose telephone number is (571)270-7779. The examiner can normally be reached 7:30 - 4PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Jessica Lemieux can be reached on 571-270-3445. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/SANGEETA BAHL/Primary Examiner, Art Unit 3626