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 .
DETAILED ACTION
Claims 1-20 are presented for the examination.
§ 101 2. 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.
2. Claims 1, 8, 15 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
3. As to claims 1, 8, 15, have been rejected under 35 USC 101 for abstract idea without significantly more. Under Step 2A, Prong 1, the “ identifying a template corresponding to the request type in a template repository, the template containing syntax of a custom resource with one or more open fields, indicating that the request is for a database resource ” recite a mental process since “determining”, “predicted” and “ indicating” are functions that can be reasonably performed in the human mind with the aid of pen and paper through observation, evaluation, judgment, opinion.
Under Prong 2, the additional element “ receiving, at an application program interface (API) endpoint of a templating engine, a request from a command line tool, the request written in a command line syntax and including one or more parameters, the request having a request type, identifying a template corresponding to the request type in a template repository, the template containing syntax of a custom resource with one or more open fields; creating a first custom resource using the syntax of the custom resource from the template and applying the one or more parameters to the one or more open fields; and applying the first custom resource to a cloud environment, causing an operator component to modify a state of a database instance within a container, each template in the plurality of templates uniquely corresponding to a different request type” are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, or merely a generic computer or generic computer components to perform the judicial exception, Accordingly, the additional elements do not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(f).
Under Step 2B, the additional elements “ receiving, at an application program interface (API) endpoint of a templating engine, a request from a command line tool, the request written in a command line syntax and including one or more parameters, the request having a request type, identifying a template corresponding to the request type in a template repository, the template containing syntax of a custom resource with one or more open fields”- this generally have been a mental process although templating engine could be a generic computer component if the spec describes it implemented in an actual computer hardware.
“creating a first custom resource using the syntax of the custom resource from the template and applying the one or more parameters to the one or more open fields; and applying the first custom resource to a cloud environment, each template in the plurality of templates uniquely corresponding to a different request type ”- this is just information that is being processed in the identified mental process and have been included in the mental process and
“causing an operator component to modify a state of a database instance within a container” - this is mere instructions to apply the mental process under mpep 2106.05(f), amounts to merely generally linking the use of the judicial exception to a particular technological environment or field or use, and is merely applying the judicial exception, therefore, does not amount to significantly more, hence, cannot provide an inventive concept.
4. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application. See MPEP 2106.05(d). Thus, the claim is not patent eligible.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
5. Claims 1, 8, 15 are rejected under 35 U.S.C. 103 as being unpatentable over Warmack( US 20210224145 A1) in view of Ali( US 20170102925 A1) in view of Wilding( US 20200175157 A1) and further in view of VAIDYA(CN 104322010 A).
As to claim 1, Warmack teaches at least one hardware processor; a computer-readable medium storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations for operating an in-memory database operator( the main memory unit 104 may include one or more memory chips capable of storing data and allowing any storage location to be directly accessed by the central processing unit 102. In some arrangements, the main memory unit 104 may be volatile and faster than the storage device 106, para[0036], ln 1-8/Each respective memory device can be operable to maintain or otherwise store information relating to the operations performed by one or more associated circuits, including processor instructions and related data (e.g., database components, object code components, script components, etc.), para[0098], ln 17-26);
the operations comprising: receiving, at an application program interface (API) endpoint of a templating engine, the request and including one or more parameters, the request having a request type( Referring now to FIG. 3, a block diagram depicting a detailed API conversion platform 126 is shown, according to some arrangements. The API conversion platform 126 is shown to include a format identifier 304, a file identifier 306, a configuration file database 308, an authenticator 324, a paginator 326, an error generator 328 and a request generator 330. The API conversion platform 126 may be configured to receive an API request. The API request may be in any format, para[0061], ln 1-12);
identifying a template uniquely corresponding to the request type from a plurality of templates, each template in the plurality of templates uniquely corresponding to a different request type in a template repository, request type indicating that the request is for a database resource ( The API conversion platform 126 may identify the format of the API request and select a configuration file based on the identified format, para[0061], ln 11-15/ identify the format of API requests that are identified by the format identifier 304 and identify a corresponding configuration file in the configuration file database 308, para[0065], ln 5-11/ generating, by one or more processors, a plurality of configuration files[a plurality of templates], each configuration file[each template] associated with a different API format[each template in the plurality of templates uniquely corresponding]; receiving, by the one or more processors, a first API request; identifying, by the one or more processors, a first API format of the first API request; and identifying, by the one or more processors, a first configuration file of the plurality of configuration files based on the first API format, para[0005], ln 1-11/ a configuration file that is specific to requests that are received in the YAML format[request type] may be configured with a base …... The request parser 312 may compare the words and/or phrases of the API request to this format and identify any words or phrases that follow the same format. For example, the configuration file for YAML requests may identify a current parameter to be), para[0089]/ a fifth API request having a fifth format; comparing, by the one or more processors, an identification of the fifth format to a database; determining, by the one or more processors, that there is not a configuration file associated with the fifth format based on the comparison of the identification of the fifth format to the database; para[0016], ln 2-10),
creating a first custom resource using the syntax of the custom resource from the template( the configuration file 209 may be used to determine how the parameters would be requested in the new format by comparing the request to a data structure that stores corresponding parameters in the new format. The configuration file 209 may identify matching parameter requests and generate new parameter requests in the new format. The request generator 210 may identify the parameter requests in the new format and generate a new API request in the new format, para[0059], ln 15-27/ Depending on the configuration file, the parameter converter of the configuration file may convert a parameter request in any format to a parameter request in any other format. For instance, parameter converters may convert requests from XML to JSON (as shown above), from JSON to XML, from XML to YAML, from YAML to XML, from JSON to YAML, from YAML to JSON, etc., para[0073], ln 28-37/ The configuration file 209 may include programmed instructions and represent an example configuration file that can receive API requests in one format and generate arrays requesting the same parameters as the API requests but in a new format that the API of the system 214 may read, para[0059],l n 3-110/ generate a new request with a data structure that the API of the endpoint may handle. The data structure may include parameters in a syntax of a common API format such as JSON, YAML, XML, or any other API format. In some arrangements, the data structure may include a syntax that is specific to the configuration file, para[0075], ln 14-23/ devices other than the computing device 100. The configuration file database 308[repository] may be configured to store configuration files, par[0066], ln 12-15),
he template containing syntax of a custom resource ( For example, a configuration file 310a is shown to include a request parser 312, a parameter identifier 314, an endpoint identifier 316, a parameter converter 318, an error identifier 320, and a structure generator 322. Each of these components may operate together to build an API request in a common format for an API of any endpoint. Configuration files may include any number of components to perform the operations of the components 312-322, para[0066], ln 20-30/ The parameter converter 318 may include programmed instructions to convert any parameters that para[0073], ln 3-8/ the parameter converter of the configuration file may convert a parameter request in any format to a parameter request in any other format. For instance, parameter converters may convert requests from XML to JSON (as shown above), from JSON to XML, from XML to YAML, from YAML to XML, from JSON to YAML, from YAML to JSON, etc., para[0078], ln 25-32/ The error identifier 320 may include programmed instructions to identify any errors that occurred when the configuration file 310 was generating a new request in the new format, para[0074], ln 3-7/ the endpoint identifier 316 may be a software program executed on the computing device 100, shown and described with reference to FIG. 1. The endpoint identifier 316 may include programmed instructions to identify endpoints of any API requests, para[0071], ln 1-7);
applying the first custom resource to a cloud environment( a cloud computing platform including one or more controllers, servers, and/or any other suitable computing devices that can be accessed by the computing device 100 over a network, para[0057], ln 5-10/ the system 214 may be any type of computing component (e.g., a server, processor, mobile phone, tablet, laptop, personal computer, etc.), para[0053], ln 11-15/ The configuration file 209 may include programmed instructions and represent an example configuration file that can receive API requests in one format and generate arrays requesting the same parameters as the API requests but in a new format that the API of the system 214 may read, para[0059], ln 3-10/ The configuration file 209 may identify matching parameter requests and generate new parameter requests in the new format. The request generator 210 may identify the parameter requests in the new format and generate a new API request in the new format. The request generator 210 may transmit the new request to the system 214 to obtain the requested information, para[0059], ln 20-29).
Ali teaches the template containing syntax of a custom resource with one or more open fields, creating a first custom resource using the syntax of the custom resource from the template and applying the one or more parameters to the one or more open fields(two or more stored template-sets each set comprising templates of program code to be filled in with relevant API description to generate code, wherein the templates of each template-set comprises code in a common programming language selected from a set of supported programming languages, para[0041], ln 6-11/ Combining the templates with API records may comprise filling in the template with the API records. This may comprise filling in spaces defined in the template for API records, para[0043]/ receiving API description in a predetermined format as an API request parameter from a third party, para[0088], ln 4-7/ typically each template comprises lines of code including SDL data structure pointers, the pointers indicating a corresponding location of data in the data structure which is to replace the pointer. In this way code in the templates is completed with code from appropriate records stored in the API description in order to generate the various SDK files, para[0185], ln 8-17/ para[0190], ln 7-28/ The kit generation engine may be operable to generate program code by combining API records with code stored in a template associated with the record. Combining may be inserting in spaces, para[0055]/ the one or more templates may comprise a selected set of templates of code, wherein a set of templates comprises code defining classes and/or functions in a selected programming language, para[0125]/ the code generation module also operable to combine code from templates with stored API description code to generate the code., para[0066], ln 28-31/ Each API description is stored as a set of API records, para[0165], ln 3-6/ A template may comprise stored programming code, A template may comprise spaces for API records, A template may comprise static code which gets converted to the kit code as is, A template may comprise dynamic code which gets replaced by a respective API record, para[0048] to para[0051]/ The templates may comprise code defining compiler files and/or configuration files and/or scripts and/or addresses for components of applications., para[0039]/ Combining the templates with API records may comprise filling in the template with the API records. This may comprise filling in spaces defined in the template for API records, para[0034]).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Warmack with Ali to incorporate the above feature because this provides a system or method for generating software development kits which will overcome or ameliorate problems with such at present, at least provide the public with the useful choice.
Wilding teaches a request from a command line tool ( For example, in a Kubernetes® environment, a controller module 120 may serve as a Kubernetes® operator that interacts with other controller modules 120 that are within database containers. On AWS, the AWS cloud may be defined as an operational entity 110 that dispenses virtual machines entities 110, para[047], ln 14-25/ the controller modules and the operational entities in a system may form a hierarchy where an orchestrator controller module may reside at the top level of the hierarchy and may issue instructions (which may include control API calls) down through the hierarchy to controller modules and operational entities that reside in lower levels. As an example, the orchestrator controller module may receive, from a user via a command line tool, a command pertaining to a particular entity. Accordingly, the orchestrator controller module may route an instruction (that is based on the command) through the levels of the hierarchy to the managing controller module that may implement the instruction by making an appropriate control API call to the particular entity. That call may cause the particular operational entity to transition to another state, para[0040]),
causing an operator component to modify a state of a database instance within a container, the request having a request type indicating that the request is for a database resource( Accordingly, developers may use Kubernetes® to deploy containers that include database servers, for example. Kubernetes®, however, is deficient for managing an entire system for various reasons. Kubernetes® was designed to manage containers on top of worker nodes (e.g., virtual machines). For example, Kubernetes cannot be used to manage hardware or information entities, such as a logical database or a configuration specification. Kubernetes® does not provide visibility and/or control over everything within a container, para[0033], ln 9-21/ An operational entity 110, in various embodiments, includes one or more elements and a collection of information relating to those elements. Examples of elements may include, for example, a physical processor, physical memory, para[0045], ln 1-5/ the term “operational scenario” is used herein to refer to a sequence of steps used to perform some action. For example, one operational scenario might include starting up a database service and another operational scenario might include updating a database service. Operational scenarios may be implemented using a workflow that includes an ordered set of commands, which may be carried out via a set of control API calls. For example, a workflow for updating a database service might include a command for transitioning operational entities of the database service from “online” to “offline,” a command for transitioning them from their current version to the updated version, and a command for transitioning them from offline back to online. In some embodiments, the orchestrator controller module accesses workflow information and issues instructions based on the workflow information down through the hierarchy to make changes to the appropriate operational entities in order to complete the corresponding workflow, para[0041]/ manager engine 430 may access control API information 420 in order to determine which functions of the control API are available for invoking. An instruction may identify a corresponding operational entity 110 and a function to be performed with respect to that operational entity. Accordingly, if the appropriate control API function has been implemented by the operational entity 110 (as may be determined from control API information 420), then manager engine 430 may send a control API call to the operational entity 110 to execute that control API function, para[0102], ln 5-20).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Warmack and Ali with Wilding to incorporate the above feature because this reduces the number of humans involved in managing the system. Moreover, allows the use of a common format for describing entities may simplify operations, increases the ability to test operational scenarios, and reduces the amount of code needed to manage software in a production environment.
VAIDYA teaches identifying a templates uniquely corresponding to the request type, from a plurality of templates, each template in the plurality of templates uniquely corresponding to a different request type( generator 515 can generate any command or instruction 520A-520N, which changes a configuration matching or synchronization with another configuration. For example, generator can generate a set of configuration commands to change the configuration of the slave node, and the configuration of the master node matching or synchronization. generator can be used with the same command language, syntax, or format of site hierarchy configuration 420 to generate configuration command set 520A-520N. generator is operable to generate command, script or commands supported by a device. command set 520A-N may be any type and form of script, such as script executable via a CLI, para[0202]/ In some embodiments, the interface can be any application or program a device API call. In one embodiment, the interface uses the remote CLI function to access and obtain information from the remote device, para[0196], ln 6-11/ In some embodiments, each source and target configuration may be contained in one or more files. Each of these files can include one or more instructions. re-configurator can be one or more dump or store the file to, for example, a temporary file[template]. re-configurator can use one[uniquely corresponding] or more identification attribute for uniquely identifying command[different type request], or type/category of commands. Examples of the attribute may include any identifier, arguments, option character strings or command elements. In some embodiments, it can use one attribute or a combination of attributes to identify the same class or type of command. In one illustrative embodiment, the configurator can operation (op) and combination of the object (O) to uniquely identify each command. For example, in the command "enablens features", "enable" can be operated and "vernacular" can be the object, para[0222] ).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Warmack, Ali, Wilding with VAIDYA to incorporate the above feature because this allows configuration for updating or synchronizing the configuration of the network device, the another configuration can be from another network device can be determined using a simultaneous, different configurations between the two or more devices, and can be distributed and applied on the one or more device automatically changes to configuration.
As to claims 8, 15, they are rejected for the same reason as to claim 1 above.
6. Claims 2, 9, 16 are rejected under 35 U.S.C. 103 as being unpatentable over Warmack( US 20210224145 A1) in view of Ali( US 20170102925 A1) in view of Wilding( US 20200175157 A1) in view of VAIDYA(CN 104322010 A and further in view of Baddepudi( US 20190342160 A1)
As to claim 2, Baddepudi teaches the cloud environment is a container orchestration system cloud environment( orchestration server 150 abstracts away the underlying infrastructure whether it be VMs/ containers/bare-metal deployments in a public or private cloud environment, and makes install/ admin/orchestration operations of distributed databases similar in each of these environments. Once configured, the steps to create a distributed database deployment or make changes to the deployment (such as expanding size of the distributed database cluster, change replication factor, perform software upgrades, or migrate deployment from one kind of hardware to another etc.) are identical, para[0090], ln 5-15).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Warmack, Ali, Wilding and VAIDYA with Baddepudi to incorporate the above feature because this increases replication factor, taking backups, restoring from a backup, changing the node type, upgrading/ downgrading the data service implementation, performing rolling software upgrade.
As to claims 9, 16, they are rejected for the same reason 2 above.
7. Claims 3, 10, 17 are rejected under 35 U.S.C. 103 as being unpatentable over Warmack( US 20210224145 A1) in view of Ali( US 20170102925 A1) in view of Wilding( US 20200175157 A1) in view of VAIDYA(CN 104322010 A) and further in view of Davisz( US 20140006465 A1)
As to claim 3, Davis teaches the request is received from a parsing component in the command line tool, the parsing component sending the request in response to a determination that the request needs to be executed in the cloud environment( More specifically, a cloud controller presenting a view of the distributed filesystem to a client could present archived data files via such mechanisms, and allow (authorized) users accessing such archive directories to initiate requests to restore such archived files. For example, users may be able to enable or disable the view of archived files via a cloud command menu. Upon receiving a request from a user to access an archived file (e.g., via a command-line interface, a file browser, or some other mechanism), the cloud controller receiving the request may present the user with a set of options for restoring the file. Note that such accesses enter the domain of cloud commands in that at this point the file request is no longer returning actual file data (at least initially), para[0366], ln 18-36).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Warmack, Ali, Wilding and VAIDYA with Davis to incorporate the above feature because this allows initial cloud controller uses the namespace mappings for the global namespace to determine a preferred cloud controller that will handle the request.
As to claims 10, 17, they are rejected for the same reason as to claim 3 above.
8. Claims 4, 11, 18 are rejected under 35 U.S.C. 103 as being unpatentable over Warmack( US 20210224145 A1) in view of Ali( US 20170102925 A1) in view of Wilding( US 20200175157 A1) in view of VAIDYA(CN 104322010 A) and further in view of Barnum( US 20200382441 A1).
As to claim 4, Barnum teaches the first custom resource is watched and acted on by an operator component in the cloud environment( Operating environment 100 may include a cloud system 110 in conjunction with one or more primary resource utilizers 102 and one or more auxiliary resource utilizers 104. In the illustrated embodiments, cloud system may include a system controller 105 and one or more regions 112-1, 112-2, 112-n with each region comprising a set of resources 114-1, 114-2, 114-n. The system controller 105 may include a traffic manager 106, an excess resource manager 108, and one or more utilization policies 107. In one or more embodiments described herein, the components of the system controller 105 may interoperate to enable underutilized resources in one or more of regions 112-1, 112-2, 112-n of cloud system 110 to be identified and allocated for use by one or more auxiliary resource utilizers 104 according to one or more utilization policies 107. Embodiments are not limited in this context, para[0019]/ In the illustrated embodiments, cloud system may include a system controller 105 and one or more regions 112-1, 112-2, 112-n with each region comprising a set of resources 114-1, 114-2, 114-n. The system controller 105 may include a traffic manager 106, an excess resource manager 108, and one or more utilization policies 107. In one or more embodiments described herein, the components of the system controller 105 may interoperate to enable underutilized resources in one or more of regions 112-1, 112-2, 112-n of cloud system 110 to be identified and allocated for use by one or more auxiliary resource utilizers 104 according to one or more utilization policies 107. Embodiments are not limited in this context, para[0019], ln 5-19/ For example, traffic manager 106 may monitor utilization of the resources and enable excess resource manager 108 to determine when and/or who to allocate excess resources to. In some embodiments, traffic manager 106 and/or excess resource manager 108 may be implemented by the resources in cloud system 110. In various embodiments, traffic manager 106 and/or excess resource manager 108 may be separate from cloud system 110., para[0022], ln 5-14).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Warmack, Ali, Wilding and VAIDYA with Barnum to incorporate the above feature because this supports a large number of applications and services such as access to the World Wide Web, digital video, digital audio, and shared use of application and storage servers .
As to claims 11, 18, they are rejected for the same reason as to claim 4 above.
9. Claims 5, 12, 19 are rejected under 35 U.S.C. 103 as being unpatentable over Warmack( US 20210224145 A1) in view of Ali( US 20170102925 A1) in view of Wilding( US 20200175157 A1) in view of VAIDYA(CN 104322010 A) 2525110031and further in view of Yu( US 20120331519 A1).
As to claim 5, Yu teaches read only access is granted for the cloud environment based on communication with an external secret engine( So, users typically with production application manger role 102 are only permitted by the identity management system to read the set of production environment configuration information stored at central configuration information management system 106 but are not permitted to modify the set of configuration information as users with security manager role 108 can. When a user associated with production application manager role 102 wishes to instantiate an application in production environment 104 during runtime, the user may submit, over a network (e.g., the Internet), the appropriate credentials, password, and/or any other type of authentication to identify himself (or itself if the user is a machine operator) as having production application manager role 102 to the identity management system and in return, the identity management system will grant the user read-only access to central configuration information management system 106 to obtain the set of production environment configuration information. The set of production environment configuration information may include the security keys (e.g., passwords, credentials, authentication information) needed to access internal services or third party services such as cloud services 110 (e.g., which are accessed over a network), and/or topology configuration such as how the application is to access systems (e.g., load balancers, web servers) associated with production environment 104 externally that are needed to enable the application to run properly. For example, cloud services 110 may include Amazon AWS.RTM., third party APIs, and remote databases. In the example, at least a portion of cloud services 110 may be accessed at URLs app.data or qa.data, para[0016], ln 21-50).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Warmack, Ali, Wilding and VAIDYA with Yu to incorporate the above feature because this obtains a portion of the runtime environment specific configuration information corresponding to the environment associated with the executing application.
As to claims 12, 19, they are rejected for the same reason as to claim 5 above.
Allowable Subject Matter
10. Claims 6, 7, 13, 14, 20 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims and would overcome 101 rejection of abstract idea.
Reason for allowance
Warmack( US 20210224145 A1) in view of Ali( US 20170102925 A1) in view of Wilding( US 9813509 B1) and further in view of VAIDYA( US 10922090 B1) do not teach wherein the operations further comprise: detecting at a reconciliation loop of a detemplating engine, a second custom resource in the cloud environment; in response to the detecting, creating an object out of the second custom resource; converting the object into an API request; and sending the API request along with a security token extracted from the second custom resource to an API endpoint on the command line tool, for execution by the command line tool, wherein the token is used by the command line tool to authenticate the request using an external secret engine.
Response to the argument:
A. Applicant amendment filed on 02/27/2026 has been considered but they are not persuasive:
Applicant argued in substance that :
(1) “ Applicant respectfully submits that the claims are not directed to an
abstract idea, that they integrate any alleged abstract idea into a practical application, and that they recite significantly more than any abstract idea.
(1) “ the cited art fails to teach or suggest "identifying a template, uniquely corresponding to the request type, from a plurality of templates, each template in the plurality of templates uniquely corresponding to a different request type, in a template repository, the template containing syntax of a custom resource with one or more open fields.".”
B. Examiner respectfully disagreed with Applicant's remarks:
As to the point (1), As to claims 1, 8, 15, have been rejected under 35 USC 101 for abstract idea without significantly more. Under Step 2A, Prong 1, the “ identifying a template corresponding to the request type in a template repository, the template containing syntax of a custom resource with one or more open fields, indicating that the request is for a database resource ” recite a mental process since “determining”, “predicted” and “ indicating” are functions that can be reasonably performed in the human mind with the aid of pen and paper through observation, evaluation, judgment, opinion.
Under Prong 2, the additional element “ receiving, at an application program interface (API) endpoint of a templating engine, a request from a command line tool, the request written in a command line syntax and including one or more parameters, the request having a request type, identifying a template corresponding to the request type in a template repository, the template containing syntax of a custom resource with one or more open fields; creating a first custom resource using the syntax of the custom resource from the template and applying the one or more parameters to the one or more open fields; and applying the first custom resource to a cloud environment, causing an operator component to modify a state of a database instance within a container, each template in the plurality of templates uniquely corresponding to a different request type” are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, or merely a generic computer or generic computer components to perform the judicial exception, Accordingly, the additional elements do not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(f).
Under Step 2B, the additional elements “ receiving, at an application program interface (API) endpoint of a templating engine, a request from a command line tool, the request written in a command line syntax and including one or more parameters, the request having a request type, identifying a template corresponding to the request type in a template repository, the template containing syntax of a custom resource with one or more open fields”- this generally have been a mental process although templating engine could be a generic computer component if the spec describes it implemented in an actual computer hardware.
“creating a first custom resource using the syntax of the custom resource from the template and applying the one or more parameters to the one or more open fields; and applying the first custom resource to a cloud environment, each template in the plurality of templates uniquely corresponding to a different request type ”- this is just information that is being processed in the identified mental process and have been included in the mental process and
“causing an operator component to modify a state of a database instance within a container” - this is mere instructions to apply the mental process under mpep 2106.05(f), amounts to merely generally linking the use of the judicial exception to a particular technological environment or field or use, and is merely applying the judicial exception, therefore, does not amount to significantly more, hence, cannot provide an inventive concept.
As to the point(2), Warmack teaches identifying a template uniquely corresponding to the request type from a plurality of templates, each template in the plurality of templates uniquely corresponding to a different request type in a template repository, request type indicating that the request is for a database resource ( The API conversion platform 126 may identify the format of the API request and select a configuration file based on the identified format, para[0061], ln 11-15/ identify the format of API requests that are identified by the format identifier 304 and identify a corresponding configuration file in the configuration file database 308, para[0065], ln 5-11/ generating, by one or more processors, a plurality of configuration files[a plurality of templates], each configuration file[each template] associated with a different API format[each template in the plurality of templates uniquely corresponding]; receiving, by the one or more processors, a first API request; identifying, by the one or more processors, a first API format of the first API request; and identifying, by the one or more processors, a first configuration file of the plurality of configuration files based on the first API format, para[0005], ln 1-11/ a configuration file that is specific to requests that are received in the YAML format[request type] may be configured with a base …... The request parser 312 may compare the words and/or phrases of the API request to this format and identify any words or phrases that follow the same format. For example, the configuration file for YAML requests may identify a current parameter to be), para[0089]/ a fifth API request having a fifth format; comparing, by the one or more processors, an identification of the fifth format to a database; determining, by the one or more processors, that there is not a configuration file associated with the fifth format based on the comparison of the identification of the fifth format to the database; para[0016], ln 2-10),
creating a first custom resource using the syntax of the custom resource from the template( the configuration file 209 may be used to determine how the parameters would be requested in the new format by comparing the request to a data structure that stores corresponding parameters in the new format. The configuration file 209 may identify matching parameter requests and generate new parameter requests in the new format. The request generator 210 may identify the parameter requests in the new format and generate a new API request in the new format, para[0059], ln 15-27/ Depending on the configuration file, the parameter converter of the configuration file may convert a parameter request in any format to a parameter request in any other format. For instance, parameter converters may convert requests from XML to JSON (as shown above), from JSON to XML, from XML to YAML, from YAML to XML, from JSON to YAML, from YAML to JSON, etc., para[0073], ln 28-37/ The configuration file 209 may include programmed instructions and represent an example configuration file that can receive API requests in one format and generate arrays requesting the same parameters as the API requests but in a new format that the API of the system 214 may read, para[0059],l n 3-110/ generate a new request with a data structure that the API of the endpoint may handle. The data structure may include parameters in a syntax of a common API format such as JSON, YAML, XML, or any other API format. In some arrangements, the data structure may include a syntax that is specific to the configuration file, para[0075], ln 14-23/ devices other than the computing device 100. The configuration file database 308[repository] may be configured to store configuration files, par[0066], ln 12-15),
the template containing syntax of a custom resource ( For example, a configuration file 310a is shown to include a request parser 312, a parameter identifier 314, an endpoint identifier 316, a parameter converter 318, an error identifier 320, and a structure generator 322. Each of these components may operate together to build an API request in a common format for an API of any endpoint. Configuration files may include any number of components to perform the operations of the components 312-322, para[0066], ln 20-30/ The parameter converter 318 may include programmed instructions to convert any parameters that para[0073], ln 3-8/ the parameter converter of the configuration file may convert a parameter request in any format to a parameter request in any other format. For instance, parameter converters may convert requests from XML to JSON (as shown above), from JSON to XML, from XML to YAML, from YAML to XML, from JSON to YAML, from YAML to JSON, etc., para[0078], ln 25-32/ The error identifier 320 may include programmed instructions to identify any errors that occurred when the configuration file 310 was generating a new request in the new format, para[0074], ln 3-7/ the endpoint identifier 316 may be a software program executed on the computing device 100, shown and described with reference to FIG. 1. The endpoint identifier 316 may include programmed instructions to identify endpoints of any API requests, para[0071], ln 1-7);
applying the first custom resource to a cloud environment( a cloud computing platform including one or more controllers, servers, and/or any other suitable computing devices that can be accessed by the computing device 100 over a network, para[0057], ln 5-10/ the system 214 may be any type of computing component (e.g., a server, processor, mobile phone, tablet, laptop, personal computer, etc.), para[0053], ln 11-15/ The configuration file 209 may include programmed instructions and represent an example configuration file that can receive API requests in one format and generate arrays requesting the same parameters as the API requests but in a new format that the API of the system 214 may read, para[0059], ln 3-10/ The configuration file 209 may identify matching parameter requests and generate new parameter requests in the new format. The request generator 210 may identify the parameter requests in the new format and generate a new API request in the new format. The request generator 210 may transmit the new request to the system 214 to obtain the requested information, para[0059], ln 20-29).
Ali teaches the template containing syntax of a custom resource with one or more open fields, creating a first custom resource using the syntax of the custom resource from the template and applying the one or more parameters to the one or more open fields(two or more stored template-sets each set comprising templates of program code to be filled in with relevant API description to generate code, wherein the templates of each template-set comprises code in a common programming language selected from a set of supported programming languages, para[0041], ln 6-11/ Combining the templates with API records may comprise filling in the template with the API records. This may comprise filling in spaces defined in the template for API records, para[0043]/ receiving API description in a predetermined format as an API request parameter from a third party, para[0088], ln 4-7/ typically each template comprises lines of code including SDL data structure pointers, the pointers indicating a corresponding location of data in the data structure which is to replace the pointer. In this way code in the templates is completed with code from appropriate records stored in the API description in order to generate the various SDK files, para[0185], ln 8-17/ para[0190], ln 7-28/ The kit generation engine may be operable to generate program code by combining API records with code stored in a template associated with the record. Combining may be inserting in spaces, para[0055]/ the one or more templates may comprise a selected set of templates of code, wherein a set of templates comprises code defining classes and/or functions in a selected programming language, para[0125]/ the code generation module also operable to combine code from templates with stored API description code to generate the code., para[0066], ln 28-31/ Each API description is stored as a set of API records, para[0165], ln 3-6/ A template may comprise stored programming code, A template may comprise spaces for API records, A template may comprise static code which gets converted to the kit code as is, A template may comprise dynamic code which gets replaced by a respective API record, para[0048] to para[0051]/ The templates may comprise code defining compiler files and/or configuration files and/or scripts and/or addresses for components of applications., para[0039]/ Combining the templates with API records may comprise filling in the template with the API records. This may comprise filling in spaces defined in the template for API records, para[0034]).
And VAIDYA teaches In some embodiments, the interface can be any application or program a device API call. In one embodiment, the interface uses the remote CLI function to access and obtain information from the remote device, para[0196], ln 6-11/ In some embodiments, each source and target configuration may be contained in one or more files. Each of these files can include one or more instructions. re-configurator can be one or more dump or store the file to, for example, a temporary file[template]. re-configurator can use one[uniquely corresponding] or more identification attribute for uniquely identifying command[different type request], or type/category of commands. Examples of the attribute may include any identifier, arguments, option character strings or command elements. In some embodiments, it can use one attribute or a combination of attributes to identify the same class or type of command. In one illustrative embodiment, the configurator can operation (op) and combination of the object (O) to uniquely identify each command. For example, in the command "enables features", "enable" can be operated and "vernacular" can be the object, para[0222] ).
THIS ACTION IS MADE FINAL. 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.
Conclusion
US 20210382814 A1 teaches the initiation instruction may include an API call to the hypervisor layer (e.g., similar to “vzctl start” command in a command line interface). The allocation instruction routine 224 includes computer readable instructions that when executed issue a resource allocation instruction 225.
US 20200150985 A1 teaches be several templates for a command where each template represents a different usage pattern with a unique combination of subcommands and/or parameters and/or parameter values.
US 20130179460 A1 teaches a command line system 100 includes a command line interpreter 102. The command line interpreter 102 may receive a command line and initiate a corresponding operation. According to one embodiment, the command line interpreter 102 is a conventional command line interpreter found in a variety of command line systems.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to LECHI TRUONG whose telephone number is (571)272-3767. The examiner can normally be reached 10-8 PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor Young Kevin can be reached on (571)270-3180. 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.
/LECHI TRUONG/Primary Examiner, Art Unit 2194