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 .
Information Disclosure Statement
The information disclosure statements (IDS) submitted on 02/16/2024, 07/07/2025, 10/24/2025, 01/26/2026, 03/02/2026, 04/14/2026, and 6/11/2026 are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1, 11, and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Jacob et al. (US 20160043968, pub. 02/11/2016); hereinafter “Jacob”, and in view of Naik et al. ('An architecture for the coordination of system management services', pub. 2004); hereinafter "Naik".
Regarding independent claim 1, Jacob discloses:
A method for managing services provided by data processing systems using a management system, the method comprising:
generating instructions for provisioning services within an infrastructure boundary set up for one or more of the data processing systems (see paragraph 138, “As shown in the embodiment depicted in FIG. 8, at step 842, upon receiving an order for a new subscription, order orchestration module 822 sends a request to order provisioning module 824 to allocate resources and configure resources needed to fulfill the subscription order”).
generating, using the instructions, context data and placement rules for the services to be provisioned within the infrastructure boundary, the placement rules being based on the context data. (see paragraph 76, “In some embodiments, a resource definition may be identified based on one or more criteria for computing resources indicated in resource request 330. The criteria may include a number of resources, a type of service requested (e.g., a service for deployment), a type of resources, or a type of use (e.g., production, development, or testing)”); Jacob’s resource definition is equivalent to context data because it teaches contextual information about the request service that is defined by the request for provisioning a service. (see paragraph 77, “Policy manager 312 may be configured to determine a placement policy for configuration of a set of computing resources requested by a resource request. In some embodiments, one or more criteria (e.g., placement configuration 334) may be included in resource request 330. The criteria in a resource request may be used to determine a placement policy from amongst placement policies 326.”) Jacob’s placement policy is equivalent to placement rules because they teach the configuration rules and limitations of the services being provisioned. (see paragraph 79,” Resource allocation module 318 may allocate, using a placement policy and a resource definition of a policy definition, computing resources from resource pool 310. A resource definition may be used to determine computing resources to allocate in resource pool 310. A configuration of the computing resources may be determined based on the placement policy of a policy definition selected based on a resource request.”) Jacob’s placement rules and context data are determined by the information included in the request to provision a service.
and transmitting the instructions to the one or more of the data processing systems to cause the one or more of the data processing systems to provision the services (see paragraph 80, “For example, resource allocation module 318 may communicate with geographically separated data centers to allocate computing resources according to a placement policy where the placement policy indicates allocation to different geographical locations”). Jacob teaches the instructions being sent to different data centers that are geographically separated.
Jacob does not disclose:
storing the context data in a context repository and the placement rules in a placement rule repository;
However, Naik discloses:
storing the context data in a context repository and the placement rules in a placement rule repository (see page 85, lines 1-4, “An Active Repository is actually a collection of three repositories: a Component Repository, a Profile Repository, and a Policy Repository.”); The context repository is equivalent to Naik’s component repository because they both store information about the requirements and dependencies of services (see page 86, paragraph 3, lines 4 – 7 “Associated with each component are rules representing requirements, dependencies, and knowledge-base assertions for each stage in their life cycle.”). The placement repository is equivalent to Naik’s policy repository, because they both store information about how services are placed in a system (see page 86, paragraph 5, lines 3 – 5 “One example of a customer policy is how often a new version of a software package is to be rolled out to its users”).
Naik and Jacob are analogous arts, because they are about the architecture of system management services. It would have been obvious to one of ordinary skill before the effective filing date of the claimed invention to combine the teachings of Jacob with the feature of data collection taught by Naik, with the motivation to alleviate how complex, error-prone, and training-/labor-intensive system management tasks are, as disclosed in Naik page 78.
Regarding independent claim 11, Jacob teaches:
A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations for managing services provided by data processing systems using a management system (see paragraph 153, “Computer-readable storage media 922 may store programming and data constructs that provide the functionality of some embodiments.”), that performs the actions of claim 1.
Regarding independent claim 16, Jacob teaches:
A management system comprising:
a processor; and a memory coupled to the processor to store instructions, which when executed by the processor, cause the processor to perform operations for managing services provided by data processing systems using the management system (see paragraph 153 “Software (programs, code modules, instructions) that when executed by processing subsystem 904 a processor provide the functionality described above may be stored in storage subsystem 918.”), the operations comprising the details of claim 1.
Claims 2 - 8, 12 - 15, 17 - 20 are rejected under 35 U.S.C. 103 as being unpatentable over the combination of Jacob, and Naik as applied to claim 1 above, and further in view of Ding et al. (US Pat. 9065783, Jun. 23, 2015); hereinafter "Ding".
Regarding claim 2, Jacob as modified by Naik does not teach:
prior to generating the instructions, obtaining capability data associated with the infrastructure boundary from an observability and serviceability repository,
wherein generating the instructions comprises using the capability data to generate the instructions, the placement rules being based on the context data and the capability data
However, Ding teaches:
prior to generating the instructions, obtaining capability data associated with the infrastructure boundary from an observability and serviceability repository (see column 3, lines 44 - 47, “As shown in automated process 200 of FIG. 2A, data collectors 172 collect performance data of computer system 100, and data collection tool (170) stores the performance data in data repository 180 (Block 205).”) Performance data is equivalent to capability data.
wherein generating the instructions comprises using the capability data to generate the instructions, (see column 3, lines 56 – 58, “With the performance data collected, recommendation tool 300 analyzes the collected data and generates a system operational profile 302 (Block 210).”). Ding teaches that this collected performance data is retrieved to be used in the generation process.
the placement rules being based on the context data and the capability data. Ding teaches provisioning polices that are equivalent to placement rules because they are rules that determine how a system in provisioned (see column 4, lines 34 – 36 “In general, the generated provisioning policies 304 define plans of action for guiding provisioning decisions to produce desired outcome”). The operational profile is equivalent to context data because it includes service requirements (see column 6, lines 9 – 14, “In embodiments discussed previously, the operational profile can characterize service levels in computer system (100) in a certain configuration and having a certain capacity, such as response times of servers when subjected to given workloads or the ability of servers to process given workloads or throughputs.”). Ding’s provisioning policies are based on the performance data and operational profile (see column 4, lines 22 – 25, “Based on the operational profile 302 and the received SLOs 102, recommendation tool 300 generates a set of provisioning policies 304 for use in provisioning the computer system's resources (Block 220).”)
Jacob as modified by Naik and Ding are analogous arts, because they are about the arrangements for program control. It would have been obvious to one of ordinary skill before the effective filing date of the claimed invention to combine the teachings of Jacob as modified by Naik with the features of collecting performance data and creating a plan to update once a change as taught by Ding, with the motivation to automatically manage and provision a computer environment, as disclosed in Ding, column 1, lines 57 – 59.
Regarding dependent claim 3, Jacob teaches:
wherein the placement rules comprise a first set of rules and restrictions specifying where, how many, and what type of services can be provisioned within the infrastructure boundary (see paragraph 77, “The criteria in a resource request may be used to determine a placement policy from amongst placement policies 326. The criteria may include, without limitation, an organization (e.g., grouping) of computing resources, a geographical location for placement of computing resources, security isolation characteristics, sharing preferences (e.g., sharing or not sharing with users or other tenants), or an arrangement of particular types of computing resources (e.g., hypervisor to virtual machine allocation).”) Jacob’s policy definition is equivalent to the placement rules. It includes information about the place, quantity and type of resource to allocate.
Regarding dependent claim 4, Jacob teaches:
wherein the placement rules further comprise a second set of rules and restrictions associated with workload placement and distribution associated with services running within the infrastructure boundary including the services to be provisioned based on the instructions (see paragraph 77, “The criteria in a resource request may be used to determine a placement policy from amongst placement policies 326. The criteria may include, without limitation, an organization (e.g., grouping) of computing resources, a geographical location for placement of computing resources, security isolation characteristics, sharing preferences (e.g., sharing or not sharing with users or other tenants), or an arrangement of particular types of computing resources (e.g., hypervisor to virtual machine allocation).”). Jacob teaches that the distribution of the configuration of resources is included in the placement rules.
Regarding claim 5, Jacob teaches:
dynamically updating the placement rules for the infrastructure boundary based on detected changes to the capability data in the observability and serviceability repository and the context data in the context repository (see paragraph 78, “In some embodiments, policy update module 328 may dynamically create or modify policy definitions 320 based on previous resource requests. For example, policy update module 328 may create a new policy definition based on resource definitions and placement policies that are more frequently selected for resource requests. Based on a history of resources requested, policy update module 328 may create one or more new resource definitions and/or placement policies that more closely match criteria for resources that are requested.”) Jacob’s placement rules are updated due to changes in the context included in the criteria of a request.
Regarding dependent claim 6, Jacob teaches:
the context repository, the placement rule repository, and the observability and serviceability repository are all remote to the management system (see paragraph 113, “Distributed system 700 may also include one or more databases 714 and 716. These databases may provide a mechanism for storing information such as user interactions information, usage patterns information, adaptation rules information, and other information used by embodiments of the present invention. Databases 714 and 716 may reside in a variety of locations.” … “Alternatively, databases 714 and 716 may be remote from server 712 and in communication with server 712 via a network-based or dedicated connection.”)
Regarding dependent claim 7, Jacob teaches:
the context repository, the placement rule repository, and the observability and serviceability repository are all stored in the management system (see paragraph 113, “By way of example, one or more of databases 714 and 716 may reside on a non-transitory storage medium local to (and/or resident in) server 712.” … “Similarly, any necessary files for performing the functions attributed to server 712 may be stored locally on server 712 and/or remotely, as appropriate.”).
Regarding dependent claim 8, Jacob teaches:
the placement rule repository comprises placement rules associated with other infrastructure boundaries different from the infrastructure boundary (see paragraph 59, “Based on the definition, the requested resources can be allocated by a resource infrastructure system, e.g., resource pool 208. Resource pool 208 may include or may be implemented using one or more data centers. In some embodiments, resource pool 208 may be a hypervisor pool managed by a service provider (e.g., an IaaS provider). In some embodiments, resource pool 208 may include a plurality of resource pools that are distributed across multiple remote data centers. Further below with reference to FIG. 3 a resource pool is described in the context of resource management system 140. A placement of the plurality of computing resources may be established in resource pool 208 according to a placement configuration. The placement configuration may include characteristics for placement of computing resources requested by a user.”). The data centers Jacob discloses are equivalent to infrastructure boundaries. Information with more than one data center is included in the placement rules stored in the repository.
Regarding claims 12 - 15, Jacob teaches:
The non-transitory machine-readable medium of claim 11 (see paragraph 153, “Computer-readable storage media 922 may store programming and data constructs that provide the functionality of some embodiments.”), wherein the operations further comprise the features of claims 2 - 5.
Regarding claims 17 - 20, Jacob further teaches:
The management system of claim 16 (see paragraph 153 “Software (programs, code modules, instructions) that when executed by processing subsystem 904 a processor provide the functionality described above may be stored in storage subsystem 918.”), wherein the operations further comprise the features of claims 2 - 5.
Claims 9 and 10 are rejected under 35 U.S.C. 103 as being unpatentable over Jacob as modified by Naik and Ding as applied to claim 8 above, and further in view of Sahu et al. (US Pat. Pub. 20240314049, filed. 01/16/2024); hereinafter "Sahu".
Regarding dependent claim 9, Jacob teaches:
transmitting the first service update plan to the one or more of the data processing systems to cause the one or more of the data processing systems to execute the first service update plan (see paragraph 80, “For example, resource allocation module 318 may communicate with geographically separated data centers to allocate computing resources according to a placement policy where the placement policy indicates allocation to different geographical locations”).
generating a first service update plan for the infrastructure boundary based on, at least, the context data of the infrastructure boundary, and the placement rules of the infrastructure boundary. (see paragraph 76, “In some embodiments, a resource definition may be identified based on one or more criteria for computing resources indicated in resource request 330. The criteria may include a number of resources, a type of service requested (e.g., a service for deployment), a type of resources, or a type of use (e.g., production, development, or testing)”); Jacob’s resource definition is equivalent to context data because it teaches contextual information about the request service that is defined by the request for provisioning a service. (see paragraph 77, “Policy manager 312 may be configured to determine a placement policy for configuration of a set of computing resources requested by a resource request. In some embodiments, one or more criteria (e.g., placement configuration 334) may be included in resource request 330. The criteria in a resource request may be used to determine a placement policy from amongst placement policies 326.”) Jacob’s placement policy is equivalent to placement rules because they teach the configuration rules and limitations of the services being provisioned. (see paragraph 79,” Resource allocation module 318 may allocate, using a placement policy and a resource definition of a policy definition, computing resources from resource pool 310. A resource definition may be used to determine computing resources to allocate in resource pool 310. A configuration of the computing resources may be determined based on the placement policy of a policy definition selected based on a resource request.”) Jacob’s placement rules and context data are determined by the information included in the request to provision a service.
Further, Ding teaches:
generating a first service update plan for the infrastructure boundary based on, at least, the capability data of the infrastructure boundary. (see column 3, lines 56 – 58, “With the performance data collected, recommendation tool 300 analyzes the collected data and generates a system operational profile 302 (Block 210).”) (see column 4, lines 22 – 25, “Based on the operational profile 302 and the received SLOs 102, recommendation tool 300 generates a set of provisioning policies 304 for use in provisioning the computer system's resources (Block 220).”).
Jacob as modified by Naik and Ding do not teach:
after transmitting the instructions, detecting that a change to existing services within the infrastructure boundary is required;
in response to the detecting, generating a first service update plan for the infrastructure boundary based on, at least, the placement rules associated with the other infrastructure boundaries different from the infrastructure boundary;
However, Sahu discloses:
after transmitting the instructions, detecting that a change to existing services within the infrastructure boundary is required (see paragraph 36, “At the next step 304 of the method 300, the one or more hardware processors 108 are configured by the programmed instructions to analyze the allocation of each of the one or more user centers and each of the one or more web services to one or more data centers to identify a non-compliance to the set of data residency regulations and a change in a predefined latency threshold for web services based on one or more user demands”). Sahu teaches that a required change that has been identified.
in response to the detecting, generating a first service update plan for the infrastructure boundary based on, at least, the placement rules associated with the other infrastructure boundaries different from the infrastructure boundary (see paragraphs 40 – 41 “But change in DR regulations require specific allocation of user centers or deployment of web services to be migrated. This makes it necessary to have separate migration modules apart from the latency minimization module (which also involves migration scenarios). At the next step 308 of the method 300, the one or more hardware processors 108 are configured by the programmed instructions to identify at least one of the one or more data centers which are compliant to the DR regulations and compliant with the predefined latency threshold for web services based on one or more user demands.”). A latency threshold is equivalent to a placement rule because they are both restrictions that pertain to the workload associated with the services. A plan is made based on the thresholds of one or more data centers, equivalent to multiple infrastructure boundaries.
Jacob as modified by Naik and Ding, and Sahu are analogous because they are about arranging program control for network arrangements that support network services or applications. It would have been obvious to one of ordinary skill before the effective filing date of the claimed invention to combine the teachings of Jacob as modified by Naik and Ding with the feature of creating a plan to update the plan using different infrastructures to prevent a negative impact as taught by Sahu, with the motivation to comply with data regulations and maintain quality of service, as disclosed in Sahu, paragraph 2.
Regarding dependent claim 10, Jacob as modified by Naik and Ding does not teach:
making a first determination, using the placement rules of the infrastructure boundary, that the required change to the existing services within the infrastructure boundary cannot be implemented for the infrastructure boundary without causing a negative impact on the infrastructure boundary
making a second determination, in response to the first determination and using the placement rules associated with the other infrastructure boundaries different from the infrastructure boundary, that the required change to the existing services within the infrastructure boundary can be implemented for the infrastructure boundary without causing the negative impact on the infrastructure boundary by using the infrastructure boundary and at least one of the other infrastructure boundaries different from the infrastructure boundary
and in response to the second determination, generating a second service update plan for the at least one of the other infrastructure boundaries different from the infrastructure boundary in addition to the first service update plan,
wherein the first service update plan is transmitted to the infrastructure boundary and the second service update plan is transmitted to the at least one of the other infrastructure boundaries different from the infrastructure boundary
However, Sahu discloses:
making a first determination, using the placement rules of the infrastructure boundary, that the required change to the existing services within the infrastructure boundary cannot be implemented for the infrastructure boundary without causing a negative impact on the infrastructure boundary (see paragraph 39, “At the next step 306 of the method 300, the one or more hardware processors are configured by the programmed instructions to determine an impact on the one or more user centers and on the one or more web services based on the non-compliance to the set of data residency regulations and the change in a predefined latency threshold for web services based on one or more user demands” ... “It is to be noted that the non-compliance due to change in the user demands results? in an increased invocation frequency and a violation of a predefined quality of service.”). Sahu’s user request is equivalent to the required change. Placement rules comprise of both context and capability data. Server latency is a performance metric, and capability data includes information about performance. Sahu teaches making a determination that the user request will cause negative impact, by checking the latency threshold.
making a second determination, in response to the first determination and using the placement rules associated with the other infrastructure boundaries different from the infrastructure boundary, that the required change to the existing services within the infrastructure boundary can be implemented for the infrastructure boundary without causing the negative impact on the infrastructure boundary by using the infrastructure boundary and at least one of the other infrastructure boundaries different from the infrastructure boundary (see paragraph 41, “At the next step 308 of the method 300, the one or more hardware processors are configured by the programmed instructions to identify at least one of the one or more data centers which are compliant to the DR regulations and compliant with the predefined latency threshold for web services based on one or more user demands.” ). Sahu teaches that the capability/latency threshold of other infrastructure boundaries is checked, to determine if they can make the change while remaining compliant to their regulations.
and in response to the second determination, generating a second service update plan for the at least one of the other infrastructure boundaries different from the infrastructure boundary in addition to the first service update plan,
wherein the first service update plan is transmitted to the infrastructure boundary and the second service update plan is transmitted to the at least one of the other infrastructure boundaries different from the infrastructure boundary (see paragraph 42, “At the next step 310 of the method 300, the one or more hardware processors 108 are configured by the programmed instructions to migrate at least one of (1) the impacted one or more user centers, or (2) the impacted one or more web services to the identified at least one of the one or more compliant data centers”). In response to Sahu’s second determination, the change is made, informing the first data center and the other data center of the new plan.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Yang et al. (10142174, pub. Nov. 27, 2018) discloses the method of automatically provisioning cloud services by determining a provisioning plan and applying policy-based error handling.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Ulunma K. Egwim whose telephone number is (571)270-0922. The examiner can normally be reached M-T, 7:30am-5pm; F 7:30am-4pm EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, April Blair can be reached at (571) 270-1014. 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.
/ULUNMA K. EGWIM/Examiner, Art Unit 2196
/APRIL Y BLAIR/Supervisory Patent Examiner, Art Unit 2196