Prosecution Insights
Last updated: August 15, 2026
Application No. 19/209,196

COLLABORATIVE ARTIFICIAL INTELLIGENT (AI) AGENT SYSTEMS WITH COORDINATORS/RECOMMENDATIONS FOR SHARED APPLICATIONS AND METHODS THEREOF

Non-Final OA §103
Filed
May 15, 2025
Priority
May 15, 2024 — IN IN202311077692
Examiner
TOUGHIRY, ARYAN D
Art Unit
3626
Tech Center
3600 — Transportation & Electronic Commerce
Assignee
Affle (India) Limited
OA Round
1 (Non-Final)
68%
Grant Probability
Favorable
1-2
OA Rounds
1y 12m
Est. Remaining
88%
With Interview

Examiner Intelligence

Grants 68% — above average
68%
Career Allowance Rate
134 granted / 196 resolved
+16.4% vs TC avg
Strong +19% interview lift
Without
With
+19.1%
Interview Lift
resolved cases with interview
Typical timeline
3y 3m
Avg Prosecution
16 currently pending
Career history
214
Total Applications
across all art units

Statute-Specific Performance

§101
0.6%
-39.4% vs TC avg
§103
70.6%
+30.6% vs TC avg
§102
16.8%
-23.2% vs TC avg
§112
7.1%
-32.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 196 resolved cases

Office Action

