Prosecution Insights
Last updated: July 17, 2026
Application No. 18/312,892

Distributed Actor-Based Information System and Method

Non-Final OA §101§103
Filed
May 05, 2023
Priority
May 05, 2022 — provisional 63/338,717
Examiner
MINOR, AYANNA YVETTE
Art Unit
3624
Tech Center
3600 — Transportation & Electronic Commerce
Assignee
Grokit Data Inc.
OA Round
3 (Non-Final)
19%
Grant Probability
At Risk
3-4
OA Rounds
2m
Est. Remaining
44%
With Interview

Examiner Intelligence

Grants only 19% of cases
19%
Career Allowance Rate
35 granted / 184 resolved
-33.0% vs TC avg
Strong +26% interview lift
Without
With
+25.5%
Interview Lift
resolved cases with interview
Typical timeline
3y 4m
Avg Prosecution
33 currently pending
Career history
231
Total Applications
across all art units

Statute-Specific Performance

§101
13.2%
-26.8% vs TC avg
§103
74.1%
+34.1% vs TC avg
§102
10.9%
-29.1% vs TC avg
§112
1.2%
-38.8% vs TC avg
Black line = Tech Center average estimate • Based on career data from 184 resolved cases

Office Action

§101 §103
DETAILED ACTION Acknowledgement This non-final office action is in response to the request for continued examination (RCE) filed on 02/27/2026. Status of Claims Claims 1, 3, 6-9, 13-15, 17, 20-23, 27-29, 31, 34-37, and 41-42 have been amended. Claims 1, 3-15, 17-29, and 31-42 are now pending. Continued Examination Under 37 CFR 1.114 A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 02/27/2026 has been entered. Response to Arguments The double patenting rejection is withdrawn in light of the present claim amendments being distinct from claims in co-pending application 18/143,953. Applicant's arguments filed on 02/27/2026 regarding the 35 U.S.C. 101 and 103 rejections of the claims have been fully considered. The Applicant argues the following. (1) As per the 101 rejection, the Applicant argues, in summary, that the independent claims as amended recite a practical application of the alleged abstract idea, recite significantly more than the alleged abstract idea, and does not reflect human activity of which this process could even be construed to be a certain method of organizing human activity, nor are the claimed elements practically performable in the human mind in the case of an alleged mental process. The Examiner respectfully disagrees. The Examiner maintains the position that the claims are directed to the abstract groupings of Mental Processes and Certain Methods of Organizing Human Activity because the claims describe a process of maintaining skills and utilization statistics for a group of non-human distributed actors (i.e. resources), monitoring an environment for an unfulfilled need and/or a request from a user, and assigning distributed actors to address the unfulfilled need and/or request. Maintaining skills and utilization statistics and monitoring an environment for an unfulfilled need and/or request can practically be performed in the human mind via observation, evaluation, and with pen and paper. The claims do not recite a level of difficulty or impracticality that would prevent performance in the human mind. Assigning non-human distributed actors to unfulfilled needs or requests reflects certain methods of organizing human activity as assignment facilitates interaction between a person that has an unfulfilled need and/or request and a computer that is fulfilling the need and/or request. The claims reflect a human user requesting information from a computer, thus an interaction between a person and a computer. As per MPEP 2106.04(a), a claim recites a judicial exception when the judicial exception is “set forth” or “described” in the claim. The Examiner maintains the position that the additional elements recited in the claims and listed in steps 2A(2) and 2B do not integrate the abstract idea into a practical application or provide significantly more because these additional elements do not improve the functioning of a computer beyond its original capacity nor improve upon another technology or technological component. The additional elements are viewed as mere instructions to apply or implement the abstract idea on a computer. Applying an abstract idea on a computer does not integrate a judicial exception into a practical application or provide an inventive concept (see MPEP 2106.05(f)). Therefore, the 35 U.S.C. 101 rejection is maintained. (2) As per the 103 rejection, the Applicant argues that the combination of Horvitz and Lynch fail to teach, disclose, or even suggest, the amended claim limitations. The Examiner finds the Applicant’s arguments persuasive. Therefore, the previous 103 rejection has been withdrawn. However, upon further search and consideration, a new ground of 103 rejection for claims 1, 15, and 29 is made. See details below. 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 . Information Disclosure Statement The information disclosure statements (IDSs) submitted on 12/08/2025, 03/02/2026, 03/17/2026, 03/20/2026, and 03/25/2026 are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner. 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, 3-15, 17-29, and 31-42 are rejected under 35 U.S.C. 101 because the claimed invention, “Distributed Actor-Based Information System & Method”, is directed to an abstract idea, specifically Mental Processes and Certain Methods of Organizing Human Activity, without significantly more. The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements individually or in combination provide mere instructions to implement the abstract idea on a computer. Step 1: Claims 1, 3-15, 17-29, and 31-42 are directed to a statutory category, namely a process (claims 1 and 3-14), a manufacture (claims 15 and 17-28), and a machine (claims 29 and 31-42). Step 2A (1): Claims 1, 3-5, 7-15, 17-19, 21-29, 31-33, and 35-42 are directed to an abstract idea of Mental Processes and Certain Methods of Organizing Human Activity, based on the following claim limitations: maintaining a group of distributed actors, wherein the group of distributed actors includes one or more non-human distributed actors that perform a respective skill…, maintaining utilization statistics for each of the group of non-human distributed actors; monitoring an environment to detect the existence of an unfulfilled need associated with a user; assigning one or more non-human distributed actors to address the unfulfilled need based, at least in part, upon the utilization statistics and the at least one skill offered by the one or more non-human distributed actors, thus defining one or more assigned non-human distributed actors, wherein the utilization statistics include an assignment history for each of the group of non-human distributed actors as defined by previous content…, wherein the previous content includes a description of a previous interaction between the non-human distributed actor and the user … following performance of a corresponding skill offered by the non-human distributed actor; and performing the at least one skill offered by the one or more assigned distributed actors to address the unfulfilled need based upon, at least in part, the one or more user preferences defined in the previous content, wherein addressing the at least a portion of the unfulfilled need includes performing the at least one skill offered by the one or more assigned non-human distributed actors… (claims 1, 15, and 29); wherein assigning one or more non-human distributed actors to address the unfulfilled need includes one or more of: immediately assigning to the one or more non-human distributed actors; inquiring on the availability of the one or more non-human distributed actors; and allowing the user to choose the one or more non-human distributed actors from a group of potential distributed actors (claims 3, 17, and 31); wherein monitoring an environment to detect the existence of an unfulfilled need includes: detecting the existence of a request (claims 4, 18, and 32); wherein detecting the existence of a request includes one or more of: receiving a request from a human distributed actor; and receiving a request from a non-human distributed actor (claims 5, 19, and 33); wherein the one or more assigned non-human distributed actors interact, directly or indirectly, with one or more distributed non-human sub-actors to address at least a portion of the unfulfilled need (claims 7, 21, 35); addressing at least a portion of the unfulfilled need with the at least one skill offered by the one or more assigned non-human distributed actors (claims 8, 22, and 36); wherein addressing at least a portion of the unfulfilled need with the at least one skill offered by the one or more assigned non-human distributed actors includes: generating one or more response portions with the at least one skill offered by the one or more assigned non-human distributed actors (claims 9, 23, and 37); forming a bespoke response to the unfulfilled need based, at least in part, upon the one or more response portions (claims 10, 24, and 38); providing the bespoke response to a party associated with the unfulfilled need (claims 11, 25, and 39); effectuating, in whole or in part, the bespoke response (claims 12, 26, and 40); wherein maintaining a group of distributed actors includes: maintaining a database that defines the group of non-human distributed actors (claims 13, 27, and 41); wherein the utilization statistics define one or more of: a current workload for each of the group of non-human distributed actors; and an assignment history for each of the group of non-human distributed actors (claims 14, 28, and 42).”. These claims describe a process of maintaining skills and utilization statistics for a group of non-human distributed actors (i.e. resources), monitoring an environment for an unfulfilled need and/or a request from a user, and assigning distributed actors to address the unfulfilled need and/or request. Maintaining skills and utilization statistics and monitoring an environment for an unfulfilled need and/or request can practically be performed in the human mind via observation, evaluation, and with pen and paper. Assigning non-human distributed actors to unfulfilled needs or requests reflects certain methods of organizing human activity as assignment facilitates interaction between a person that has an unfulfilled need and/or request and a computer that is fulfilling the need and/or request. Therefore, these limitations, under the broadest reasonable interpretation, fall within the abstract groupings of Mental Processes and Certain Methods of Organizing Human Activity. Mental Processes includes concepts performed in the human mind such as observations, evaluations, judgments, and opinions and include claims directed to collecting information, analyzing it, and displaying certain results of the collection and analysis even if they are claimed as being performed on a computer. Certain Methods of Organizing Human Activity includes managing personal behavior or relationships or interactions between people including social activities, teaching, and following rules or instructions. Certain Methods of Organizing Human Activity can encompass the activity of a single person (e.g. a person following a set of instructions), activity that involve multiple people (e.g. a commercial interaction), and certain activity between a person and a computer (e.g. a method of anonymous loan shopping). Therefore, claims 1, 3-15, 17-29, and 31-42 are directed to an abstract idea and are not patent eligible. Step 2A (2): This judicial exception is not integrated into a practical application. In particular, claims 1, 6, 13, 15, 20, 27, 29, 34, and 41 recite additional elements of “a computer-implemented method, executed on a computing device; wherein the group of distributed actors includes one or more non-human distributed actors that perform a respective skill without human intervention; a distributed database; processing the respective electronic interface specific to each assigned non- human distributed actor by identifying a data description model that defines content of the respective electronic interface and a function description model that defines functionality of the respective electronic interface; and processing the data description model and the function description model for the respective electronic interface to perform the one or more interactions on the electronic interface (claims 1, 15, and 29); wherein the group of distributed actors include one or more of: a software platform; a software application; a virtual machine; and a web-based service (claims 6, 20, and 34); database (claims 13, 27, and 41); a computer program product residing on a computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations (claim 15); and a computing system including a processor and memory configured to perform operations (claim 29)”. These additional elements do not integrate the abstract idea into a practical application because the claims do not recite (a) an improvement to another technology or technical field and (b) an improvement to the functioning of the computer itself and (c) implementing the abstract idea with or by use of a particular machine, (d) effecting a particular transformation or reduction of an article, or (e) applying the judicial exception in some other meaningful way beyond generally linking the use of an abstract idea to a particular technological environment. These additional elements evaluated individually and in combination are viewed as computing devices that are used to perform that abstract idea stated above. Limitations that recite mere instructions to implement an abstract idea on a computer or merely uses a computer as a tool to perform an abstract idea are not indicative of integration into a practical application (see MPEP 2106.05(f)). Therefore, claims 1, 3-15, 17-29, and 31-42 do not include individual or a combination of additional elements that integrate the judicial exception into a practical application and thus are not patent eligible. Step 2B: The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. Claims 1, 6, 13, 15, 20, 27, 29, 34, and 41 recite additional elements of “a computer-implemented method, executed on a computing device; wherein the group of distributed actors includes one or more non-human distributed actors that perform a respective skill without human intervention; a distributed database; processing the respective electronic interface specific to each assigned non- human distributed actor by identifying a data description model that defines content of the respective electronic interface and a function description model that defines functionality of the respective electronic interface; and processing the data description model and the function description model for the respective electronic interface to perform the one or more interactions on the electronic interface (claims 1, 15, and 29); wherein the group of distributed actors include one or more of: a software platform; a software application; a virtual machine; and a web-based service (claims 6, 20, and 34); database (claims 13, 27, and 41); a computer program product residing on a computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations (claim 15); and a computing system including a processor and memory configured to perform operations (claim 29)”. These additional elements evaluated individually and in combination are viewed as mere instructions to apply or implement the abstract idea on a computer. Applying an abstract idea on a computer does not integrate a judicial exception into a practical application or provide an inventive concept (see MPEP 2106.05(f)). Therefore, claims 1, 3-15, 17-29, and 31-42 do not include individual or a combination of additional elements that are sufficient to amount to significantly more than the judicial exception and thus are not patent eligible. 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. 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, 3-15, 17-29, and 31-42 are rejected under 35 U.S.C. 103 as being unpatentable over Lynch et al. (US 2014/0164317 A1) in view of Charisius et al. (US 2002/0107914 A1). As per claim 1, 15, and 29 (Currently Amended) Lynch teaches a computer-implemented method, executed on a computing device, comprising; a computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising; and a computing system including a processor and memory configured to perform operations comprising (Lynch e.g. Systems, methods, and apparatus for use with at least one virtual agent (Abstract). In some further embodiments, at least one computer-readable medium is provided, having encoded thereon instructions that, when executed by at least one processor, perform a method for use in connection with at least one virtual agent,...[0006]. FIG. 4 shows an illustrative process that may be used by a virtual agent to formulate a task to be performed and/or to perform the task, in accordance with some embodiments of the present disclosure [0011]. FIG. 6 shows an illustrative system in which multiple virtual agents interact with each other in formulating a task to be performed and/or in performing the task, in accordance with some embodiments of the present disclosure [0013]. FIG. 1 shows an illustrative system 100 in which the concepts disclosed herein may be implemented [0068].): …. Lynch teaches monitoring an environment to detect the existence of an unfulfilled need associated with a user; (Lynch e.g. Some electronic devices such as smartphones and tablet computers include applications known as virtual agents [0001]. Some virtual agents are programmed to assist a user in performing various tasks. For example, a virtual agent may be programmed to send electronic messages, make appointments, place phone calls, and get directions [0002]. A virtual agent may be invoked in any suitable manner to perform a task for one or more persons. In accordance with some embodiments, a process may monitor a conversation taking place over a messaging application and listen for a “trigger,” which may be a word or phrase designated for invoking a virtual agent [0029]. The process that monitors the conversation may be the messaging application itself, or some other process that is given access to one or more portions of the conversation content in some suitable manner. In alternative embodiments, the process may execute on a server, such as a server handling the communication traffic associated with the messaging application, or a separate server to which one or more portions of the conversation content is forwarded [0030]. In some further embodiments, a process may intercept user input to a messaging application and determine whether the user input includes a trigger that is designated for invoking a virtual agent. For example, the process may be programmed to intercept input from various types of input devices (e.g., keyboard, mouse, touchscreen, hardware buttons, etc.) on a device used by a conversation participant to detect the designated trigger [0031].) Lynch teaches assigning one or more non-human distributed actors to address the unfulfilled need… thus defining one or more assigned non-human distributed actors… (Lynch e.g. A virtual agent may be invoked in any suitable manner to perform a task for one or more persons. In accordance with some embodiments, a process may monitor a conversation taking place over a messaging application and listen for a “trigger,” which may be a word or phrase designated for invoking a virtual agent [0029]. Upon detecting the designated trigger (which may be in the form of a keystroke, mouse click, touchscreen gesture, button press, speaking or typing a trigger word or phrase, etc., or any suitable combination thereof), the process may invoke the virtual agent, for example, by injecting the virtual agent into a conversation taking place over the messaging application [0031]. A user (who may or may not be a participant in a conversation) may invoke the virtual agent to gather information and/or make a recommendation for multiple participants in the conversation. Once invoked, the virtual agent may inject itself into the conversation to present the requested information and/or recommendation to the participants [0022]. In the example illustrated in FIG. 1, the electronic device 110 also includes a virtual agent 124. The virtual agent 124 may be programmed to perform any of the functionalities described herein. For example, the virtual agent may be programmed to assist a user in performing any of numerous tasks (e.g., sending messages, placing calls, launching applications, accessing information from the Web, etc.). In performing a task, the virtual agent 124 may interact with the user 102 via the user interface(s) 114. The virtual agent 124 may also interact with the operating system 116 and/or one or more of the application(s) 118, access the user data 120, and/or obtain information from a sensor such as the location sensor 122 [0079].) Lynch teaches performing the at least one skill offered by the one or more assigned distributed actors to address the unfulfilled need based upon, at least in part, the one or more user preferences defined in the previous content, wherein addressing the at least a portion of the unfulfilled need includes performing the at least one skill offered by the one or more assigned non-human distributed actors by executing one or more interactions on a respective electronic interface specific to each assigned non-human distributed actor without human intervention, wherein executing the one or more interactions includes (Lynch e.g. Some electronic devices such as smartphones and tablet computers include applications known as virtual agents [0001]. Some virtual agents are programmed to assist a user in performing various tasks. For example, a virtual agent may be programmed to send electronic messages, make appointments, place phone calls, and get directions. In completing such tasks, the virtual agent may interact with other applications (e.g., an email client) and may search for information either locally (e.g., from a user's electronic address book) or via one or more networks (e.g., from the World Wide Web, or the Web) [0002]. In accordance with some embodiments, a virtual agent may be programmed to maintain a profile for a user. The profile may store information that may be used by the virtual agent in interactions with the user. Any suitable type of information may be stored, such as information derived from the virtual agent's prior interactions with the user (e.g., preferences expressed by the user, decisions made by the user, information requested by the user to make certain types of decisions, etc.), information collected from a third party service provider, or any other information that may be useful to the virtual agent in formulating a task to be performed for the user or in performing the task [0048]. The electronic device 110 may store user data 120. Any user data may be stored, examples of which include contact information (e.g., phone numbers, physical addresses, email addresses, etc.), calendar information (e.g., appointment information, event information, birthdays, etc.), user preference information (e.g., preferences for food, movies, music, etc.),...[0077]. In the example illustrated in FIG. 1, the electronic device 110 also includes a virtual agent 124. The virtual agent 124 may be programmed to perform any of the functionalities described herein. For example, the virtual agent may be programmed to assist a user in performing any of numerous tasks (e.g., sending messages, placing calls, launching applications, accessing information from the Web, etc.). In performing a task, the virtual agent 124 may interact with the user 102 via the user interface(s) 114 [0079].): Lynch teaches processing the respective electronic interface specific to each assigned non- human distributed actor by identifying a data description model that defines content of the respective electronic interface and a function description model that defines functionality of the respective electronic interface; and (Lynch e.g. In the example shown in FIG. 1, the electronic device 110 may be configured to receive input from and/or provide output to a user 102 via one or more user interface(s) 114. The user interface(s) 114 may include a keyboard interface, a touchscreen interface, a speech interface, any combination thereof (e.g., a multimodal interface), and/ or any other user interfaces. As another example, the user interface(s) 114 may include a microphone for capturing user speech, and the captured speech may be processed by an automatic speech recognition (ASR) engine (not shown) configured to convert input speech into text [0070]. In some embodiments including a speech interface, the ASR engine may reside on the electronic device 110 so that speech recognition processing can be performed locally [0071]. In some embodiments, an ASR engine may be configured to recognize speech input using one or more fixed or dynamically-generated grammars and/or vocabularies. The grammars and/or vocabularies may be general or context dependent (e.g., specific to an application for which the speech input is directed). For example, the ASR engine may be configured to recognize anything the user says using natural language understanding (NLU) techniques (e.g., using a statistical NLU model) [0072]. In some embodiments, a fixed command grammar may be employed so that the conversation participants must request an action by the virtual agent explicitly by reciting a specific command [0112]. The user interface(s) 114 may provide output to a user in one or more different modes, such as visual, audible, and/or tactile [0073]. Data associated with a locally executing application may be stored locally on the electronic device 110, for example, as part of user data 120. Alternatively, some or all of the data handled by an application may be stored remotely, for example, at a network storage 160 accessible via the network (s) 150 [0074]. A remote access protocol may allow a user to interact with an application running on the remote server(s) 170 via a user interface rendered locally on the electronic device 110 [0075]. The electronic device 110 may store user data 120. Any user data may be stored, examples of which include contact information (e.g., phone numbers, physical addresses, email addresses, etc.), calendar information (e.g., appointment information, event information, birthdays, etc.), user preference information (e.g., preferences for food, movies, music, etc.), media content information (e.g., music, movies, photos, etc.), behavioral history information (e.g., web browsing history, past purchases, etc.), location information (e.g., current location, home location, work location, etc.), or other suitable information. In some embodiments, the user data 120 may be associated with a particular user of the electronic device 110 [0077]. In the example illustrated in FIG. 1, the electronic device 110 also includes a virtual agent 124. The virtual agent 124 may be programmed to perform any of the functionalities described herein. For example, the virtual agent may be programmed to assist a user in performing any of numerous tasks (e.g., sending messages, placing calls, launching applications, accessing information from the Web, etc.). In performing a task, the virtual agent 124 may interact with the user 102 via the user interface(s) 114. The virtual agent 124 may also interact with the operating system 116 and/or one or more of the application(s) 118, access the user data 120, and/or obtain information from a sensor such as the location sensor 122 [0079].) Lynch teaches processing the data description model and the function description model for the respective electronic interface to perform the one or more interactions on the electronic interface. (Lynch e.g. A virtual agent may be invoked in any suitable manner to perform a task for one or more persons. In accordance with some embodiments, a process may monitor a conversation taking place over a messaging application and listen for a “trigger,” which may be a word or phrase designated for invoking a virtual agent [0029]. Upon detecting the designated trigger (which may be in the form of a keystroke, mouse click, touchscreen gesture, button press, speaking or typing a trigger word or phrase, etc., or any suitable combination thereof), the process may invoke the virtual agent, for example, by injecting the virtual agent into a conversation taking place over the messaging application [0031]. A virtual agent may be programmed to use a record of a multiparty conversation in formulating a task to be performed and/or in performing the task. For instance, in some embodiments, the virtual agent may be programmed to analyze what was communicated by the participants in the conversation (e.g., during an IM session) prior to the virtual agent being invoked to determine or interpret what the virtual agent is asked to do for the participants [0036]. A virtual agent may be programmed to use an activity history of a user in formulating a task to be performed and/ or in performing the task [0039]. A virtual agent may be programmed to use a record of a prior virtual agent interaction to facilitate formulating a task to be performed and/or performing the task [0040]. For example, a user may request a recommendation that relates to multiple persons (e.g., a recommendation for a social gathering or activity), and the virtual agent may be programmed to take into account those persons' preferences and/or restrictions in selecting the recommendation [0025]. One or more of the devices used by the conversation participants may have local ASR engines to directly process speech captured by the devices' microphones. The transcribed text may then be provided to the virtual agent in any suitable manner [0122].) While, Lynch teaches monitoring an environment to detect the existence of an unfulfilled need and assigning one or more non-human distributed actors to address unfulfilled needs, Lynch does not explicitly teach, however, Charisius teaches the following: Charisius teaches maintaining a group of distributed actors, wherein the group of distributed actors includes one or more non-human distributed actors that perform a respective skill without human intervention; (Charisius e.g. The invention relates to methods and systems for optimizing resource allocation and resource profiles used in resource allocation based on data mined from plans created from a workflow [0006]. FIG. 1 depicts a data processing system 100 suitable for practicing methods and systems consistent with the present invention [0074]. The Client Interface 134 allows any enterprise affiliate to create, delete, move, and copy workflows, project plans, and associated roles/resource lists on WebDAV server 140 [0079]. FIG. 2 depicts a functional architectural overview of the workflow modeling and project planning integration tool 200 used to integrate workflow modeling and project planning [0087]. The Resource Manager Module 206 further allows an enterprise affiliate to create, modify, and store the resource profiles (e.g., the person, equipment, or systems, such as a development facility) that may be assigned to a task of a plan created from a workflow [0093]. The resource profile includes a resource ID and a unique identifier for the role profile so that the Client Interface 134 may communicate to the Tool Server 144 that the identified resource has skills or capabilities corresponding to the role profile [0093]. The Client Interface 134 may also receive other resource information (not shown) for other types of resources (e.g., equipment, facilities, computer systems, or other known entities) that may be assigned to any task of a plan [0162]. Resource information 5404 may also include one or more skill identifiers that indicate one or more capabilities that a task of a plan may require for the task to be completed. Skill identifiers may include any foreseeable skill for the named resource, including a user, equipment, facilities, computer systems, or other known entities that may be assigned to any task of a plan [0163].) Charisius teaches maintaining utilization statistics for each of the group of non-human distributed actors; (Charisius e.g. The invention relates to methods and systems for optimizing resource allocation and resource profiles used in resource allocation based on data mined from plans created from a workflow [0006]. The Resource Manager Module 206 further allows an enterprise affiliate to create, modify, and store the resource profiles (e.g., the person, equipment, or systems, such as a development facility) that may be assigned to a task of a plan created from a workflow [0093]. The Client Interface 134 may also receive other resource information (not shown) for other types of resources (e.g., equipment, facilities, computer systems, or other known entities) that may be assigned to any task of a plan [0162]. Resource information 5404 may also include one or more skill identifiers that indicate one or more capabilities that a task of a plan may require for the task to be completed. Skill identifiers may include any foreseeable skill for the named resource, including a user, equipment, facilities, computer systems, or other known entities that may be assigned to any task of a plan [0163]. Resource information 5404 may also include an availability timetable (not shown) that indicates to the Client Interface 134 the calendar days, the hours in a weekday, and the hours in a weekend day that the named resource is available to work. Resource information 5404 may also include an assignment timetable (not shown) that has assigned calendar days. The assigned calendar days indicate to the Client Interface 134 which calendar days the named resource has been assigned to one or more tasks. In addition, the assignment timetable may include unique identifiers or URLs for the one or more tasks to which the named resource has been assigned [0164].) Charisius teaches assigning one or more non-human distributed actors to address the unfulfilled need based, at least in part, upon the utilization statistics and the at least one skill offered by the one or more non-human distributed actors, thus defining one or more assigned non-human distributed actors, wherein the utilization statistics include an assignment history for each of the group of non-human distributed actors as defined by previous content persisted within a distributed database, wherein the previous content includes a description of a previous interaction between the non-human distributed actor and the user that is persisted in the distributed database following performance of a corresponding skill offered by the non-human distributed actor; and (Charisius e.g. The invention relates to methods and systems for optimizing resource allocation and resource profiles used in resource allocation based on data mined from plans created from a workflow [0006]. The Resource/Role Management Module 220 reviews requests from an enterprise affiliate to assign a resource to a plan (e.g., to assign a user to a task of the plan) [0105]. The Resource/Role Management Module 220 checks the resource profile corresponding to the assigned resource on the WebDAV Storage 142 to verify that the resource is not overloaded. For example, the Resource/Role Management Module 220 determines whether a resource is already assigned to another task in another plan during the same time frame, thus preventing it from being able to complete one of the tasks to which it is assigned [0105]. The Client Interface also automatically assigns a resource to a role for each task based on a resource allocation process, such as matching a role having a skill and a corresponding skill strength to a resource having the same skill and the same or greater skill strength. Thus, when performing the resource allocation process, the Client Interface examines whether a resource has one or more skills that indicate one or more capabilities that a task of a plan may require for the task to be completed [0180]. To perform the resource allocation process, the Client Interface accesses a profile for the role to identify the skill and the corresponding skill strength for the role (i.e., capabilities that a task of a plan may require) and accesses a resource profile for the resource to identify if the resource has the same skill and the same or greater skill strength (i.e., same or greater capabilities than the task of the plan requires) [0180]. The Client Interface may select a resource that has been assigned to a role of the activity and has been stored as an auto assigned resource or as manually assigned resource in the reassignment information log [0206].) The Examiner submits that before the effective filing date, it would have been obvious to one of ordinary skill in the art to combine Lynch’s virtual agent system with Charisius’s data processing system that maintains and assigns a groups of non-human distributed actors with associated skills in order to improve resource allocation to a given plan (Charisius e.g. Abstract). As per claims 3, 17, and 31 (Currently Amended), Lynch in view of Charisius teach the computer-implemented method of claim 1, the computer program product of claim 15, and the computing system of claim 29, Lynch teaches wherein assigning one or more non-human distributed actors to address the unfulfilled need includes one or more of: immediately assigning to the one or more non-human distributed actors; inquiring on the availability of the one or more non-human distributed actors; and allowing the user to choose the one or more non-human distributed actors from a group of potential distributed actors (Lynch e.g. Upon detecting the designated trigger (which may be in the form of a keystroke, mouse click, touchscreen gesture, button press, speaking or typing a trigger word or phrase, etc., or any suitable combination thereof), the process may invoke the virtual agent, for example, by injecting the virtual agent into a conversation taking place over the messaging application [0031]. Once invoked, the virtual agent may inject itself into the conversation to present the requested information and/or recommendation to the participants [0022]. In some further embodiments, a virtual agent may be invoked on a device in response to input received from another device. For example, a first device having virtual agent capability may receive from a second device a communication and invoke a virtual agent upon detecting a designated trigger in the communication. The communication may be received via a messaging application (e.g., SMS, IM, email, voice chat, etc.), via telephone, or in any other suitable way. In this manner, even if the second device does not have virtual agent capability, a user of the second device may be able to take advantage of the virtual agent capability of the first device [0032].) As per claims 4, 18, and 32 (Original), Lynch in view of Charisius teach the computer-implemented method of claim 1, the computer program product of claim 15, and the computing system of claim 29, Lynch teaches wherein monitoring an environment to detect the existence of an unfulfilled need includes: detecting the existence of a request (Lynch e.g. A virtual agent may be invoked in any suitable manner to perform a task for one or more persons. In accordance with some embodiments, a process may monitor a conversation taking place over a messaging application and listen for a “trigger,” which may be a word or phrase designated for invoking a virtual agent [0029]. Upon detecting the designated trigger (which may be in the form of a keystroke, mouse click, touchscreen gesture, button press, speaking or typing a trigger word or phrase, etc., or any suitable combination thereof), the process may invoke the virtual agent, for example, by injecting the virtual agent into a conversation taking place over the messaging application [0031]. A user (who may or may not be a participant in a conversation) may invoke the virtual agent to gather information and/or make a recommendation for multiple participants in the conversation. Once invoked, the virtual agent may inject itself into the conversation to present the requested information and/or recommendation to the participants [0022].) As per claims 5, 19, and 33 (Original), Lynch in view of Charisius teach the computer-implemented method of claim 4, the computer program product of claim, and the computing system of claim 32, Lynch teaches wherein detecting the existence of a request includes one or more of: receiving a request from a human distributed actor; and receiving a request from a non-human distributed actor (Lynch e.g. A user (who may or may not be a participant in a conversation) may invoke the virtual agent to gather information and/or make a recommendation for multiple participants in the conversation. Once invoked, the virtual agent may inject itself into the conversation to present the requested information and/or recommendation to the participants [0022]. In accordance with some embodiments, a record may be stored for an interaction between a virtual agent and one or more users. Having a record of the prior interaction may facilitate the virtual agent making a recommendation. For instance, in some embodiments, the user may modify the record of the previous interaction (e.g., by adding, modifying, and/or removing information) and provide the modified record to the virtual agent to request a new recommendation, without having to recreate the interaction or otherwise manually input all information desired to be provided to the virtual agent [0051].) As per claims 6, 20, and 34 (Currently Amended), Lynch in view of Charisius teach the computer-implemented method of claim 1, the computer program product of claim 15, and the computing system of claim 29, Lynch teaches wherein the group of non-human distributed actors include one or more of: a software platform; a software application; a virtual machine; and a web-based service (Lynch e.g. Some electronic devices such as smartphones and tablet computers include applications known as virtual agents [0001]. Some virtual agents are programmed to assist a user in performing various tasks. For example, a virtual agent may be programmed to send electronic messages, make appointments, place phone calls, and get directions [0002]. In the example illustrated in FIG. 1, the electronic device 110 also includes a virtual agent 124. The virtual agent 124 may be programmed to perform any of the functionalities described herein. For example, the virtual agent may be programmed to assist a user in performing any of numerous tasks (e.g., sending messages, placing calls, launching applications, accessing information from the Web, etc.) [0079]. The virtual agent 124 may be implemented as an application that resides locally on the electronic device 110. In other embodiments, the virtual agent 124 may execute on one or more remote computers (e.g., the server(s) 170) and may be accessible from the electronic device 110 via a web interface, a remote access protocol, or some other suitable technology. In some further embodiments, the virtual agent may be distributed and may execute partially on the device 110 and partially on one or more remote computers [0080].) As per claims 7, 21, and 35 (Currently Amended), Lynch in view of Charisius teach the computer-implemented method of claim, the computer program product of claim 15, and the computing system of claim 29, Lynch teaches wherein the one or more assigned non-human distributed actors interact, directly or indirectly, with one or more non-human distributed sub-actors to address at least a portion of the unfulfilled need (Lynch e.g. Some virtual agents are programmed to assist a user in performing various tasks. For example, a virtual agent may be programmed to send electronic messages, make appointments, place phone calls, and get directions [0002]. In completing such tasks, the virtual agent may interact with other applications (e.g., an email client) and may search for information either locally (e.g., from a user's electronic address book) or via one or more networks (e.g., from the World Wide Web, or the Web) [0002]. Multiple virtual agents may interact with each other in formulating a task to be performed and/or in performing the task [0061]. In accordance with some embodiments, multiple virtual agents running on different devices may interact with each other in formulating a task to be performed and/or in performing the task, irrespective of whether the task is performed for a single user or for multiple users. As one non-limiting example, a virtual agent running on a user device may interact with a virtual agent running on a server (e.g., in the cloud), for example, by forwarding information to and receiving a recommendation from the server-side virtual agent. The server-side virtual agent may interact with a single client-side virtual agent (e.g., when making a recommendation for a single user) or multiple client-side virtual agents (e.g., when making a recommendation for multiple users), as aspects of the present disclosure relating to multiple virtual agents collaborating with each other are not limited to any particular arrangement among the virtual agents [0065]. The virtual agent 124 may also interact with the operating system 116 and/or one or more of the application(s) 118, access the user data 120, and/or obtain information from a sensor such as the location sensor 122 [0079].) As per claims 8, 22, and 36 (Currently Amended), Lynch in view of Charisius teach the computer-implemented method of claim 1, the computer program product of claim 15, and the computing system of claim 29, Lynch teaches further comprising: addressing at least a portion of the unfulfilled need with the at least one skill offered by the one or more assigned non-human distributed actors (Lynch e.g. Some virtual agents are programmed to assist a user in performing various tasks. For example, a virtual agent may be programmed to send electronic messages, make appointments, place phone calls, and get directions [0002]. In completing such tasks, the virtual agent may interact with other applications (e.g., an email client) and may search for information either locally (e.g., from a user's electronic address book) or via one or more networks (e.g., from the World Wide Web, or the Web) [0002]. Multiple virtual agents may interact with each other in formulating a task to be performed and/or in performing the task [0061]. In the example illustrated in FIG. 1, the electronic device 110 also includes a virtual agent 124. The virtual agent 124 may be programmed to perform any of the functionalities described herein. For example, the virtual agent may be programmed to assist a user in performing any of numerous tasks (e.g., sending messages, placing calls, launching applications, accessing information from the Web, etc.). In performing a task, the virtual agent 124 may interact with the user 102 via the user interface(s) 114. The virtual agent 124 may also interact with the operating system 116 and/or one or more of the application(s) 118, access the user data 120, and/or obtain information from a sensor such as the location sensor 122. [0079].) As per claims 9, 23, and 37 (Currently Amended), Lynch in view of Charisius teach the computer-implemented method of claim 8, the computer program product of claim 22, and the computing system of claim 36, Lynch teaches wherein addressing at least a portion of the unfulfilled need with the at least one skill offered by the one or more assigned non-human distributed actors includes: generating one or more response portions with the at least one skill offered by the one or more assigned non-human distributed actors (Lynch e.g. Some virtual agents are programmed to assist a user in performing various tasks. For example, a virtual agent may be programmed to send electronic messages, make appointments, place phone calls, and get directions [0002]. Invocation of a virtual agent from a multiparty conversation may cause the virtual agent to be injected into the conversation as an additional participant. For example, the virtual agent may be asked to make a recommendation for the group (e.g., for a restaurant, shop, movie, etc.) [0021]. A user (who may or may not be a participant in a conversation) may invoke the virtual agent to gather information and/or make a recommendation for multiple participants in the conversation. Once invoked, the virtual agent may inject itself into the conversation to present the requested information and/or recommendation to the participants [0022].) As per claims 10, 24, and 38 (Original), Lynch in view of Charisius teach the computer-implemented method of claim 9, the computer program product of claim 23, and the computing system of claim 37 further comprising: Lynch teaches forming a bespoke response to the unfulfilled need based, at least in part, upon the one or more response portions (Lynch e.g. A user (who may or may not be a participant in a conversation) may invoke the virtual agent to gather information and/or make a recommendation for multiple participants in the conversation. Once invoked, the virtual agent may inject itself into the conversation to present the requested information and/or recommendation to the participants [0022]. In some embodiments, the virtual agent may be injected into the conversation to interact with one or more participants, for example, to prompt for additional information to further define the requested task and/or to provide a recommendation or result of a task to the participants in the conversation [0037].) As per claims 11, 25, and 39 (Original), Lynch in view of Charisius teach the computer-implemented method of claim 10, the computer program product of claim 24, and the computing system of claim 38 further comprising: Lynch teaches providing the bespoke response to a party associated with the unfulfilled need (Lynch e.g. A user (who may or may not be a participant in a conversation) may invoke the virtual agent to gather information and/or make a recommendation for multiple participants in the conversation. Once invoked, the virtual agent may inject itself into the conversation to present the requested information and/or recommendation to the participants [0022].) As per claims 12, 26, and 40 (Original), Lynch in view of Charisius teach the computer-implemented method of claim 10, the computer program product of claim 24, and the computing system of claim 38 further comprising: Lynch teaches effectuating, in whole or in part, the bespoke response (Lynch e.g. A user (who may or may not be a participant in a conversation) may invoke the virtual agent to gather information and/or make a recommendation for multiple participants in the conversation. Once invoked, the virtual agent may inject itself into the conversation to present the requested information and/or recommendation to the participants [0022]. In some embodiments, the virtual agent may be injected into the conversation to interact with one or more participants, for example, to prompt for additional information to further define the requested task and/or to provide a recommendation or result of a task to the participants in the conversation [0037].) As per claims 13, 27, and 41 (Currently Amended), Lynch in view of Charisius teach the computer-implemented method of claim 1, the computer program product of claim 15, and the computing system of claim 29, Lynch does not explicitly teach, however, Charisius teaches wherein maintaining a group of distributed actors includes: maintaining a database that defines the group of non-human distributed actors (Charisius e.g. The invention relates to methods and systems for optimizing resource allocation and resource profiles used in resource allocation based on data mined from plans created from a workflow [0006]. FIG. 1 depicts a data processing system 100 suitable for practicing methods and systems consistent with the present invention [0074]. The Client Interface 134 allows any enterprise affiliate to create, delete, move, and copy workflows, project plans, and associated roles/resource lists on WebDAV server 140 [0079]. FIG. 2 depicts a functional architectural overview of the workflow modeling and project planning integration tool 200 used to integrate workflow modeling and project planning [0087]. The Resource Manager Module 206 further allows an enterprise affiliate to create, modify, and store the resource profiles (e.g., the person, equipment, or systems, such as a development facility) that may be assigned to a task of a plan created from a workflow [0093]. The resource profile includes a resource ID and a unique identifier for the role profile so that the Client Interface 134 may communicate to the Tool Server 144 that the identified resource has skills or capabilities corresponding to the role profile [0093]. The Client Interface 134 may also receive other resource information (not shown) for other types of resources (e.g., equipment, facilities, computer systems, or other known entities) that may be assigned to any task of a plan [0162]. Resource information 5404 may also include one or more skill identifiers that indicate one or more capabilities that a task of a plan may require for the task to be completed. Skill identifiers may include any foreseeable skill for the named resource, including a user, equipment, facilities, computer systems, or other known entities that may be assigned to any task of a plan [0163].) The Examiner submits that before the effective filing date, it would have been obvious to one of ordinary skill in the art to combine Lynch’s virtual agent system with Charisius’s data processing system that maintains a groups of distributed actors with associated skills in order to improve resource allocation to a given plan (Charisius e.g. Abstract). As per claims 14, 28, and 42 (Currently Amended), Lynch in view of Charisius teach the computer-implemented method of claim 1, the computer program product of claim 15, and the computing system of claim 29, Lynch does not explicitly teach, however, Charisius teaches wherein the utilization statistics define one or more of: a current workload for each of the group of non-human distributed actors; and an assignment history for each of the group of non-human distributed actors. (Charisius e.g. The invention relates to methods and systems for optimizing resource allocation and resource profiles used in resource allocation based on data mined from plans created from a workflow [0006]. The Resource/Role Management Module 220 reviews requests from an enterprise affiliate to assign a resource to a plan (e.g., to assign a user to a task of the plan) [0105]. The Resource/Role Management Module 220 checks the resource profile corresponding to the assigned resource on the WebDAV Storage 142 to verify that the resource is not overloaded. For example, the Resource/Role Management Module 220 determines whether a resource is already assigned to another task in another plan during the same time frame, thus preventing it from being able to complete one of the tasks to which it is assigned [0105]. The Client Interface also automatically assigns a resource to a role for each task based on a resource allocation process, such as matching a role having a skill and a corresponding skill strength to a resource having the same skill and the same or greater skill strength. Thus, when performing the resource allocation process, the Client Interface examines whether a resource has one or more skills that indicate one or more capabilities that a task of a plan may require for the task to be completed [0180]. To perform the resource allocation process, the Client Interface accesses a profile for the role to identify the skill and the corresponding skill strength for the role (i.e., capabilities that a task of a plan may require) and accesses a resource profile for the resource to identify if the resource has the same skill and the same or greater skill strength (i.e., same or greater capabilities than the task of the plan requires) [0180]. The Client Interface may select a resource that has been assigned to a role of the activity and has been stored as an auto assigned resource or as manually assigned resource in the reassignment information log [0206].) The Examiner submits that before the effective filing date, it would have been obvious to one of ordinary skill in the art to combine Lynch’s virtual agent system with Charisius’s data processing system that maintains and assigns a groups of non-human distributed actors with associated skills in order to improve resource allocation to a given plan (Charisius e.g. Abstract). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure include US: Radha et al. (US 2023/0342202 A1) "System and Method of Adaptive Scalable Microservice", FOR: White, R. (WO-2023191968-A1) “Auto-Managing Requestor Communications to Accommodate Pending Activities of Diverse Actors”, NPL: C. Hill, R. Yates, C. Jones and S. L. Kogan, "Beyond predictable workflows: Enhancing productivity in artful business processes," in IBM Systems Journal, vol. 45, no. 4, pp. 663-682, 2006. Any inquiry concerning this communication or earlier communications from the examiner should be directed to Ayanna Minor whose telephone number is (571)272-3605. The examiner can normally be reached M-F 9am-5 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, Jerry O'Connor can be reached at 571-272-6787. 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. /A.M./Examiner, Art Unit 3624 /Jerry O'Connor/Supervisory Patent Examiner,Group Art Unit 3624
Read full office action

Prosecution Timeline

May 05, 2023
Application Filed
Apr 02, 2025
Non-Final Rejection mailed — §101, §103
Aug 04, 2025
Response Filed
Oct 01, 2025
Final Rejection mailed — §101, §103
Feb 27, 2026
Request for Continued Examination
Mar 17, 2026
Response after Non-Final Action
Apr 02, 2026
Non-Final Rejection mailed — §101, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12556890
ACTIVE TRANSPORT BASED NOTIFICATIONS
3y 9m to grant Granted Feb 17, 2026
Patent 12518234
CONVERSATIONAL BUSINESS TOOL
2y 4m to grant Granted Jan 06, 2026
Patent 12455761
TECHNIQUES FOR WORKFLOW ANALYSIS AND DESIGN TASK OPTIMIZATION
5y 10m to grant Granted Oct 28, 2025
Patent 12450542
CONVERSATIONAL BUSINESS TOOL
2y 1m to grant Granted Oct 21, 2025
Patent 12450543
CONVERSATIONAL BUSINESS TOOL
2y 1m to grant Granted Oct 21, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
19%
Grant Probability
44%
With Interview (+25.5%)
3y 4m (~2m remaining)
Median Time to Grant
High
PTA Risk
Based on 184 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month