DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 1, 8, and 15 are pending.
Response to Arguments
Regarding: Prior Art Rejections:
Applicant’s arguments and amendments regarding the rejections of claims 1, 8, and 15 under 35 U.S.C 103 have been considered, but are moot due to a new ground of rejection necessitated by amendment.
Claim Rejections - 35 USC § 103
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.
Claims 1, 8, and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Anderson et al. US 20190140986 A1 in view of Allen US 11372689 B1 in view of Chang et al. US 20120117563 A1.
Anderson and Allen are cited in a previous office action.
Regarding claim 1, Anderson teaches the invention substantially as claimed including:
A computer-implemented method for optimizing virtual agent utilization, the method comprising (The modular chatbot 150 to which a particular chat message is forwarded is determined based upon which modular chatbot 150 is best suited to respond to the chat message in at least [0010] and [0002]):
monitoring processing demands of a plurality of virtual agents in a virtual agent system comprising an operational layer and an ephemeral layer, the monitoring performed by a load monitor module in communication with the virtual agent system (The ranking algorithm may also take into consideration present availability of modular chatbot 150, cost of access of each modular chatbot 150, and other considerations when determining which of master chatbot 130 and modular chatbot 150 is best to respond in at least [0027] and Resource provisioning 81 provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment. Metering and Pricing 82 provide cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources in at least [0074] and [0059], Examiner notes, the ranking algorithm considers availability and cost in selecting to direct a query to a chatbot, the availability and cost are indicative of underlying resource usage, the load of the chatbot determined by Metering and Pricing 82);
configuring a pathway to bypass the plurality of virtual agents in the operational layer and direct all user queries to the corresponding replicated virtual agent (Fig 1 Message Forwarding Module 139; [0031] The message forwarding module 139 automatically forwards the one or more chat messages to the most appropriate modular chatbot 150 for response to the user computer 110; Examiner notes: Message Forwarding Module establishes message channel in the network with the selected chatbot);
receiving, via the configured pathway, a user query by the corresponding replicated virtual agent in the ephemeral layer (The modular chatbot 150 to which a particular chat message is forwarded is determined based upon which modular chatbot 150 is best suited to respond to the chat message ... All of user computers 110, master chatbot 130, and modular chatbots 150 are connected via network 170 in at least [0010] and Message forwarding module 139 represents software and/or hardware for forwarding chat messages to modular chatbot 150 for response by the modular chatbot 150, if the master chatbot response module 137 determines one of the modular chatbots 150 is most appropriate to respond to the chat message (based upon the chatbot ranker 135) and the master chatbot response module 137 does not directly respond to the chat message itself. The message forwarding module 139 automatically forwards the one or more chat messages to the most appropriate modular chatbot 150 for response to the user computer 110 in at least [0031], Examiner notes, by using the message forwarding module to forward a message, the message forwarding module is funneling the query between the master chatbot and the appropriate chat module when a message is determined to be forwarded to the chat module as the best for the responding to the chat message and is not sending the chat message to others of the chatbots);
determining, by the corresponding replicated virtual agent, if the corresponding replicated virtual agent can respond to the user query based on a predetermined confidence threshold of a response generated by the corresponding replicated virtual agent ((The master chatbot 130 either directly responds to the chat messages, if capable, or forwards the chat messages to a modular chatbot 150 for response. The modular chatbot 150 to which a particular chat message is forwarded is determined based upon which modular chatbot 150 is best suited to respond to the chat message, as further discussed below in at least [0010] and Chatbot ranker 135 represents software for ranking the master chatbot 130 and/or modular chatbots 150 to determine which is the best, i.e. highest ranked <above a confidence threshold>, to respond to the chat messages received by the message receipt module 131 in at least [0022] - [0028]); [0011] The master chatbot 130 receives responses from the modular chatbots 150 indicating each is capable or not capable of responding to the chat message, and the responses are subsequently validated by the master chatbot 130 that the modular chatbot is 150 is actually capable of responding to the chat message successfully; Examiner notes: chatbots self-report availability to other chatbots which affects response suitability/ranking);
responsive to a determination the corresponding replicated virtual agent can respond to the user query, responding, by the corresponding replicated virtual agent, to the user query with the generated response (if the master chatbot 130 determines it is incapable of responding to the chat message, the master chatbot 130 issues a request via network 170 for modular chatbots 150 (peers) capable of responding to the chat message. The master chatbot 130 receives responses from the modular chatbots 150 indicating each is capable or not capable of responding to the chat message, and the responses are subsequently validated by the master chatbot 130 that the modular chatbot is 150 is actually capable of responding to the chat message successfully. If the modular chatbot 150 is successfully validated, the master chatbot 130 forwards the chat message to the capable modular chatbot 150 for response directly to the user computer 110 which transmitted the one or more chat messages in at least [0011]);
Anderson does not explicitly teach identifying a highly used virtual agent within the plurality of virtual agents , the highly used virtual agent having a processing demand above a first threshold according to the monitoring;
responsive to identifying the highly used virtual agent, establishing a replicated node by replicating the highly used virtual agent with a corresponding replicated virtual agent in the ephemeral layer, wherein the highly used virtual agent is still operational when the replicated node is established for the corresponding replicated virtual agent;
determining, by monitoring utilization of the corresponding replicated virtual agent, that processing demands of the corresponding replicated virtual agent are below a second threshold; and
responsive to determining the processing demands are below the second threshold, resetting the pathway to cause all incoming user queries to be sent to the plurality of virtual agents in the operational layer.
However, Allen teaches identifying a highly used virtual agent within the plurality of virtual agents, the highly used virtual agent having a processing demand above a first threshold according to the monitoring (a cloud bursting request for reserving or allocating cloud resources for a job can be generated in response to a trigger specifying that such request is to be issued when a backlog reaches a threshold (e.g., x number of backlog jobs), when a workload queue (e.g., 258) reaches a threshold size, when a capacity at the local compute environment or a number of active or available resources reaches a threshold, Col 31 59-66);
responsive to identifying the highly used virtual agent, establishing a replicated node by replicating the highly used virtual agent with a corresponding replicated virtual agent in the ephemeral layer (Based on the cloud agnostic burst templates, at block 1006, multi-cloud bursting service 340A provisions (e.g., 410) the cloud resources (e.g., cloud nodes 412) from the cloud (e.g., 202), and at block 1008 multi-cloud bursting service 340A deploys the workload environment on the cloud resources. For example, multi-cloud bursting service 340A can use the cloud agnostic burst template, which defines a stack for the workload environment and tasks for provisioning the workload environment, to reserve the cloud resources, create an image of the workload environment and deploy it on the cloud resources. Thus, the cloud agnostic burst template can define the necessary provisioning tasks and dependencies, Col 32 23-35); wherein the highly used virtual agent is still operational when the replicated node is established for the corresponding replicated virtual agent (the provisioned resources can work along with local resources as if the cloud and local resources are part of the local compute environment. For example, the provisioned cloud resources can be added to a cluster (e.g., 260A) of nodes on the local compute environment, and together operate and appear as a single cluster of local nodes, Col 33 19-25);
determining, by monitoring utilization of the corresponding replicated virtual agent, that processing demands of the corresponding replicated virtual agent are below a second threshold; and responsive to determining the processing demands are below the second threshold, resetting the pathway to cause all incoming user queries to be sent to the plurality of virtual agents in the operational layer (When the number of nodes available exceeds the second number of nodes needed to process all jobs in the jobs queue, the method can include taking the existing node offline, Col 6 19-22; Examiner notes: the system is able to downscale when the demand upon the resources is low. Taking the existing node offline reduces resource wasting by placing the node in an inactive state where it will not receive requests).
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to have combined Allen’s cloud bursting with the system of Anderson. A person of ordinary skill in the art would have been motivated to make this combination to provide Anderson’s system with the advantage of monitoring and managing incoming agent requests for improved task scheduling and system scalability (see Allen Col 1 43-48 To avoid service interruptions when an on-premises site is at full capacity, overflow traffic may be directed to a public cloud through cloud bursting. The public cloud can supplement the data and resources on-premises in order to handle the additional workload demands).
Anderson and Allen do not explicitly teach a virtual agent system comprising an operational layer and an ephemeral layer.
However, Chang teaches a virtual agent system comprising an operational layer and an ephemeral layer ([0006] overload mitigation through creation of a clone for an overloaded virtual machine and splitting the client sessions among the original and the cloned virtual machines. This split operation is transparent to the users or clients of the sessions, as both the original and the cloned virtual machines retain the same session addressing. A session dispatcher assists this split operation by redirecting certain sessions to the cloned virtual machine thereby providing a dynamic session migration capability for the service without the service having to explicitly support dynamic session migration; [0039] the cloned virtual machine 130, 135, 140, 145).
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to have combined Chang’s cloned VM “layer” with the existing system. A person of ordinary skill in the art would have been motivated to make this combination to provide the resulting system with the advantage of scaling virtual machine resources to accommodate increased loads (see Chang [0002] In a cloud computing environment, typically using the smallest set of resources needed for satisfying the current load is desirable. When this set needs to be expanded to accommodate additional load offered, addressing the overload condition on specific virtual machines within this set of resources may be necessary. A big challenge in addressing this condition is to reduce the burden of an overloaded virtual machine by transferring load to another virtual machine without adversely impacting any ongoing sessions).
Regarding claim 8, it is the computer program product of claim 1. Therefore, it is rejected for the same reasons as claim 1.
Anderson further teaches a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processors to perform a function ([0039] one or more application programs 911, for example, the environment 100 for orchestration of a plurality of chatbots to efficiently respond to user messages, are stored on one or more of the computer readable storage media 908 for execution by one or more of the processors 902).
Regarding claim 15, it is the system of claim 1. Therefore, it is rejected for the same reasons as claim 1.
Anderson further teaches a memory; and a processor in communication with the memory ([0039] one or more of the processors 902 via one or more of the respective RAMs 904).
Conclusion
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 HARRISON LI whose telephone number is (703) 756-1469. The
examiner can normally be reached Monday-Friday 9:00am-5:30pm ET.
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, Aimee Li can be reached on 571-272-4169. 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.
/H.L./
Examiner, Art Unit 2195
/Aimee Li/Supervisory Patent Examiner, Art Unit 2195