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 .
The following FINAL Office Action is in response to Applicant’s communication filed 11/21/2025 regarding Application 18/651,375.
Status of Claim(s)
Claim(s) 1-23 is/are currently pending and are rejected as follows.
Response to Arguments – 101 Rejection
Applicant’s arguments and amendments in regards to the previously applied 101 rejection have been fully considered and deemed persuasive.
Examiner accordingly withdraws the previously applied 101 rejection.
Response to Arguments – 103 Rejection
Applicant’s arguments are rendered moot in view of the newly amended prior art rejection below.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 1-23 is/are currently rejected under 35 U.S.C. 103 as being unpatentable over Barrett (US 2017/0300657 Al) in view of Cooke (US 2016/0063144 Al) and Rajagopal (US 2021/0335501 A1)
Claim(s) 1, 11, and 17 –
Barrett discloses the following:
one or more processors; (Barrett: Paragraph 68, "Tool 210 can be or include a wireless phone, a wired phone, a tablet computer, a laptop computer, a wristwatch, or other type of computing device as noted above. Tool 210 can include at least one processor 216, e.g., one or more processor devices such as microprocessors, microcontrollers, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), programmable logic devices(PLDs), programmable logic arrays (PLAs), programmable array logic devices (PALs), or digital signal processors (DSPs). Tool 210 can further include one or more computer readable media 218, such as memory (e.g., random access memory, RAM, solid state drives, SSDs, or the like), disk drives (e.g., platterbased hard drives), another type of computer-readable media, or any combination thereof.")
and one or more non-transitory computer-readable media storing computing instructions that, when run on the one or more processors, direct the one or more processors to: (Barrett: Paragraph 74, "The computer readable media 218 can be or include computer storage media. Computer storage media can include, but are not limited to, random-access memory (RAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), phase change memory (PRAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, compact disc read-only memory (CD-ROM), digital versatile disks (DVDs), optical cards or other optical storage media, magnetic cassettes, magnetic tape, magnetic disk storage, magnetic cards or other magnetic storage devices or media, solid-state memory devices, storage arrays, network attached storage, storage area networks, hosted computer storage or memories, storage, devices, or any other tangible, non-transitory medium which can be used to store the desired information and which can be accessed by the processor 216. Tangible computer-readable media can include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. In contrast to computer storage media, computer communication media can embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism. As defined herein, computer storage media does not include computer communication media.")
determine simulated characters for market segments or other groups for a real-life population based upon member characteristics for the population groups, wherein each of the simulated characters is associated with: (a) one of the population groups, and (b) respective characteristic values corresponding to the member characteristics for the market segments or other groups; (Barrett: Paragraph 58, "The systems and methods of the present disclosure may conduct analyses through interaction with various information resources. For example, information about population characteristics, disease characteristics, intervention options, and/or various other types of information may be retrieved from one or more of a variety of information sources. In some implementations of the present disclosure, the analysis system may incorporate and/or work in coordination with a system that incorporates components designed to transmit requests for information to different information sources and retrieve the information from those sources to perform various tasks."; Paragraph 65, "In some examples herein, tool 128 is a tool for forecasting the progress of an event, e.g., an extended event that goes on over a period of time, or a point-in-time event with extended consequences. An example of such an event is an epidemic among human, animal, or plant populations. As discussed in more detail below, the front end 114 can receive attributes 136 of a synthetic population, e.g., a subset of the data library 122. The tool 128 can select a synthetic-population (SP) graph from the data library 122, e.g., using services provided by the job manager 118. The front end 114 can receive data of an intervention 138 designed to affect a course of the event, e.g., to counteract or mitigate the event. The tool 128 can then simulate the course of the event in the SP graph to produce an estimate 140 of the event, based at least in part on the intervention 138. The front end 114 can present the estimate 140, e.g., via a user interface such as a Web page."; Paragraph 81, "At block 304, server 126 can receive attributes 136 of (e.g., designating or defining) a synthetic population (referred to as "synth. pop.," "s. p.," or "SP" throughout this description and figures). This can be performed, e.g., by the user interface or the experiment component shown in FIG. 35. The attributes can specify, e.g., a geographic area in which the epidemic is taking place, or which people are in vulnerable populations. The attributes 136 can be part of a set of initial conditions."; Paragraph 302, "Accordingly, various examples include a complex situation analysis system that generates a social contact network, uses edge brokers and service brokers, and dynamically adds brokers. An example system for generating a representation of a situation is disclosed. The example system comprises one or more computer-readable media including computerexecutable instructions that are executable by one or more processors to implement an example method of generating a representation of a situation. The example method comprises receiving input data regarding a target population. The example method further comprises constructing a synthetic data set including a synthetic population based on the input data. The synthetic population includes a plurality of synthetic entities. In some examples, each synthetic entity has a oneto-one correspondence with an entity in the target population, although this is not required. In some examples, each synthetic entity is assigned one or more attributes based on information included in the input data. The example method further comprises receiving activity data for a plurality of entities in the target population."; Paragraph 303, "In some examples, the example method further comprises generating activity schedules for each synthetic entity in the synthetic population. Each synthetic entity is assigned at least one activity schedule based on the attributes assigned to the synthetic entity and information included in the activity data. An activity schedule describes the activities of the synthetic entity and includes a location associated with each activity. The example method can further comprise receiving additional data relevant to the situation being represented. The additional data is received from at least two distinct information sources. The example method can further comprise modifying the synthetic data set based on the additional data. Modifying the synthetic data set includes integrating at least a portion of the additional data received from each of the at least two distinct information sources into the synthetic data set based on one or more behavioral theories related to the synthetic population. The example method can further comprise generating a social contact network, e.g., social-interaction graph, based on the synthetic data set. The social contact network can be used to generate the representation of the situation."; Paragraph 315, "Synthetic data set subsystem 104 uses the input data to construct a synthetic population based on the received input data (step 224). The synthetic population includes a plurality of interacting synthetic entities, which may be living organisms (e.g., humans, animals, insects, plants, etc.) and/or inanimate objects (e.g., vehicles, wireless communication devices, infrastructure elements, etc.). In some embodiments, the synthetic population may model all entities within an area (e.g., geographic area) of interest, such that each synthetic entity in the synthetic population represents an actual entity in the location (e.g., geographic location) of interest. The synthetic entities may be assigned characteristics based on information reflected in the input data. In the example noted above, wherein the synthetic entities represent human beings and the input data is data from the U.S. Census, the demographic data reflected in the U.S. Census may be used to generate the synthetic population (e.g., age, income level, etc.).")
determine one or more matched simulated characters of the simulated characters for one or more known members of the real-life population based upon one or more known-member characteristic values associated with the one or more known members; (Barrett: Paragraph 316, "The synthetic entities may also be placed in one or more blocks or groups with other synthetic entities. For example, synthetic entities representing human beings may be placed in households with other synthetic entities based on the census data. The households may be placed geographically in such a way that the synthetic population reflects the same statistical properties as the underlying census data (i.e., the synthetic population is statistically indistinguishable from the census data). Because the synthetic population is composed of synthetic entities created using census demographic data and not actual entities or individuals, the privacy and security of the actual entities within the population of interest can be protected. In other embodiments, the synthetic entities may be grouped into other types of synthetic blocks or groups based on characteristics other than household membership (e.g., genus, species, device type, infrastructure type, etc.). In some embodiments, a synthetic data set may not previously exist and synthetic data set subsystem 104 may create a new synthetic data set including the constructed synthetic population. In other embodiments, a previously existing synthetic data set may be modified to include part or all of the created synthetic population."; Paragraph 318, "Once the activity templates are received, synthetic data set subsystem 104 matches each synthetic group (e.g., household) with one of the survey groups (e.g., survey households) associated with the activity templates (step 228). The synthetic groups may be matched with survey groups (e.g., using a decision tree) based on information (e.g., demographic information) contained in the input data (e.g., census data) and information from the activity surveys (e.g., number of workers in the household, number of children in the household, ages of inhabitants, etc.). Synthetic data set subsystem 104 then assigns each synthetic group the activity template of its matching survey group."; Paragraph 356, "Referring again to FIG. 40, network construction module 315 is configured to generate a social contact network based on the interactions between synthetic entities in the synthetic population and to measure and analyze the generated network. Network construction module 315 may include a network generation module 335 and a network analysis module 340. Network generation module 335 is configured to generate a social contact network (e.g., represented as a graph such as a hypergraph) based on the interactions between synthetic entities from the synthetic population. The graphs generated by network generation module 335 may be time-dependent or static projections of time-dependent graphs. Each vertex of the graphs represents an entity related to the interactions between entities of the synthetic population and can be linked to attributes, group assignments, actions sequences, and/or other characteristics associated with the entity. Each edge of the graphs represents an interaction between synthetic entities and can be linked to an action from which it is derived. Network generation module 335 may also be configured to translate the desired situation representation into a mathematical specification of the simulation associated with the situation and generate the graph based on the mathematic specification of the simulation. Network generation module 335 may utilize entity brokers and/or other brokers to obtain population information and publish information about the generated graphs.")
Barret does not explicitly disclose the response to an inquiry or the displaying of the inquiry response , however, in analogous art of population simulation Cooke discloses the following:
generate one or more simulated responses to an inquiry for the one or more known members based upon the simulated population; and (Cooke: Paragraph 190, "Based on the method 300 and the alignment of variables, the simulation tool and the graphical user interface is configured to answer three general types of inquiries. The first inquiry for a forecasting of a crowd behavior in a single set of conditions. The second inquiry is for a comparison of forecasts for crowd behavior in multiple condition options (first, subsequent, last). The third inquiry a request for recommended actions to maximize the probability of some desired outcome."; Paragraph 198, "The simulation module 405 selects the appropriate models and numerical values used to answer the user's inquiry as it will be explained in connection with step 510 of FIG. 9. The simulation module 405 then executes all the calculations that have been selected."; Paragraph 213, "The processes of the run simulation step 510 differ according to the type of inquiry submitted by the user (901 of FIG. 9). FIG. 9 is a flow chart of the run simulation step 510 of FIG. 8, for determining the appropriate process flowchart steps to follow (step 915, or step 920, or step 925). FIG. 10 further illustrates the steps of sub-process 915 of process 510 (FIG. 9) for the first kind of user inquiry, as described earlier in connection with the creation of a graphical user interface step 350 (FIG. 2B). FIG. 11 (FIGS. 1 lA, 1 lB, 1 lC) shows the process for the second kind of inquiry as described earlier in connection with the creation of a graphical user interface step 350 (FIG. 2B). FIG. 12 shows the process for the third kind of user inquiry, as described earlier in connection with the creation of a graphical user interface step 350 (FIG. 2B).")
transmit the one or more simulated responses to be displayed on a user interface on a user device. (Cooke: Paragraph 48, "FIG. 1 illustrates a high level architecture of the modeling and simulation system 100 according to a preferred embodiment of the present invention. The system 100 generally includes a preprocess module 105, a model input parsing module 110, a mathematical/statistical modeling module 115, a simulation module 120, a crowd metrics and model comparison module 125, a display module 130, and a computer processor module 150."; Paragraph 115, "Outputs from steps 330 and 331 of FIG. 2B are then sent to statistical processes that yield mathematical comparisons between the observed and predicted data (step 335) and a graphical display that allows for graphical comparisons between the observed and predicted data (step 340)."; Paragraph 204, "The display module 420 then displays the forecast according to the menu selections of the user. The display may be the textual, tabular, or graphical, similar to that described earlier in connection with the display step 340. The graphical display is similar to that of step 340 of FIG. 2B.")
Barret in view of Cooke does not explicitly disclose the scaling of a simulated population to a pre-determined size, however, in analogous art of population simulation Rajagopal discloses the following:
generating a simulated population of a pre-determined population size for the real-life population based upon the one or more matched simulated characters, comprising scaling the simulated population to the pre-determined population size, wherein one or more members of the simulated population generated from scaling the simulated population to the pre-determined population size are based at least on member characteristic values for one of (a) the one or more matched simulated characters, (b) a model population for the real-life population, or (c) one or more characteristic variations for the respective characteristic values for the one or more matched simulated characters; (Rajagopal: Paragraph 5, “The selection of pool sizes based on the limit of detection may comprise selecting a maximum pool size determined by the limit of detection and one or more pool sizes less than the maximum pool size. The chosen testing scheme may comprise a pooled sample testing scheme. The method may involve pooling samples obtained from the individuals according to the chosen testing scheme. The method may comprise testing one or more samples obtained from individuals within the population according to the chosen testing scheme.”; Paragraph 9, “Performing the simulation may further involve identifying and tallying false negatives based on the simulated infection levels within each simulated pool and a predetermined adjusted limit of detection for the pool size. Identifying false negatives may involve assigning a false negative status to the simulated individual and/or simulated pool if the simulated infection level for the individual and/or pool is below the assay's limit of detection and/or adjusted limit of detection, respectively. Identifying false negatives may involve independently assigning a false negative status to the simulated individual and/or simulated pool based on a probability associated with the limit of detection and/or adjusted limit of detection, respectively.”; Paragraph 14, “The method may involve preparing a pooled sample for one of the pools of the hierarchies from individual samples based on the assigned hierarchy positions of the individuals. The method may involve implementing the pooled sample testing scheme. The method may comprise testing one or more samples obtained from individuals within the population according to the pooled sample testing scheme. The pooled sample testing scheme may be performed only if the minimum number of tests or the expected average number of tests is less than or equal to the number of individuals within the population. Testing for the pooled sample testing scheme may be completed such that each individual is assigned a positive or negative infection status. The hierarchy size may be no greater than a maximum hierarchy size determined according to the limit of detection for an assay to be used in the pooled sample testing scheme.”; Paragraph 19, “According to another aspect of the disclosure, disclosed herein is another method for determining and optionally implementing a strategy for testing or screening individuals within a population for an infection. The method involves determining a maximum hierarchy size used in a pooled sample testing scheme that assigns each individual to one of one or more hierarchies of identical size and structure. Each hierarchy has one or more levels of pools of samples. The one or more levels have a base pool at a top level of the hierarchy and two or more mini-pools at each of any additional level below the top level such that each mini-pool is positioned downstream of a single pool at the next higher level. Each mini-pool comprises a subset of the individuals assigned to any upstream pool. Each hierarchy further has individual samples for each individual assigned to the hierarchy at a bottom of the hierarchy. Each individual is assigned to one pool at every level of the hierarchy to which the individual is assigned. The maximum hierarchy size is determined by comparing the amount of dilution for an individual sample needed to form a base pool of a predetermined size to the limit of detection for an assay that is to be used to test the base pool.”; Paragraph 64, “In some embodiments, a population to be tested is treated as a unit. For examples, samples for a particular population to be tested may be collected, shipped, sorted, processed, analyzed, and/or reported on, as described elsewhere herein, in a unitary or coordinated fashion. Each population to be tested (e.g., a population identifier and/or population characteristics, such as number of population members, identify of individual population members, estimated infection rate, etc.) may be stored on memory (e.g., in a database) of a system, as described elsewhere herein. Data for individual members of a population to be tested may be input to and/or transmitted from a central processor (e.g., a server) as a unit. In some embodiments, one or more administrators may be associated with a population to be tested. The one or more administrators may play roles in collecting samples, processing samples, shipping samples, collecting and/or providing information on individual population members, and/or receiving information (e.g., test results). For example, the one or more administrators may comprise a human resources representative of a place of employment, a school nurse, or other administrative official of an organization. The one or more administrators may or may not be included as members of the population to be tested. In various embodiments, the population to be tested may only be a portion of a system or group of people described herein. For instance, one or more members of an organization may elect not to participate in the testing or may not be available for a particular round of testing.”; Paragraph 80, “In some instances, the TRT may be less than the total number of individuals, N, such that the pooled sample testing scheme reduces the number of tests needed to identify each individual as positive or negative when compared to single sample testing at the outset (i.e., saves tests). In some instances, the TRT may be the same as the total number of individuals, N. In some instance, the TRT may be more than the total number of individuals, N, such that the pooled sample testing scheme is less efficient at identifying each individual as positive or negative when compared to single sample testing from the outset (i.e., wastes tests). According to certain embodiments, methods for testing individuals within a population of interest comprise determining the solution space for one or more hierarchy structures given one or more potential numbers of positive individuals. The one or more potential numbers of positive individuals within the population may be determined according to an estimated infection rate within the population, as described elsewhere herein. Given the calculated solution space, a probability of having a TRT less than N (i.e., reducing the number of tests needed by employing the pooled testing scheme) may be determined and/or a probability of having a TRT greater than N (i.e., increasing the number of tests needed by employing the pooled testing scheme) may be determined (e.g., given a random distribution of the positive individuals or some other distribution). In some embodiments, the probability of increasing or decreasing the number of tests needed by a certain integer (e.g., for each integer difference possible based on the solution space for the TRT) when compared to testing each individual separately are determined (i.e., the probability of saving or wasting a certain integer number of tests or at least a certain integer number of tests). In some embodiments, an average number of tests saved or wasted is determined based on the probability distribution over the solution space. The average may be weighted or not-weighted by the number of tests saved/wasted. In specific embodiments, an estimated TRT is determined from a simulation, such as one of the simulations described elsewhere herein. The use of a simulator may effectively account for the impact of differences in probability between different TRTs within the solution space over a large number of individuals (large number of pools) without having to mathematically characterize probabilities of TRTs within large solution spaces. In various embodiments, the specific testing scheme employed (e.g., the specific pooled sample testing scheme) may be determined based on a comparison of the simulated TRT (e.g., an average TRT from multiple runs of a simulation) for a plurality of testing schemes. The testing schemes may comprise single sample testing and/or multiple pooled sample testing schemes (e.g., different base pool sizes).”; Paragraph 111, “The selection of an efficient testing strategy, particularly an efficient pooled sample testing strategy, may be improved or optimized by the use of one or more computer-based simulations (i.e., a simulator). Simulations may replicate realistic results given unknown variables for specific populations to be tested (e.g., infection rates, infection level (e.g., viral density) distributions within infected individuals, distributions of positive individuals within pooled samples, etc.). Simulations can model complex population distributions and capture correlations between individual and/or population characteristics and infection probabilities (e.g., via machine learning methodologies) that cannot be mathematically derived. Simulations may better replicate the likelihood of actual test results at larger population sizes. For example, the simulated population may comprise at least 100, 500, 1,000, 5,000, or 10,000 members. Simulated distributions of infected individuals within a population of a given size (e.g., simulating individuals as positive/negative for an infection of interest and/or simulating individuals as having a certain amount or level of infection) may allow better predictions of testing outcomes, such as, but not limited to, TRT, false negatives, false positives, and/or cost savings. The predictions may comprise a most likely outcome and/or a probability or relative probability of one or more specific testing outcomes. The frequency distributions of infection levels may focus on stratifying a lower end of the infection spectrum. In some embodiments, the lower 5%, 10%, 15%, 20%, 25%, 30%, 35%, or 40% of a distribution of an infection level (e.g., viral load) may be stratified into 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, or more classes. The probability of each bin/class/stratification may be determined or estimated as described elsewhere herein, including the examples. For example, in some embodiments, a lower portion of a frequency distribution for an infection comprising between about 10% and 35% of the range of the distribution may comprise at least 1, 2, 3, 4, 5, 6, 7, 8, 9, or 10 classes.”; Paragraph 112, “In some embodiments, a simulated distribution of positive individuals (may be used to simulate the distribution (e.g., random distribution) of those individuals within a plurality of pools of one or more sizes. The number of infected individuals may be predetermined by an input infection rate or may be simulated based on an input infection rate (i.e., each simulated individual is independently determined whether to have the infection based on a probability). Where applicable, the level of infection in an infected individual may be predetermined by a probability (i.e., multiply the probability by the total population size) or may be simulated based on the input probability (i.e., the infection level of each simulated individual is independently determined). The simulated distribution within pools may be used to predict one or more testing outcomes. The number of pools tested in each simulation may be at least about 100, 200, 300, 400, 500, 600, 700, 800, 900, 1,000, 2,000, 3,000, 4,000, 5,000, or 10,000 pools. In some embodiments, the positive individuals may be assigned a particular level or category of infection (e.g., a binned range of infection values, such as copies/mL). The distribution of individuals within the pools may be used to determine different testing outcomes for different testing schemes where the assay's ability to identify the individual as positive or negative is dependent on the infection level (e.g., an assay's LOD is expected to only allow detection of individuals having an infection level above a certain threshold). In some embodiments, the infection rate may be an independent variable input into the simulation. In some embodiments, the infection rate (and number of infected individuals within the simulated population) may be determined by the simulator. The simulation may comprise one or more input variables, including but not limited to: infection rate, total population size, pool size, number of pools, LOD (for one or more pool sizes), capture rate or probability of false negatives, the probability of infection, the probability of a given level of infection, etc.”; Paragraph 116, “The simulations may be performed in a manner such as that described in detail in the examples herein or any other suitable manner. The simulations may simulate distributions within hierarchies comprising only a base pool and no mini-pools or may simulate one or more hierarchies having multiple levels of pools. The simulations may use a loop algorithm based on the simulation of a single pool hierarchy to simulate the testing of a multi-pool hierarchy. Methodologies for modifying the simulator described in the examples herein to replicate a multi-pool hierarchy structure are well known in the art.”; Paragraph 150, “A simulator was constructed to simulate the viral loads in a population of variable size according to the frequency distributions of Table 5. The simulator defined four multinomial classes of infection, referred to herein as Black, Brown, Blue, and Red. Class Black collapsed Frequency Classes 1-5 into a single class; Class Brown equated to Frequency Class 6, Class Blue equated to Frequency Class 7, and Class Red equated to Frequency Class 8. The simulator also defined a Class Green to capture uninfected individuals. The simulator accepted infection rate, total population size, pool size, and number of pools as independent variables. The particular infection class (Black, Brown, Blue, Red, Green) of each of the simulated individuals was independently assigned by the simulator via the infection rate and probabilities determined from Table 5. In other words, the simulator assigned each simulated individual to an infection class (Black, Brown, Blue, Red, Green) via a probabilistic determination (e.g., using a weighted random number generator, with user-provided weights). The simulator on average assigns an individual to Class Green (uninfected) a percentage of the time calculated from the infection rate (i.e., 1-IR). The simulator on average assigns an individual to one of Classes Black, Brown, Blue, or Red a percentage of the time calculated from a combination of the infection rate and the frequency distribution determined from Table 5 (Black—11.7%; Brown—5.6%; Blue—5.6%; and Red—77.1%). For example, on average the simulator assigns an individual to Class Red a percentage of the time corresponding to IR×0.771. Alternatively, the total number of infected and non-infected individuals could be strictly set by the infection rate and only the infected individuals (Classes Black, Brown, Blue, and Red) could be stochastically distributed amongst classes via an independent probabilistic determination based on the frequencies of Table 5. The simulator then randomly distributed the individuals into the number of pools of set pool size inputted into the simulator. For most simulations, the number of pools was set as the total population divided by the pool size and the total population size was selected to evenly distributed the simulated members of the population, each into one pool.”)
Barret discloses a method for simulating populations derived from real-life population information. Cooke discloses answering inquiries regarding responses of simulated populations. Rajagopal discloses a method for using simulations to determine behaviors of populations based on pre-determined size and factors for real-life decision making. At the time of Applicant's filed invention, one of ordinary skill in the art would have deemed it obvious to combine the methods of Barrett with the teachings of Cooke in order to improve the accuracy and efficiency of model analysis as disclosed by Cooke (Cooke: Paragraph 17, "The resulting forecasting tool is more accurate at forecasting crowd human behavior because its models are based on quantitative metrics of actual behavior."). It would have been further obvious to one of ordinary skill in the art to combine the methods of Barrett in view of Cooke with the teachings of Rajagopal in order to improve the predictions of testing outcomes and patterns as disclosed by Rajagopal (Rajagopal: Paragraph 111, “Simulated distributions of infected individuals within a population of a given size (e.g., simulating individuals as positive/negative for an infection of interest and/or simulating individuals as having a certain amount or level of infection) may allow better predictions of testing outcomes, such as, but not limited to, TRT, false negatives, false positives, and/or cost savings.”)
Claim(s) 2, 12, and 18 –
Barrett in view of Cooke and Rajagopal disclose the limitations of claims 1, 11, and 17 Barrett further discloses the following:
receiving, via a second user device from a second user, the member characteristics for the population groups; or (Barrett: Paragraph 58, "The systems and methods of the present disclosure may conduct analyses through interaction with various information resources. For example, information about population characteristics, disease characteristics, intervention options, and/or various other types of information may be retrieved from one or more of a variety of information sources. In some implementations of the present disclosure, the analysis system may incorporate and/or work in coordination with a system that incorporates components designed to transmit requests for information to different information sources and retrieve the information from those sources to perform various tasks."; Paragraph 155, "FIG. 12 shows an example user interface providing an overview of experiment status. The illustrated UI can be an entry point to, e.g., functions such as Create Experiment, Run Experiment, Analyze Results, and Generate Movies. The menu bar across the top can provide access to various collections of data. The system can respond to activation of the "New Experiment" button to perform functions to Create New Experiment: an experiment can be created as a New Experiment or by duplicating an existing experiment. The user can enter name and details for the experiment, and specify characteristics of the experiment like the number of simulated days, number of replicates, the geographic region, a particular disease transmission model, selection and specification of interventions, such as vaccination of a subpopulation, efficacy of the vaccination, etc., and save it. Once the new experiment has been created it will be included in the list of experiments (listbox, left panel). If required, the user can also edit the created experiment by selecting it at a later stage to establish numerous conditions of the experiment, including number of replications, and interventions, etc.")
before determining the simulated population, determining the one or more characteristic variations for the respective characteristic values for the one or more matched simulated characters, wherein determining the simulated population comprises determining the simulated population further based upon the one or more characteristic variations. (Barrett: Paragraph 199, "Subpopulation Categories: The population groups are further classified as categories with specific range/conditions. Example: for Age as the Type, the Categories available are, e.g., Pre-school, School-Age, Adults, or Seniors, along with the%of sub-population. A percentage of the selected sub-population categories can be selected, e.g., using a slider. The selected sub-population percentage can be displayed below the slider."; Paragraph 226, "Customized sweeps permit entering arbitrary (but bounded with in the range permitted by the simulation) values, e.g., entered as comma separated values. The system generates cells with each of the specified sweep value. For example if the analyst were to sweep"% Infectious" as "15,38,90", the cells generated would represent percentage of 15%, 38% and 90%."; Paragraph 228, "FIG. 22 shows an example user interface permitting a user to specify initial conditions of an experiment. Examples of specifying an initial infected population and other initial conditions are described herein with reference to blocks 304 and 504. Initial Conditions can allow the user to specify a number of affected (e.g., infected) individuals in a population, to mark the event (e.g., disease) onset. In some examples, e.g., of epidemics, a mixed Population of Infected and susceptible individuals is setup to start with the simulation experiments of event progression. Examples are discussed herein, e.g., with reference to blocks 306, 504, or 1026, or FIG. 37 or 43. Random selection of individuals as per configuration parameters can occur at a specified time during each iteration, so different iterations (replicates) can set up different initial infected populations. Accordingly, cell outcomes can differ per the set conditions, permitting variability analysis.")
Barret does not explicitly disclose the response to an inquiry or the displaying of the inquiry response , however, in analogous art of population simulation Cooke discloses the following:
receiving, via the user device, an inquiry input from a user, wherein the inquiry input is associated with the inquiry and the one or more known-member characteristic values associated with the one or more known members of the real-life population; (Cooke: Paragraph 190, "Based on the method 300 and the alignment of variables, the simulation tool and the graphical user interface is configured to answer three general types of inquiries. The first inquiry for a forecasting of a crowd behavior in a single set of conditions. The second inquiry is for a comparison of forecasts for crowd behavior in multiple condition options (first, subsequent, last). The third inquiry a request for recommended actions to maximize the probability of some desired outcome."; Paragraph 198, "The simulation module 405 selects the appropriate models and numerical values used to answer the user's inquiry as it will be explained in connection with step 510 of FIG. 9. The simulation module 405 then executes all the calculations that have been selected."; Paragraph 213, "The processes of the run simulation step 510 differ according to the type of inquiry submitted by the user (901 of FIG. 9). FIG. 9 is a flow chart of the run simulation step 510 of FIG. 8, for determining the appropriate process flowchart steps to follow (step 915, or step 920, or step 925). FIG. 10 further illustrates the steps of sub-process 915 of process 510 (FIG. 9) for the first kind of user inquiry, as described earlier in connection with the creation of a graphical user interface step 350 (FIG. 2B). FIG. 11 (FIGS. llA, llB, llC) shows the process for the second kind of inquiry as described earlier in connection with the creation of a graphical user interface step 350 (FIG. 2B). FIG. 12 shows the process for the third kind of user inquiry, as described earlier in connection with the creation of a graphical user interface step 350 (FIG. 2B).")
Barret discloses a method for simulating populations derived from real-life population information. Cooke discloses answering inquiries regarding responses of simulated populations. Rajagopal discloses a method for using simulations to determine behaviors of populations based on pre-determined size and factors for real-life decision making. At the time of Applicant's filed invention, one of ordinary skill in the art would have deemed it obvious to combine the methods of Barrett with the teachings of Cooke in order to improve the accuracy and efficiency of model analysis as disclosed by Cooke (Cooke: Paragraph 17, "The resulting forecasting tool is more accurate at forecasting crowd human behavior because its models are based on quantitative metrics of actual behavior.").
Claim(s) 3 –
Barret in view of Cooke and Rajagopal disclose the limitations of claim 1
Barrett further discloses the following:
retrieving, from a member database, the model population for the real-life population; and determining the simulated characters further based upon the model population. (Barrett: Paragraph 58, "The systems and methods of the present disclosure may conduct analyses through interaction with various information resources. For example, information about population characteristics, disease characteristics, intervention options, and/or various other types of information may be retrieved from one or more of a variety of information sources. In some implementations of the present disclosure, the analysis system may incorporate and/or work in coordination with a system that incorporates components designed to transmit requests for information to different information sources and retrieve the information from those sources to perform various tasks."; Paragraph 65, "In some examples herein, tool 128 is a tool for forecasting the progress of an event, e.g., an extended event that goes on over a period of time, or a point-in-time event with extended consequences. An example of such an event is an epidemic among human, animal, or plant populations. As discussed in more detail below, the front end 114 can receive attributes 136 of a synthetic population, e.g., a subset of the data library 122. The tool 128 can select a synthetic-population (SP) graph from the data library 122, e.g., using services provided by the job manager 118. The front end 114 can receive data of an intervention 138 designed to affect a course of the event, e.g., to counteract or mitigate the event. The tool 128 can then simulate the course of the event in the SP graph to produce an estimate 140 of the event, based at least in part on the intervention 138. The front end 114 can present the estimate 140, e.g., via a user interface such as a Web page."; Paragraph 81, "At block 304, server 126 can receive attributes 136 of (e.g., designating or defining) a synthetic population (referred to as "synth. pop.," "s. p.," or "SP" throughout this description and figures). This can be performed, e.g., by the user interface or the experiment component shown in FIG. 35. The attributes can specify, e.g., a geographic area in which the epidemic is taking place, or which people are in vulnerable populations. The attributes 136 can be part of a set of initial conditions."; Paragraph 302, "Accordingly, various examples include a complex situation analysis system that generates a social contact network, uses edge brokers and service brokers, and dynamically adds brokers. An example system for generating a representation of a situation is disclosed. The example system comprises one or more computer-readable media including computer-executable instructions that are executable by one or more processors to implement an example method of generating a representation of a situation. The example method comprises receiving input data regarding a target population. The example method further comprises constructing a synthetic data set including a synthetic population based on the input data. The synthetic population includes a plurality of synthetic entities. In some examples, each synthetic entity has a one-to-one correspondence with an entity in the target population, although this is not required. In some examples, each synthetic entity is assigned one or more attributes based on information included in the input data. The example method further comprises receiving activity data for a plurality of entities in the target population."; Paragraph 303, "In some examples, the example method further comprises generating activity schedules for each synthetic entity in the synthetic population. Each synthetic entity is assigned at least one activity schedule based on the attributes assigned to the synthetic entity and information included in the activity data. An activity schedule describes the activities of the synthetic entity and includes a location associated with each activity. The example method can further comprise receiving additional data relevant to the situation being represented. The additional data is received from at least two distinct information sources. The example method can further comprise modifying the synthetic data set based on the additional data. Modifying the synthetic data set includes integrating at least a portion of the additional data received from each of the at least two distinct information sources into the synthetic data set based on one or more behavioral theories related to the synthetic population. The example method can further comprise generating a social contact network, e.g., social-interaction graph, based on the synthetic data set. The social contact network can be used to generate the representation of the situation."; Paragraph 315, "Synthetic data set subsystem 104 uses the input data to construct a synthetic population based on the received input data (step 224). The synthetic population includes a plurality of interacting synthetic entities, which may be living organisms (e.g., humans, animals, insects, plants, etc.) and/or inanimate objects (e.g., vehicles, wireless communication devices, infrastructure elements, etc.). In some embodiments, the synthetic population may model all entities within an area (e.g., geographic area) of interest, such that each synthetic entity in the synthetic population represents an actual entity in the location (e.g., geographic location) of interest. The synthetic entities may be assigned characteristics based on information reflected in the input data. In the example noted above, wherein the synthetic entities represent human beings and the input data is data from the U.S. Census, the demographic data reflected in the U.S. Census may be used to generate the synthetic population (e.g., age, income level, etc.).")
Claim(s) 4 –
Barret in view of Cooke and Rajagopal disclose the limitations of claims 1 and 3
Barrett further discloses the following:
wherein retrieving the model population comprises retrieving the model population based upon the member characteristics for the population groups; (Barrett: Paragraph 58, "The systems and methods of the present disclosure may conduct analyses through interaction with various information resources. For example, information about population characteristics, disease characteristics, intervention options, and/or various other types of information may be retrieved from one or more of a variety of information sources. In some implementations of the present disclosure, the analysis system may incorporate and/or work in coordination with a system that incorporates components designed to transmit requests for information to different information sources and retrieve the information from those sources to perform various tasks."; Paragraph 65, "In some examples herein, tool 128 is a tool for forecasting the progress of an event, e.g., an extended event that goes on over a period of time, or a point-in-time event with extended consequences. An example of such an event is an epidemic among human, animal, or plant populations. As discussed in more detail below, the front end 114 can receive attributes 136 of a synthetic population, e.g., a subset of the data library 122. The tool 128 can select a synthetic-population (SP) graph from the data library 122, e.g., using services provided by the job manager 118. The front end 114 can receive data of an intervention 138 designed to affect a course of the event, e.g., to counteract or mitigate the event. The tool 128 can then simulate the course of the event in the SP graph to produce an estimate 140 of the event, based at least in part on the intervention 138. The front end 114 can present the estimate 140, e.g., via a user interface such as a Web page."; Paragraph 81, "At block 304, server 126 can receive attributes 136 of (e.g., designating or defining) a synthetic population (referred to as "synth. pop.," "s. p.," or "SP" throughout this description and figures). This can be performed, e.g., by the user interface or the experiment component shown in FIG. 35. The attributes can specify, e.g., a geographic area in which the epidemic is taking place, or which people are in vulnerable populations. The attributes 136 can be part of a set of initial conditions."; Paragraph 302, "Accordingly, various examples include a complex situation analysis system that generates a social contact network, uses edge brokers and service brokers, and dynamically adds brokers. An example system for generating a representation of a situation is disclosed. The example system comprises one or more computer-readable media including computerexecutable instructions that are executable by one or more processors to implement an example method of generating a representation of a situation. The example method comprises receiving input data regarding a target population. The example method further comprises constructing a synthetic data set including a synthetic population based on the input data. The synthetic population includes a plurality of synthetic entities. In some examples, each synthetic entity has a oneto-one correspondence with an entity in the target population, although this is not required. In some examples, each synthetic entity is assigned one or more attributes based on information included in the input data. The example method further comprises receiving activity data for a plurality of entities in the target population."; Paragraph 303, "In some examples, the example method further comprises generating activity schedules for each synthetic entity in the synthetic population. Each synthetic entity is assigned at least one activity schedule based on the attributes assigned to the synthetic entity and information included in the activity data. An activity schedule describes the activities of the synthetic entity and includes a location associated with each activity. The example method can further comprise receiving additional data relevant to the situation being represented. The additional data is received from at least two distinct information sources. The example method can further comprise modifying the synthetic data set based on the additional data. Modifying the synthetic data set includes integrating at least a portion of the additional data received from each of the at least two distinct information sources into the synthetic data set based on one or more behavioral theories related to the synthetic population. The example method can further comprise generating a social contact network, e.g., social-interaction graph, based on the synthetic data set. The social contact network can be used to generate the representation of the situation."; Paragraph 315, "Synthetic data set subsystem 104 uses the input data to construct a synthetic population based on the received input data (step 224). The synthetic population includes a plurality of interacting synthetic entities, which may be living organisms (e.g., humans, animals, insects, plants, etc.) and/or inanimate objects (e.g., vehicles, wireless communication devices, infrastructure elements, etc.). In some embodiments, the synthetic population may model all entities within an area (e.g., geographic area) of interest, such that each synthetic entity in the synthetic population represents an actual entity in the location (e.g., geographic location) of interest. The synthetic entities may be assigned characteristics based on information reflected in the input data. In the example noted above, wherein the synthetic entities represent human beings and the input data is data from the U.S. Census, the demographic data reflected in the U.S. Census may be used to generate the synthetic population (e.g., age, income level, etc.).")
Claim(s) 5 –
Barret in view of Cooke and Rajagopal disclose the limitations of claim 1
Barrett further discloses the following:
wherein determining the simulated characters comprises generating the simulated characters by a trained character-simulating model based upon the member characteristics for the population groups. (Barrett: Paragraph 103, "At block 512, server 126 can receive an indication of a predetermined disease model 514 via a user interface. For example, client 124 can receive the indication via user interface 240, and provide the indication to server 126. In some of these examples, server 126 can also receive the data 314 of the intervention via the user interface. For example, a user 242 can specify the data 314 and the disease model 514 via a Web interface of tool 128, e.g., as discussed herein with reference to FIGS. 15-22. In some examples, the indication of the disease model 514 can comprise the disease model 514 itself. In some examples, the indication of the disease model 514 can comprise a name, Uniform Resource Locator (URL), Universally Unique Identifier (UUID), or other identifier of a disease model 514 stored in a memory, e.g., CRM 294 of platform 212."; Paragraph 122, "At block 806, server 126 can determine at least one first simulation 808 based at least in part on the query. The term "first simulation" is for clarity of identification and does not require a specific order of execution of multiple simulations. The first simulation can be of any of the types described herein, e.g., with reference to FIG. 12-17, 37, 39C, 39D, 41E, or 43. Block 806 can include, e.g., determining input or output parameters of the simulation 808, models to be used while running the simulation 808, or data sources providing data for the simulation 808. In some examples using block 806, simulating at block 646 can include running the at least one first simulation 808. In some examples, block 806 can include determining the at least one first simulation 808 including multiple simulations differing in one or more parameters. Examples are discussed herein, e.g., with reference to at least FIG. 14, 20, or 21."; Paragraph 281, "FIG. 35 shows an architectural diagram of an illustrative system. The illustrated user interface component provides interface elements for performing various tasks of the system, such as managing experiments, cells, analysis parameters, and/or other functional aspects of the system. In some implementations, the user interface component may provide a network-based (e.g., web-based) interface for end users of the application. For example, the user interface component may execute on front end 114 or other components of client 124. The user interface layer may interface with Representational State Transfer (REST) APis, which in turn may interface with REST APis exposed by the middleware, in some embodiments. In various implementations, the user interface component, which can be implemented by or within interaction module 246, provides interfaces for one or more of the following: creating, saving, and running experiments (e.g., receiving parameters as discussed herein with reference to blocks 304, 312, 436, 512, 524, 636, 642, 802, 904, 1002, 1014, 1022, or 1030); creating and viewing analysis outcomes of experiments (e.g., as discussed herein with reference to blocks 434, 902, 912, or 1108); creating and saving disease models, initial conditions associated with the experiment, triggers (e.g., a set of one or more conditions initiating onset of an intervention), regimens (e.g., interventions involving multiple/repeated steps, such as pharmaceutical treatments), and/or interventions; archiving old experiments, analysis, disease models, initial conditions, triggers, and/or regimens; and/or receiving feedback from the end user regarding the application and/or providing administrative functions, such as activating/deactivating users or changing user authorizations.")
Claim(s) 6 –
Barret in view of Cooke and Rajagopal disclose the limitations of claims 1 and 5
Barret further discloses the following:
wherein the method further comprises, after transmitting the one or more simulated responses: receiving, from the user device, user feedback for the one or more simulated responses; and re-training the trained character-simulating model based upon the simulated characters and the user feedback. (Barrett: Paragraph 281, "FIG. 35 shows an architectural diagram of an illustrative system. The illustrated user interface component provides interface elements for performing various tasks of the system, such as managing experiments, cells, analysis parameters, and/or other functional aspects of the system. In some implementations, the user interface component may provide a network-based (e.g., web-based) interface for end users of the application. For example, the user interface component may execute on front end 114 or other components of client 124. The user interface layer may interface with Representational State Transfer (REST) APls, which in turn may interface with REST APis exposed by the middleware, in some embodiments. In various implementations, the user interface component, which can be implemented by or within interaction module 246, provides interfaces for one or more of the following: creating, saving, and running experiments (e.g., receiving parameters as discussed herein with reference to blocks 304,312,436,512,524,636,642,802,904, 1002, 1014, 1022,or 1030); creating and viewing analysis outcomes of experiments (e.g., as discussed herein with reference to blocks 434, 902, 912, or 1108); creating and saving disease models, initial conditions associated with the experiment, triggers (e.g., a set of one or more conditions initiating onset of an intervention), regimens (e.g., interventions involving multiple/repeated steps, such as pharmaceutical treatments), and/or interventions; archiving old experiments, analysis, disease models, initial conditions, triggers, and/or regimens; and/or receiving feedback from the end user regarding the application and/or providing administrative functions, such as activating/deactivating users or changing user authorizations."; Paragraph 342, "Data broker 355 may also include a data service component that serves as a database-type-specific manager for management module 305 data. The data service component may service both database-independent and databasespecific requests. Each data broker 355 may require a separate data service component for each type of database being serviced by the data broker 355. For example, if a data broker 355 is configured to service both relational databases and XML repositories, the data broker may require at least two separate data service component instances. The data service component may receive requests for data, metadata, data updates, etc. and provide response submissions, requested data, metadata, data modifications, etc. Output data may be placed in a database table, placed in a URL, provided directly to a user's web browser, or stored and/or communicated in another way.")
Claim(s) 7 –
Barrett in view of Cooke and Rajagopal disclose the limitations of claim 1
Barret does not explicitly disclose the response to an inquiry or the displaying of the inquiry response , however, in analogous art of population simulation Cooke discloses the following:
wherein the one or more simulated responses further comprise answers and at least one of reasons for the answers or recommendations to a user. (Cooke: Paragraph 190, "Based on the method 300 and the alignment of variables, the simulation tool and the graphical user interface is configured to answer three general types of inquiries. The first inquiry for a forecasting of a crowd behavior in a single set of conditions. The second inquiry is for a comparison of forecasts for crowd behavior in multiple condition options (first, subsequent, last). The third inquiry a request for recommended actions to maximize the probability of some desired outcome."; Paragraph 216, "FIG. 12 illustrates the process 925 of selecting the calculations for recommendations for actions to maximize the probability of a desired outcome. While the models developed in system 100 and method 300 are used, the calculations differ because the equation is solved for an x value. That is, the desired outcome, y, is determined by user menu submission (step 901), a subset of x's inputs are determined by user menu submissions. The equations to be used to calculate predictions are then configured to be solved for the x that maximizes or minimizes the y or so that the y meets certain predetermined criteria.")
Barret discloses a method for simulating populations derived from real-life population information. Cooke discloses answering inquiries regarding responses of simulated populations. Rajagopal discloses a method for using simulations to determine behaviors of populations based on pre-determined size and factors for real-life decision making. At the time of Applicant's filed invention, one of ordinary skill in the art would have deemed it obvious to combine the methods of Barrett with the teachings of Cooke in order to improve the accuracy and efficiency of model analysis as disclosed by Cooke (Cooke: Paragraph 17, "The resulting forecasting tool is more accurate at forecasting crowd human behavior because its models are based on quantitative metrics of actual behavior.").
Claim(s) 8, 15, and 21 –
Barrett in view of Cooke and Rajagopal disclose the limitations of claims 1, 11, and 17
Barrett further discloses the following:
determining the simulated population comprises determining the simulated population by a trained population-generating model based upon the one or more matched simulated characters; or generating the one or more simulated responses comprises generating the one or more simulated responses by a trained response-generating model. (Barrett: Paragraph 103, "At block 512, server 126 can receive an indication of a predetermined disease model 514 via a user interface. For example, client 124 can receive the indication via user interface 240, and provide the indication to server 126. In some of these examples, server 126 can also receive the data 314 of the intervention via the user interface. For example, a user 242 can specify the data 314 and the disease model 514 via a Web interface of tool 128, e.g., as discussed herein with reference to FIGS. 15-22. In some examples, the indication of the disease model 514 can comprise the disease model 514 itself. In some examples, the indication of the disease model 514 can comprise a name, Uniform Resource Locator (URL), Universally Unique Identifier (UUID), or other identifier of a disease model 514 stored in a memory, e.g., CRM 294 of platform 212."; Paragraph 122, "At block 806, server 126 can determine at least one first simulation 808 based at least in part on the query. The term "first simulation" is for clarity of identification and does not require a specific order of execution of multiple simulations. The first simulation can be of any of the types described herein, e.g., with reference to FIG. 12-17, 37, 39C, 39D, 41E, or 43. Block 806 can include, e.g., determining input or output parameters of the simulation 808, models to be used while running the simulation 808, or data sources providing data for the simulation 808. In some examples using block 806, simulating at block 646 can include running the at least one first simulation 808. In some examples, block 806 can include determining the at least one first simulation 808 including multiple simulations differing in one or more parameters. Examples are discussed herein, e.g., with reference to at least FIG. 14, 20, or 21."; Paragraph 281, "FIG. 35 shows an architectural diagram of an illustrative system. The illustrated user interface component provides interface elements for performing various tasks of the system, such as managing experiments, cells, analysis parameters, and/or other functional aspects of the system. In some implementations, the user interface component may provide a network-based (e.g., web-based) interface for end users of the application. For example, the user interface component may execute on front end 114 or other components of client 124. The user interface layer may interface with Representational State Transfer (REST) APis, which in turn may interface with REST APis exposed by the middleware, in some embodiments. In various implementations, the user interface component, which can be implemented by or within interaction module 246, provides interfaces for one or more of the following: creating, saving, and running experiments (e.g., receiving parameters as discussed herein with reference to blocks 304, 312, 436, 512, 524, 636, 642, 802, 904, 1002, 1014, 1022, or 1030); creating and viewing analysis outcomes of experiments (e.g., as discussed herein with reference to blocks 434, 902, 912, or 1108); creating and saving disease models, initial conditions associated with the experiment, triggers (e.g., a set of one or more conditions initiating onset of an intervention), regimens (e.g., interventions involving multiple/repeated steps, such as pharmaceutical treatments), and/or interventions; archiving old experiments, analysis, disease models, initial conditions, triggers, and/or regimens; and/or receiving feedback from the end user regarding the application and/or providing administrative functions, such as activating/deactivating users or changing user authorizations.")
Claim(s) 9 and 22 –
Barrett in view of Cooke and Rajagopal disclose the limitations of claims 1, 8, 17, and 21
Barrett further discloses the following:
receiving, from the user device, user feedback for the one or more simulated responses; (Barrett: Paragraph 281, "FIG. 35 shows an architectural diagram of an illustrative system. The illustrated user interface component provides interface elements for performing various tasks of the system, such as managing experiments, cells, analysis parameters, and/or other functional aspects of the system. In some implementations, the user interface component may provide a network-based (e.g., web-based) interface for end users of the application. For example, the user interface component may execute on front end 114 or other components of client 124. The user interface layer may interface with Representational State Transfer (REST) APis, which in turn may interface with REST APis exposed by the middleware, in some embodiments. In various implementations, the user interface component, which can be implemented by or within interaction module 246, provides interfaces for one or more of the following: creating, saving, and running experiments (e.g., receiving parameters as discussed herein with reference to blocks 304, 312, 436, 512, 524, 636, 642, 802, 904, 1002, 1014, 1022, or 1030); creating and viewing analysis outcomes of experiments (e.g., as discussed herein with reference to blocks 434, 902, 912, or 1108); creating and saving disease models, initial conditions associated with the experiment, triggers (e.g., a set of one or more conditions initiating onset of an intervention), regimens (e.g., interventions involving multiple/repeated steps, such as pharmaceutical treatments), and/or interventions; archiving old experiments, analysis, disease models, initial conditions, triggers, and/or regimens; and/or receiving feedback from the end user regarding the application and/or providing administrative functions, such as activating/deactivating users or changing user authorizations.")
when the trained population-generating model is used, re-training the trained population-generating model based upon the simulated population and the user feedback; and (Barrett: Paragraph 117, "At block 708, server 126 can selectively modify at least some of the parameters of at least some of the nodes based at least in part on the data 706 of the consequences of the event. For example, server 126 can update the parameters of the nodes to reflect the results of the simulation, as in the left-to-right progress in FIG. 35."; Paragraph 118, "At block 710, server 126 can change edge labels or node parameters in response to triggers, e.g., as discussed herein with reference to FIG. 18, 19, or 24. Triggers can be indicated by data 712. For example, a node can have a trigger indicating that the represented synthetic entity will be seek prophylactic medication when a certain percentage of the population has been infected by an epidemic, but not before. If the simulation results indicate that the certain percentage has been reached, server 126 can update parameters of that node to indicate that the node is now eligible for such medication. A corresponding intervention indicated by data 644 can then be applied to that node."; Paragraph 246, "In some examples, a job-manager component can have at least one of the following characteristics or functions. Exposes REST based API for consumption by UI layer. Audits logs for middleware objects. Job object and its status details are mentioned in domain package. Exception handling implementation for middleware. Responsible for placing any messages on queue. Resource allocation for processing of jobs belonging to a particular entity. Responsible for exposing methods for consumption by MDB and Callback Service (e.g. to update data library 122 or other databases). Implementing a task throttling system to hold tasks at the source to avoid a large number of tasks from entering the system at once, overwhelming certain components such as the queuing system. Feeding enough to the system to improve throughput while maintaining stability.")
when the trained response-generating model is used, re-training the trained response-generating model based upon the one or more simulated responses and the user feedback. (Barrett: Paragraph 276, "3. The Rules MDB consumes this Job object and fires the business rule as defined in the .drl files of each application. The Rules services assigns task to Job object, updates the Job object to database and puts the Job on Execution Queue for further processing. Rules service also updates the application with the Job status if Job has application callback service specified."; Paragraph 346, "Data broker 355 may also include a data service component that serves as a database-type-specific manager for management module 305 data. The data service component may service both database-independent and database-specific requests. Each data broker 355 may require a separate data service component for each type of database being serviced by the data broker 355. For example, if a data broker 355 is configured to service both relational databases and XML repositories, the data broker may require at least two separate data service component instances. The data service component may receive requests for data, metadata, data updates, etc. and provide response submissions, requested data, metadata, data modifications, etc. Output data may be placed in a database table, placed in a URL, provided directly to a user's web browser, or stored and/or communicated in another way."; Paragraph 345, "Data set construction broker 360 may include a request component through which a user may interact with and/or manipulate management module 305 input data sets. The request component of data set construction broker 360 may share properties similar to that of data broker 355 (e.g., web browser interface). The request component may also include subcomponents such as a database request subcomponent, a broker-specific request subcomponent, a script request subcomponent, and a data extraction request subcomponent. The database request subcomponent is configured to provide an interface to guide a user through building database-independent requests for data and/or data updates. In some embodiments, the database request subcomponent may utilize database metadata provided through a web browser interface to build the requests. The brokerspecific subcomponent is configured to provide data set-specific user interfaces for data set construction (e.g., customized based on the input data, such as transportation-related data, epidemic-related data, etc.). The script request subcomponent is configured to provide control of generation and parameterization of data set construction scripts. The data extraction request subcomponent is configured to work with other subcomponents to facilitate generation of chained sequences of database operations to construct a management module 305 input data set. Data set construction broker 360 may also include a core service component, including subcomponents (e.g., database service, broker-specific service, script service, or data extraction service) directed to processing requests received from the subcomponents of the request component of data set construction broker 360.")
Claim(s) 10 –
Barrett in view of Cooke and Rajagopal disclose the limitations of claim 1
Barrett further discloses the following:
wherein the real-life population comprises one or more of customers of a retailer or members of a target market. (Barrett: Paragraph 310, "In some embodiments, various subsystems of system 102 may utilize one or more case-specific models provided by case modeling subsystem 110. Case modeling subsystem 110 is configured to provide models and/or algorithms based upon the scenario at issue as defined by decision analysis subsystem 108. According to various embodiments, example case models may be related to public health (e.g., epidemiology), economics (e.g., commodity markets), computing networks (e.g., packet switched telecommunication networks), civil infrastructures (e.g., transportation), and other areas. In some embodiments, portions of multiple case models may be used in combination depending on the situation the user desires to represent."; Paragraph 317, "System 102 may also obtain or receive a set of activity or event templates including activity data for entities or groups of entities in the target population (step 226). For example, activity templates related to a human population may include activity data for households in the geographic area of interest. The activity templates may be based on information from one or more sources, such as travel surveys collected by the government, marketing surveys (e.g., proprietary surveys conducted by marketing agencies), digital device tracking data (e.g., cellular telephone or wireless communication device usage information), and/or other sources. The activity data may be collected and processed by surveillance subsystem 106 and used by synthetic data set subsystem 104 to construct or modify a social contact network based on the synthetic population. In some embodiments, data may be collected from multiple sources, which may or may not be configured to be compatible with one another, and surveillance subsystem 106 and/or synthetic data set subsystem 104 may be configured to combine and process the data in a way that may be used by synthetic data set subsystem 104 to create and/or modify the synthetic data set. The activity templates may describe daily activities of the inhabitants of the household and may be based on one or more information sources such as activity or time-use surveys. The activity templates may also include data regarding the times at which the various daily activities are performed, priority levels of the activities, preferences regarding how the entity travels to the activity location (e.g., vehicle preference), possible locations for the activity, etc. In some embodiments, an activity template may describe the activities of each full day (i.e., 24 hours) for each inhabitant of the associated household in minute-byminute or second-by-second detail."; Paragraph 349, "Population construction module 310 may include several component modules. Population generation module 320 is configured to generate the synthetic population for use in constructing the desired situation representation. Population generation module 320 may be configured to construct the synthetic population by performing steps shown in FIG. 39B (e.g., steps 222 through 232). External input data used to initially construct the synthetic population (e.g., define the synthetic entities that comprise the synthetic population) may be based upon the type of synthetic population being constructed. For example, synthetic population representing a population of humans may be derived from census data, survey data, etc. Attributes assigned to each synthetic entity may also be based upon the population type. A synthetic human population derived from census or marketing data may be assigned attributes such as age, income, vehicle ownership, gender, education level, etc. A synthetic insect population may be assigned attributes such as genus and genotype. Synthetic entities may be assigned to one or more groups, which may also be dependent upon the type of population. For example, synthetic entities in a synthetic human population may be grouped by household, occupation, communication device ownership, income level, etc. Synthetic entities in a synthetic plant population may be grouped by genetic modification or growth requirements. Synthetic entities in a synthetic insect population may be grouped by resistance to a particular insecticide or probability to transmit a disease.")
Claim(s) 13 and 19 –
Barrett in view of Cooke and Rajagopal disclose the limitations of claims 11 and 17
Barrett further discloses the following:
wherein determining the simulated characters comprises one or more of: (a) retrieving, from a member database, a model population for the real-life population; and determining the simulated characters further based upon the model population; or (b) generating the simulated characters by a trained character-simulating model based upon the member characteristics for the population groups. (Barrett: Paragraph 58, "The systems and methods of the present disclosure may conduct analyses through interaction with various information resources. For example, information about population characteristics, disease characteristics, intervention options, and/or various other types of information may be retrieved from one or more of a variety of information sources. In some implementations of the present disclosure, the analysis system may incorporate and/or work in coordination with a system that incorporates components designed to transmit requests for information to different information sources and retrieve the information from those sources to perform various tasks."; Paragraph 65, "In some examples herein, tool 128 is a tool for forecasting the progress of an event, e.g., an extended event that goes on over a period of time, or a point-in-time event with extended consequences. An example of such an event is an epidemic among human, animal, or plant populations. As discussed in more detail below, the front end 114 can receive attributes 136 of a synthetic population, e.g., a subset of the data library 122. The tool 128 can select a synthetic-population (SP) graph from the data library 122, e.g., using services provided by the job manager 118. The front end 114 can receive data of an intervention 138 designed to affect a course of the event, e.g., to counteract or mitigate the event. The tool 128 can then simulate the course of the event in the SP graph to produce an estimate 140 of the event, based at least in part on the intervention 138. The front end 114 can present the estimate 140, e.g., via a user interface such as a Web page."; Paragraph 81, "At block 304, server 126 can receive attributes 136 of (e.g., designating or defining) a synthetic population
(referred to as "synth. pop.," "s. p.," or "SP" throughout this description and figures). This can be performed, e.g., by the user interface or the experiment component shown in FIG. 35. The attributes can specify, e.g., a geographic area in which the epidemic is taking place, or which people are in vulnerable populations. The attributes 136 can be part of a set of initial conditions."; Paragraph 302, "Accordingly, various examples include a complex situation analysis system that generates a social contact network, uses edge brokers and service brokers, and dynamically adds brokers. An example system for generating a representation of a situation is disclosed. The example system comprises one or more computer-readable media including computer-executable instructions that are executable by one or more processors to implement an example method of generating a representation of a situation. The example method comprises receiving input data regarding a target population. The example method further comprises constructing a synthetic data set including a synthetic population based on the input data. The synthetic population includes a plurality of synthetic entities. In some examples, each synthetic entity has a one-to-one correspondence with an entity in the target population, although this is not required. In some examples, each synthetic entity is assigned one or more attributes based on information included in the input data. The example method further comprises receiving activity data for a plurality of entities in the target population."; Paragraph 303, "In some examples, the example method further comprises generating activity schedules for each synthetic entity in the synthetic population. Each synthetic entity is assigned at least one activity schedule based on the attributes assigned to the synthetic entity and information included in the activity data. An activity schedule describes the activities of the synthetic entity and includes a location associated with each activity. The example method can further comprise receiving additional data relevant to the situation being represented. The additional data is received from at least two distinct information sources. The example method can further comprise modifying the synthetic data set based on the additional data. Modifying the synthetic data set includes integrating at least a portion of the additional data received from each of the at least two distinct information sources into the synthetic data set based on one or more behavioral theories related to the synthetic population. The example method can further comprise generating a social contact network, e.g., social-interaction graph, based on the synthetic data set. The social contact network can be used to generate the representation of the situation."; Paragraph 315, "Synthetic data set subsystem 104 uses the input data to construct a synthetic population based on the received input data (step 224). The synthetic population includes a plurality of interacting synthetic entities, which may be living organisms (e.g., humans, animals, insects, plants, etc.) and/or inanimate objects (e.g., vehicles, wireless communication devices, infrastructure elements, etc.). In some embodiments, the synthetic population may model all entities within an area (e.g., geographic area) of interest, such that each synthetic entity in the synthetic population represents an actual entity in the location (e.g., geographic location) of interest. The synthetic entities may be assigned characteristics based on information reflected in the input data. In the example noted above, wherein the synthetic entities represent human beings and the input data is data from the U.S. Census, the demographic data reflected in the U.S. Census may be used to generate the synthetic population (e.g., age, income level, etc.).")
Claim(s) 14 and 20 –
Barrett in view of Cooke and Rajagopal disclose the limitations of claims 11, 13, 17, and 19
Barrett further discloses the following:
when the model population is to be retrieved, retrieving the model population comprises retrieving the model population based upon the member characteristics; (Barrett: Paragraph 58, "The systems and methods of the present disclosure may conduct analyses through interaction with various information resources. For example, information about population characteristics, disease characteristics, intervention options, and/or various other types of information may be retrieved from one or more of a variety of information sources. In some implementations of the present disclosure, the analysis system may incorporate and/or work in coordination with a system that incorporates components designed to transmit requests for information to different information sources and retrieve the information from those sources to perform various tasks."; Paragraph 65, "In some examples herein, tool 128 is a tool for forecasting the progress of an event, e.g., an extended event that goes on over a period of time, or a point-in-time event with extended consequences. An example of such an event is an epidemic among human, animal, or plant populations. As discussed in more detail below, the front end 114 can receive attributes 136 of a synthetic population, e.g., a subset of the data library 122. The tool 128 can select a synthetic-population (SP) graph from the data library 122, e.g., using services provided by the job manager 118. The front end 114 can receive data of an intervention 138 designed to affect a course of the event, e.g., to counteract or mitigate the event. The tool 128 can then simulate the course of the event in the SP graph to produce an estimate 140 of the event, based at least in part on the intervention 138. The front end 114 can present the estimate 140, e.g., via a user interface such as a Web page."; Paragraph 81, "At block 304, server 126 can receive attributes 136 of ( e.g., designating or defining) a synthetic population (referred to as "synth. pop.," "s. p.," or "SP" throughout this description and figures). This can be performed, e.g., by the user interface or the experiment component shown in FIG. 35. The attributes can specify, e.g., a geographic area in which the epidemic is taking place, or which people are in vulnerable populations. The attributes 136 can be part of a set of initial conditions."; Paragraph 302, "Accordingly, various examples include a complex situation analysis system that generates a social contact network, uses edge brokers and service brokers, and dynamically adds brokers. An example system for generating a representation of a situation is disclosed. The example system comprises one or more computer-readable media including computerexecutable instructions that are executable by one or more processors to implement an example method of generating a representation of a situation. The example method comprises receiving input data regarding a target population. The example method further comprises constructing a synthetic data set including a synthetic population based on the input data. The synthetic population includes a plurality of synthetic entities. In some examples, each synthetic entity has a oneto-one correspondence with an entity in the target population, although this is not required. In some examples, each synthetic entity is assigned one or more attributes based on information included in the input data. The example method further comprises receiving activity data for a plurality of entities in the target population."; Paragraph 303, "In some examples, the example method further comprises generating activity schedules for each synthetic entity in the synthetic population. Each synthetic entity is assigned at least one activity schedule based on the attributes assigned to the synthetic entity and information included in the activity data. An activity schedule describes the activities of the synthetic entity and includes a location associated with each activity. The example method can further comprise receiving additional data relevant to the situation being represented. The additional data is received from at least two distinct information sources. The example method can further comprise modifying the synthetic data set based on the additional data. Modifying the synthetic data set includes integrating at least a portion of the additional data received from each of the at least two distinct information sources into the synthetic data set based on one or more behavioral theories related to the synthetic population. The example method can further comprise generating a social contact network, e.g., social-interaction graph, based on the synthetic data set. The social contact network can be used to generate the representation of the situation."; Paragraph 315, "Synthetic data set subsystem 104 uses the input data to construct a synthetic population based on the received input data (step 224). The synthetic population includes a plurality of interacting synthetic entities, which may be living organisms (e.g., humans, animals, insects, plants, etc.) and/or inanimate objects (e.g., vehicles, wireless communication devices, infrastructure elements, etc.). In some embodiments, the synthetic population may model all entities within an area (e.g., geographic area) of interest, such that each synthetic entity in the synthetic population represents an actual entity in the location (e.g., geographic location) of interest. The synthetic entities may be assigned characteristics based on information reflected in the input data. In the example noted above, wherein the synthetic entities represent human beings and the input data is data from the U.S. Census, the demographic data reflected in the U.S. Census may be used to generate the synthetic population (e.g., age, income level, etc.).")
and when the trained character-simulating model is used, the computing instructions, when run on the one or more processors, further cause the one or more processors to perform: receiving, from the user device, user feedback for the one or more simulated responses; and (Barrett: Paragraph 281, "FIG. 35 shows an architectural diagram of an illustrative system. The illustrated user interface component provides interface elements for performing various tasks of the system, such as managing experiments, cells, analysis parameters, and/or other functional aspects of the system. In some implementations, the user interface component may provide a network-based (e.g., web-based) interface for end users of the application. For example, the user interface component may execute on front end 114 or other components of client 124. The user interface layer may interface with Representational State Transfer (REST) APis, which in turn may interface with REST APis exposed by the middleware, in some embodiments. In various implementations, the user interface component, which can be implemented by or within interaction module 246, provides interfaces for one or more of the following: creating, saving, and running experiments (e.g., receiving parameters as discussed herein with reference to blocks 304, 312, 436, 512, 524, 636, 642, 802, 904, 1002, 1014, 1022, or 1030); creating and viewing analysis outcomes of experiments (e.g., as discussed herein with reference to blocks 434, 902, 912, or 1108); creating and saving disease models, initial conditions associated with the experiment, triggers (e.g., a set of one or more conditions initiating onset of an intervention), regimens (e.g., interventions involving multiple/repeated steps, such as pharmaceutical treatments), and/or interventions; archiving old experiments, analysis, disease models, initial conditions, triggers, and/or regimens; and/or receiving feedback from the end user regarding the application and/or providing administrative functions, such as activating/deactivating users or changing user authorizations."; Paragraph 342, "Data broker 355 may also include a data service component that serves as a database-type-specific manager for management module 305 data. The data service component may service both database-independent and database-specific requests. Each data broker 355 may require a separate data service component for each type of database being serviced by the data broker 355. For example, if a data broker 355 is configured to service both relational databases and XML repositories, the data broker may require at least two separate data service component instances. The data service component may receive requests for data, metadata, data updates, etc. and provide response submissions, requested data, metadata, data modifications, etc. Output data may be placed in a database table, placed in a URL, provided directly to a user's web browser, or stored and/or communicated in another way.")
re-training the trained character-simulating model based upon the simulated characters and the user feedback. (Barrett: Paragraph 281, "FIG. 35 shows an architectural diagram of an illustrative system. The illustrated user interface component provides interface elements for performing various tasks of the system, such as managing experiments, cells, analysis parameters, and/or other functional aspects of the system. In some implementations, the user interface component may provide a network-based (e.g., web-based) interface for end users of the application. For example, the user interface component may execute on front end 114 or other components of client 124. The user interface layer may interface with Representational State Transfer (REST) APis, which in tum may interface with REST APis exposed by the middleware, in some embodiments. In various implementations, the user interface component, which can be implemented by or within interaction module 246, provides interfaces for one or more of the following: creating, saving, and running experiments (e.g., receiving parameters as discussed herein with reference to blocks 304, 312, 436, 512, 524, 636, 642, 802, 904, 1002, 1014, 1022, or 1030); creating and viewing analysis outcomes of experiments (e.g., as discussed herein with reference to blocks 434, 902, 912, or 1108); creating and saving disease models, initial conditions associated with the experiment, triggers (e.g., a set of one or more conditions initiating onset of an intervention), regimens (e.g., interventions involving multiple/repeated steps, such as pharmaceutical treatments), and/or interventions; archiving old experiments, analysis, disease models, initial conditions, triggers, and/or regimens; and/or receiving feedback from the end user regarding the application and/or providing administrative functions, such as activating/deactivating users or changing user authorizations."; Paragraph 342, "Data broker 355 may also include a data service component that serves as a database-type-specific manager for management module 305 data. The data service component may service both database-independent and database-specific requests. Each data broker 355 may require a separate data service component for each type of database being serviced by the data broker 355. For example, if a data broker 355 is configured to service both relational databases and XML repositories, the data broker may require at least two separate data service component instances. The data service component may receive requests for data, metadata, data updates, etc. and provide response submissions, requested data, metadata, data modifications, etc. Output data may be placed in a database table, placed in a URL, provided directly to a user's web browser, or stored and/or communicated in another way.")
Claim(s) 16 –
Barrett in view of Cooke and Rajagopal disclose the limitations of claims 11 and 13
Barrett further discloses the following:
receiving, from the user device, user feedback for the one or more simulated responses; (Barrett: Paragraph 281, "FIG. 35 shows an architectural diagram of an illustrative system. The illustrated user interface component provides interface elements for performing various tasks of the system, such as managing experiments, cells, analysis parameters, and/or other functional aspects of the system. In some implementations, the user interface component may provide a network-based (e.g., web-based) interface for end users of the application. For example, the user interface component may execute on front end 114 or other components of client 124. The user interface layer may interface with Representational State Transfer (REST) APis, which in turn may interface with REST APis exposed by the middleware, in some embodiments. In various implementations, the user interface component, which can be implemented by or within interaction module 246, provides interfaces for one or more of the following: creating, saving, and running experiments (e.g., receiving parameters as discussed herein with reference to blocks 304, 312, 436, 512, 524, 636, 642, 802, 904, 1002, 1014, 1022, or 1030); creating and viewing analysis outcomes of experiments (e.g., as discussed herein with reference to blocks 434, 902, 912, or 1108); creating and saving disease models, initial conditions associated with the experiment, triggers (e.g., a set of one or more conditions initiating onset of an intervention), regimens (e.g., interventions involving multiple/repeated steps, such as pharmaceutical treatments), and/or interventions; archiving old experiments, analysis, disease models, initial conditions, triggers, and/or regimens; and/or receiving feedback from the end user regarding the application and/or providing administrative functions, such as activating/deactivating users or changing user authorizations.")
when the trained population-generating model is used, re-training the trained population-generating model based upon the simulated population and the user feedback; and (Barrett: Paragraph 117, "At block 708, server 126 can selectively modify at least some of the parameters of at least some of the nodes based at least in part on the data 706 of the consequences of the event. For example, server 126 can update the parameters of the nodes to reflect the results of the simulation, as in the left-to-right progress in FIG. 35."; Paragraph 118, "At block 710, server 126 can change edge labels or node parameters in response to triggers, e.g., as discussed herein with reference to FIG. 18, 19, or 24. Triggers can be indicated by data 712. For example, a node can have a trigger indicating that the represented synthetic entity will be seek prophylactic medication when a certain percentage of the population has been infected by an epidemic, but not before. If the simulation results indicate that the certain percentage has been reached, server 126 can update parameters of that node to indicate that the node is now eligible for such medication. A corresponding intervention indicated by data 644 can then be applied to that node."; Paragraph 246, "In some examples, a job-manager component can have at least one of the following characteristics or functions. Exposes REST based API for consumption by UI layer. Audits logs for middleware objects. Job object and its status details are mentioned in domain package. Exception handling implementation for middleware. Responsible for placing any messages on queue. Resource allocation for processing of jobs belonging to a particular entity. Responsible for exposing methods for consumption by MDB and Callback Service (e.g. to update data library 122 or other databases). Implementing a task throttling system to hold tasks at the source to avoid a large number of tasks from entering the system at once, overwhelming certain components such as the queuing system. Feeding enough to the system to improve throughput while maintaining stability.")
when the trained response-generating model is used, re-training the trained response-generating model based upon the one or more simulated responses and the user feedback. (Barrett: Paragraph 276, "3. The Rules MDB consumes this Job object and fires the business rule as defined in the .drl files of each application. The Rules services assigns task to Job object, updates the Job object to database and puts the Job on Execution Queue for further processing. Rules service also updates the application with the Job status if Job has application callback service specified."; Paragraph 346, "Data broker 355 may also include a data service component that serves as a database-type-specific manager for management module 305 data. The data service component may service both database-independent and database-specific requests. Each data broker 355 may require a separate data service component for each type of database being serviced by the data broker 355. For example, if a data broker 355 is configured to service both relational databases and XML repositories, the data broker may require at least two separate data service component instances. The data service component may receive requests for data, metadata, data updates, etc. and provide response submissions, requested data, metadata, data modifications, etc. Output data may be placed in a database table, placed in a URL, provided directly to a user's web browser, or stored and/or communicated in another way."; Paragraph 345, "Data set construction broker 360 may include a request component through which a user may interact with and/or manipulate management module 305 input data sets. The request component of data set construction broker 360 may share properties similar to that of data broker 355 (e.g., web browser interface). The request component may also include subcomponents such as a database request subcomponent, a broker-specific request subcomponent, a script request subcomponent, and a data extraction request subcomponent. The database request subcomponent is configured to provide an interface to guide a user through building database-independent requests for data and/or data updates. In some embodiments, the database request subcomponent may utilize database metadata provided through a web browser interface to build the requests. The brokerspecific subcomponent is configured to provide data set-specific user interfaces for data set construction (e.g., customized based on the input data, such as transportation-related data, epidemic-related data, etc.). The script request subcomponent is configured to provide control of generation and parameterization of data set construction scripts. The data extraction request subcomponent is configured to work with other subcomponents to facilitate generation of chained sequences of database operations to construct a management module 305 input data set. Data set construction broker 360 may also include a core service component, including subcomponents (e.g., database service, broker-specific service, script service, or data extraction service) directed to processing requests received from the subcomponents of the request component of data set construction broker 360.")
Claim(s) 23 –
Barrett discloses the following:
one or more processors; (Barrett: Paragraph 68, "Tool 210 can be or include a wireless phone, a wired phone, a tablet computer, a laptop computer, a wristwatch, or other type of computing device as noted above. Tool 210 can include at least one processor 216, e.g., one or more processor devices such as microprocessors, microcontrollers, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), programmable logic devices (PLDs), programmable logic arrays (PLAs), programmable array logic devices (PALs), or digital signal processors (DSPs). Tool 210 can further include one or more computer readable media 218, such as memory (e.g., random access memory, RAM, solid state drives, SSDs, or the like), disk drives (e.g., platter- based hard drives), another type of computer-readable media, or any combination thereof.")
and one or more non-transitory computer-readable media storing computing instructions that, when run on the one or more processors, direct the one or more processors to: (Barrett: Paragraph 74, "The computer readable media 218 can be or include computer storage media. Computer storage media can include, but are not limited to, random-access memory (RAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), phase change memory (PRAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, compact disc read-only memory (CD-ROM), digital versatile disks (DVDs), optical cards or other optical storage media, magnetic cassettes, magnetic tape, magnetic disk storage, magnetic cards or other magnetic storage devices or media, solid-state memory devices, storage arrays, network attached storage, storage area networks, hosted computer storage or memories, storage, devices, or any other tangible, non-transitory medium which can be used to store the desired information and which can be accessed by the processor 216. Tangible computer-readable media can include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. In contrast to computer storage media, computer communication media can embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism. As defined herein, computer storage media does not include computer communication media.")
determining simulated characters for market segments or other groups for a reallife population based upon member characteristics for the market segments or other groups, respectively, wherein each of the simulated characters is associated with: (a) one of the market segments or other groups, and (b) respective characteristic values corresponding to the member characteristics for the market segments or other groups (Barrett: Paragraph 58, "The systems and methods of the present disclosure may conduct analyses through interaction with various information resources. For example, information about population characteristics, disease characteristics, intervention options, and/or various other types of information may be retrieved from one or more of a variety of information sources. In some implementations of the present disclosure, the analysis system may incorporate and/or work in coordination with a system that incorporates components designed to transmit requests for information to different information sources and retrieve the information from those sources to perform various tasks."; Paragraph 65, "In some examples herein, tool 128 is a tool for forecasting the progress of an event, e.g., an extended event that goes on over a period of time, or a point-in-time event with extended consequences. An example of such an event is an epidemic among human, animal, or plant populations. As discussed in more detail below, the front end 114 can receive attributes 136 of a synthetic population, e.g., a subset of the data library 122. The tool 128 can select a synthetic-population (SP) graph from the data library 122, e.g., using services provided by the job manager 118. The front end 114 can receive data of an intervention 138 designed to affect a course of the event, e.g., to counteract or mitigate the event. The tool 128 can then simulate the course of the event in the SP graph to produce an estimate 140 of the event, based at least in part on the intervention 138. The front end 114 can present the estimate 140, e.g., via a user interface such as a Web page."; Paragraph 81, "At block 304, server 126 can receive attributes 136 of (e.g., designating or defining) a synthetic population (referred to as "synth. pop.," "s. p.," or "SP" throughout this description and figures). This can be performed, e.g., by the user interface or the experiment component shown in FIG. 35. The attributes can specify, e.g., a geographic area in which the epidemic is taking place, or which people are in vulnerable populations. The attributes 136 can be part of a set of initial conditions."; Paragraph 302, "Accordingly, various examples include a complex situation analysis system that generates a social contact network, uses edge brokers and service brokers, and dynamically adds brokers. An example system for generating a representation of a situation is disclosed. The example system comprises one or more computer-readable media including computer-executable instructions that are executable by one or more processors to implement an example method of generating a representation of a situation. The example method comprises receiving input data regarding a target population. The example method further comprises constructing a synthetic data set including a synthetic population based on the input data. The synthetic population includes a plurality of synthetic entities. In some examples, each synthetic entity has a oneto-one correspondence with an entity in the target population, although this is not required. In some examples, each synthetic entity is assigned one or more attributes based on information included in the input data. The example method further comprises receiving activity data for a plurality of entities in the target population."; Paragraph 303, "In some examples, the example method further comprises generating activity schedules for each synthetic entity in the synthetic population. Each synthetic entity is assigned at least one activity schedule based on the attributes assigned to the synthetic entity and information included in the activity data. An activity schedule describes the activities of the synthetic entity and includes a location associated with each activity. The example method can further comprise receiving additional data relevant to the situation being represented. The additional data is received from at least two distinct information sources. The example method can further comprise modifying the synthetic data set based on the additional data. Modifying the synthetic data set includes integrating at least a portion of the additional data received from each of the at least two distinct information sources into the synthetic data set based on one or more behavioral theories related to the synthetic population. The example method can further comprise generating a social contact network, e.g., social-interaction graph, based on the synthetic data set. The social contact network can be used to generate the representation of the situation."; Paragraph 315, "Synthetic data set subsystem 104 uses the input data to construct a synthetic population based on the received input data (step 224). The synthetic population includes a plurality of interacting synthetic entities, which may be living organisms (e.g., humans, animals, insects, plants, etc.) and/or inanimate objects (e.g., vehicles, wireless communication devices, infrastructure elements, etc.). In some embodiments, the synthetic population may model all entities within an area (e.g., geographic area) of interest, such that each synthetic entity in the synthetic population represents an actual entity in the location (e.g., geographic location) of interest. The synthetic entities may be assigned characteristics based on information reflected in the input data. In the example noted above, wherein the synthetic entities represent human beings and the input data is data from the U.S. Census, the demographic data reflected in the U.S. Census may be used to generate the synthetic population (e.g., age, income level, etc.).")
determine one or more matched simulated characters of the simulated characters for one or more known members of the real-life population based upon one or more known-member characteristic values associated with the one or more known members; (Barrett: Paragraph 316, "The synthetic entities may also be placed in one or more blocks or groups with other synthetic entities. For example, synthetic entities representing human beings may be placed in households with other synthetic entities based on the census data. The households may be placed geographically in such a way that the synthetic population reflects the same statistical properties as the underlying census data (i.e., the synthetic population is statistically indistinguishable from the census data). Because the synthetic population is composed of synthetic entities created using census demographic data and not actual entities or individuals, the privacy and security of the actual entities within the population of interest can be protected. In other embodiments, the synthetic entities may be grouped into other types of synthetic blocks or groups based on characteristics other than household membership (e.g., genus, species, device type, infrastructure type, etc.). In some embodiments, a synthetic data set may not previously exist and synthetic data set subsystem 104 may create a new synthetic data set including the constructed synthetic population. In other embodiments, a previously existing synthetic data set may be modified to include part or all of the created synthetic population."; Paragraph 318, "Once the activity templates are received, synthetic data set subsystem 104 matches each synthetic group (e.g., household) with one of the survey groups (e.g., survey households) associated with the activity templates (step 228). The synthetic groups may be matched with survey groups (e.g., using a decision tree) based on information (e.g., demographic information) contained in the input data (e.g., census data) and information from the activity surveys (e.g., number of workers in the household, number of children in the household, ages of inhabitants, etc.). Synthetic data set subsystem 104 then assigns each synthetic group the activity template of its matching survey group."; Paragraph 356, "Referring again to FIG. 40, network construction module 315 is configured to generate a social contact network based on the interactions between synthetic entities in the synthetic population and to measure and analyze the generated network. Network construction module 315 may include a network generation module 335 and a network analysis module 340. Network generation module 335 is configured to generate a social contact network (e.g., represented as a graph such as a hypergraph) based on the interactions between synthetic entities from the synthetic population. The graphs generated by network generation module 335 may be time-dependent or static projections of time-dependent graphs. Each vertex of the graphs represents an entity related to the interactions between entities of the synthetic population and can be linked to attributes, group assignments, actions sequences, and/or other characteristics associated with the entity. Each edge of the graphs represents an interaction between synthetic entities and can be linked to an action from which it is derived. Network generation module 335 may also be configured to translate the desired situation representation into a mathematical specification of the simulation associated with the situation and generate the graph based on the mathematic specification of the simulation. Network generation module 335 may utilize entity brokers and/or other brokers to obtain population information and publish information about the generated graphs.")
Barret does not explicitly disclose the response to an inquiry or the displaying of the inquiry response , however, in analogous art of population simulation Cooke discloses the following:
generate one or more simulated responses to an inquiry for the one or more known members based upon the simulated population; and (Cooke: Paragraph 190, "Based on the method 300 and the alignment of variables, the simulation tool and the graphical user interface is configured to answer three general types of inquiries. The first inquiry for a forecasting of a crowd behavior in a single set of conditions. The second inquiry is for a comparison of forecasts for crowd behavior in multiple condition options (first, subsequent, last). The third inquiry a request for recommended actions to maximize the probability of some desired outcome."; Paragraph 198, "The simulation module 405 selects the appropriate models and numerical values used to answer the user's inquiry as it will be explained in connection with step 510 of FIG. 9. The simulation module 405 then executes all the calculations that have been selected."; Paragraph 213, "The processes of the run simulation step 510 differ according to the type of inquiry submitted by the user (901 of FIG. 9). FIG. 9 is a flow chart of the run simulation step 510 of FIG. 8, for determining the appropriate process flowchart steps to follow (step 915, or step 920, or step 925). FIG. 10 further illustrates the steps of sub-process 915 of process 510 (FIG. 9) for the first kind of user inquiry, as described earlier in connection with the creation of a graphical user interface step 350 (FIG. 2B). FIG. 11 (FIGS. 1 lA, 1 lB, 1 lC) shows the process for the second kind of inquiry as described earlier in connection with the creation of a graphical user interface step 350 (FIG. 2B). FIG. 12 shows the process for the third kind of user inquiry, as described earlier in connection with the creation of a graphical user interface step 350 (FIG. 2B).")
transmit the one or more simulated responses to be displayed on a user interface on a user device. (Cooke: Paragraph 48, "FIG. 1 illustrates a high level architecture of the modeling and simulation system 100 according to a preferred embodiment of the present invention. The system 100 generally includes a preprocess module 105, a model input parsing module 110, a mathematical/statistical modeling module 115, a simulation module 120, a crowd metrics and model comparison module 125, a display module 130, and a computer processor module 150."; Paragraph 115, "Outputs from steps 330 and 331 of FIG. 2B are then sent to statistical processes that yield mathematical comparisons between the observed and predicted data (step 335) and a graphical display that allows for graphical comparisons between the observed and predicted data (step 340)."; Paragraph 204, "The display module 420 then displays the forecast according to the menu selections of the user. The display may be the textual, tabular, or graphical, similar to that described earlier in connection with the display step 340. The graphical display is similar to that of step 340 of FIG. 2B.")
Barret in view of Cooke does not explicitly disclose the scaling of a simulated population to a pre-determined size, however, in analogous art of population simulation Rajagopal discloses the following:
generating a simulated population of a pre-determined population size for the real-life population based upon the one or more matched simulated characters, comprising scaling the simulated population to the pre-determined population size, wherein one or more members of the simulated population generated from scaling the simulated population to the pre-determined population size are based at least on member characteristic values for at least one of (a) the one or more matched simulated characters, (b) a model population for the real-life population, or (c) one or more characteristic variations for the respective characteristic values for the one or more matched simulated characters; (Rajagopal: Paragraph 5, “The selection of pool sizes based on the limit of detection may comprise selecting a maximum pool size determined by the limit of detection and one or more pool sizes less than the maximum pool size. The chosen testing scheme may comprise a pooled sample testing scheme. The method may involve pooling samples obtained from the individuals according to the chosen testing scheme. The method may comprise testing one or more samples obtained from individuals within the population according to the chosen testing scheme.”; Paragraph 9, “Performing the simulation may further involve identifying and tallying false negatives based on the simulated infection levels within each simulated pool and a predetermined adjusted limit of detection for the pool size. Identifying false negatives may involve assigning a false negative status to the simulated individual and/or simulated pool if the simulated infection level for the individual and/or pool is below the assay's limit of detection and/or adjusted limit of detection, respectively. Identifying false negatives may involve independently assigning a false negative status to the simulated individual and/or simulated pool based on a probability associated with the limit of detection and/or adjusted limit of detection, respectively.”; Paragraph 14, “The method may involve preparing a pooled sample for one of the pools of the hierarchies from individual samples based on the assigned hierarchy positions of the individuals. The method may involve implementing the pooled sample testing scheme. The method may comprise testing one or more samples obtained from individuals within the population according to the pooled sample testing scheme. The pooled sample testing scheme may be performed only if the minimum number of tests or the expected average number of tests is less than or equal to the number of individuals within the population. Testing for the pooled sample testing scheme may be completed such that each individual is assigned a positive or negative infection status. The hierarchy size may be no greater than a maximum hierarchy size determined according to the limit of detection for an assay to be used in the pooled sample testing scheme.”; Paragraph 19, “According to another aspect of the disclosure, disclosed herein is another method for determining and optionally implementing a strategy for testing or screening individuals within a population for an infection. The method involves determining a maximum hierarchy size used in a pooled sample testing scheme that assigns each individual to one of one or more hierarchies of identical size and structure. Each hierarchy has one or more levels of pools of samples. The one or more levels have a base pool at a top level of the hierarchy and two or more mini-pools at each of any additional level below the top level such that each mini-pool is positioned downstream of a single pool at the next higher level. Each mini-pool comprises a subset of the individuals assigned to any upstream pool. Each hierarchy further has individual samples for each individual assigned to the hierarchy at a bottom of the hierarchy. Each individual is assigned to one pool at every level of the hierarchy to which the individual is assigned. The maximum hierarchy size is determined by comparing the amount of dilution for an individual sample needed to form a base pool of a predetermined size to the limit of detection for an assay that is to be used to test the base pool.”; Paragraph 64, “In some embodiments, a population to be tested is treated as a unit. For examples, samples for a particular population to be tested may be collected, shipped, sorted, processed, analyzed, and/or reported on, as described elsewhere herein, in a unitary or coordinated fashion. Each population to be tested (e.g., a population identifier and/or population characteristics, such as number of population members, identify of individual population members, estimated infection rate, etc.) may be stored on memory (e.g., in a database) of a system, as described elsewhere herein. Data for individual members of a population to be tested may be input to and/or transmitted from a central processor (e.g., a server) as a unit. In some embodiments, one or more administrators may be associated with a population to be tested. The one or more administrators may play roles in collecting samples, processing samples, shipping samples, collecting and/or providing information on individual population members, and/or receiving information (e.g., test results). For example, the one or more administrators may comprise a human resources representative of a place of employment, a school nurse, or other administrative official of an organization. The one or more administrators may or may not be included as members of the population to be tested. In various embodiments, the population to be tested may only be a portion of a system or group of people described herein. For instance, one or more members of an organization may elect not to participate in the testing or may not be available for a particular round of testing.”; Paragraph 80, “In some instances, the TRT may be less than the total number of individuals, N, such that the pooled sample testing scheme reduces the number of tests needed to identify each individual as positive or negative when compared to single sample testing at the outset (i.e., saves tests). In some instances, the TRT may be the same as the total number of individuals, N. In some instance, the TRT may be more than the total number of individuals, N, such that the pooled sample testing scheme is less efficient at identifying each individual as positive or negative when compared to single sample testing from the outset (i.e., wastes tests). According to certain embodiments, methods for testing individuals within a population of interest comprise determining the solution space for one or more hierarchy structures given one or more potential numbers of positive individuals. The one or more potential numbers of positive individuals within the population may be determined according to an estimated infection rate within the population, as described elsewhere herein. Given the calculated solution space, a probability of having a TRT less than N (i.e., reducing the number of tests needed by employing the pooled testing scheme) may be determined and/or a probability of having a TRT greater than N (i.e., increasing the number of tests needed by employing the pooled testing scheme) may be determined (e.g., given a random distribution of the positive individuals or some other distribution). In some embodiments, the probability of increasing or decreasing the number of tests needed by a certain integer (e.g., for each integer difference possible based on the solution space for the TRT) when compared to testing each individual separately are determined (i.e., the probability of saving or wasting a certain integer number of tests or at least a certain integer number of tests). In some embodiments, an average number of tests saved or wasted is determined based on the probability distribution over the solution space. The average may be weighted or not-weighted by the number of tests saved/wasted. In specific embodiments, an estimated TRT is determined from a simulation, such as one of the simulations described elsewhere herein. The use of a simulator may effectively account for the impact of differences in probability between different TRTs within the solution space over a large number of individuals (large number of pools) without having to mathematically characterize probabilities of TRTs within large solution spaces. In various embodiments, the specific testing scheme employed (e.g., the specific pooled sample testing scheme) may be determined based on a comparison of the simulated TRT (e.g., an average TRT from multiple runs of a simulation) for a plurality of testing schemes. The testing schemes may comprise single sample testing and/or multiple pooled sample testing schemes (e.g., different base pool sizes).”; Paragraph 111, “The selection of an efficient testing strategy, particularly an efficient pooled sample testing strategy, may be improved or optimized by the use of one or more computer-based simulations (i.e., a simulator). Simulations may replicate realistic results given unknown variables for specific populations to be tested (e.g., infection rates, infection level (e.g., viral density) distributions within infected individuals, distributions of positive individuals within pooled samples, etc.). Simulations can model complex population distributions and capture correlations between individual and/or population characteristics and infection probabilities (e.g., via machine learning methodologies) that cannot be mathematically derived. Simulations may better replicate the likelihood of actual test results at larger population sizes. For example, the simulated population may comprise at least 100, 500, 1,000, 5,000, or 10,000 members. Simulated distributions of infected individuals within a population of a given size (e.g., simulating individuals as positive/negative for an infection of interest and/or simulating individuals as having a certain amount or level of infection) may allow better predictions of testing outcomes, such as, but not limited to, TRT, false negatives, false positives, and/or cost savings. The predictions may comprise a most likely outcome and/or a probability or relative probability of one or more specific testing outcomes. The frequency distributions of infection levels may focus on stratifying a lower end of the infection spectrum. In some embodiments, the lower 5%, 10%, 15%, 20%, 25%, 30%, 35%, or 40% of a distribution of an infection level (e.g., viral load) may be stratified into 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, or more classes. The probability of each bin/class/stratification may be determined or estimated as described elsewhere herein, including the examples. For example, in some embodiments, a lower portion of a frequency distribution for an infection comprising between about 10% and 35% of the range of the distribution may comprise at least 1, 2, 3, 4, 5, 6, 7, 8, 9, or 10 classes.”; Paragraph 112, “In some embodiments, a simulated distribution of positive individuals (may be used to simulate the distribution (e.g., random distribution) of those individuals within a plurality of pools of one or more sizes. The number of infected individuals may be predetermined by an input infection rate or may be simulated based on an input infection rate (i.e., each simulated individual is independently determined whether to have the infection based on a probability). Where applicable, the level of infection in an infected individual may be predetermined by a probability (i.e., multiply the probability by the total population size) or may be simulated based on the input probability (i.e., the infection level of each simulated individual is independently determined). The simulated distribution within pools may be used to predict one or more testing outcomes. The number of pools tested in each simulation may be at least about 100, 200, 300, 400, 500, 600, 700, 800, 900, 1,000, 2,000, 3,000, 4,000, 5,000, or 10,000 pools. In some embodiments, the positive individuals may be assigned a particular level or category of infection (e.g., a binned range of infection values, such as copies/mL). The distribution of individuals within the pools may be used to determine different testing outcomes for different testing schemes where the assay's ability to identify the individual as positive or negative is dependent on the infection level (e.g., an assay's LOD is expected to only allow detection of individuals having an infection level above a certain threshold). In some embodiments, the infection rate may be an independent variable input into the simulation. In some embodiments, the infection rate (and number of infected individuals within the simulated population) may be determined by the simulator. The simulation may comprise one or more input variables, including but not limited to: infection rate, total population size, pool size, number of pools, LOD (for one or more pool sizes), capture rate or probability of false negatives, the probability of infection, the probability of a given level of infection, etc.”; Paragraph 116, “The simulations may be performed in a manner such as that described in detail in the examples herein or any other suitable manner. The simulations may simulate distributions within hierarchies comprising only a base pool and no mini-pools or may simulate one or more hierarchies having multiple levels of pools. The simulations may use a loop algorithm based on the simulation of a single pool hierarchy to simulate the testing of a multi-pool hierarchy. Methodologies for modifying the simulator described in the examples herein to replicate a multi-pool hierarchy structure are well known in the art.”; Paragraph 150, “A simulator was constructed to simulate the viral loads in a population of variable size according to the frequency distributions of Table 5. The simulator defined four multinomial classes of infection, referred to herein as Black, Brown, Blue, and Red. Class Black collapsed Frequency Classes 1-5 into a single class; Class Brown equated to Frequency Class 6, Class Blue equated to Frequency Class 7, and Class Red equated to Frequency Class 8. The simulator also defined a Class Green to capture uninfected individuals. The simulator accepted infection rate, total population size, pool size, and number of pools as independent variables. The particular infection class (Black, Brown, Blue, Red, Green) of each of the simulated individuals was independently assigned by the simulator via the infection rate and probabilities determined from Table 5. In other words, the simulator assigned each simulated individual to an infection class (Black, Brown, Blue, Red, Green) via a probabilistic determination (e.g., using a weighted random number generator, with user-provided weights). The simulator on average assigns an individual to Class Green (uninfected) a percentage of the time calculated from the infection rate (i.e., 1-IR). The simulator on average assigns an individual to one of Classes Black, Brown, Blue, or Red a percentage of the time calculated from a combination of the infection rate and the frequency distribution determined from Table 5 (Black—11.7%; Brown—5.6%; Blue—5.6%; and Red—77.1%). For example, on average the simulator assigns an individual to Class Red a percentage of the time corresponding to IR×0.771. Alternatively, the total number of infected and non-infected individuals could be strictly set by the infection rate and only the infected individuals (Classes Black, Brown, Blue, and Red) could be stochastically distributed amongst classes via an independent probabilistic determination based on the frequencies of Table 5. The simulator then randomly distributed the individuals into the number of pools of set pool size inputted into the simulator. For most simulations, the number of pools was set as the total population divided by the pool size and the total population size was selected to evenly distributed the simulated members of the population, each into one pool.”)
Barret discloses a method for simulating populations derived from real-life population information. Cooke discloses answering inquiries regarding responses of simulated populations. Rajagopal discloses a method for using simulations to determine behaviors of populations based on pre-determined size and factors for real-life decision making. At the time of Applicant's filed invention, one of ordinary skill in the art would have deemed it obvious to combine the methods of Barrett with the teachings of Cooke in order to improve the accuracy and efficiency of model analysis as disclosed by Cooke (Cooke: Paragraph 17, "The resulting forecasting tool is more accurate at forecasting crowd human behavior because its models are based on quantitative metrics of actual behavior."). It would have been further obvious to one of ordinary skill in the art to combine the methods of Barrett in view of Cooke with the teachings of Rajagopal in order to improve the predictions of testing outcomes and patterns as disclosed by Rajagopal (Rajagopal: Paragraph 111, “Simulated distributions of infected individuals within a population of a given size (e.g., simulating individuals as positive/negative for an infection of interest and/or simulating individuals as having a certain amount or level of infection) may allow better predictions of testing outcomes, such as, but not limited to, TRT, false negatives, false positives, and/or cost savings.”)
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Philip N Warner whose telephone number is (571)270-7407. The examiner can normally be reached Monday-Friday 7am-4:00pm.
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.
/Philip N Warner/Examiner, Art Unit 3624
/Jerry O'Connor/Supervisory Patent Examiner,Group Art Unit 3624