§103
DETAILED ACTION 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 . 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. 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. Claims 1-14 are rejected under 35 U.S.C. 103 as being unpatentable over US 20240281207 A1; Sierhuis; Maarten et al. (hereinafter Sierhuis) in view of US 20240106846 A1; KAPOOR; VIKRAM et al. (hereinafter Kapoor). Regarding claim 1, Sierhuis teaches A method for collaborating one or more Artificial Intelligent (Al) agent systems with a plurality of coordinators, the method comprising:receiving, by a system Al agent, a request from a user device for performing a task,wherein the system Al agent processes the request; (Sierhuis [0005] intelligent personal agent platform that has various services or software modules ... the user or interfacing with another person, machine, or another intelligent agent, including directing such other person, machine, or another intelligent agent to take an action (e.g., to provide in-context personalized advice, coaching, support to a user, information to other agents, machines or people); or making a prediction. The system integrates wearable and environmental sensors that gather real-time data with one or more software-based intelligent personal agents that run on cloud-based or local servers to monitor and analyze the data and provide a response, such as a request to take a certain action or making a prediction. Users can interact with their personal agents wherever they are via a variety of interfaces depending on the communication devices and communication networks that are available to them (e.g. mobile devices, Smart TVs, wearable displays, heads-up displays in a car, touch interfaces, and spoken natural language). [0025] users can make requests to their respective intelligent personal agents, and after analyzing the necessary data provided by the external resources, the respective intelligent personal agents provide a response. However, it should be appreciated that depending upon the configuration of the intelligent personal agents 145, responses may be provided without a specific request from a user. For example, an intelligent personal agent 145 may be configured to provide a response upon receiving certain data about a user, and the response may be directed to the user specifically or may be directed to an external entity, including a sensor, person, or device or machine. Following, each of the specific components of the system shown in FIG. 1 are described. [0032] The intelligent personal agent 145 can be developed and executed within the platform 100. In the field of artificial intelligence, an intelligent personal agent is a software agent that is an autonomous entity that observes through sensors and acts upon an environment using actuators and directs its activity towards achieving goals (i.e. it is rational and uses knowledge to achieve their goals). Accordingly, the intelligent personal agents 145 can be used to process data and to produce a result or request... [0036] Intelligent personal agents 145, as further examples of the response that may be made, may also take actions in the real world (e.g., to order transportation for a user through a transportation service or to turn an appliance on or off) or virtually in software (e.g., to send an email or a text message to another user). Intelligent personal agents 145 may automate tasks or serve as the proxy for a participant in a particular activity. Intelligent personal agents...[44&61] elaborate on the matter [FIG.1] shows the corresponding visual for collaborating one or more Artificial Intelligent (Al) agent systems with a plurality of coordinators which receive by a system Al agent, a request from a user device for performing a task,wherein the system Al agent processes the request) determining, by the system Al agent, a coordinator amongst the plurality of coordinators configured to augment the request to be implemented with the request, wherein the request and the coordinator is communicated to a support Al agent; (Sierhuis [0074] FIG. 9 is a block diagram illustrating the analytics service used in the intelligent personal agent platform and data flow between the components of the analytics service according to one embodiment of the present invention. As described above, the analytics service 120 comprises software that receives sensor data from the sensor data store database 170 that needs to be analyzed. More specifically, the analytics service 120 receives sensor data 350 from the sensor service 110, analysis requests 902 from the agent service 140, user data 904 from the interaction service 150, and any other data from the external database(s) 103 via the analysis coordinator 121. The analysis coordinator 121 determines what type of analytics is required for the received data and, based on this, sends the data and request to the data analyst 122 or the machine learner 123. The data analyst 122 can perform different analyses, including, for example, data aggregation 906, trend 908, historical 910, and real-time analyses 912. The machine learner 123 applies machine-learning algorithms known in the art to create predictive models 914 that can be used by the learning service 130 [58-61] elaborate on the matter [FIG.1 in conjunction with FIG.9] shows determining, by the system Al agent, a coordinator amongst the plurality of coordinators configured to augment the request to be implemented with the request, wherein the request and the coordinator is communicated to a support Al agent) extracting, by the support Al agent, relevant information associated with the request from within the system and outside the system, wherein the relevant information is consolidated by the coordinator; (Sierhuis [0022] an intelligent personal agent platform and system and methods for using the same, wherein various information regarding a user can be collected, processed, and used to assist the user, autonomously or on demand, in a wide variety of ways. More specifically, the invention relates to a system that utilizes one or more software-based intelligent personal agents, within an intelligent personal agent platform, to analyze collected data about a user, determine whether a responsive action should be taken, to take such responsive action if so determined, and to learn about the user and provide a more tailored analysis of the collected data [0074] FIG. 9 is a block diagram illustrating the analytics service used in the intelligent personal agent platform and data flow between the components of the analytics service according to one embodiment of the present invention. As described above, the analytics service 120 comprises software that receives sensor data from the sensor data store database 170 that needs to be analyzed. More specifically, the analytics service 120 receives sensor data 350 from the sensor service 110, analysis requests 902 from the agent service 140, user data 904 from the interaction service 150, and any other data from the external database(s) 103 via the analysis coordinator 121. The analysis coordinator 121 determines what type of analytics is required for the received data and, based on this, sends the data and request to the data analyst 122 or the machine learner 123. The data analyst 122 can perform different analyses, including, for example, data aggregation 906, trend 908, historical 910, and real-time analyses 912. The machine learner 123 applies machine-learning algorithms known in the art to create predictive models 914 that can be used by the learning service 130 [57-63] elaborate on the matter [FIG.5 in conjunction with FIG.9] shows extracting, by the support Al agent, relevant information associated with the request from within the system and outside the system, wherein the relevant information is consolidated by the coordinator) and performing, by the system Al agent, the task associated with the request based on the relevant information, wherein the system Al agent generates an output augmented with another coordinator amongst the plurality of coordinators. (Sierhuis [0044] It should be appreciated that the intelligent personal agents 145 within the platform 100 may also exchange data inputs and outputs with various databases 900, 910, 920, 930 that are included in the platform 100...[0053] the user interaction application 160 communicates with each of the various types of inputs and outputs 400, 500, 600, 700, 800 between a person, intelligent agent, or machine 200 and the platform 100, as described above in connection with FIG. 2. The user interaction application 160 communicates with the interaction service 150 to pass the inputs from the various external persons, intelligent agents, or machines 200 to the interaction service 150 for purposes of passing those inputs to the various components within the platform 100. In addition, the user interaction application 160 communicates with the interaction service 150 to pass the outputs from the various components within the platform 100 to the various external persons, intelligent agents, or machines 200. [0074] FIG. 9 is a block diagram illustrating the analytics service used in the intelligent personal agent platform and data flow between the components of the analytics service according to one embodiment of the present invention. As described above, the analytics service 120 comprises software that receives sensor data from the sensor data store database 170 that needs to be analyzed. More specifically, the analytics service 120 receives sensor data 350 from the sensor service 110, analysis requests 902 from the agent service 140, user data 904 from the interaction service 150, and any other data from the external database(s) 103 via the analysis coordinator 121. The analysis coordinator 121 determines what type of analytics is required for the received data and, based on this, sends the data and request to the data analyst 122 or the machine learner 123. The data analyst 122 can perform different analyses, including, for example, data aggregation 906, trend 908, historical 910, and real-time analyses 912. The machine learner 123 applies machine-learning algorithms known in the art to create predictive models 914 that can be used by the learning service 130[FIG.1 in conjunction with FIG.9] shows performing, by the system Al agent, the task associated with the request based on the relevant information, wherein the system Al agent generates an output augmented with another coordinator amongst the plurality of coordinators) Sierhuis lacks explicitly and orderly teaching obfuscating, by a local Al agent, information associated with the system to prevent a data leakage, while the relevant information is being extracted; However Kapoor teaches obfuscating, by a local Al agent, information associated with the system to prevent a data leakage, while the relevant information is being extracted; (Kapoor [0114] Each data aggregator may run within a particular customer environment. A data aggregator (e.g., data aggregator 114) may facilitate data routing from many different agents (e.g., agents executing on nodes 108) to data platform 12. In various embodiments, data aggregator 114 may implement a SOCKS 5 caching proxy through which agents can connect to data platform 12. As applicable, data aggregator 114 can encrypt (or otherwise obfuscate) sensitive information prior to transmitting it to data platform 12, and can also distribute key material to agents which can encrypt the information (as applicable). Data aggregator 114 may include a local storage, to which agents can upload data (e.g., pcap packets). The storage may have a key-value interface. The local storage can also be omitted, and agents configured to upload data to a cloud storage or other storage area, as applicable. Data aggregator 114 can, in some embodiments, also cache locally and distribute software upgrades, patches, or configuration information (e.g., as received from data platform 12).[0721] The first information describes activity associated with the user in that it describes browsing activity by an associated executed instance of a browser application. For example, in some embodiments, the first information describes particular websites or other resources accessed by the browser. In some embodiments, the first information may describe one or more accounts currently logged into by the browser. In some embodiments, the first information may describe certain data stored by the browser, including auto-fill or auto-complete values, stored credit cards, addresses, phone numbers, or other information as can be appreciated. In some embodiments, these values may be embodied in the first information as clear text or in an encrypted or obfuscated form. In some embodiments, the first information may describe particular scripts being executed within the browser, such as scripts executed by a web page actively browsed by the browser. In some embodiments, the first information may describe a version of the browser, other extensions or plugins used by the browser, and the like [FIG.1D] shows corresponding visual which can include obfuscating, by a local Al agent, information associated with the system to prevent a data leakage, while the relevant information is being extracted ) Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to take all prior methods and make the addition of Kapoor in order to efficiently prevent a data leakage and create a more secure system via encryption/obfuscation methods (Kapoor [0110] Use of an aggregator can be beneficial in sensitive environments (e.g., involving financial or medical transactions) where various nodes are subject to regulatory or other architectural requirements (e.g., prohibiting a given node from communicating with systems outside of datacenter 104). Use of an aggregator can also help to minimize security exposure more generally. As one example, by limiting communications with data platform 12 to data aggregator 114, individual nodes in nodes 108 need not make external network connections (e.g., via Internet 124), which can potentially expose them to compromise (e.g., by other external devices, such as device 118, operated by a criminal). Similarly, data platform 12 can provide updates, configuration information, etc., to data aggregator 114 (which in turn distributes them to nodes 108), rather than requiring nodes 108 to allow incoming connections from data platform 12 directly.[0111] Another benefit of an aggregator model is that network congestion can be reduced (e.g., with a single connection being made at any given time between data aggregator 114 and data platform 12, rather than potentially many different connections being open between various of nodes 108 and data platform 12). Similarly, network consumption can also be reduced (e.g., with the aggregator applying compression techniques/bundling data received from multiple agents).[0114] Each data aggregator may run within a particular customer environment. A data aggregator (e.g., data aggregator 114) may facilitate data routing from many different agents (e.g., agents executing on nodes 108) to data platform 12. In various embodiments, data aggregator 114 may implement a SOCKS 5 caching proxy through which agents can connect to data platform 12. As applicable, data aggregator 114 can encrypt (or otherwise obfuscate) sensitive information prior to transmitting it to data platform 12, and can also distribute key material to agents which can encrypt the information (as applicable). Data aggregator 114 may include a local storage, to which agents can upload data (e.g., pcap packets). The storage may have a key-value interface. The local storage can also be omitted, and agents configured to upload data to a cloud storage or other storage area, as applicable. Data aggregator 114 can, in some embodiments, also cache locally and distribute software upgrades, patches, or configuration information (e.g., as received from data platform 12).) Corresponding system claim 13 is rejected similarly as claim 1 above. Additional Limitations: Device with processor(s) and memory (Sierhuis [0030] The platform 100 can be operated on a variety of computing hardware and software components, such as networked computers and data servers...such as a physical sensor, or as software, such as a set of software instructions or software application. Further, it should be appreciated that the system components or modules may be connected through a computer network that has one or more computing devices that include processors, processing circuitry, memory, and software instructions for operating the computing devices [FIG.1 in conjunction with FIG.9] shows corresponding visual Device with processor(s) and memory) Corresponding product claim 14 is rejected similarly as claim 1 above. Additional Limitations: computer readable medium capable of reading and executing instructions (Sierhuis [0030] The platform 100 can be operated on a variety of computing hardware and software components, such as networked computers and data servers...such as a physical sensor, or as software, such as a set of software instructions or software application. Further, it should be appreciated that the system components or modules may be connected through a computer network that has one or more computing devices that include processors, processing circuitry, memory, and software instructions for operating the computing devices [FIG.1 in conjunction with FIG.9] shows corresponding visual Device with processor(s) and memory with computer readable medium capable of reading and executing instructions) Regarding claim 2, Sierhuis and Kapoor teach The method according to claim 1, wherein extracting the relevant information comprises: maintaining a structured registry containing the relevant information; (Sierhuis [0044] It should be appreciated that the intelligent personal agents 145 within the platform 100 may also exchange data inputs and outputs with various databases 900, 910, 920, 930 that are included in the platform 100. User data maintained in a user data database 900 includes data that describes the user, such as account information, personal information, contact methods, and identification information about the sensors, devices, persons, and third party accounts that are associated with the user. Third party accounts include accounts the user may have with other third party services, such as Skype, Google, or Twitter. It should be appreciated, however, that the user data database 900 only stores account information about the user's third party account, the user's data generated through use of that third party service is still stored with that third party. For example, if the user wants to be able to tell his agent to make a Skype call or to be able to add an appointment on his or another person's Google Calendar, information about those accounts is stored in the user data database 900. The user's Skype contact list and phone numbers and Google Calendar data, however, are stored in a database 103 external to the platform 100 that is operated or controlled by the respective third party. Specifically, sufficient information about these third party accounts is stored to allow receipt of the user's credentials for those accounts or to allow use of protocols like OAUTH that give the platform 100 authorization tokens that allow the platform 100 to access or to take actions on behalf of the user in connection with those third party services. Data about a user's plan is maintained in a user plan database 910. The user plan data includes a list of tasks or actions with timing, due dates, or deadlines and resources necessary to achieve a defined objective or goal for the user (e.g., take a particular medication once per day with food, lose weight by a certain date) or a group of users, such as a group project or mission (e.g., a health provider whose goal is to reduce hospital readmissions in its patient population). Data about a user's schedule is maintained in a user schedule database 920. A user's schedule contains a list of times at which possible tasks, events, or actions are intended to take place, or a sequence of events in the chronological order in which such events are intended to take place (e.g., take medication at 12 pm every day with lunch). A schedule can be created or modified by the user or by the intelligent personal agent 145 within the platform 100. Data about the location of various items related to the user are maintained in a location database 930. Location data describe indoor or outdoor logical or conceptual locations (such as latitude and longitudinal coordinates, geography descriptions, or proximity to sensor devices, or Wi-Fi access points or cellular towers), which may be labeled with a name. The intelligent personal agents 145 within the platform 100 may utilize data from any one or more of these databases 900, 910, 920, 930 for purposes of performing whatever task the intelligent personal agent 145 is performing. [28-31] elaborate on the matter [FIG.3] shows corresponding which includes wherein extracting the relevant information comprises:maintaining a structured registry containing the relevant information) and performing schema updates and versioning mechanism on relevant information in the registry upon sensing an update in the relevant information. (Kapoor [0132] As previously mentioned, some data collected about a process is constant and does not change over the lifetime of the process (e.g., attributes), and some data changes (e.g., statistical information and other variable information). Constant data can be transmitted (210) once, when the agent first becomes aware of the process. And, if any changes to the constant data are detected (e.g., a process changes its parent), a refreshed version of the data can be transmitted (210) as applicable. [0362] As described herein, software agents (such as agent 112) may run on machines (such as a machine that implements one of nodes 116) and detect new connections, processes, and/or logins. As also previously explained, such agents send associated records to data platform 12 which includes one or more datastores (e.g., data store 30) for persistently storing such data. Such data can be modeled using logical tables, also persisted in datastores (e.g., in a relational database that provides an SQL interface), allowing for querying of the data. Other datastores such as graph oriented databases and/or hybrid schemes can also be used. [575] version control such that the entire audit trail of changes to such infrastructure can be viewed or audited. In a GitOps environment, all changes to infrastructure are embodied as fully traceable commits that are associated with committer information, commit IDs, time stamps, and/or other information. In such an embodiment, both an application and the infrastructure (e.g., a customer's cloud deployment) that supports the execution of the application are therefore versioned artifacts[0753] In some embodiments, the one or more contextual attributes may include attributes describing a particular device posture for the user device. The device posture for the user device describes software, updates, and the like currently installed on the user device, as well as particular configuration settings for the user device. As an example, the device posture may indicate current operating system versions, software versions, security settings, automatic update settings, and the like. As additional examples, the device posture may indicate various software or applications installed or executed at the time at which the request was generated. [FIG.1D] shows corresponding visual showing system which can perform schema updates and versioning mechanism on relevant information in the registry upon sensing an update in the relevant information.) Regarding claim 3, Sierhuis and Kapoor teach The method according to claim 1, comprising:monitoring and managing, by the system Al agent, one or more internal functions and one or more internal processes of the system without an external input. (Kapoor [0164] Returning to FIG. 1D, as previously mentioned, data aggregator 114 may be configured to provide information (e.g., collected from nodes 108 by agents) to data platform 12. Data aggregator 128 may be similarly configured to provide information to data platform 12. As shown in FIG. 1D, both aggregator 114 and aggregator 128 may connect to a load balancer 130, which accepts connections from aggregators (and/or as applicable, agents), as well as other devices, such as computer 126 (e.g., when it communicates with web app 120), and supports fair balancing. In various embodiments, load balancer 130 is a reverse proxy that load balances accepted connections internally to various microservices (described in more detail below), allowing for services provided by data platform 12 to scale up as more agents are added to the environment and/or as more entities subscribe to services provided by data platform 12. Example ways to implement load balancer 130 include, but are not limited to, using HaProxy, using nginx, and using elastic load balancing (ELB) services made available by Amazon.[228] Query service 166 can internally make use of a variety of types of databases, including a relational database engine 168 (e.g., AWS Aurora) and/or data store 30 to manage data for clients. Examples of tables that query service 166 manages are OLTP tables and data warehousing tables. [FIG.1D] shows corresponding visual for monitoring and managing, by the system Al agent, one or more internal functions and one or more internal processes of the system without an external input.) Regarding claim 4, Sierhuis and Kapoor teach The method according to claim 1, comprising:comparing, by the local Al agent, information associated with the supporting Al agent, the system Al agent, and the local Al agent; (Sierhuis [0007] a system for collecting and using information about a user, comprising a first module for collecting a set of data associated with a user; a second module for running a software-based intelligent personal agent comprising a software model having at least one condition associated with at least one rule, comparing the data to the at least one condition to determine whether the at least one condition is met; and providing a response based upon the at least one rule once the at least one condition is met. [0008] a method for collecting and using information about a user, comprising collecting data from at least one source associated with a user; executing a software-based intelligent personal agent comprising a software model having at least one condition associated with at least one rule, comparing the data to the at least one condition to determine whether the at least one condition is met;[0061] The intelligent personal agent 145 can have one or more assistant agents 142 that it can ask assistance from to perform a specific task. The assistant agent 142 is an intelligent personal agent that can perform a specific task independently. As noted, the intelligent personal agent 145 can use multiple assistant agents in order to perform an overall high-level task. For example, one type of assistant agent may be an activity assistant agent. These are agents that provide agent task assistance for a particular activity, such as monitoring if the user is doing what is on the user's plan while doing a particular activity, such as taking his/her medication while having lunch. Another assistant agent may be a monitoring assistant agent. These are agents that monitor particular user data (e.g. particular incoming sensor data) and notify other agents (e.g. the intelligent personal agent 145) if something important occurs in or during the monitoring. For example, a heart rate monitoring assistant agent monitors the heart rate sensor data for a user and gives an alert when the heart rate is problematic based on rules described in that assistant agent. Another assistant agent may be a proxy agent. These are agents that provide a model and simulation of other agents. For example, a user proxy agent is an agent that simulates the user's behavior and predicts the user's activities at all times. Other agents can ask this agent for the user's current activity at any time. In another example, an assistant agent can be a dispatch agent that is responsible for receiving service requests from one type of agent (e.g., customer agents) and transmitting or assigning those requests to another type of agent (e.g., service provider agents). Assistant agents are either created by the agent manager 141, in a manner similar to the creation of an intelligent personal agent, if they are specified as particular agents in a given domain template or they can be created by agents already running in the agent service 140. [82-88] elaborate on the matter [FIG.1 in conjunction with 9] show system which can comparing, by the local Al agent, information associated with the supporting Al agent, the system Al agent, and the local Al agent) identifying, by the local Al agent, similarities between the information to optimize a performance while the task is being performed. (Kapoor [0118] In various embodiments, the agent may be installed in the user space (i.e., is not a kernel module), and the same binary is executed on each node of the same type (e.g., all Windows-based platforms have the same Windows-based binary installed on them). An illustrative function of an agent, such as agent 112, is to collect data (e.g., associated with node 116) and report it (e.g., to data aggregator 114). Other tasks that can be performed by agents include data configuration and upgrading.[0123] In some cases, exhaustively scanning for an inode match across every file descriptor may not be feasible (e.g., due to CPU limitations). In various embodiments, searching through file descriptors is accordingly optimized. User filtering is one example of such an optimization. A given socket is owned by a user. Any processes associated with the socket will be owned by the same user as the socket. When matching an inode (identified as relating to a given socket) against processes, the agent can filter through the processes and only examine the file descriptors of processes sharing the same user owner as the socket. In various embodiments, processes owned by root are always searched against (e.g., even when user filtering is employed).[0131] One approach to minimizing the amount of data flowing from agents (such as agents installed on nodes 108) to data platform 12 is to use a technique of implicit references with unique keys. The keys can be explicitly used by data platform 12 to extract/derive relationships, as necessary, in a data set at a later time, without impacting performance.[641-643] elaborate on the matter [FIG.1D] shows corresponding visual) Regarding claim 5, Sierhuis and Kapoor teach The method according to claim 1, further comprising:implementing, by the system Al agent, a throttling mechanism to control a distribution of the relevant information between the supporting Al agent, the system Al agent, and the local Al agent within a specific time frame. (Kapoor [0402] The process begins at 381 when new ssh connection records are identified. In particular, new ssh connections started during the current time period are identified by querying the connections table. The query uses filters on the start_time and dst_port columns. The values of the range filter on the start_time column are based on the current time period. The dst_port column is checked against ssh listening port(s). By default, the ssh listening port number is 22. However, as this could vary across environments, the port(s) that openssh servers are listening to in the environment can be determined by data collection agents dynamically and used as the filter value for the dst_port as applicable. In the scenario depicted in FIG. 3I, the query result will generate the records shown in FIG. 3K. Note that for the connection between machine A and B, the two machines are likely to report start_time values that are not exactly the same but close enough to be considered matching (e.g., within one minute or another appropriate amount of time). In the above table, they are shown to be the same for simplicity. [0408] At 383, new logins during the current time period are identified by querying the logins table. The query uses a range filter on the login_time column with values based on the current time period. In the example depicted in FIG. 3I, the query result will generate the records depicted in FIG. 3M. [660] comparisons the device activity and the profile associated with the user may utilize ranges, thresholds [669-707] elaborate on the matter [FIG.1D] shows corresponding visual) Regarding claim 6, Sierhuis and Kapoor teach The method according to claim 1, wherein the supporting Al agent communicates with one or more external applications, the system Al agent, and the local Al agent to extract the relevant information. (Sierhuis [0006] the present invention provides a system for collecting and monitoring data about a user and for taking an action based upon data analyzed, wherein such system includes at least one user and optionally another person, intelligent agent, or machine; at least one sensor for collecting data about a parameter related to the user; an intelligent personal agent platform for analyzing data from the at least one sensor as well as data received from other persons, intelligent agents, machines, or databases external to the intelligent personal agent platform; and a communications network to facilitate data communications between the user, and optionally another person, intelligent agent, or machine; at least one sensor and the databases; and the intelligent personal agent platform.[0013] FIG. 2 is a diagram illustrating the data flow among various components external to the intelligent personal agent platform according to one embodiment of the system of the present invention;[0024] FIG. 1 is a diagram illustrating the components of a system that includes various sources of data that can be collected or directed to an intelligent personal agent platform according to one embodiment of the system of the present invention. Specifically, FIG. 1 is a representation of the overall system, including an intelligent personal agent platform 100 (referred to as the “platform”) having one or more intelligent personal agents 145; persons, machines, and intelligent agents 200; sensors 300; and a generic representation of one or more various databases 103 that are external or, in some embodiments, physically remote, to the platform 100 but from which data can be obtained by the platform 100. FIG. 1 illustrates the interactions between persons, machines, and intelligent agents 200 with each other and with the platform 100 to foster human-human interaction, human-agent interaction, and machine-agent interaction, as well as the interactions between sensors 300 and databases 103 with the platform 100. It should be appreciated that intelligent agents are “social” in that they can communicate, associate, cooperate, and coordinate with other people and agents [0025] In general operation, the sensors 300, the person, agent, or machine 200, and the databases 103 (which may be collectively referred to as external resources), gather data, including real-time data, that is provided to or requested by the platform 100. The platform, specifically the one or more intelligent personal agents 145 within the platform 100, utilize the data obtained from these resources to monitor and analyze the data and provide a response. It should be appreciated that the response can be any response initiated by or taken by the intelligent personal agent 145 and may include a decision to take no action or a decision to directly take an action or make a request for an action to be taken by a separate resource, such as a person, agent, or machine 200 or other internal or external software module or hardware device or machine or person. It should be appreciated that the platform may be operated on cloud-based or local servers with any type of communication with the external resources. Users can interact with their intelligent personal agents wherever they are via a variety of interfaces depending on the communication devices and communication networks[FIG.1 in conjunction with FIG.5] shows wherein the supporting Al agent communicates with one or more external applications, the system Al agent, and the local Al agent to extract the relevant information) Regarding claim 7, Sierhuis and Kapoor teach The method according to claim 1, wherein the local Al agent is configured to monitor behaviour of a user associated with the user device to recognize one or more specific needs of the user and adapt to the one or more specific needs by: training, by the local Al agent, based on an interaction of the user with the system to generate a recommendation model; (Kapoor [0597] In some embodiments, the systems described herein may be used to manage, analyze, or otherwise observe deployments that include other forms of AI/ML tools. For example, the systems described herein may manage, analyze, or otherwise observe deployments that include AI services. AI services are, like other resources in an as-a-service model, ready-made models and AI applications that are consumable as services and made available through APIs. In such an example, rather than using their own data to build and train models for common activities, organizations may access pre-trained models that accomplish specific tasks. Whether an organization needs natural language processing (‘NLP’), automatic speech recognition (‘ASR’), image recognition, or some other capability, AI services simply plug-and-play into an application through an API. Likewise, the systems described herein may be used to manage, analyze, or otherwise observe deployments that include other forms of AI/ML tools such as Amazon Sagemaker (or other cloud machine-learning platform that enables developers to create, train, and deploy ML models) and related services such as Data Wrangler (a service to accelerate data prep for ML) and Pipelines (a Cl/CD service for ML). [0599] Multi-cluster, shared data architecture, DataFrames, Java user-defined functions (UDF) are supported to enable trained models to run within a data warehouse. [0696] The example method depicted in FIG. 12 includes generating 1202, using information describing historical activity associated with a user device, a trained model for detecting normal activity for the user device. The trained model may be embodied, for example, as a model artifact that is created by a training process in which machine learning algorithms are provided with training data to learn from. The trained model, once deployed, can make predictions, identify patterns, and perform other functions on new data (i.e., data that was not part of the training data). Generating 1202 a trained model for detecting normal activity for the user device using information describing historical activity associated with a user device may therefore be carried out, for example, by applying one or more machine learning algorithms to a training dataset that includes the information describing the historical activity associated with the user device[699-709] elaborate on the matter [FIG.1D & 12] show the corresponding system which is configured to monitor behaviour of a user associated with the user device to recognize one or more specific needs of the user and adapt to the one or more specific needs by:training, by the local Al agent, based on an interaction of the user with the system to generate a recommendation model) monitoring, by the local Al agent, one or more updates in the interaction between the user and the system; (Kapoor [173] As applicable, data platform 12 can score the detected deviations (e.g., based on severity and threat posed). Additional examples of analysis groups include models of machine communications, models of privilege changes, and models of insider behaviors (monitoring the interactive behavior of human users as they operate within the datacenter) [0575] The systems described herein may be useful in analyzing, monitoring, evaluating, or otherwise observing a GitOps environment. In a GitOps environment, Git may be viewed as the one and only source of truth. As such, GitOps may require that the desired state of infrastructure (e.g., a customer's cloud deployment) be stored in version control such that the entire audit trail of changes to such infrastructure can be viewed or audited.[0583] In some embodiments one data source that is ingested by the systems described herein is log data, although other forms of data such as network telemetry data (flows and packets) and/or many other forms of data may also be utilized. In some embodiments, event data can be combined with contextual information about users, assets, threats, vulnerabilities, and so on, for the purposes of scoring, prioritization and expediting investigations. In some embodiments, input data may be normalized, so that events, data, contextual information, or other information from disparate sources can be analyzed more efficiently for specific purposes (e.g., network security event monitoring, user activity monitoring, compliance reporting). The embodiments described here offer real-time analysis of events for security monitoring, advanced analysis of user and entity behaviors, querying and long-range analytics for historical analysis, other support for incident investigation and management, reporting (for compliance requirements, for example), and other functionality. [647] enforcement 530 module may be configured to carry out many of the steps described above such as, for example, monitoring user activity (e.g., via data communications involving a user device or in some other way) to enforce various policies describing how the user devices [648 & 668] further elaborate [FIG.1D & 5A] show monitoring, by the local Al agent, one or more updates in the interaction between the user and the system) and sending, by the local Al agent, the one or more updates to a central server, wherein the one or more updates is aggregated and the recommendation model is improved based on the one or more updates. (Kapoor [110] data platform 12 can provide updates, configuration information, etc., to data aggregator 114 (which in turn distributes them to nodes 108), rather than requiring nodes 108 to allow incoming connections from data platform 12 directly.[0597] In some embodiments, the systems described herein may be used to manage, analyze, or otherwise observe deployments that include other forms of AI/ML tools. For example, the systems described herein may manage, analyze, or otherwise observe deployments that include AI services. AI services are, like other resources in an as-a-service model, ready-made models and AI applications that are consumable as services and made available through APIs. In such an example, rather than using their own data to build and train models for common activities, organizations may access pre-trained models that accomplish specific tasks. Whether an organization needs natural language processing (‘NLP’), automatic speech recognition (‘ASR’), image recognition, or some other capability, AI services simply plug-and-play into an application through an API. Likewise, the systems described herein may be used to manage, analyze, or otherwise observe deployments that include other forms of AI/ML tools such as Amazon Sagemaker (or other cloud machine-learning platform that enables developers to create, train, and deploy ML models) and related services such as Data Wrangler (a service to accelerate data prep for ML) and Pipelines (a Cl/CD service for ML). [698-701] elaborate on the matter [FIG.1D & 12] show sending, by the local Al agent, the one or more updates to a central server, wherein the one or more updates is aggregated and the recommendation model is improved based on the one or more updates.) Regarding claim 8, Sierhuis and Kapoor teach The method according to claim 7, wherein the recommendation model is partially trained between the system and the central server, wherein the system computes one or more initial layers of the recommendation model and transmits intermediate representation associated with the one or more initial layers to the central server for training the recommendation model. (Kapoor [0231] At 302, a logical graph model is generated, using at least a portion of the monitored activities. A variety of approaches can be used to generate such logical graph models, and a variety of logical graphs can be generated (whether using the same, or different approaches). The following is one example of how data received at 301 can be used to generate and maintain a model. [0353] In some examples, different models may have partial overlap in the types of nodes they use from the base graph. Therefore, they can generate NewClass type events for the same class. NewClass events can also be combined across models when it is desirable to view changes at the class level.[0597] In some embodiments, the systems described herein may be used to manage, analyze, or otherwise observe deployments that include other forms of AI/ML tools. For example, the systems described herein may manage, analyze, or otherwise observe deployments that include AI services. AI services are, like other resources in an as-a-service model, ready-made models and AI applications that are consumable as services and made available through APIs. In such an example, rather than using their own data to build and train models for common activities, organizations may access pre-trained models that accomplish specific tasks. Whether an organization needs natural language processing (‘NLP’), automatic speech recognition (‘ASR’), image recognition, or some other capability, AI services simply plug-and-play into an application through an API. Likewise, the systems described herein may be used to manage, analyze, or otherwise observe deployments that include other forms of AI/ML tools such as Amazon Sagemaker (or other cloud machine-learning platform that enables developers to create, train, and deploy ML models) and related services such as Data Wrangler (a service to accelerate data prep for ML) and Pipelines (a Cl/CD service for ML). [0696] The example method depicted in FIG. 12 includes generating 1202, using information describing historical activity associated with a user device, a trained model for detecting normal activity for the user device. The trained model may be embodied, for example, as a model artifact that is created by a training process in which machine learning algorithms are provided with training data to learn from. The trained model, once deployed, can make predictions, identify patterns, and perform other functions on new data (i.e., data that was not part of the training data). Generating 1202 a trained model for detecting normal activity for the user device using information describing historical activity associated with a user device may therefore be carried out, for example, by applying one or more machine learning algorithms to a training dataset that includes the information describing the historical activity associated with the user device. The information describing the historical activity [731] such a user-specific model may be periodically retrained using subsequently gathered portions of first information and second information. For example, actions described in first information and second information that are identified as abnormal and subsequently confirmed as abnormal may be provide as training data to the model in order to reinforce identification [777-778] further elaborate [FIG.1D] show wherein the recommendation model is partially trained between the system and the central server, wherein the system computes one or more initial layers of the recommendation model and transmits intermediate representation associated with the one or more initial layers to the central server for training the recommendation model.) Regarding claim 9, Sierhuis and Kapoor teach The method according to claim 1, wherein the coordinator is configured to enhance the request and the output contextually and semantically to assist in a richer decision making. (Kapoor [0084] A data warehouse may be embodied as an analytic database (e.g., a relational database) that is created from two or more data sources. Such a data warehouse may be leveraged to store historical data, often on the scale of petabytes. Data warehouses may have compute and memory resources for running complicated queries and generating reports. Data warehouses may be the data sources for business intelligence (‘BI’) systems, machine learning applications, and/or other applications. By leveraging a data warehouse, data that has been copied into the data warehouse may be indexed for good analytic query performance, without affecting the write performance of a database (e.g., an Online Transaction Processing (‘OLTP’) database). Data warehouses also enable the joining data from multiple sources for analysis. For example, a sales OLTP application probably has no need to know about the weather at various sales locations, but sales predictions could take advantage of that data. By adding historical weather data to a data warehouse, it would be possible to factor it into models of historical sales data.[0123] In some cases, exhaustively scanning for an inode match across every file descriptor may not be feasible (e.g., due to CPU limitations). In various embodiments, searching through file descriptors is accordingly optimized. User filtering is one example of such an optimization. [480] data platform 12 supports dynamic query generation by automatic discovery of join relations via static or dynamic filtering key specifications among composable data sets. This allows a user of data platform 12 to be agnostic to modifications made to existing data sets as well as creation of new data sets. The extensible query interface also provides a declarative and configurable specification for optimizing internal data generation and derivations. [124] optimization is to prioritize searching the file descriptors of certain processes over others. One such prioritization is to search through the subdirectories of /proc/ starting with the youngest process. One approximation of such a sort order is to search through /proc/ in reverse order (e.g., examining highest numbered processes first). Higher numbered processes are more likely to be newer (i.e., not long-standing processes), and thus more likely to be associated with new connections (i.e., ones for which inode-process mappings are not already cached). In some cases, the most recently created process may not have the highest process identifier (e.g., due to the kernel wrapping through process identifiers).[0224] QsJob Server 160 is a microservice that may look at all the data produced by data platform 12 for an hour, and compile a materialized view (MV) out of the data to make queries faster. The MV helps make sure that the queries customers most frequently run, and data that they search for, can be easily queried and answered. QsJob Server 160 may also precompute and cache a variety of different metrics so that they can quickly be provided as answers at query time. QsJob Server 160 can be implemented using any appropriate programming language, such as Java or C, using SQL/JDBC libraries. In some examples, QsJob Server 160 is able to compute an MV efficiently at scale, where there could be a large number of joins. An SQL engine, such as Oracle, can be used to efficiently execute the SQL, as applicable. [FIG.1D] shows corresponding visual) Regarding claim 10, Sierhuis and Kapoor teach The method according to claim 1, wherein the coordinator augment the request by performing a contextual enrichment, (Kapoor [0123] In some cases, exhaustively scanning for an inode match across every file descriptor may not be feasible (e.g., due to CPU limitations). In various embodiments, searching through file descriptors is accordingly optimized. User filtering is one example of such an optimization. [480] data platform 12 supports dynamic query generation by automatic discovery of join relations via static or dynamic filtering key specifications among composable data sets. This allows a user of data platform 12 to be agnostic to modifications made to existing data sets as well as creation of new data sets. The extensible query interface also provides a declarative and configurable specification for optimizing internal data generation and derivations. [124] optimization is to prioritize searching the file descriptors of certain processes over others. One such prioritization is to search through the subdirectories of /proc/ starting with the youngest process. One approximation of such a sort order is to search through /proc/ in reverse order (e.g., examining highest numbered processes first). Higher numbered processes are more likely to be newer (i.e., not long-standing processes), and thus more likely to be associated with new connections (i.e., ones for which inode-process mappings are not already cached). In some cases, the most recently created process may not have the highest process identifier (e.g., due to the kernel wrapping through process identifiers) [0224] QsJob Server 160 is a microservice that may look at all the data produced by data platform 12 for an hour, and compile a materialized view (MV) out of the data to make queries faster. The MV helps make sure that the queries customers most frequently run, and data that they search for, can be easily queried and answered. QsJob Server 160 may also precompute and cache a variety of different metrics so that they can quickly be provided as answers at query time. QsJob Server 160 can be implemented using any appropriate programming language, such as Java or C, using SQL/JDBC libraries. In some examples, QsJob Server 160 is able to compute an MV efficiently at scale, where there could be a large number of joins. An SQL engine, such as Oracle, can be used to efficiently execute the SQL, as applicable.[0781] Accordingly, when an approval for a particular request is received via the approval workflow, the listing may be updated to include one or more of the contextual attributes for the listing, such as the location of the user device, an identifier for the user device, an identifier for the accessed resource, and the like. Thus, subsequent requests with similar contextual attributes (e.g., from a same user device, from a same location, directed to a same resource) may be less likely to be flagged as deviating from normal activity for the user, thereby reducing the likelihood that additional approval workflows will be required. For example, where it is determined (e.g., using the one or more models) that a request deviates from normal activity because of access from an unknown location, the listing of allowed contextual attributes may be accessed or queried to determine of the location is included in the allowed listing. Where present, the determination of the one or more models may be overridden and it ultimately determined that the request does not deviate from normal activity for the user. This will allow a user to continue with previously allowed activity without the need to initiate further approval workflows.[FIG.1D] shows corresponding visual) a semantic normalization, (Kapoor[1070] . Tracking service analyzer 144 may normalize the tracking data as applicable, so that it can be inserted into data store 30 for later querying/analysis. Tracking service analyzer 144 can be written in any appropriate programming language, such as Java or C. Tracking service analyzer 144 also makes use of SQL/JDBC libraries to interact with data store 30 to insert/query data. [206] information is normalized before insertion into data store 30. Threat aggregator 150 can be implemented in any appropriate programming language, such as Java or C, using SQL/JDBC libraries to interact with data store 30 (e.g., for insertions and queries). [582] handle data describing interactions with cloud applications, Identity and Access Management (‘IAM’) or IAM-like tools, and many others), normalized for storage in a data warehouse, and such normalized data may be used by the systems described herein. In fact, the systems described herein may actually implement the data sources (e.g., an EDR tool, a CASB tool, an IAM tool) described above. [583] input data may be normalized, so that events, data, contextual information, or other information from disparate sources can be analyzed more efficiently for specific purposes (e.g., network security event monitoring, user activity monitoring, compliance reporting). The embodiments described here offer real-time analysis of events for security monitoring, advanced analysis of user and entity behaviors, querying and long-range analytics for historical analysis, other support for incident investigation and management, reporting (for compliance requirements, for example), and other functionality.) a preference-based enrichment, (Sierhuis [0023] services or software modules to monitor and detect behavior and daily activities, to monitor adherence to plans and goals, and to determine whether a response is required and to take such response, which may include a wide variety of possible responses, including, for example, taking actions such as providing in-context personalized advice, coaching, and support to a user; causing a person, machine, or intelligent agent to take an action; or making a prediction. Accordingly, it should be appreciated that the system may determine that a response is not necessary in which case, the response is actually no response. Otherwise, the response may range from providing feedback to the user or interfacing with another person, machine, or another intelligent agent, including directing such other person, machine, or another intelligent agent to take an action. For example, the user's interaction with the system allows the user to make use of the data gathered to monitor the user's daily activities, to monitor the user's adherence to any plans or goals that have been established by or for the user, and to receive support in achieving their goals. [0046] It should be appreciated that each of these services may communicate with one another as necessary. Generally, the sensor service 110 communicates sensor data to the platform 100 and various other services; the interaction service 150 communicates data from the user (e.g., user settings, preferences, user data, communications to/from other users) to the platform 100 and various other services; the agent service communicates inferred knowledge about and actions for the user, person, intelligent agent, or machine, and the activity and context to various services; and the analytics service 120 communicates information derived from analyzing one or more streams of data. Each of the services can communicate directly with each other, or via one of the other services. [0077] Preferences can be set to create escalated notifications or actions for different events. [FIG.9] shows corresponding visual) and a historical pattern recognition. (Sierhuis [0034] Further, intelligent personal agents 145 can monitor humans and systems using captured sensor data (e.g., monitor physiological metrics, movement, location, proximity, vital signs, social interactions, calendar, schedule, system telemetry). Intelligent personal agents 145 can analyze data by receiving data from any input such as users, persons, agents, and machines 200; sensors 300; and other agents 145 within the platform 100, and run analytic algorithms to calculate high-level information about the users, systems, and environment that are being monitored. It should be appreciated that analysis can be performed on past sensor data or current data that is being collected in real time. The analyses may include: review or playback of data that occurred in the past; simulation of behavior to predict behavior from current or past data; detection, inference, and learning of higher level activities and patterns of behavior (e.g., detect if someone is currently eating or drinking, infer that the person is eating lunch, and to learn or predict what time they usually have lunch); or personalize or update the agent's model of the user or system, based on observed sensor and behavior data and machine learning algorithms applied to that data (e.g. learning a user's locations and activities and predicting the user's schedule of activities and locations, given his or her current location, activity and time [0048] The analytics service 120 comprises software that receives sensor data from the sensor data store database 170 as well as from external databases 103 that needs to be analyzed. The analytics service 120 enables different analysis tasks for each type of sensor data or data from databases 103 and allows users (or data analysts) to analyze multiple sensor data streams and data from the databases 103 at the same time. It should be appreciated that any number of analyses may be performed, including, for example, sensor data fusion, historical analysis, descriptive statistics, correlations, feature aggregation, trend analysis, and machine learning. [0074] FIG. 9 is a block diagram illustrating the analytics service used in the intelligent personal agent platform and data flow between the components of the analytics service according to one embodiment of the present invention. As described above, the analytics service 120 comprises software that receives sensor data from the sensor data store database 170 that needs to be analyzed. More specifically, the analytics service 120 receives sensor data 350 from the sensor service 110, analysis requests 902 from the agent service 140, user data 904 from the interaction service 150, and any other data from the external database(s) 103 via the analysis coordinator 121. The analysis coordinator 121 determines what type of analytics is required for the received data and, based on this, sends the data and request to the data analyst 122 or the machine learner 123. The data analyst 122 can perform different analyses, including, for example, data aggregation 906, trend 908, historical 910, and real-time analyses 912. The machine learner 123 applies machine-learning algorithms known in the art to create predictive models 914 that can be used by the learning service 130. [FIG.9] shows corresponding visual) Regarding claim 11, Sierhuis and Kapoor teach The method according to claim 1, wherein the relevant information is consolidated by the coordinator by performing a data fusion, a semantic reconciliation, a prioritization and filtering, and an inference consolidation on the relevant information. (Sierhuis [0048] The analytics service 120 comprises software that receives sensor data from the sensor data store database 170 as well as from external databases 103 that needs to be analyzed. The analytics service 120 enables different analysis tasks for each type of sensor data or data from databases 103 and allows users (or data analysts) to analyze multiple sensor data streams and data from the databases 103 at the same time. It should be appreciated that any number of analyses may be performed, including, for example, sensor data fusion, historical analysis, descriptive statistics, correlations, feature aggregation, trend analysis, and machine learning. In other words, any analytical analysis algorithm can be programmed or used as needed. Results of the analysis performed by the analytics service 120 are stored in the sensor data store database 170. It should be appreciated that the analytics service 120 may also receive data from the sensor service 110 directly to facilitate the generation of analytics on the sensor data and from the agent service 140 to also facilitate the generation of analytics based on information from the intelligent personal agents. [0063] the personal intelligent personal agent 145 can learn a user's behavior (e.g. learn John's most frequently visited locations in the past month) by calling a particular learning algorithm 133 in the learning service 130. The learning algorithm 133 may request data from the analytics service 120 or retrieve data from the sensor data store 170 (e.g., John's aggregated GPS coordinates for the past month). The learning algorithm 133 may also use a proxy agent 131 to simulate the user's behavior in the past or to predict future behavior. The user proxy agent 131 is a type of assistant agent 142 as described above in connection with FIG. 5 and is a software agent that simulates and predicts the user's behavior based on rules specified in a domain template 180 or a user model 132 (e.g., the proxy agent 131 applies rules such as inferring that John is at work when he is at a particular location during working hours or that he is at home when he is at a particular location during sleeping hours). The learning algorithm 133 then updates the user model 132 with the learned user behavior (e.g., it updates John's user model with the locations that John has frequented most in the last month). User models include databases that store user features that are learned for a particular user (e.g., the user's activities, health, location, or other measurements that are being observed or inferred for the user). User models can also include models that can be used to predict future behavior (predictive models). In one embodiment a predictive model can be written as set of rules (e.g., in the Brahms language). In another embodiment, a predictive model can be written as a probabilistic model, such as a Bayesian inference model or a Hidden Markov Model. [0066] . The Location Learning algorithm 133 requests a timeline of the user's GPS positions for a period of time (e.g. 1 month) from the analytics service 120. To generate this timeline, the analytics service 120 clusters similar GPS coordinates. This is known as the aggregated location timeline. The location learning algorithm 133 takes the aggregated location timeline and applies a location-clustering algorithm in order to know how often a user visits a particular location. These are the clustered locations. Given the clustered locations, a \user proxy agent 131 now applies predefined behavioral rules about the type of locations a user would most likely be in at a particular moment of time (this is the location behavior template 132), which results in an improved model of important locations for the user in the domain template database 180. Next, given the new learned important locations, a prediction algorithm 133 applies a standard machine learning algorithm[0074] FIG. 9 is a block diagram illustrating the analytics service used in the intelligent personal agent platform and data flow between the components of the analytics service according to one embodiment of the present invention. As described above, the analytics service 120 comprises software that receives sensor data from the sensor data store database 170 that needs to be analyzed. More specifically, the analytics service 120 receives sensor data 350 from the sensor service 110, analysis requests 902 from the agent service 140, user data 904 from the interaction service 150, and any other data from the external database(s) 103 via the analysis coordinator 121. The analysis coordinator 121 determines what type of analytics is required for the received data and, based on this, sends the data and request to the data analyst 122 or the machine learner 123. The data analyst 122 can perform different analyses, including, for example, data aggregation 906, trend 908, historical 910, and real-time analyses 912. The machine learner 123 applies machine-learning algorithms known in the art to create predictive models 914 that can be used by the learning service 130[87-93] further elaborate [FIG.9] shows the corresponding steps) Regarding claim 12, Sierhuis and Kapoor teach The method according to claim 1, further comprising:training, by the local Al agent, a plurality of neural network model based on an interaction of the user with the system to predict a plurality of future interaction of the user with the system as a plurality of outputs; (Sierhuis [0023] the present invention is directed to a system that collects sensor data and other inputs, which in one embodiment is related to a particular user of the system, passes such data to an intelligent personal agent platform having one or more intelligent personal agents and various services or software modules to monitor and detect behavior and daily activities, to monitor adherence to plans and goals, and to determine whether a response is required and to take such response, which may include a wide variety of possible responses, including, for example, taking actions such as providing in-context personalized advice, coaching, and support to a user; causing a person, machine, or intelligent agent to take an action; or making a prediction. [0034] Further, intelligent personal agents 145 can monitor humans and systems using captured sensor data (e.g., monitor physiological metrics, movement, location, proximity, vital signs, social interactions, calendar, schedule, system telemetry). Intelligent personal agents 145 can analyze data by receiving data from any input such as users, persons, agents, and machines 200; sensors 300; and other agents 145 within the platform 100, and run analytic algorithms to calculate high-level information about the users, systems, and environment that are being monitored. It should be appreciated that analysis can be performed on past sensor data or current data that is being collected in real time. The analyses may include: review or playback of data that occurred in the past; simulation of behavior to predict behavior from current or past data; detection, inference, and learning of higher level activities and patterns of behavior (e.g., detect if someone is currently eating or drinking, infer that the person is eating lunch, and to learn or predict what time they usually have lunch); or personalize or update the agent's model of the user or system, based on observed sensor and behavior data and machine learning algorithms applied to that data (e.g. learning a user's locations and activities and predicting the user's schedule of activities and locations, given his or her current location, activity and time).[0063] In one embodiment, the personal intelligent personal agent 145 can learn a user's behavior (e.g. learn John's most frequently visited locations in the past month) by calling a particular learning algorithm 133 in the learning service 130. The learning algorithm 133 may request data from the analytics service 120 or retrieve data from the sensor data store 170 (e.g., John's aggregated GPS coordinates for the past month). The learning algorithm 133 may also use a proxy agent 131 to simulate the user's behavior in the past or to predict future behavior. The user proxy agent 131 is a type of assistant agent 142 as described above in connection with FIG. 5 and is a software agent that simulates and predicts the user's behavior based on rules specified in a domain template 180 or a user model 132 (e.g., the proxy agent 131 applies rules such as inferring that John is at work when he is at a particular location during working hours or that he is at home when he is at a particular location during sleeping hours). The learning algorithm 133 then updates the user model 132 with the learned user behavior (e.g., it updates John's user model with the locations that John has frequented most in the last month). User models include databases that store user features that are learned for a particular user (e.g., the user's activities, health, location, or other measurements that are being observed or inferred for the user). User models can also include models that can be used to predict future behavior (predictive models). In one embodiment a predictive model can be written as set of rules (e.g., in the Brahms language). In another embodiment, a predictive model can be written as a probabilistic model, such as a Bayesian inference model or a Hidden Markov Model. [74-79] further elaborate [FIG.9] shows corresponding visual) feeding, by the local Al agent, the plurality of outputs to a meta-learner, wherein the meta learner weighs plurality of outputs based on a relevance and an accuracy; (Sierhuis [0074] FIG. 9 is a block diagram illustrating the analytics service used in the intelligent personal agent platform and data flow between the components of the analytics service according to one embodiment of the present invention. As described above, the analytics service 120 comprises software that receives sensor data from the sensor data store database 170 that needs to be analyzed. More specifically, the analytics service 120 receives sensor data 350 from the sensor service 110, analysis requests 902 from the agent service 140, user data 904 from the interaction service 150, and any other data from the external database(s) 103 via the analysis coordinator 121. The analysis coordinator 121 determines what type of analytics is required for the received data and, based on this, sends the data and request to the data analyst 122 or the machine learner 123. The data analyst 122 can perform different analyses, including, for example, data aggregation 906, trend 908, historical 910, and real-time analyses 912. The machine learner 123 applies machine-learning algorithms known in the art to create predictive models 914 that can be used by the learning service 130[71-79] further elaborate on the matter [FIG.9] shows corresponding visual) and generating, by the meta learner, a single output based on weighing the plurality of outputs, wherein the metal learner receives feedback from the user device based on the output. (Sierhuis [0027] Sensors 300 provide input or data to the platform 100. The sensors 300 may be any device that basically collects data. For example, the sensors 300 may be physical sensors, virtual sensors, and human services (e.g., feedback from humans) or computational services, such as Siri, Google Now, Amazon Echo, etc.[0035] In addition, intelligent personal agents 145 may ask the user questions or answer questions from the user based on the knowledge the intelligent personal agents 145 have, which may include knowledge derived from the analytics performed by the intelligent personal agents 145 or from databases, such as external databases 103. In particular, intelligent personal agents 145 can provide advice, feedback, alerts, warning, reminders, or instructions to users and other agents during an activity, based on situational and contextual information, including information about roles and organization of agents and people, activities, sensor data, location, plans, or schedules and calendars. Such are examples of the response that may be made by the intelligent personal agents 145. [0074] FIG. 9 is a block diagram illustrating the analytics service used in the intelligent personal agent platform and data flow between the components of the analytics service according to one embodiment of the present invention. As described above, the analytics service 120 comprises software that receives sensor data from the sensor data store database 170 that needs to be analyzed. More specifically, the analytics service 120 receives sensor data 350 from the sensor service 110, analysis requests 902 from the agent service 140, user data 904 from the interaction service 150, and any other data from the external database(s) 103 via the analysis coordinator 121. The analysis coordinator 121 determines what type of analytics is required for the received data and, based on this, sends the data and request to the data analyst 122 or the machine learner 123. The data analyst 122 can perform different analyses, including, for example, data aggregation 906, trend 908, historical 910, and real-time analyses 912. The machine learner 123 applies machine-learning algorithms known in the art to create predictive models 914 that can be used by the learning service 130[71-79] further elaborate on the matter .[FIG.9] shows corresponding visual) Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to ARYAN D TOUGHIRY whose telephone number is (571)272-5212. The examiner can normally be reached Monday - Friday, 9 am - 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, Aleksandr Kerzhner can be reached at (571) 270-1760. 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. /ARYAN D TOUGHIRY/Examiner, Art Unit 2165
Read full office action

Prosecution Timeline

May 15, 2025
Application Filed
Jul 20, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12693991
SYSTEM AND METHOD FOR SYSTEM REPLICATION AND MIGRATION FOR IN-MEMORY DATABASE SYSTEMS
3y 2m to grant Granted Jul 28, 2026
Patent 12694031
SYSTEMS AND METHODS FOR ENHANCED RULES CONFLICT CHECKING WITH DATA VALIDATION
1y 6m to grant Granted Jul 28, 2026
Patent 12664176
CUSTOMIZED DATA ANALYSIS AND VISUALIZATION USING STRUCTURED DATA TABLES AND NODAL NETWORKS
3y 10m to grant Granted Jun 23, 2026
Patent 12664189
Method for Analyzing Technology and Device Thereof
2y 3m to grant Granted Jun 23, 2026
Patent 12650978
AGGREGATING UPDATES FOR A DISTRIBUTED DATABASE USING A QUEUE
2y 3m to grant Granted Jun 09, 2026
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

1-2
Expected OA Rounds
68%
Grant Probability
88%
With Interview (+19.1%)
3y 3m (~1y 12m remaining)
Median Time to Grant
Low
PTA Risk
Based on 196 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