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 .
Claims 1-9 are presented for examination.
Terminal Disclaimer
The terminal disclaimer filed on 09/05/2025 disclaiming the terminal portion of any patent granted on this application which would extend beyond the expiration date of any patent granted on Application Number 16391227 and Application Number 16503420 has been reviewed and is accepted. The terminal disclaimer has been recorded.
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.
Claim 1-9 are rejected under 35 U.S.C. 103 as being unpatentable over Gao (US20060245354), in view of Hodge (US9003406) further in view of Newman (US 20180084086 A1).
Regarding Claim 1, Gao (US20060245354) teaches
A system, comprising: at least one data processor; and at least one memory storing instructions which, when executed by the at least one data processor, result in operations comprising::
generating a first workspace and a second workspace for, the first workspace configured to maintain a first set of configurations for an information technology infrastructure, and the second workspace configured to maintain a second set of configurations for the information technology infrastructure (Paragraph 0037, the present invention provides a first mechanism that generates and deploys multiple instances of an application using a deployment plan template. For each instance of the application, there are variations in configurations of the application. Examples of application configurations include network configurations, operating systems on which the application runs, and different combinations of software stack that supports the application) Examiner Comments: The application instances in Gao are interpreted to the claimed worksapces;
generating, based at least on the first workspace and/or the second workspace, an execution plan that includes one or more operations to apply, to the information technology infrastructure, the one or more configurations specified in the configuration file (Paragraph 0040, deployment plan template 500 is created by the mechanism of the present invention for each application that requires multiple instances. Deployment plan template 500 describes what data center resources are needed and configured, as well as, software modules that need to be installed on the servers; Paragraph 0041, At runtime, deployment parameter set 502 is exposed to the user via a user interface. The user is prompted for resolution of the parameter values in deployment parameter set 502. After the user enters the parameter values, corresponding deployment plan 504 is generated) Examiner comments: The deployment plan in Gao is interpreted to teach the claimed execution plan ;
and applying, based at least on the execution plan, the one or more configurations including by at least provisioning, modifying, and/or de-provisioning one or more resources at the information technology infrastructure (Paragraph 0042, When the scheduled deployment time arrives, data center automation system 508 retrieves deployment plan 504 that is sufficient to deploy application instance of logical application model 506 to the data center).
Gao did not specifically teach
merging, into the first workspace and/or the second workspace, a configuration file specifying one or more configurations to apply to the information technology infrastructure
pulling, from a version controller, a configuration file, the configuration file being pulled in response to receiving, from a webhook at the version controller, a notification of the configuration file being committed at the version controller.
However, Hodge (US9003406) teaches
merging, into the first workspace and/or the second workspace, a configuration file specifying one or more configurations to apply to the information technology infrastructure (7:12-67, provisioning environment 212 comprises installing the virtual machines comprising environment template 206 on a virtual computing host. In some embodiments, the process of provisioning environment 212 is affected by environment configuration 210. In some embodiments, the enterprise software client provides environment template configuration 210 to customize the process of provisioning environment 212).
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to have combined Gao’s teaching to Hodge’s in order to allow creation of the virtual environment to be automated, and thus reducing setup costs, by ensuring that there is a basic level of consistency between virtual environments, and thus reducing maintenance costs (Hodge [Summary]).
Gao and Hodge did not explicitly teach
pulling, from a version controller, a configuration file, the configuration file being pulled in response to receiving, from a webhook at the version controller, a notification of the configuration file being committed at the version controller.
However, Newman teaches
pulling, from a version controller, a configuration file, the configuration file being pulled in response to receiving, from a webhook at the version controller, a notification of the configuration file being committed at the version controller.
(Para [0027], " The push of the new software code causes the version control server 120 to trigger a CI webhook, which triggers the CI server 106. In response to the trigger, the CI server 106 builds artifacts from the code at that point in time (e.g., based on the new objects in the data store 118)." Claim 2, "The one or more webhooks comprise a continuous integration (CI) webhook, the CI webhook causing a CI server to build new artifacts from code, publish the new artifacts, and notify a dataset integration platform about the new published artifacts") Examiner comments: Newman teaches that upon a push (which includes committing code/config files), the version control server triggers a webhook notification to the CI server, which then responds by building from the code (implying pulling the committed configuration/code from the repository), because this automates the integration process by fetching the latest committed changes for processing.)
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 Gao in view of Hodge with Newman by incorporating Newman's webhook-triggered pulling of committed configuration files into the system of Gao and Hodge, motivated by the need to automate continuous integration and deployment of configuration updates in version-controlled environments, ensuring prompt detection and application of changes to IT infrastructure through event-driven workflows (Newman [Summary]).
Regarding Claim 2, Gao, Hodge and Newman teach
The system of claim 1, wherein the first set of configurations are associated with a first iteration of configurations for the information technology infrastructure, and wherein the second set of configurations are associated with a second iteration of configurations for the information technology infrastructure (Gao [Paragraph 0037, the present invention provides a first mechanism that generates and deploys multiple instances of an application using a deployment plan template. For each instance of the application, there are variations in configurations of the application. Examples of application configurations include network configurations, operating systems on which the application runs, and different combinations of software stack that supports the application]).
Regarding Claim 3, Gao, Hodge and Newman teach
The system of claim 2.
Gao did not teach
wherein the first iteration of configurations are applied to the information technology infrastructure in order for the information technology infrastructure to support a first environment, and wherein the second iteration of configurations are applied to the information technology infrastructure in order for the information technology infrastructure to support a second environment.
However, Hodge (US9003406) teaches
wherein the first iteration of configurations are applied to the information technology infrastructure in order for the information technology infrastructure to support a first environment, and wherein the second iteration of configurations are applied to the information technology infrastructure in order for the information technology infrastructure to support a second environment (12:36-65, In 602, the blueprint is verified. In 604, an environment template configuration is received. In some embodiments, an environment template configuration comprises the identity of a blueprint needed to build the template and other template-specific parameter values. In various embodiments, an environment template configuration specifies a blueprint to consume which configures a list of virtual machine clusters into which software will be installed, a default resource allocation to each virtual machine, a default initial number of virtual machines in a virtual machine cluster).
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to have combined Gao’s teaching to Hodge’s in order to allow creation of the virtual environment to be automated, and thus reducing setup costs, by ensuring that there is a basic level of consistency between virtual environments, and thus reducing maintenance costs (Hodge [Summary]).
Regarding Claim 4, Gao, Hodge and Newman teach
The system of claim 3.
Gao did not teach
wherein the first environment and the second environment each comprise a different one of a development environment, a staging environment and a production environment.
However, Hodge teaches
wherein the first environment and the second environment each comprise a different one of a development environment, a staging environment and a production environment (7:12-67, In some embodiments, these details will differ between or across different kinds of environments (for example, development environments, test environments, staging environments, production environments, or any other appropriate kind of environments)).
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to have combined Gao’s teaching to Hodge’s in order to allow creation of the virtual environment to be automated, and thus reducing setup costs, by ensuring that there is a basic level of consistency between virtual environments, and thus reducing maintenance costs (Hodge [Summary]).
Regarding Claim 5, Gao, Hodge and Newman teach
The system of claim 1, wherein the first set of configurations are associated with a first portion of the information technology infrastructure, and wherein the second set of configurations are associated with a second portion of the information technology infrastructure (Gao [Paragraph 0061, the mechanism of the present invention makes a determination as to whether the order is to be provisioned, modified, or deprovisioned based on an order type that is defined in the catalog by the catalog designer (step 818). If the order is to be provisioned, the mechanism of the present inventions first reserves resources by creating an application model and generating a corresponding deployment plan from the deployment plan template (step 820)) Examiner Comments: Since the resources are reserved for each application instance in Gao, we can conclude that each application instance uses different portions of the data center.
Regarding Claim 6, Gao, Hodge and Newman teach
The system of claim 5, wherein the first portion of the information technology infrastructure and the second portion of the information technology infrastructure each comprise a different one of the hardware resources, software resources, and network resources (Gao [Paragraph 0037, For each instance of the application, there are variations in configurations of the application. Examples of application configurations include network configurations, operating systems on which the application runs, and different combinations of software stack that supports the application]).
Regarding Claim 7, Gao, Hodge and Newman teach
The system of claim 1, wherein the first workspace is associated with a first team of users, wherein the second workspace is associated with a second team of users, wherein the first workspace is inaccessible to the second team of users, and wherein the second workspace is inaccessible to the first team of users (Gao [Paragraph 0050, a catalog entry may be ordered by multiple customers who demand their own instance of the server. To support multiple service instances, deployment plan template 700 is defined for an application]) Examiner Comments: The customers in Gao is interpreted to the claimed team of users. Each customer can be associated with different application instances.
Regarding Claim 8, Gao, Hodge and Newman teach
The system of claim 1, wherein the configuration file includes a programming code-based representation of one or more resources at the information technology infrastructure (Gao [Paragraph 0037, For each instance of the application, there are variations in configurations of the application. Examples of application configurations include network configurations, operating systems on which the application runs, and different combinations of software stack that supports the application]).
Regarding Claim 9, Gao, Hodge and Newman teach
The system of claim 1, wherein the merging of the configuration file into the first workspace and/or the second workspace modifies at least one configuration for the information technology infrastructure, and wherein the at least one configuration is modified by at least setting and/or modifying, based at least on the configuration file, one or more variables associated with the first workspace and/or the second workspace (Gao [Paragraph 0062, if the order is to be modified, the mechanism of the present invention receives a modify order initiated from a modified catalog item created by the catalog designer (step 824) and sends the modify order to the service provisioning system using the same or additional deployment parameters with the original order (step 826). For example, a catalog item of email account service may be modified with a catalog item that adds additional storage space to the email account. After the modify order is initiated, the service provisioning system then modifies the existing application instance using the modify order parameters (step 828). Thus, the process terminates thereafter]).
Response to Arguments
Applicant’s arguments with respect to claims 1-9 have been considered but are moot because the arguments do not apply to the previous cited sections of the references used in the previous office action. The current office action is now citing additional references to address the newly added claimed limitations.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AMIR SOLTANZADEH whose telephone number is (571)272-3451. The examiner can normally be reached M-F, 9am - 5pm 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, Wei Mui can be reached at (571) 272-3708. 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.
/AMIR SOLTANZADEH/Examiner, Art Unit 2191 /WEI Y MUI/Supervisory Patent Examiner, Art Unit 2191