DETAILED ACTION
This action is in response to the submission filed on 11/3/2022. Claims 1-26 are presented for examination.
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 .
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1-26 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-22 of U.S. Patent No. US 11,520,957 B2. Although the claims at issue are not identical, they are not patentably distinct from each other.
Pending Application
US 11,520,957 B2
1. A method for calibrating simulation models to generate digital twins for physical entities, comprising:
receiving a plurality of datasets for a plurality of corresponding physical entities;
enqueueing a calibration request to a calibration requests queue for each received dataset, the calibration request comprising information indicating a dataset and a physical entity corresponding to the dataset;
deploying a plurality of calibration engines and a plurality of corresponding simulation clusters for generating a plurality of calibration results for a plurality of calibration requests dequeued from the calibration requests queue, wherein a calibration result corresponding to the calibration request comprises a set of values selected for parameters of a simulation model based on the dataset of the physical entity;
enqueuing each calibration result to a calibration results queue as the plurality of calibration engines generates the calibration result; and
storing a plurality of calibration results dequeued from the calibration results queue in association with the plurality of corresponding physical entities as information used to generate a plurality of corresponding digital twins.
1. A method for calibrating simulation models to generate digital twins for physical entities, comprising:
receiving a plurality of datasets for a plurality of corresponding physical entities;
enqueueing a calibration request to a calibration requests queue for each received dataset, the calibration request comprising information indicating a dataset and a physical entity corresponding to the dataset;
deploying a plurality of calibration engines and a plurality of corresponding simulation clusters for generating a plurality of calibration results for a plurality of calibration requests dequeued from the calibration requests queue, wherein a calibration result corresponding to the calibration request comprises a set of values selected for parameters of a simulation model based on the dataset of the physical entity,
wherein generating the calibration result for the calibration request dequeued from the calibration requests queue comprises: generating a plurality of simulation requests for the physical entity based on the dataset of the physical entity corresponding to the dequeued calibration request, wherein each simulation request comprises a set of values selected for the parameters of the simulation model; and
enqueuing each generated simulation request from the plurality of simulation requests onto a simulation requests queue; enqueuing each calibration result to a calibration results queue as the plurality of calibration engines generates the calibration result;
storing a plurality of calibration results dequeued from the calibration results
queue in association with the plurality of corresponding physical entities as information used to generate a plurality of corresponding digital twins;
dequeuing a simulation request from the simulation requests queue to an available model simulator in the simulation cluster to run the simulation model with the set of values included in the simulation request;
running the simulation model configured according to the set of values to generate simulation outputs; and
enqueueing a simulation result comprising the simulation outputs to a simulation results queue.
2. The method of claim 1, wherein receiving the plurality of datasets comprises:
receiving an input data file comprising the plurality of datasets; and
parsing the input data file to identify the plurality of physical entities and the plurality of corresponding datasets.
2. The method of claim 1, wherein receiving the plurality of datasets comprises:
receiving an input data file comprising the plurality of datasets; and
parsing the input data file to identify the plurality of physical entities and the plurality of corresponding datasets.
3. The method of claim 1, wherein the dataset for the physical entity comprises data derived from the physical entity.
3. The method of claim 1, wherein the dataset for the physical entity comprises data derived from the physical entity.
4. The method of claim 1, wherein the dataset for the physical entity for the physical entity comprises a calibration setting for a parameter to be calibrated for a simulation model of the physical entity, wherein the calibration setting comprises a specific range of values for the parameter.
4. The method of claim 1, wherein the dataset for the physical entity comprises a calibration setting for a parameter to be calibrated for a simulation model of the physical entity, wherein the calibration setting comprises a specific range of values for the parameter.
6.The method of claim 1, wherein deploying the plurality of calibration engines and the plurality of corresponding simulation clusters comprises deploying a calibration engine and a corresponding simulation cluster by:
allocating a plurality of computing resources on a cloud platform; and
spinning up one or more containers on each allocated computing resource to deploy one or more corresponding model simulators in the simulation cluster.
5. The method of claim 1, wherein deploying the plurality of calibration engines and the plurality of corresponding simulation clusters comprises deploying a calibration engine and a corresponding simulation cluster by:
allocating a plurality of computing resources on a cloud platform; and
spinning up one or more containers on each allocated computing resource to deploy one or more corresponding model simulators in the simulation cluster.
6. The method of claim 5, comprising: spinning up a plurality of containers based on a simulation application image to concurrently run a plurality of respective model simulations for the plurality of calibration requests.
6. The method of claim 5, comprising: spinning up a plurality of containers based on a simulation application image to concurrently run a plurality of respective model simulations for the plurality of calibration requests.
7.The method of claim 1, wherein generating the calibration result for the calibration request dequeued from the calibration requests queue comprises:
generating a plurality of simulation requests for the physical entity based on the dataset of the physical entity corresponding to the dequeued calibration request, wherein each simulation request comprises a set of values selected for the parameters of the simulation model; and
enqueuing each generated simulation request from the plurality of simulation requests onto a simulation requests queue.
1. A method for calibrating simulation models to generate digital twins for physical entities, comprising:
…
generating a plurality of simulation requests for the physical entity based on the dataset of the physical entity corresponding to the dequeued calibration request, wherein each simulation request comprises a set of values selected for the parameters of the simulation model; and
enqueuing each generated simulation request from the plurality of simulation requests onto a simulation requests queue;
…
8. The method of claim 7, comprising: dequeuing a simulation request from the simulation requests queue to an available model simulator in the simulation cluster to run the simulation model with the set of values included in the simulation request;
running the simulation model configured according to the set of values to generate simulation outputs; and
enqueueing a simulation result comprising the simulation outputs to a simulation results queue.
1. A method for calibrating simulation models to generate digital twins for physical entities, comprising:
…
running the simulation model configured according to the set of values to generate simulation outputs; and
enqueueing a simulation result comprising the simulation outputs to a simulation results queue.
9. The method of claim 7, comprising:
evaluating one or more simulation results dequeued from a simulation results queue to determine whether to iteratively generate and enqueue another simulation request to the simulation requests queue to be processed by the simulation cluster.
7. The method of claim 1, comprising:
evaluating one or more simulation results dequeued from a simulation results queue to determine whether to iteratively generate and enqueue another simulation request to the simulation requests queue to be processed by the simulation cluster.
10. The method of claim 9, wherein evaluating a first simulation request of the one or more simulation requests comprises:
comparing simulation outputs in the first simulation request with training data from the dataset corresponding to the physical entity to compute a fitness score representing how closely the output matches the training data.
8. The method of claim 7, wherein evaluating a first simulation request of the one or more simulation requests comprises:
comparing simulation outputs in the first simulation request with training data from the dataset corresponding to the physical entity to compute a fitness score representing how closely the output matches the training data.
11. The method of claim 1, wherein generating the calibration result for the calibration request dequeued from the calibration requests queue comprises:
monitoring available computing and memory resources on a cloud computing platform;
when the available computing and memory resources permit, dequeuing a next calibration request from the calibration requests queue to a calibration engine and a corresponding simulation cluster deployed to process the next calibration request.
9. The method of claim 1, wherein generating the calibration result for the calibration request dequeued from the calibration requests queue comprises:
monitoring available computing and memory resources on a cloud computing platform;
when the available computing and memory resources permit, dequeuing a next calibration request from the calibration
requests queue to a calibration engine and a corresponding simulation cluster deployed to process the next calibration request.
12. The method of claim 1, wherein enqueueing each calibration result to the calibration results queue comprises:
ramping down computing resources used to generate the enqueued calibration result.
10. The method of claim 1, wherein enqueueing each calibration result to the calibration results queue comprises:
ramping down computing resources used to generate the enqueued calibration result.
13. The method of claim 12, wherein ramping down the computing resources comprises:
terminating a plurality of containers spun up in the simulation cluster to generate the calibration result.
11. The method of claim 10, wherein ramping down the computing resources comprises:
terminating a plurality of containers spun up in the simulation cluster to generate the calibration result.
14. A system for calibrating simulation models to generate digital twins for physical entities, comprising:
a calibration orchestrator configured to:
receive a plurality of datasets for a plurality of corresponding physical entities, and enqueue a calibration request to a calibration requests queue for each received dataset, the calibration request comprising information indicating a dataset and a physical entity corresponding to the dataset; and
a calibration system configured to:
deploy a plurality of calibration engines and a plurality of corresponding simulation clusters for generating a plurality of calibration results for a plurality of calibration requests dequeued from the calibration requests queue, wherein a calibration result corresponding to the calibration request comprises a set of values selected for parameters of a simulation model based on the dataset of the physical entity, and enqueue each calibration result to a calibration results queue as the plurality of calibration engines generates the calibration result; and
wherein the calibration orchestrator is configured to store a plurality of calibration results dequeued from the calibration results queue in association with the plurality of corresponding physical entities as information used to generate a plurality of corresponding digital twins.
12. A system comprising a memory and hardware processor for calibrating simulation models to generate digital twins for physical entities, comprising:
a calibration orchestrator configured to:
receive a plurality of datasets for a plurality of corresponding physical entities, and enqueue a calibration request to a calibration requests queue for each received dataset, the calibration request comprising information indicating a dataset and a physical entity corresponding to the dataset; and
a calibration system configured to:
deploy a plurality of calibration engines and a plurality of corresponding simulation clusters for generating a plurality of calibration results for a plurality of calibration requests dequeued from the calibration requests queue, wherein a calibration result corresponding to the calibration request comprises a set of values selected for parameters of a simulation model based on the dataset of the physical entity, wherein generating the calibration result for the calibration request dequeued from the calibration requests queue comprises:
generating a plurality of simulation requests for the physical entity based on the dataset of the physical entity corresponding to the dequeued calibration request, wherein each simulation request comprises a set of values selected for the parameters of the simulation model; and
enqueuing each generated simulation request from the plurality of simulation requests onto a simulation requests queue;
and enqueue each calibration result to a calibration results queue as the plurality of calibration engines generates the calibration result;
wherein the calibration orchestrator is configured to: store a plurality of calibration results dequeued from the calibration results queue in association with the plurality of corresponding physical entities as information used to generate a plurality of corresponding digital twins;
dequeue a simulation request from the simulation requests queue to an available model simulator in the simulation cluster to run the simulation model with the set of values included in the simulation request; run the simulation model configured according to the set of values to generate simulation outputs; and
enqueue a simulation result comprising the simulation outputs to a simulation results queue.
15. The system of claim 14, wherein to receive the plurality of datasets, the calibration orchestrator is configured to:
receive an input data file comprising the plurality of datasets; and
parse the input data file to identify the plurality of physical entities and the plurality of corresponding datasets.
13. The system of claim 12, wherein to receive the plurality of datasets, the calibration orchestrator is configured to:
receive an input data file comprising the plurality of datasets; and
parse the input data file to identify the plurality of physical entities and the plurality of corresponding datasets.
16. The system of claim 14, wherein the dataset for the physical entity comprises data derived from the physical entity.
14. The system of claim 12, wherein the dataset for the physical entity comprises data derived from the physical entity.
17. The system of claim 14, wherein the dataset for the physical entity for the physical entity comprises a calibration setting for a parameter to be calibrated for a simulation model of the physical entity, wherein the calibration setting comprises a specific range of values for the parameter.
15. The system of claim 12, wherein the dataset for the physical entity comprises a calibration setting for a parameter to be calibrated for a simulation model of the physical entity, wherein the calibration setting comprises a specific range of values for the parameter.
18. The system of claim 14, wherein to deploy the plurality of calibration engines and the plurality of corresponding simulation clusters, the calibration orchestrator is configured to deploy a calibration engine and a corresponding simulation cluster by:
allocating a plurality of computing resources on a cloud platform; and
spinning up one or more containers on each allocated computing resource to deploy one or more corresponding model simulators in the simulation cluster.
16. The system of claim 12, wherein to deploy the plurality of calibration engines and the plurality of corresponding simulation clusters, the calibration orchestrator is configured to deploy a calibration engine and a corresponding simulation cluster by:
allocating a plurality of computing resources on a cloud platform; and
spinning up one or more containers on each allocated computing resource to deploy one or more corresponding model simulators in the simulation cluster.
19. The system of claim 18, wherein the calibration orchestrator is configured to:
spin up a plurality of containers based on a simulation application image to concurrently run a plurality of respective model simulations for the plurality of calibration requests.
17. The system of claim 16, wherein the calibration orchestrator is configured to:
spin up a plurality of containers based on a simulation application image to concurrently run a plurality of respective model simulations for the plurality of calibration requests.
20. The system of claim 14, wherein generating the calibration result for the calibration request dequeued from the calibration requests queue comprises:
generating a plurality of simulation requests for the physical entity based on the dataset of the physical entity corresponding to the dequeued calibration request, wherein each simulation request comprises a set of values selected for the parameters of the simulation model; and
enqueuing each generated simulation request from the plurality of simulation requests onto a simulation requests queue.
12. A system comprising a memory and hardware processor for calibrating simulation models to generate digital twins for physical entities, comprising:
…
generating a plurality of simulation requests for the physical entity based on the dataset of the physical entity corresponding to the dequeued calibration request, wherein each simulation request comprises a set of values selected for the parameters of the simulation model; and
enqueuing each generated simulation request from the plurality of simulation requests onto a simulation requests queue;
…
21. The system of claim 20, wherein the calibration orchestrator is configured to:
dequeue a simulation request from the simulation requests queue to an available model simulator in the simulation cluster to run the simulation model with the set of values included in the simulation request;
run the simulation model configured according to the set of values to generate simulation outputs; and enqueue a simulation result comprising the simulation outputs to a simulation results queue.
12. A system comprising a memory and hardware processor for calibrating simulation models to generate digital twins for physical entities, comprising:
…
dequeue a simulation request from the simulation requests queue to an available model simulator in the simulation cluster to run the simulation model with the set of values included in the simulation request;
run the simulation model configured according to the set of values to generate simulation outputs; and enqueue a simulation result comprising the simulation outputs to a simulation results queue.
22. The system of claim 20, wherein the calibration orchestrator is configured to:
evaluate one or more simulation results dequeued from a simulation results queue to determine whether to iteratively generate and enqueue another simulation request to the simulation requests queue to be processed by the simulation cluster.
18. The system of claim 12, wherein the calibration orchestrator is configured to:
evaluate one or more simulation results dequeued from a simulation results queue to determine whether to iteratively generate and enqueue another simulation request to the simulation requests queue to be processed by the simulation cluster.
23. The system of claim 22, wherein to evaluate a first simulation request of the one or more simulation requests, the calibration orchestrator is configured to:
compare simulation outputs in the first simulation request with training data from the dataset corresponding to the physical entity to compute a fitness score representing how closely the output matches the training data.
19. The system of claim 18, wherein to evaluate a first simulation request of the one or more simulation requests, the calibration orchestrator is configured to:
compare simulation outputs in the first simulation request with training data from the dataset corresponding to the physical entity to compute a fitness score representing how closely the output matches the training data.
24. The system of claim 14, wherein to generate the calibration result for the calibration request dequeued from the calibration requests queue, the calibration orchestrator is configured to:
monitor available computing and memory resources on a cloud computing platform;
when the available computing and memory resources permit, dequeue a next calibration request from the calibration requests queue to a calibration engine and a corresponding simulation cluster deployed to process the next calibration request.
20. The system of claim 12, wherein to generate the calibration result for the calibration request dequeued from the calibration requests queue, the calibration orchestrator is configured to:
monitor available computing and memory resources on a cloud computing platform;
when the available computing and memory resources permit, dequeue a next calibration request from the calibration requests queue to a calibration engine and a corresponding simulation cluster deployed to process the next calibration request.
25. The system of claim 14, wherein to enqueue each calibration result to the calibration results queue, the calibration orchestrator is configured to:
ramp down computing resources used to generate the enqueued calibration result.
21. The system of claim 12, wherein to enqueue each calibration result to the calibration results queue, the calibration orchestrator is configured to:
ramp down computing resources used to generate the enqueued calibration result.
26. The system of claim 25, wherein ramping down the computing resources comprises:
terminating a plurality of containers spun up in the simulation cluster to generate the calibration result.
22. The system of claim 21, wherein ramping down the computing resources comprises:
terminating a plurality of containers spun up in the simulation cluster to generate the calibration result.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 4 and 17 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claims 4 and 17 recite the phrase “for the physical entity for the physical entity”. Appropriate correction is required.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 14-26 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. The claims do not fall within at least one of the four categories of patent eligible subject matter.
Independent claim 14 and its dependent claims 15-26 are drawn to a system for calibrating simulation models, comprising an “orchestrator” and “calibration engines”. The system could be interpreted to comprise only software elements. According to the current guidance, a system that qualifies as a patent eligible system under 35 USC 101 cannot consist only of software per se. If the system consists only of software per se, the system is not a patent eligible under 35 USC 101. Because the instant claims could comprise software per se, the claims are being held as non-statutory under 35 USC 101.
Allowable Subject Matter
Claims 1-26 contain allowable subject matter.
The prior art of record Sareen (US Patent Application Publication No 2016/0247017 A1) teaches 3D virtual try on of apparel on an avatar. One or more virtual garments in graded sizes are created and stored in a database based on the received garment specifications and fabric constants. Moreover, one or more graded virtual fit models are created and stored in a database based on the received specifications.
The prior art of record Dolan (US Patent Application No 9,354,813 B1) teaches a method of modeling comprising determining, in accordance with one or more criteria, whether to use a dynamic model or a static model to model performance of one or more components of a data storage system; and modeling performance of the one or more components using the dynamic model if said determining indicates to use the dynamic model, and otherwise using the static model to model performance of the one or more components. The method also teaches determining whether a difference between the first quantity and the second quantity is less than a predetermined threshold. If the difference is less than the predetermined threshold, it may be determined that the first set of one or more storage devices does not share back-end resources of the second data storage system with the second set of one or more storage devices. If the difference is not less than the predetermined threshold, it may be determined that the first set of one or more storage devices does share back-end resources of the second data storage system with the second set of one or more storage devices.
The prior art of record Martin (US Patent Application Publication No 2019/0188058 A1) teaches: receiving a first plurality of performance goals for a plurality of storage pools , wherein each of the first plurality of performance goals specifies a performance goal for one of the plurality of storage pools ; receiving a second plurality of performance goals for a plurality of applications, wherein each of the second plurality of performance goals specifies a performance goal with respect to I/O operations directed to one or more logical devices used by one of the plurality of applications ; and determining a set of one or more proposed data movements between a first of the plurality of storage pools and a second of the plurality of storage pools.
However, these references and the remaining prior art of record, alone or in combination, fails to disclose or suggest
(claims 1, 14)
“deploying a plurality of calibration engines and a plurality of corresponding simulation clusters for generating a plurality of calibration results for a plurality of calibration requests dequeued from the calibration requests queue, wherein a calibration result corresponding to the calibration request comprises a set of values selected for parameters of a simulation model based on the dataset of the physical entity;
enqueuing each calibration result to a calibration results queue as the plurality of calibration engines generates the calibration result; and
storing a plurality of calibration results dequeued from the calibration results queue in association with the plurality of corresponding physical entities as information used to generate a plurality of corresponding digital twins”,
in combination with the remaining elements and features of the claimed invention. It is for these reasons that the applicant’s invention defines over the prior art of record.
Additional References Cited
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure and are cited in the attached PTOL-892.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to NITHYA J. MOLL whose telephone number is (571)270-1003. The examiner can normally be reached Monday-Friday 10am-6pm EST.
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, Rehana Perveen can be reached at 571-272-3676. 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.
/NITHYA J. MOLL/
Primary Examiner, Art Unit 2189