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
Applicant’s Application filed on 05/18/2025 has been reviewed.
Claims 1-20 have been examined.
Notice of Pre-AIA or AIA Status
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 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.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim(s) 1, 4, 8, 11, 14 are 18 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by U.S. Patent Application Publication No. 20250328557 to Huang et al. (hereinafter “Huang”).
As to claim 1, Huang teaches a method for providing an agentic experience to a user of a device, comprising (computer implemented method in a system comprising processor and non-transitory computer readable storage medium, par. 0005-0007, 0085-0088):
receiving, by an agentic manager, a request from the user via a user interface, wherein the agentic manager is a management app on the device for providing the agentic experience (par. 0005, receiving user request via a user interface and managing user request, i.e. “[0005] Certain embodiments provide a method for dynamic request routing in a computing application. The method generally includes: receiving a request via a user interface; determining, based on the request and associated contextual information, not to override use of a routing machine learning model for routing the request; providing the request to the routing machine learning model along with a prompt instructing the routing machine learning model to output an identifier of a software tool for handling the request and an input for the software tool; receiving the identifier of the software tool and the input for the software tool from the routing machine learning model; executing the software tool based on the identifier of the software tool and the input for the software tool; determining a response to the request based on the executing of the software tool; and providing the response via the user interface.”);
sending, from the agentic manager to an agentic artificial intelligence (AI) model, a prompt incorporating contextual information of the request, wherein the contextual information is retrieved from an on-device database and identifies one or more apps on the device (par. 0031-0032, sending a prompt with contextual information, wherein the contextual information is retrieved from an on-device database such as “software tool configuration information database”, i.e. “[0031] Request 102 may be provided to routing model 120 along with a prompt instructing routing model 120 to identify a software tool for handling request 102 and, in some embodiments, to generate an input for that software tool. The prompt may include information about available software tools from which routing model 120 may select an applicable tool, such as based on a software tool configuration information database. In some cases, the prompt may further instruct routing model 120 to output an explanation of its tool and/or input selection/generation, such as identifying one or more reasons why that tool and/or tool input was selected/generated. In some embodiments, some or all of contextual data 104 may be provided to routing model 120 along with request 102 and the prompt, such as based on a determination of whether such contextual data is likely to be useful (e.g., which may be based on whether one or more particular words or strings are present in request 102 and/or whether one or more other conditions are met).”);
receiving, by the agentic manager from the agentic AI model, an action plan for calling a target app among the one or more of apps (par. 0032-0034, calling a target app, i.e. “[0034] Tool data 122 is provided to tool executor 130 in order to execute the determined software tool for handling request 102. For example, tool executor may run, invoke, or otherwise execute the software tool identified in tool data 122, such as using a tool input included in tool data 122. If the software tool is a machine learning model, tool executor may provide input to the machine learning model based on the tool input included in tool data 122, which may include a prompt and/or other input data (e.g., including some or all of request 102 and/or contextual data 104). For example, the software tool may be a language processing machine learning model such as an LLM, and the tool input may include a natural language prompt that is based on request 102 and/or contextual data 103, and/or may include request 102 and/or aspects of contextual data 103.”);
sending action requests according to the action plan from the agentic manager to the target app to invoke functionalities of the target app (par. 0032-0034, invoke functionalities of the target app, i.e. “[0034]… In another example, the software tool is a software component internal to or separate from the computing application associated with user interface 150, and is invoked by calling an API function, such as providing input parameters to the API function based on the tool input indicated in tool data 122. It is noted that API functions are included as an example, and other means of invoking and/or otherwise executing software tools are possible with techniques described herein. More generally, tool executor 130 causes the software tool identified in tool data 122 to be executed in order to handle request 102, such as based on a tool input included in tool data 122. Executing the software tool to handle the request may involve performing one or more operations, retrieving data from one or more sources, writing data to one or more sources, determining a response to the request (e.g., a natural language response), and/or the like…”); and
sending, from the agentic manger to the user via the user interface, an output that incorporates a response generated by the target app (par. 0036, 0037, providing output, i.e. “[0036] A response 132 may be provided from tool executor 130 back to user interface 150. For example, response 132 may generally represent a response to request 102 and/or otherwise may indicate results of handling request 102.”).
As to claim 4, Huang teaches the method of claim 1, wherein the agentic AI model is a large language model (LLM) on the device (par. 0017, 0030, 0034, i.e. “[0017] As described in more detail below with respect to FIG. 1, different routing techniques may be best suited to different situations. For example, a language processing machine learning model such as a large language model (LLM) may be used to route a request to a software tool in many cases, such as by providing the request (and, in some embodiments, certain contextual information determined to be useful) to such a model along with a prompt instructing the model to determine a software tool and an input to that software tool for handling the request”).
As to claim 8, Huang teaches the method of claim 1, further comprising: calling system functions by the agentic manager in response to the request from the user to obtain information including at least one of location, time, device maker information, device ID information, device control information, and device settings (par. 0026, i.e. “In one particular example, request 102 includes natural language input provided via an artificial intelligence (AI) assistant interface, and includes a request for certain information (from one or more data sources), and contextual data 104 includes information such as how long the user has been using the computing application, the user's occupation and/or experience level, known interests of the user, the application version being used, the type and/or version of the device from which the user is accessing user interface 150, the operating system (OS) running on the device, the user's clickstream data indicating prior actions with the application, data related to past requests of the user and/or results of handling those requests, state machine(s) related to ongoing processing with the application, and/or the like”).
Regarding claim 11, 14, 18, is essentially the same as claim 1, 4, 8, respectively, except that it sets forth the claimed invention as device rather than method and rejected for the same reasons as applied hereinabove.
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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claim(s) 2-3 and 12-13 is/are rejected under 35 U.S.C. 103 as being unpatentable over Huang, and further in view of U.S. Patent Application Publication No. 20170060891 to Jonathan Ben-Tzur (hereinafter “Ben-Tzur”).
As to claim 2, Huang teaches the method of claim 1. Huang does not explicitly teach sending the request from the agentic manager to a vector embedding database on the device, the vector embedding database storing app metadata of on-device apps; and identifying the one or more apps based on a similarity search in the vector embedding database between the app metadata and the request as claimed.
Ben-Tzur teaches sending the request from the agentic manager to a vector embedding database on the device, the vector embedding database storing app metadata of on-device apps; and identifying the one or more apps based on a similarity search in the vector embedding database between the app metadata and the request (Ben-Tzur, par. 0121, 0127- 0129, 0136-0141, identifying one or more apps based on similarity search, i.e. “[0127] The set processing module 1012 may include one or more machine-learned models (such as a supervised learning model) configured to receive one or more scoring features. The one or more machine-learned models may generate result scores based on at least one of the app state ID scoring features, the record scoring features, the query scoring features, and the record-query scoring features.[0128] For example, the set processing module 1012 may pair the search query with each ID and calculate a vector of features for each {query, ID} pair. The vector of features may include one or more record scoring features, one or more query scoring features, and one or more record-query scoring features. In some implementations, the set processing module 1012 normalizes the scoring features in the feature vector. The set processing module 1012 can set non-pertinent features to a null value or zero.”)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teaching of Huang with the teaching of Ben-Tzur because they are in the same field of endeavor. One of ordinary skill in the art at the time of the invention would have been motivated to do so because the teaching of Ben-Tzur would allow Huang to “generating search results that are more responsive to the user's search than search results generated using the search query alone. Additionally, by enabling the user to interact with multiple search results (e.g., to preview the corresponding application states, or to perform the functions provided by the states with respect to the specified file) without requiring the user to specify the file with respect for each search result (e.g., within each application state), the techniques may also simplify and improve the user's experience.” (Ben-Tzur, par. 0043)
As to claim 3, Huang teaches the method of claim 1. Huang does not explicitly teach retrieving app metadata of the target app from a vector embedding database on the device, the app metadata including rules for the agentic manager to call the target app as claimed.
Ben-Tzur teaches retrieving app metadata of the target app from a vector embedding database on the device, the app metadata including rules for the agentic manager to call the target app (Ben-Tzur, par. 0077-0083, 0121, 0127- 0129, 0136-0141, retrieving app metadata by comparing app state ID features, rule to call target app, i.e. “[0081] An app state access links field 604-5 specifies access mechanisms for each of the app states in the app state list 604-2. As described below, an access mechanism may include a link to a web page or an application programming interface call to open an app directly to a state. The access mechanism may instead include a script to open an app and navigate to the specific state. An access mechanism may also include instructions (such as in a script) to download and install an app from a digital distribution platform before opening the app. [0083] The additional metadata 604-6 may include download velocity or other indicators of trending popularity of an app. A new and valuable app may not yet have a large installed base, but may show rapid growth in number of downloads. Therefore, trending popularity may be used as a signal to rank the display of apps, with trending apps moved higher up in a results list. Further, a visual indication of trending, such as text (“trending” or a word correlated with trending, such as “popular”) or an icon, may be shown in close proximity to an app for which a trending metric of the app is above a threshold. The threshold may be an absolute threshold for all apps, or may be relative/normalized to the market segment in which the app exists or to the other apps in the results list.”)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teaching of Huang with the teaching of Ben-Tzur because they are in the same field of endeavor. One of ordinary skill in the art at the time of the invention would have been motivated to do so because the teaching of Ben-Tzur would allow Huang to “generating search results that are more responsive to the user's search than search results generated using the search query alone. Additionally, by enabling the user to interact with multiple search results (e.g., to preview the corresponding application states, or to perform the functions provided by the states with respect to the specified file) without requiring the user to specify the file with respect for each search result (e.g., within each application state), the techniques may also simplify and improve the user's experience.” (Ben-Tzur, par. 0043)
Regarding claim 12, 13, is essentially the same as claim 2, 3, respectively, except that it sets forth the claimed invention as device rather than method and rejected for the same reasons as applied hereinabove.
Claim(s) 5-7 and 15-17 are rejected under 35 U.S.C. 103 as being unpatentable over Huang, and further in view of U.S. Patent Application Publication No. 20230409615 to Khemka et al. (hereinafter “Khemka”).
As to claim 5, Huang teaches the method of claim 1. Huang does not explicitly teach further comprising: activating a little assistant on the device, wherein the little assistant is described by data files stored in the on-device database and serves a specialized purpose; and in response to activation of the little assistant, launching the agentic manager to call an app and system functions according to the data files of the little assistant to serve a request as claimed.
Khemka teaches further comprising: activating a little assistant on the device, wherein the little assistant is described by data files stored in the on-device database and serves a specialized purpose; and in response to activation of the little assistant, launching the agentic manager to call an app and system functions according to the data files of the little assistant to serve a request (par. 0031-0032, 0034, 0047-0048, 0132-0134, activating a little assistant and launching a manager to call an app to serve a request, i.e. “[0031] In particular embodiments, a client system 130 may include an assistant application 136. A user at a client system 130 may use the assistant application 136 to interact with the assistant system 140. In particular embodiments, the assistant application 136 may include an assistant xbot functionality as a front-end interface for interacting with the user of the client system 130, including receiving user inputs and presenting outputs. In particular embodiments, the assistant application 136 may comprise a stand-alone application. In particular embodiments, the assistant application 136 may be integrated into the social-networking application 134 or another suitable application (e.g., a messaging application). In particular embodiments, the assistant application 136 may be also integrated into the client system 130, an assistant hardware device, or any other suitable hardware devices. [0032] In particular embodiments, a client system 130 may implement wake-word detection techniques to allow users to conveniently activate the assistant system 140 using one or more wake-words associated with assistant system 140 …[0132] Given its role as an operator and delegator, all assistant capabilities may be inherited either from pre-existing apps, services provided by an entity associated with the assistant system 140, or third-party domain providers….For answers, the assistant system 140 may always provide lightweight responses to the user in the assistant layer, with affordances to see more in a native experience. For company knowledge, if no native experience exists, that domain may support a web fallback (i.e., URL destinations). When the assistant system 140 can't resolve a task end-to-end with voice, the assistant system 140 may either provide explicit links to send users to a native app, or implicitly confirm the request and hand off to a native app”)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teaching of Huang with the teaching of Khemka because they are in the same field of endeavor. One of ordinary skill in the art at the time of the invention would have been motivated to do so because the teaching of Khemka would allow Huang to “provide information or services on behalf of a user based on a combination of user input, location awareness, and the ability to access information from a variety of online sources” (Khemka, par. 0003)
As to claim 6, the rejection of claim 5 is hereby incorporated by reference, the combination of Huang and Khemka teaches the method of claim 5, wherein the data files of the little assistant include an interface description of the app and the system functions for the agentic manager to call, and a document file containing local knowledge for the agentic AI model to produce an answer to the user request (Khemka, par. 0031-0032, 0034, 0047-0048, 0132-0134, activating a little assistant and launching a manager to call an app to serve a request, i.e. [0032] In particular embodiments, a client system 130 may implement wake-word detection techniques to allow users to conveniently activate the assistant system 140 using one or more wake-words associated with assistant system 140 …[0132] Given its role as an operator and delegator, all assistant capabilities may be inherited either from pre-existing apps, services provided by an entity associated with the assistant system 140, or third-party domain providers….For answers, the assistant system 140 may always provide lightweight responses to the user in the assistant layer, with affordances to see more in a native experience. For company knowledge, if no native experience exists, that domain may support a web fallback (i.e., URL destinations). When the assistant system 140 can't resolve a task end-to-end with voice, the assistant system 140 may either provide explicit links to send users to a native app, or implicitly confirm the request and hand off to a native app”).
As to claim 7, the rejection of claim 5 is hereby incorporated by reference, the combination of Huang and Khemka teaches the method of claim 5, wherein the agentic manager further requests services from a cloud web according to the data files of the little assistant (Khemka, par. 0031-0032, 0034, 0047-0048, 0132-0134, activating a little assistant and launching a manager to call an app to serve a request or URL destinations, i.e. [0032] In particular embodiments, a client system 130 may implement wake-word detection techniques to allow users to conveniently activate the assistant system 140 using one or more wake-words associated with assistant system 140 …[0132] Given its role as an operator and delegator, all assistant capabilities may be inherited either from pre-existing apps, services provided by an entity associated with the assistant system 140, or third-party domain providers….For answers, the assistant system 140 may always provide lightweight responses to the user in the assistant layer, with affordances to see more in a native experience. For company knowledge, if no native experience exists, that domain may support a web fallback (i.e., URL destinations). When the assistant system 140 can't resolve a task end-to-end with voice, the assistant system 140 may either provide explicit links to send users to a native app, or implicitly confirm the request and hand off to a native app”).
Regarding claim 15, 16, 17, is essentially the same as claim 5, 6, 7, respectively, except that it sets forth the claimed invention as device rather than method and rejected for the same reasons as applied hereinabove.
Claim(s) 9-10 and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Huang, and further in view of U.S. Patent Application Publication No. 20240296177 to Gardner et al. (hereinafter “Gardner”).
As to claim 9, Huang teaches the method of claim 1. Huang does not explicitly teach converting phrases of a natural language in a prompt to corresponding identifiers using a mapping list, wherein one or more of the phrases are represented by multiple tokens to be processed by a large language model (LLM) and each corresponding identifier is represented by one token; sending, from the agentic manager, the prompt containing the corresponding identifiers to the LLM; receiving, by the agentic manager from the LLM, an output containing the corresponding identifiers; and converting the corresponding identifiers to the phrases using the mapping list as claimed.
Gardner teaches converting phrases of a natural language in a prompt to corresponding identifiers using a mapping list, wherein one or more of the phrases are represented by multiple tokens to be processed by a large language model (LLM) and each corresponding identifier is represented by one token (Gardner, par. 0027-0035, process natural language by large language model); sending, from the agentic manager, the prompt containing the corresponding identifiers to the LLM; receiving, by the agentic manager from the LLM, an output containing the corresponding identifiers; and converting the corresponding identifiers to the phrases using the mapping list (Gardner, par. 0046, 0058, 0063, 0067-0068, 0074, 0076, Fig. 2A, sending prompt and receiving output, converting using mapping, i.e. “[0063] Returning to FIG. 2A, in some examples, executing each function may include several operations. First, an AI Model 225 may generate a first program that maps corresponding arguments and a dialogue context to an input object that encodes the arguments with portions of the dialogue context that are determined to be relevant to determining an output object. The mapping generates a plurality of contextualized inputs for said function. Second, the AI Model 225 may generate a library of example pairs of input objects and corresponding suitable output objects. Third, the AI Model 225 may perform similarity evaluation (or evaluate similarity) between any two contextualized inputs for said function. Fourth, the AI Model 225 may generate a second program that produces a prompt based on the input object. The prompt may include an NL instruction describing a desired relationship(s) between the output object and the input object, example pairs of input objects and corresponding suitable output objects whose inputs are most similar to the input object in the current dialogue context, and the contextualized input object itself. Fifth, the AI Model 225 may determine the output object by finding a probable continuation of the prompt according to a language model.”)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teaching of Huang with the teaching of Gardner because they are in the same field of endeavor. One of ordinary skill in the art at the time of the invention would have been motivated to do so because the teaching of Gardner would allow Huang to “provides a solution to the problem of ineffective access to data in information sources (such as in a multitenancy context) that continue to vastly increase in size and scope. The conversational LLM-based user tenant orchestration technology enables easy and effective search and information access within a multitenancy context, based on use of NL requests. The conversational LLM-based user tenant orchestration technology also enables use of AI functions to process the data items that are retrieved from the user-accessible portions of the data storage systems.” (Gardner, par. 0023-0025)
As to claim 10, Huang teaches the method of claim 9, further comprising: sending an action request from the agentic manager to an on-device app as directed by the LLM; receiving an action result from the on-device app, the action result containing the phrases; and identifying the phrases in the mapping list (Gardner, par. 0046, 0058, 0063, 0067-0068, 0074, 0076, Fig. 2A, sending prompt and receiving output, converting/identifying using mapping, i.e. “[0063] Returning to FIG. 2A, in some examples, executing each function may include several operations. First, an AI Model 225 may generate a first program that maps corresponding arguments and a dialogue context to an input object that encodes the arguments with portions of the dialogue context that are determined to be relevant to determining an output object. The mapping generates a plurality of contextualized inputs for said function. Second, the AI Model 225 may generate a library of example pairs of input objects and corresponding suitable output objects. Third, the AI Model 225 may perform similarity evaluation (or evaluate similarity) between any two contextualized inputs for said function. Fourth, the AI Model 225 may generate a second program that produces a prompt based on the input object. The prompt may include an NL instruction describing a desired relationship(s) between the output object and the input object, example pairs of input objects and corresponding suitable output objects whose inputs are most similar to the input object in the current dialogue context, and the contextualized input object itself. Fifth, the AI Model 225 may determine the output object by finding a probable continuation of the prompt according to a language model.”).
Regarding claim 19, 20, is essentially the same as claim 9, 10, respectively, except that it sets forth the claimed invention as device rather than method and rejected for the same reasons as applied hereinabove.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANHTAI V TRAN whose telephone number is (571)270-5129. The examiner can normally be reached on Monday through Thursday from 8:00 AM to 4:00 PM.
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, Charles Rones can be reached on (571)272-4085. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/ANHTAI V TRAN/Primary Examiner, Art Unit 2168