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 .
Status of Claims
Claims 1 and 8 are currently amended.
Claims 4 and 11 are canceled.
Claims 1, 5-8, and 12-14 are rejected.
Continued Examination Under 37 CFR 1.114
1. A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on July 7, 2026 has been entered.
Priority
2. Acknowledgment is made of applicant’s claim for foreign priority under 35 U.S.C. 119 (a)-(d). The certified copy has been filed in parent Application No. KR10-2022-0162995, filed on 11/29/2022.
Response to Arguments
3. Regarding Prior Art Rejections:
Applicant’s amendments and arguments to claims 1 and 8 have been considered and are not persuasive. The rejections under 35 U.S.C. 103 are maintained. Additionally, applicant’s arguments are rejected under a new ground of rejection necessitated by the amendment.
4. Applicant argues in remarks:
A main difference between the cited references and the present claims as amended lies in the structured deployment specification, which includes detailed specifications including global information, basic information, system information, and application information for defining execution and deployment of an Al application in an EdgeCPS environment.
The amendments to the independent claims are supported at least, for example, by par. [0013] of the present specification, reproduced below (emphasis added):
[0013] The deployment specification may include detailed specifications including global information, basic information, system information, and application information, and the global information includes information applied to remaining detailed specifications.
The cited references do not disclose or suggest such a configuration. In particular, the newly cited Gold does not disclose or suggest a deployment specification including detailed specifications of global information, basic information, system information, and application information, wherein the global information includes information applied to the remaining detailed specifications, as recited in the amended claims. Likewise, Nandakumar and Parees do not disclose or suggest such a configuration.
In view of the foregoing, the cited references fail to support the rejection of the independent claims as amended, and further fail to support the rejection of the dependent claims for at least the reasons discussed in connection with the independent claims. Withdrawal of the rejections is therefore appropriate.
5. Applicant argues that Nandakumar, Gold, and Parees do not teach of the deployment specification including detailed specifications of global information, basic information, system information, and application information, wherein the global information includes information applied to the remaining detailed specifications. Examiner, however, respectfully disagrees. Examiner asserts that Nandakumar does teach this. Specifically, Nandakumar teaches:
[0018] An object of the present disclosure is an executor engine for constructing and/orchestrating the execution of a pipeline. In accordance with certain aspects of the present disclosure, an executor engine may comprise a module for controlling block and pipeline tasks, functions, and processes. In accordance with certain exemplary embodiments, an execution engine may coordinate pipeline elements, processes, and functions by configuring specifications; allocating elastic provisioning-deprovisioning execution of resources and the control of task transports to local and external resources; enabling a block or pipeline script to be transported to and from computing resources; and accessing and retrieving resources via one or more API. In accordance with certain exemplary embodiments, task execution may be conducted on one or more target resources including, but not limited to, one or more cloud/remote server, multi-core workstations, distributed computing systems, supercomputers, or combinations thereof and the like. In accordance with certain exemplary embodiments, an executor engine may enable user-defined scaling or configuration for pipeline execution. A configuration may comprise the specifications of an external computing system, connection channel, communication protocol, technology binding, memory allocation, queues, computing duration, and data transport/management options. In accordance with certain exemplary embodiments, an executor engine may automatically configure and execute tasks based on derived heuristics, meta-heuristics and one or more historical test cases tuned to common execution patterns, to determine an optimal resource allocation strategy for a user-defined ML pipeline. In accordance with various embodiments, an execution engine may construct and orchestrate execution using a task or task dependency graph comprising all the states for a pipeline program mapped to available execution resources.
Here, Nandakumar teaches that the configuration, which is being viewed as the deployment specification, may comprised the specifications of an external computing system, connection channel, communication protocol, technology binding, memory allocation, queues, computing duration, and data transport/management options. These specifications are being viewed as detailed specifications of global information, basic information, system information, and application information. Additionally, based on the global information, there is information applied to the remaining detailed specifications as “an executor engine may enable user-defined scaling or configuration for pipeline execution.” The user-defined configuration would affect all remaining detailed specifications. Therefore, Nandakumar does teach these limitations. Please see the full rejection in the 35 U.S.C. 103 rejection below.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
6. Claims 1, 6-8, and 13-14 are rejected under 35 U.S.C. 103 as being unpatentable over
Nandakumar US 20220138004 A1 in view of Gold et al. US 20190121889 A1.
7. With regard to claim 1, Nandakumar teaches:
An artificial intelligence application provision method for supporting Edge computing for Cyber-Physical Systems (EdgeCPS), comprising:
receiving an artificial intelligence application and service specification ([0002] The present disclosure relates to the field of artificial intelligence type computers and digital data processing systems and corresponding data processing methods and products for emulation of intelligence, machine learning systems, and artificial neural networks; in particular, a data processing method and system for automated construction, resource provisioning, data processing, feature generation, architecture selection, pipeline configuration, hyperparameter optimization, evaluation, execution, production, and deployment of machine learning models in an artificial intelligence solution development lifecycle; [0018] An object of the present disclosure is an executor engine for constructing and/orchestrating the execution of a pipeline. In accordance with certain aspects of the present disclosure, an executor engine may comprise a module for controlling block and pipeline tasks, functions, and processes. In accordance with certain exemplary embodiments, an execution engine may coordinate pipeline elements, processes, and functions by configuring specifications; allocating elastic provisioning-deprovisioning execution of resources and the control of task transports to local and external resources; enabling a block or pipeline script to be transported to and from computing resources; and accessing and retrieving resources via one or more API. In accordance with certain exemplary embodiments, task execution may be conducted on one or more target resources including, but not limited to, one or more cloud/remote server, multi-core workstations, distributed computing systems, supercomputers, or combinations thereof and the like. In accordance with certain exemplary embodiments, an executor engine may enable user-defined scaling or configuration for pipeline execution. A configuration may comprise the specifications of an external computing system, connection channel, communication protocol, technology binding, memory allocation, queues, computing duration, and data transport/management options; Examiner’s Note: Examiner’s Note: Nandakumar teaches of a method for pipeline configuration and resource application for AI solutions. These AI solutions are analogous with the AI application, while the configuration information is analogous with service specification.);
obtaining artificial intelligence-related information allocated from an artificial intelligence information sharing database based on the artificial intelligence application and service specification (0002] The present disclosure relates to the field of artificial intelligence type computers and digital data processing systems and corresponding data processing methods and products for emulation of intelligence, machine learning systems, and artificial neural networks; in particular, a data processing method and system for automated construction, resource provisioning, data processing, feature generation, architecture selection, pipeline configuration, hyperparameter optimization, evaluation, execution, production, and deployment of machine learning models in an artificial intelligence solution development lifecycle; [0065] 1. Data Extraction. This is the first step in the process where the user extracts the data needed for building the AI solution. The data can be extracted from various external sources like structured databases, video feeds, image streams, and the like. Examples of typical data sources may include structured data stored in a SQL Store like Oracle database; data stored in a distributed data store like HDFS or S3; video and image streams; and text data from external sources like URLs and RSS feeds; Examiner’s Note: Nandakumar teaches of a method for pipeline configuration and resource application for AI solutions. These AI solutions are analogous with the AI application, while the configuration information is analogous with service specification. The first step in initializing the AI solution is to extract data needed for building the AI solution from a database.);
creating a pipeline specification corresponding to the artificial intelligence application and service specification ([0018] An object of the present disclosure is an executor engine for constructing and/orchestrating the execution of a pipeline. In accordance with certain aspects of the present disclosure, an executor engine may comprise a module for controlling block and pipeline tasks, functions, and processes. In accordance with certain exemplary embodiments, an execution engine may coordinate pipeline elements, processes, and functions by configuring specifications; allocating elastic provisioning-deprovisioning execution of resources and the control of task transports to local and external resources; enabling a block or pipeline script to be transported to and from computing resources; and accessing and retrieving resources via one or more API. In accordance with certain exemplary embodiments, task execution may be conducted on one or more target resources including, but not limited to, one or more cloud/remote server, multi-core workstations, distributed computing systems, supercomputers, or combinations thereof and the like. In accordance with certain exemplary embodiments, an executor engine may enable user-defined scaling or configuration for pipeline execution. A configuration may comprise the specifications of an external computing system, connection channel, communication protocol, technology binding, memory allocation, queues, computing duration, and data transport/management options; Examiner’s Note: The pipeline is constructed based on configuration information.); and
wherein the deployment specification includes detailed specifications including global information, basic information, system information, and application information, and the global information includes information applied to remaining detailed specifications ([0018] An object of the present disclosure is an executor engine for constructing and/orchestrating the execution of a pipeline. In accordance with certain aspects of the present disclosure, an executor engine may comprise a module for controlling block and pipeline tasks, functions, and processes. In accordance with certain exemplary embodiments, an execution engine may coordinate pipeline elements, processes, and functions by configuring specifications; allocating elastic provisioning-deprovisioning execution of resources and the control of task transports to local and external resources; enabling a block or pipeline script to be transported to and from computing resources; and accessing and retrieving resources via one or more API. In accordance with certain exemplary embodiments, task execution may be conducted on one or more target resources including, but not limited to, one or more cloud/remote server, multi-core workstations, distributed computing systems, supercomputers, or combinations thereof and the like. In accordance with certain exemplary embodiments, an executor engine may enable user-defined scaling or configuration for pipeline execution. A configuration may comprise the specifications of an external computing system, connection channel, communication protocol, technology binding, memory allocation, queues, computing duration, and data transport/management options. In accordance with certain exemplary embodiments, an executor engine may automatically configure and execute tasks based on derived heuristics, meta-heuristics and one or more historical test cases tuned to common execution patterns, to determine an optimal resource allocation strategy for a user-defined ML pipeline. In accordance with various embodiments, an execution engine may construct and orchestrate execution using a task or task dependency graph comprising all the states for a pipeline program mapped to available execution resources; Examiner’s Note: The configuration includes information regarding global information, basic information, system information, and application information. These are reflected in “A configuration may comprise the specifications of an external computing system, connection channel, communication protocol, technology binding, memory allocation, queues, computing duration, and data transport/management options.”).
Although Nandakumar teaches of creating pipeline specifications and allocating computing resources, Nandakumar fails to explicitly teach allocating resources corresponding to respective pipelines using the pipeline specification, wherein the obtaining of the artificial intelligence-related information comprises: generating, by a query converter, a query based on the artificial intelligence application and service specification; and inputting the generated query to the artificial intelligence information sharing database to obtain artificial intelligence-related information, and wherein the allocating of the resources comprises: allocating the resources using a deployment specification generated based on the obtained artificial intelligence-related information.
However, in analogous art, Gold teaches:
allocating resources corresponding to respective pipelines using the pipeline specification, wherein the obtaining of the artificial intelligence-related information comprises:
generating, by a query converter, a query based on the artificial intelligence application and service specification ([0287] The example method depicted in FIG. 13 also includes generating (1306), at the storage system(s) (1120), a dataset (1356) that includes one or more of the multiple data objects (1352a-1352n) such that each data object in the dataset (1356) shares the one or more attributes of data specified by the query (1354). Generating (1306), at the storage system(s) (1120), the dataset (1356) that includes the one or more of the multiple data objects (1352a-1352n) such that each data object in the dataset (1356) shares the one or more attributes of data specified by the query (1354) may be implemented by a query processing module or controller of the storage system(s) (1120) searching through an index of every stored data object, where the metadata for each given data object is accessed to determine whether the metadata describes attributes of the corresponding data for the given data object satisfy the query in accordance with the one or more attributes of data, where the one or more attributes of data may be parameters of the received (1304) message. In this way, for each data object that satisfies the query, the data object may be added to the dataset (1356)—where the addition of the data object may be implemented through creation of metadata corresponding to the dataset (1356) that references each data object that has been added to the dataset (1356). After iterating through each stored data object, the dataset (1356) may be defined and ready to transmit. In some examples, partial results may be transmitted in response to one or more portions of the results being generated prior to completion of the entire set of results (1454); [0307] The example method depicted in FIG. 16 also includes identifying (1610), in dependence upon one or more machine learning models (1616) to be executed on the GPU servers (1618), one or more transformations to apply to the dataset (1606). The one or more transformations to apply to the dataset (1606) may include, for example, performing scaling transformations to standardize the range of independent variables or features of data, performing decomposition transformations to decompose features that represent a complex concept into constituent parts (e.g., decomposing a date that has day and time components an hour of the day constituent part), performing aggregation transformations to aggregate multiple features into a single feature (e.g., instances for each time a customer logged into a system could be aggregated into a count feature that identifies the number of logins), and many others; Examiner’s Note: A query is established to create a dataset according to the attributes of data specified by the query..); and
inputting the generated query to the artificial intelligence information sharing database to obtain artificial intelligence-related information ([0287] The example method depicted in FIG. 13 also includes generating (1306), at the storage system(s) (1120), a dataset (1356) that includes one or more of the multiple data objects (1352a-1352n) such that each data object in the dataset (1356) shares the one or more attributes of data specified by the query (1354). Generating (1306), at the storage system(s) (1120), the dataset (1356) that includes the one or more of the multiple data objects (1352a-1352n) such that each data object in the dataset (1356) shares the one or more attributes of data specified by the query (1354) may be implemented by a query processing module or controller of the storage system(s) (1120) searching through an index of every stored data object, where the metadata for each given data object is accessed to determine whether the metadata describes attributes of the corresponding data for the given data object satisfy the query in accordance with the one or more attributes of data, where the one or more attributes of data may be parameters of the received (1304) message. In this way, for each data object that satisfies the query, the data object may be added to the dataset (1356)—where the addition of the data object may be implemented through creation of metadata corresponding to the dataset (1356) that references each data object that has been added to the dataset (1356). After iterating through each stored data object, the dataset (1356) may be defined and ready to transmit. In some examples, partial results may be transmitted in response to one or more portions of the results being generated prior to completion of the entire set of results (1454); [0289] For further explanation, FIG. 14 sets a forth flow chart illustrating an example method of storage system query processing within an artificial intelligence and machine learning infrastructure (1100) according to some embodiments of the present disclosure; [0308] The example method depicted in FIG. 16 also includes generating (1612), by the storage system (1604) in dependence upon the one or more transformations, a transformed dataset (1614). The transformed dataset (1614) may be embodied, for example, as vector that can serve as input to a machine learning model, as a tensor that can serve as an input to a machine learning model, and so on. Readers will appreciate that prior to actually generating (1612) the transformed dataset (1614), the storage system (1604) may perform other operations to prepare the dataset (1606) for use by the machine learning models that are supported by the artificial intelligence infrastructure (1602). For example, the storage system (1604) may select data for inclusion in the transformed dataset (1614), format the data to ensure that data formats are consistent for data received from different sources, clean the data to discard unwanted data, remove duplicated data, delete unusable data, handle missing data, or perform other preprocessing operations; Examiner’s Note: A dataset is created based on the attributes of the query. This occurs in a storage system processing method within an artificial intelligence infrastructure to obtain relevant AI information.), and wherein the allocating of the resources comprises:
allocating the resources using a deployment specification generated based on the obtained artificial intelligence-related information ([0326] The artificial intelligence infrastructure (2002) depicted in FIG. 20 may be configured to support the execution of one or more machine learning models. Such machine learning models may consist of one or more machine learning algorithms that are executed on one or more of the GPU servers (2008); [0341] The example method depicted in FIG. 22 also includes scheduling (2204), by a unified management plane (2202), one or more transformations for one or more of the storage systems (2004) to apply to the dataset (2006). The unified management plane (2202) depicted in FIG. 22 may be embodied, for example, as a module of computer program instructions executing on computer hardware such as one or more CPUs. The unified management plane (2202) may be configured to monitor and manage all elements within the artificial intelligence infrastructure (2002), including the storage systems (2004), the GPU servers (2018), and any devices (e.g., network switches) that enable data communications between the storage systems (2004) and the GPU servers (2018). The unified management plane (2202) may be configured to perform tasks such as, for example, scheduling tasks such as one or more dataset transformations to be performed by one or more of the storage systems (2004), scheduling tasks such as executing of one or more machine learning algorithms on the one or more GPU servers (2018), managing the amount of storage system resources that are made available for performing one or more dataset transformations by one or more of the storage systems (2004), managing the amount of GPU server resources that are made available for executing of one or more machine learning algorithms on the one or more GPU servers (2018), managing data paths between the one or more storage systems (2004) and the one or more GPU servers (2018), and so on; [0342] Readers will appreciate that, because the unified management plane (2202) has insights into both the storage systems (2004) and the GPU servers (2018) via monitoring both the storage systems (2004) and the GPU servers (2018), the unified management plane (2202) can manage both the storage systems (2004) and the GPU servers (2018) in a way so as to optimize interactions between the storage systems (2004) and the GPU servers (2018) and also to optimize the series of steps that are needed to support the execution of a machine learning model. In fact, the unified management plane (2202) may be configured to perform automated scheduling of tasks on the storage systems (2004) and on the GPU servers (2018) based on various factors (e.g., the influx of some data, data contents, and so on). For example, the unified management plane (2202) could be configured to decide that a particular machine learning model should train against a particular dataset, the unified management plane (2202) could be configured to decide the appropriate interval to run tests and continuously re-train with new data, and so on. In such an example, the unified management plane (2202) could be configured to support automated training with continuous learning based on some triggers (e.g., new data, exceptional data).).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Nandakumar with the teachings of Gold of allocating resources corresponding to respective pipelines using the pipeline specification, wherein the obtaining of the artificial intelligence-related information comprises: generating, by a query converter, a query based on the artificial intelligence application and service specification; and inputting the generated query to the artificial intelligence information sharing database to obtain artificial intelligence-related information, and wherein the allocating of the resources comprises: allocating the resources using a deployment specification generated based on the obtained artificial intelligence-related information. Nandakumar teaches of creating pipeline specifications and allocating computing resources. Similarly, Gold teaches of transforming a dataset and using it as input into a machine learning model that is executed by an artificial intelligence infrastructure. Resources and tasks used by the machine learning model that is executed by an artificial intelligence infrastructure are able to be automatically scheduled based on the contents of the data. Additionally, Gold teaches of a querying process that includes cleaning the data and extracting relevant data objects according to the specified query. For example, the storage system (1604) may select data for inclusion in the transformed dataset (1614), format the data to ensure that data formats are consistent for data received from different sources, clean the data to discard unwanted data, remove duplicated data, delete unusable data, handle missing data, or perform other preprocessing operations. As such, the computing resources provided by the GPU servers (1618) may be reserved for actually executing the machine learning algorithms against an already prepared transformed dataset (1614), rather than having the computing resources provided by the GPU servers (1618) burdened with the task of preparing data for ingestion by the machine learning algorithms, as discussed in Gold ([0308]; [0309]).
8. With regard to claim 6, Nandakumar further teaches:
wherein the artificial intelligence application and service specification includes information about an artificial intelligence application category, an artificial intelligence application deployment way, an artificial intelligence application type, an artificial intelligence application inference method, an artificial intelligence application inference type, or an artificial intelligence application inference target ([0018] An object of the present disclosure is an executor engine for constructing and/orchestrating the execution of a pipeline. In accordance with certain aspects of the present disclosure, an executor engine may comprise a module for controlling block and pipeline tasks, functions, and processes. In accordance with certain exemplary embodiments, an execution engine may coordinate pipeline elements, processes, and functions by configuring specifications; allocating elastic provisioning-deprovisioning execution of resources and the control of task transports to local and external resources; enabling a block or pipeline script to be transported to and from computing resources; and accessing and retrieving resources via one or more API. In accordance with certain exemplary embodiments, task execution may be conducted on one or more target resources including, but not limited to, one or more cloud/remote server, multi-core workstations, distributed computing systems, supercomputers, or combinations thereof and the like. In accordance with certain exemplary embodiments, an executor engine may enable user-defined scaling or configuration for pipeline execution. A configuration may comprise the specifications of an external computing system, connection channel, communication protocol, technology binding, memory allocation, queues, computing duration, and data transport/management options; Examiner’s Note: The configuring specification includes a number of parameters such as “specifications of an external computing system, connection channel, communication protocol, technology binding, memory allocation, queues, computing duration, and data transport/management options,” which describe an application deployment way.).
9. With regard to claim 7, Nandakumar further teaches:
wherein the pipeline specification includes input/output of the artificial intelligence application, preprocessed information, a number of parameters, or characteristic information of the artificial intelligence application ([0024] In accordance with certain exemplary embodiments, the method may further comprise storing, with the at least one non-transitory computer-readable memory device, at least one software component comprising a pipeline, the pipeline comprising at least one data transport mechanism for each block in the one or more blocks. In certain embodiments, the method may further comprise storing, with the at least one non-transitory computer-readable memory device, at least one software component comprising an engine, the engine comprising one or more functions configured to execute the one or more computing tasks of the one or more blocks and provision one or more computing resource for the data processing pipeline or workflow. In certain embodiments, the method may further comprise rendering, with the at least one computer processor, a graphical user interface configured to enable a user to configure one or more input-output functions for the one or more blocks by configuring one or more graphical connectors between each block in the one or more blocks. In certain embodiments, the method may further comprise storing, with the at least one non-transitory computer-readable memory device, at least one software component comprising an adaptor, the adaptor comprising at least one function for modifying a data input format or a data output format for the block. In certain embodiments, the method may further comprise storing, with the at least one non-transitory computer-readable memory device, at least one software component comprising a service block, the service block comprising at least one function for synchronous or asynchronous data transfer with one or more external application; Examiner’s Note: Pipeline information includes input-output functions and formatting for the pipeline.).
10. Regarding claim 8, it is rejected under the same reasoning as claim 1 above. Therefore, it is rejected under the same rationale.
11. Regarding claim 13, it is rejected under the same reasoning as claim 6 above. Therefore, it is rejected under the same rationale.
12. Regarding claim 14, it is rejected under the same reasoning as claim 7 above. Therefore, it is rejected under the same rationale.
13. Claims 5 and 12 are rejected under 35 U.S.C. 103 as being unpatentable over Nandakumar US 20220138004 A1 Gold et al. US 20190121889 A1, as applied in claim 1, in further view of Parees et al. US 20190361800 A1.
14. With regard to claim 5, Nandakumar and Gold teach the artificial intelligence application provision method of claim 1 but fails to explicitly teach further comprising: when the resources allocated to the pipelines are insufficient, transmitting a request to allocate additional resources to an artificial intelligence resource information system; and rebuilding the pipelines based on the additionally allocated resources.
However, in analogous art, Parees teaches:
further comprising:
when the resources allocated to the pipelines are insufficient, transmitting a request to allocate additional resources to an artificial intelligence resource information system ([0040] The examples, embodiments, implementations, etc., described herein may allow users of the development system 210 (e.g., programmers, developers, etc., who are implementing, coding, writing, and testing an application) to more efficiently use the development system 210. By determining (e.g., automatically determining) an estimated resource usage of a next or later stage of a development pipeline and configuring (e.g., automatically configuring) the resources for the next or late stage, this may allow the development system 210 to help ensure the resources are allocated for the next stage so that there are fewer delays in the stages of the development pipeline. This may allow for a better prediction or estimate of the computing resources that may be used in each stage of the development pipeline. This may further allow for better prediction of the correlation between the computing resources used in the different stages (e.g., the amount of computing resources used in one stage may be indicative of the amount of computing resources used in a second stage). This may further allow the users of the development system 210 to have some advanced warning that there may be insufficient resources for a next or later stage, which in turn allows the users to request or allocate additional resources for the development system 210.); and
rebuilding the pipelines based on the additionally allocated resources ([0040] The examples, embodiments, implementations, etc., described herein may allow users of the development system 210 (e.g., programmers, developers, etc., who are implementing, coding, writing, and testing an application) to more efficiently use the development system 210. By determining (e.g., automatically determining) an estimated resource usage of a next or later stage of a development pipeline and configuring (e.g., automatically configuring) the resources for the next or late stage, this may allow the development system 210 to help ensure the resources are allocated for the next stage so that there are fewer delays in the stages of the development pipeline. This may allow for a better prediction or estimate of the computing resources that may be used in each stage of the development pipeline. This may further allow for better prediction of the correlation between the computing resources used in the different stages (e.g., the amount of computing resources used in one stage may be indicative of the amount of computing resources used in a second stage). This may further allow the users of the development system 210 to have some advanced warning that there may be insufficient resources for a next or later stage, which in turn allows the users to request or allocate additional resources for the development system 210; Examiner’s Note: The configuring of next or later stages of the pipeline with the additional resources is analogous to rebuilding the pipeline based on the additionally allocated resources.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Nandakumar and Gold with the teachings of Parees further comprising: when the resources allocated to the pipelines are insufficient, transmitting a request to allocate additional resources to an artificial intelligence resource information system; and rebuilding the pipelines based on the additionally allocated resources. Nandakumar and Gold teach of using a query conversion and querying an AI database in order to obtain AI-relate information, and using that information to generate a deployment specification and allocate resources accordingly. Additionally, Nandakumar teaches of elastically provisioning resources ([0018]). One of ordinary skill in the art would know that elastically provisioning resources refers to a technique that automatically adds resources according to real-time workload demands. Similarly, Parees teaches of determining current and future resources for a development pipeline, and configuring the resources for the later stage of the development pipeline based on the estimated resource usage (Abstract). Additionally, Parees teaches the resource component 281 may use various techniques, methods, algorithms, etc., to determine correlations, relationships, dependencies, etc., between the amounts of computing resources used in different stages of the development pipeline for various applications. For example, the resource component 281 may use machine learning, artificial intelligence, statistical models, neural networks, clustering techniques, etc. ([0028]). The allocation of resources is based on current and historical resource usage. When resources are projected to be insufficient, users may request additional resources for the pipeline, and configuring the resources for the later stages in the pipeline ([0040]). This ensures that all stages of the development pipeline have enough resources so that the pipeline can execute efficiently with minimal interruptions and reduce the amount of delays when the development system moves to the later or next stage of the pipeline, as discussed in Parees ([0013]).
15. Regarding claim 12, it is rejected under the same reasoning as claim 5 above. Therefore, it is rejected under the same rationale.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AN-AN N NGUYEN whose telephone number is (571)272-6147. The examiner can normally be reached Monday-Friday 8:00-5:00 ET.
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, AIMEE LI can be reached at (571) 272-4169. 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.
/AN-AN NGOC NGUYEN/Examiner, Art Unit 2195
/Aimee Li/Supervisory Patent Examiner, Art Unit 2195