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 .
This action is responsive to the Applicant’s amendments filed on 12/31/2025. Claims 1 and 3-20 remain pending in the application. Claims 1, 3, 6, and 16 have been amended. Claim 2 has been canceled. Any examiner’s note, objection, and rejection not repeated is withdrawn due to Applicant’s amendment.
Information Disclosure Statement
The information disclosure statements (IDS) submitted on 04/20/2023, 01/11/2024, 05/31/2024, 09/30/2024, 11/14/2024, 03/14/2024, 04/03/2025, 04/21/2025, 07/10/2025, and 09/11/2025 are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statements are being considered by the examiner.
Examiner’s Note
The Examiner cites particular columns, paragraphs, figures, and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may also apply. It is respectfully requested that, in preparing responses, the Applicant fully consider the references in its entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the Examiner.
Claim Objections
Claim 4 is objected to because of the following informalities: “wherein the determination and the second determination are based on the threshold value”, the underlined determination should read “first determination”. Appropriate correction is required.
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.
Claims 1 and 3-5 are rejected under 35 U.S.C. 103 as being unpatentable over Badam et al. (US 20230061136 A1) hereafter Badam in view of Chamberlin et al. (US 20230251701 A1) hereafter Chamberlin, further in view of Featonby et al. (US 20200310853 A1) hereafter Featonby, further in view of Zhang et al. (US 11487878 B1) hereafter Zhang, further in view of Kunz et al. hereafter Kunz (US 20240184652 A1).
Regarding claim 1, Badam teaches:
performing a first forecast of sustainable energy information for each of the plurality of data centers, wherein a first data center of the plurality of data centers is forecasted to be provided with a greater share of sustainable energy than a second data center of the plurality of data centers, wherein the first forecast is based on weather data for each of the plurality of data centers and a historical data relating weather and power generated (Paragraph 27, 29-33; “The patterns of energy production for those two energy sources will be different depending on the local weather”, “Solar and wind energy source may provide complementary patterns of energy production”, and “The global scheduler may be configured to leverage the different patterns of energy supply of the respective compute clusters”. One compute cluster can be forecasted to receive a greater share of renewable energy than another at a given time, which utilizes the variability in renewable energy across locations to make routing decisions. “The different patterns of energy supply 34 for the local energy sources 18 of the plurality of compute clusters 14 may be estimated by an energy supply forecaster 36 executed by the one or more processors 22 of the server system 20. The energy supply forecaster 36 may be configured to retrieve weather data from external and internal databases, such as, for example, the European Meteorological Derived High Resolution Renewable Energy Source (EMHIRES) database. It should be appreciated that the server system 20 may be configured to retrieve weather and meteorological data from any suitable database that may include past and current weather data.”, past weather data for each of the compute clusters utilized to identify patterns of energy supply corresponding to historical data relating weather and power generated, and Paragraph 18 discloses that compute clusters may be data centers, “Each compute cluster 14 may take the form of a small data center”).
application instances (Paragraph 22; “Each server device of the server system 20 may include one or more processors 22 that provide cloud platform services for server-executed software programs 24, which may take the form of cloud applications developed and controlled by a client of the cloud platform”, where each virtual machine represents a distinct independent execution environment which corresponds to application instances as they are separate, independently operable instances managed by a global scheduler.);
instantiating, based on the forecast, a first plurality of application instances of the application in the first data center (Paragraph 25; “After assigning each server-executed software program 24 with a set of compute clusters 24, the server system 20 sends data for the virtual machines 26 for those server-executed software programs 24 to the assigned compute clusters 24... Each compute cluster 14 may individually spin up or spin down the local instance of the virtual machine 26 based on a current or future energy level provided by the local energy source 18. The local scheduler 16 executed by each compute cluster 14 may be configured to adjust a compute load on the compute cluster 14 based on the current or future energy level provided by the local energy source 18. Additionally, when the current or future energy level provided by the local energy source 18 drops below a threshold level, such as the energy provided by a solar energy source at night time, then the local scheduler 16 of that compute cluster 14 may be configured to manage migration of data to another compute cluster 14“, where each VM corresponds to an application instance that represents a separate executable instance of the server executable software program. Compute clusters correspond to the first data center, and VMs are instantiated based on the energy level forecasts, corresponding to instantiation based on the first forecast. The disclosure supports dynamic instantiation at multiple compute clusters, “Each compute cluster 14 may individually spin up or spin down the local instance of the virtual machine 26 based on a current or future energy level”, satisfying the plurality requirement.);
making a first determination that one of the first plurality of application instances comprises sufficient resources to service an incoming request (Paragraph 25; “Each compute cluster 14 may individually spin up or spin down the local instance of the virtual machine 26 based on a current or future energy level provided by the local energy source 18. The local scheduler 16 executed by each compute cluster 14 may be configured to adjust a compute load on the compute cluster 14 based on the current or future energy level provided by the local energy source 18” shows that each VM is monitored for available resources, the compute capacity linked to energy level, before it can perform tasks. The local scheduler therefore assesses whether an instance can handle incoming compute requests given the current/projected energy level, corresponding to the determination that one of the first plurality of application instances comprises sufficient resources to service an incoming request.);
and routing, based on the first determination, an incoming request to one of the first plurality of application instances (Paragraph 25; “when the current or future energy level provided by the local energy source 18 drops below a threshold level, such as the energy provided by a solar energy source at night time, then the local scheduler 16 of that compute cluster 14 may be configured to manage migration of data to another compute cluster 14 that was also assigned to that server-executed software program 24, such as a compute cluster that is powered by a wind energy source”. After determining available resources for each VM, the system directs compute tasks, corresponding to incoming requests, to clusters or instances that can handle them, corresponding to the routing, based on the determination, an incoming request to one of the first plurality of application instances, because the local scheduler routes the workload to an instance with sufficient capacity.).
Badam does not teach performing a second forecast of system resource utilization and associated power needs for an application; the instantiation is based on both the first and second forecasts; instantiating a second plurality of application instances of the application in the second data center; or explicitly determining that there are sufficient resources.
However, Chamberlin teaches:
performing a second forecast of system resource utilization and associated power needs for an application, wherein the second forecast is based on power consumed by the application (Paragraphs 18, 29-30; where “resource utilization associated with the task” corresponds to forecasting system resource utilization because the scheduler evaluates in advance how much resources each task will consume to optimize timing. “Forecasted to have worse energy characteristics” and “sustainability forecast” corresponds to forecasting associated power needs because the scheduler predicts, corresponding to forecasting, energy availability and environmental impact to determine when tasks should execute. Paragraph 18 further discloses “a computing device has various associated functionality, including, but not limited to, executing applications, executing background services, operating or otherwise utilizing peripheral devices, and/or drawing from or charging an associated battery. Such functionality may have associated energy consumption. For example, executing a background service may increase the relative energy consumption of the computing device and, by extension, the amount of energy drawn from an energy grid”. While it explicitly discloses a background service causing higher energy consumption, it further discloses alternative functionality in which “executing applications” is an alternative input related to relative energy consumption. Therefore, application execution power consumption being contemplated suggests the forecast taught by Paragraphs 29-30 may be based on power consumed by an application in at least one embodiment.).
Badam and Chamberlin are considered to be analogous to the claimed invention because they are in the same field of resource management. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Badam to incorporate the teachings of Chamberlin and also utilize a forecast of system resource utilization and power needs for instantiating application instances. A person of ordinary skill in the art would have recognized that such a forecast would allow a system to better predict which data centers would be optimal to deploy on, thus improving system reliability.
Badam in view of Chamberlin does not teach instantiating a second plurality of application instances of the application in the second data center.
However, Featonby teaches:
instantiating a second plurality of application instances of the application in the second data center (Paragraph 98; “computing devices 402 may be positioned in data centers located across different geographic regions… and provide computing resources that are allocated amongst different VM instances”, which teaches provisioning workloads on a plurality of VM instances across geographically distributed data centers);
resource sufficiency determination (Paragraph 46; “The optimization service may place the workloads on VM instances to help ensure that the workloads have sufficient amounts of computing resources available, of the types of computing resources needed, to help avoid over constrained VM instance types and workloads” corresponds to determining whether the application instance has sufficient resources to handle a ask because the optimization service explicitly evaluates VM instances against resource sufficiency before assigning workloads).
Badam, Chamberlin, and Featonby are considered to be analogous to the claimed invention because they are in the same field of resource management. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Badam in view of Chamberlin to incorporate the teachings of Featonby and instantiate a second plurality of application instances in a second data center, and further determine that there are sufficient resources to do so. A person of ordinary skill in the art would have recognized that cloud computing systems may want to deploy applications across multiple data centers for redundancy and latency optimization purposes. Further, determining that there are sufficient resources to allow for deployment would have been known to improve system reliability.
Badam in view of Chamberlin further in view of Featonby does not teach making a second determination that all of the first plurality of application instances are servicing the maximum number of requests; and routing, based on the second determination, a second incoming request to one of the second plurality of application instances.
However, Zhang teaches:
making a second determination that all of the first plurality of application instances are servicing the maximum number of requests (Col. 2, lines 49-57; “Generally, users register for users accounts with the service provider network and purchase, or otherwise reserve, a number of machine instances required to serve (e.g., process, execute, etc.) a maximum number of concurrent requests. For example, a user may request that the service provider network reserve or allocate VM instances to be readily available to be spun up, or called, to serve a maximum number of concurrent requests that are served at least partially at a same time”, where the ability for a user to request reservation or allocation of VM instances to serve a maximum number of requests implies that a system is capable of determining when all instances are fully inundated with requests).
Badam, Chamberlin, Featonby, and Zhang are considered to be analogous to the claimed invention because they are in the same field of resource management. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Badam in view of Chamberlin further in view of Featonby to incorporate the teachings of Zhang and make a determination that all of the first plurality of application instances are servicing the maximum number of requests. A person of ordinary skill in the art would recognize that this would support system availability in cloud-based networks.
Badam in view of Chamberlin further in view of Featonby, further in view of Zhang does not teach routing, based on the second determination, a second incoming request to one of the second plurality of application instances.
However, Kunz teaches:
routing, based on the second determination, a second incoming request to one of the second plurality of application instances (Paragraph 33; “A load balancer 207 then may route incoming requests from the user interface 202 to whichever microservice application instance 206A, 206B it determines would process it best (such as which is the least busy)”, where the various microservice application instances correspond to the second plurality of application instances).
Badam, Chamberlin, Featonby, Zhang, and Kunz are considered to be analogous to the claimed invention because they are in the same field of resource management. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Badam in view of Chamberlin further in view of Featonby further in view of Zhang to incorporate the teachings of Kunz and route an incoming request to one of the second plurality of application instances based on the determination method taught by Zhang. A person of ordinary skill in the art would have recognized the need to route tasks to other instances in the event a resource is servicing a maximum number of requests. Rerouting tasks would have been a predictable design decision to improve system reliability.
Regarding claim 3, Badam in view of Chamberlin, further in view of Featonby, further in view of Zhang, further in view of Kunz teaches the method of claim 1. Badam teaches:
the first forecast (Paragraph 27; “The different patterns of energy supply 34 for the local energy sources 18 of the plurality of compute clusters 14 may be estimated by an energy supply forecaster 36 executed by the one or more processors 22 of the server system 20. The energy supply forecaster 36 may be configured to retrieve weather data from external and internal databases”);
setting a threshold value for each application instance based on the first forecast (Paragraphs 52, 55-56; “virtual machines 26 of server-executed software programs 32 may be preemptively migrated when the predicted pattern of energy supply 34 indicates that energy supply for that compute cluster 14 will dip below a threshold value”, “optimization engine 66 may be configured to generate an energy usage policy 74 for the compute cluster 14 increasing or decreasing compute resources provided by the compute cluster 14 to the server-executed software programs 24 being run by that compute cluster 14. The energy usage policy 74 may be generate at least in part based on the renewable energy policies 44”, and “local scheduler 16 may be configured to increase or decreases a compute resource availability provided to virtual machines 26 by that compute cluster 14 based on an estimation of an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18”. The forecasted energy supply is used to generate an energy usage policy that is used as a condition to trigger actions when predicted energy falls below the threshold energy supply for the compute cluster. Because the threshold defines when actions occur and the actions are governed by the policy derived from the forecast, the threshold value is set as part of the forecast-based policy and applied to each VM, corresponding to each application instance.).
Chamberlin teaches:
the second forecast (Paragraphs 29 and 30; where “resource utilization associated with the task” corresponds to forecasting system resource utilization because the scheduler evaluates in advance how much resources each task will consume to optimize timing. “Forecasted to have worse energy characteristics” and “sustainability forecast” corresponds to forecasting associated power needs because the scheduler predicts, corresponding to forecasting, energy availability and environmental impact to determine when tasks should execute).
Regarding claim 4, Badam in view of Chamberlin, further in view of Featonby, further in view of Zhang, further in view of Kunz teach the method of claim 3. Badam teaches:
wherein the determination is based on the threshold value (Paragraphs 54-56; “time series forecaster 64 may be configured estimate an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18 in the future based on a historical pattern of energy 70 that have been provided by the local energy source 18”, “local scheduler 16 may be configured to increase or decreases a compute resource availability provided to virtual machines 26 by that compute cluster 14 based on an estimation of an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18 in the future”. The threshold value is represented by the energy usage policy which sets limits on the compute resources for each server-executed VM, corresponding to a threshold per application instance. The determination therefore uses the energy usage policy as the controlling parameter tying the evaluation of available resources to the threshold set by the energy usage policy.).
Zhang teaches:
the second determination (Col. 2, lines 49-57; “Generally, users register for users accounts with the service provider network and purchase, or otherwise reserve, a number of machine instances required to serve (e.g., process, execute, etc.) a maximum number of concurrent requests. For example, a user may request that the service provider network reserve or allocate VM instances to be readily available to be spun up, or called, to serve a maximum number of concurrent requests that are served at least partially at a same time”, where the ability for a user to request reservation or allocation of VM instances to serve a maximum number of requests implies that a system is capable of determining when all instances are fully inundated with requests).
Regarding claim 5, Badam in view of Chamberlin, further in view of Featonby, further in view of Zhang, further in view of Kunz teach the method of claim 3. Badam teaches:
the first plurality of application instances is the maximum number of application instances based on the first forecast and the threshold value (Paragraphs 54-56; “time series forecaster 64 may be configured estimate an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18 in the future based on a historical pattern of energy 70 that have been provided by the local energy source 18”, “optimization engine 66 may be configured to generate an energy usage policy 74 for the compute cluster 14 increasing or decreasing compute resources provided by the compute cluster 14 to the server-executed software programs 24 being run by that compute cluster 14.”, and “local scheduler 16 may be configured to increase or decreases a compute resource availability provided to virtual machines 26 by that compute cluster 14 based on an estimation of an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18 in the future”. The set of VMs correspond to the first plurality of application instances and the limit on VMs instantiated per compute cluster as determined by the energy usage policy corresponds to the maximum number of application instances. Time series forecaster predicts energy availability and based on that, sets the threshold within the energy usage policy, corresponding to being based on the first forecast and the threshold value.).
Chamberlin teaches:
the second forecast (Paragraphs 29 and 30; where “resource utilization associated with the task” corresponds to forecasting system resource utilization because the scheduler evaluates in advance how much resources each task will consume to optimize timing. “Forecasted to have worse energy characteristics” and “sustainability forecast” corresponds to forecasting associated power needs because the scheduler predicts, corresponding to forecasting, energy availability and environmental impact to determine when tasks should execute).
Claims 6-9 and 14-18 are rejected under 35 U.S.C. 103 as unpatentable over Badam in view of Chamberlin, further in view of Featonby.
Regarding claim 6, Badam teaches:
performing a first forecast of sustainable energy information for each of the plurality of data centers, wherein a first data center of the plurality of data centers is forecasted to be provided with a greater share of sustainable energy than a second data center of the plurality of data centers, wherein the first forecast is based on weather data for each of the plurality of data centers and a historical data relating weather and power generated (Paragraph 27, 29-33; “The patterns of energy production for those two energy sources will be different depending on the local weather”, “Solar and wind energy source may provide complementary patterns of energy production”, and “The global scheduler may be configured to leverage the different patterns of energy supply of the respective compute clusters”. One compute cluster can be forecasted to receive a greater share of renewable energy than another at a given time, which utilizes the variability in renewable energy across locations to make routing decisions. “The different patterns of energy supply 34 for the local energy sources 18 of the plurality of compute clusters 14 may be estimated by an energy supply forecaster 36 executed by the one or more processors 22 of the server system 20. The energy supply forecaster 36 may be configured to retrieve weather data from external and internal databases, such as, for example, the European Meteorological Derived High Resolution Renewable Energy Source (EMHIRES) database. It should be appreciated that the server system 20 may be configured to retrieve weather and meteorological data from any suitable database that may include past and current weather data.”, past weather data for each of the compute clusters utilized to identify patterns of energy supply corresponding to historical data relating weather and power generated, and Paragraph 18 discloses that compute clusters may be data centers, “Each compute cluster 14 may take the form of a small data center”).
application instances (Paragraph 22; “Each server device of the server system 20 may include one or more processors 22 that provide cloud platform services for server-executed software programs 24, which may take the form of cloud applications developed and controlled by a client of the cloud platform”, where each virtual machine represents a distinct independent execution environment which corresponds to application instances as they are separate, independently operable instances managed by a global scheduler.);
instantiating, based on the forecast, a first plurality of application instances of the application in the first data center (Paragraph 25; “After assigning each server-executed software program 24 with a set of compute clusters 24, the server system 20 sends data for the virtual machines 26 for those server-executed software programs 24 to the assigned compute clusters 24... Each compute cluster 14 may individually spin up or spin down the local instance of the virtual machine 26 based on a current or future energy level provided by the local energy source 18. The local scheduler 16 executed by each compute cluster 14 may be configured to adjust a compute load on the compute cluster 14 based on the current or future energy level provided by the local energy source 18. Additionally, when the current or future energy level provided by the local energy source 18 drops below a threshold level, such as the energy provided by a solar energy source at night time, then the local scheduler 16 of that compute cluster 14 may be configured to manage migration of data to another compute cluster 14“, where each VM corresponds to an application instance that represents a separate executable instance of the server executable software program. Compute clusters correspond to the first data center, and VMs are instantiated based on the energy level forecasts, corresponding to instantiation based on the first forecast. The disclosure supports dynamic instantiation at multiple compute clusters, “Each compute cluster 14 may individually spin up or spin down the local instance of the virtual machine 26 based on a current or future energy level”, satisfying the plurality requirement.);
wherein a first number of the first plurality of application instances of the application and a second number of the second plurality of application instances of the application are based on the first forecast (Paragraphs 53-56; “global scheduler 28 may be configured to distribute the virtual machines 26 onto compute clusters 14 in the assigned subset 30 of compute clusters 14 to minimize total power usage”, “time series forecaster 64 may be configured estimate an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18 in the future based on a historical pattern of energy 70 that have been provided by the local energy source 18”, “local scheduler 16 may be configured to increase or decreases a compute resource availability provided to virtual machines 26 by that compute cluster 14 based on an estimation of an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18 in the future”. The VMs instantiated on each compute cluster correspond to a first and second plurality of application instances. The time series forecaster that predicts energy supply for each compute cluster is the basis on which the number of VMs is distributed to each cluster, corresponding to being based on the first forecast.);
Badam does not teach performing a second forecast of system resource utilization and associated power needs for an application.
However, Chamberlin teaches:
performing a second forecast of system resource utilization and associated power needs for an application, wherein the second forecast is based on power consumed by the application (Paragraphs 18, 29-30; where “resource utilization associated with the task” corresponds to forecasting system resource utilization because the scheduler evaluates in advance how much resources each task will consume to optimize timing. “Forecasted to have worse energy characteristics” and “sustainability forecast” corresponds to forecasting associated power needs because the scheduler predicts, corresponding to forecasting, energy availability and environmental impact to determine when tasks should execute. Paragraph 18 further discloses “a computing device has various associated functionality, including, but not limited to, executing applications, executing background services, operating or otherwise utilizing peripheral devices, and/or drawing from or charging an associated battery. Such functionality may have associated energy consumption. For example, executing a background service may increase the relative energy consumption of the computing device and, by extension, the amount of energy drawn from an energy grid”. While it explicitly discloses a background service causing higher energy consumption, it further discloses alternative functionality in which “executing applications” is an alternative input related to relative energy consumption. Therefore, application execution power consumption being contemplated suggests the forecast taught by Paragraphs 29-30 may be based on power consumed by an application in at least one embodiment.).
Badam and Chamberlin are considered to be analogous to the claimed invention because they are in the same field of resource management. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Badam to incorporate the teachings of Chamberlin and also utilize a second forecast of system resource utilization and power needs for instantiating application instances, and further utilize the second forecast as a basis for the number of application instances. A person of ordinary skill in the art would have recognized that such a forecast would allow a system to better predict which data centers would be optimal to deploy on, thus improving system reliability.
Badam in view of Chamberlin does not teach instantiating a second plurality of application instances of the application in the second data center.
However, Featonby teaches:
instantiating a second plurality of application instances of the application in the second data center (Paragraph 98; “computing devices 402 may be positioned in data centers located across different geographic regions… and provide computing resources that are allocated amongst different VM instances”, which teaches provisioning workloads on a plurality of VM instances across geographically distributed data centers);
Badam, Chamberlin, and Featonby are considered to be analogous to the claimed invention because they are in the same field of resource management. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Badam in view of Chamberlin to incorporate the teachings of Featonby and instantiate a second plurality of application instances in a second data center, and further determine that there are sufficient resources to do so. A person of ordinary skill in the art would have recognized that cloud computing systems may want to deploy applications across multiple data centers for redundancy and latency optimization purposes.
Claim 16 recites similar limitations as those of claim 6, additionally reciting a non-transitory computer readable medium comprising computer readable program code. Featonby teaches:
a non-transitory computer readable medium comprising computer readable program code (Paragraph 89).
Claim 16 is rejected for similar reasons as those of claim 6.
Regarding claim 7, Badam in view of Chamberlin, further in view of Featonby teach the method of claim 6. Badam teaches:
the first forecast (Paragraph 27; “The different patterns of energy supply 34 for the local energy sources 18 of the plurality of compute clusters 14 may be estimated by an energy supply forecaster 36 executed by the one or more processors 22 of the server system 20. The energy supply forecaster 36 may be configured to retrieve weather data from external and internal databases”);
setting a threshold value for each application instance based on the first forecast (Paragraphs 52, 55-56; “virtual machines 26 of server-executed software programs 32 may be preemptively migrated when the predicted pattern of energy supply 34 indicates that energy supply for that compute cluster 14 will dip below a threshold value”, “optimization engine 66 may be configured to generate an energy usage policy 74 for the compute cluster 14 increasing or decreasing compute resources provided by the compute cluster 14 to the server-executed software programs 24 being run by that compute cluster 14. The energy usage policy 74 may be generate at least in part based on the renewable energy policies 44”, and “local scheduler 16 may be configured to increase or decreases a compute resource availability provided to virtual machines 26 by that compute cluster 14 based on an estimation of an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18”. The forecasted energy supply is used to generate an energy usage policy that is used as a condition to trigger actions when predicted energy falls below the threshold energy supply for the compute cluster. Because the threshold defines when actions occur and the actions are governed by the policy derived from the forecast, the threshold value is set as part of the forecast-based policy and applied to each VM, corresponding to each application instance.).
Chamberlin teaches:
the second forecast (Paragraphs 29 and 30; where “resource utilization associated with the task” corresponds to forecasting system resource utilization because the scheduler evaluates in advance how much resources each task will consume to optimize timing. “Forecasted to have worse energy characteristics” and “sustainability forecast” corresponds to forecasting associated power needs because the scheduler predicts, corresponding to forecasting, energy availability and environmental impact to determine when tasks should execute).
Regarding claim 8, Badam in view of Chamberlin, further in view of Featonby teach the method of claim 7. Badam teaches:
the first plurality of application instances is the maximum number of application instances based on the first forecast and the threshold value (Paragraphs 54-56; “time series forecaster 64 may be configured estimate an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18 in the future based on a historical pattern of energy 70 that have been provided by the local energy source 18”, “optimization engine 66 may be configured to generate an energy usage policy 74 for the compute cluster 14 increasing or decreasing compute resources provided by the compute cluster 14 to the server-executed software programs 24 being run by that compute cluster 14.”, and “local scheduler 16 may be configured to increase or decreases a compute resource availability provided to virtual machines 26 by that compute cluster 14 based on an estimation of an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18 in the future”. The set of VMs correspond to the first plurality of application instances and the limit on VMs instantiated per compute cluster as determined by the energy usage policy corresponds to the maximum number of application instances. Time series forecaster predicts energy availability and based on that, sets the threshold within the energy usage policy, corresponding to being based on the first forecast and the threshold value.).
Chamberlin teaches:
the second forecast (Paragraphs 29 and 30; where “resource utilization associated with the task” corresponds to forecasting system resource utilization because the scheduler evaluates in advance how much resources each task will consume to optimize timing. “Forecasted to have worse energy characteristics” and “sustainability forecast” corresponds to forecasting associated power needs because the scheduler predicts, corresponding to forecasting, energy availability and environmental impact to determine when tasks should execute).
Regarding claim 9, Badam in view of Chamberlin, further in view of Featonby teach the method of claim 7. Featonby teaches:
wherein the threshold value is based on one selected from the following: memory consumption, processing consumption, requests per second, power consumption, and network bandwidth (Paragraph 171; “The agent 1410 may collect configuration data 1418 such as memory utilization by processes running inside the VM instance 114”, memory utilization corresponding to the memory consumption element of the claimed list).
Regarding claim 17, Badam in view of Chamberlin, further in view of Featonby teach the non-transitory computer-readable medium of claim 16. Badam teaches:
the first plurality of application instances is the maximum number of application instances based on the first forecast and the threshold value (Paragraphs 54-56; “time series forecaster 64 may be configured estimate an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18 in the future based on a historical pattern of energy 70 that have been provided by the local energy source 18”, “optimization engine 66 may be configured to generate an energy usage policy 74 for the compute cluster 14 increasing or decreasing compute resources provided by the compute cluster 14 to the server-executed software programs 24 being run by that compute cluster 14.”, and “local scheduler 16 may be configured to increase or decreases a compute resource availability provided to virtual machines 26 by that compute cluster 14 based on an estimation of an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18 in the future”. The set of VMs correspond to the first plurality of application instances and the limit on VMs instantiated per compute cluster as determined by the energy usage policy corresponds to the maximum number of application instances. Time series forecaster predicts energy availability and based on that, sets the threshold within the energy usage policy, corresponding to being based on the first forecast and the threshold value.).
Chamberlin teaches:
the second forecast (Paragraphs 29 and 30; where “resource utilization associated with the task” corresponds to forecasting system resource utilization because the scheduler evaluates in advance how much resources each task will consume to optimize timing. “Forecasted to have worse energy characteristics” and “sustainability forecast” corresponds to forecasting associated power needs because the scheduler predicts, corresponding to forecasting, energy availability and environmental impact to determine when tasks should execute).
Regarding claim 14, Badam in view of Chamberlin, further in view of Featonby teach the method of claim 6. Badam teaches:
first forecast based on predicted weather data (Paragraphs 27, 49; “The different patterns of energy supply 34 for the local energy sources 18 of the plurality of compute clusters 14 may be estimated by an energy supply forecaster 36 executed by the one or more processors 22 of the server system 20. The energy supply forecaster 36 may be configured to retrieve weather data from external and internal databases”. Paragraph 49 further discloses “As weather predictions update, trends of patterns of energy supply update, and as executed of software programs complete and compute resources free up, the global scheduler 28 may be configured to perform the process shown in FIG. 5, and reassign subsets 30 of compute clusters 14 to the server-executed software programs 24.”.).
Regarding claim 15, Badam in view of Chamberlin, further in view of Featonby teach the method of claim 6. Chamberlin teaches:
wherein the second forecast is based on collected historical system resource utilization for the application (Paragraph 29; “It will be appreciated that the task scheduler may evaluate any of a variety of additional signals when scheduling a task, including, but not limited to, an amount of other tasks to schedule, task priority, and resource utilization associated with the task. In examples, a task having a higher resource utilization may be prioritized to be performed at the identified time over a task having a lower resource utilization, as performing the task having the lower resource utilization may have a comparatively lower impact when instead performed at a time that is forecasted to have worse energy characteristics” shows that the resource utilization of a task, corresponding to the application, is evaluated, and in order to be evaluated, the forecasted, corresponding to historical, utilization data must be collected);
and associated power needs (Paragraph 77; “The sustainability forecast may include a set of entries (e.g., according to a predetermined or a requested granularity), each of which may include one or more forecasted energy characteristics”).
It would have been obvious to a person of ordinary skill in the art to have combined the known idea of forecasted energy characteristics with tasks to identify the energy requirements of associated tasks. This would have yielded predictable result of optimizing task scheduling.
Regarding claim 18, Badam in view of Chamberlin, further in view of Featonby teach the non-transitory computer-readable medium of claim 16. Featonby teaches:
wherein the threshold value is based on one selected from the following: memory consumption, processing consumption, requests per second, power consumption, and network bandwidth (Paragraph 171; “The agent 1410 may collect configuration data 1418 such as memory utilization by processes running inside the VM instance 114”, memory utilization corresponding to the memory consumption element of the claimed list).
Claims 10, 12, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Badam in view of Chamberlin, further in view of Featonby, further in view of Kunz.
Regarding claim 10, Badam in view of Chamberlin, further in view of Featonby teach the method of claim 7.
Badam teaches:
performing actions based on the first forecast and the threshold value (Paragraph 54-56; “time series forecaster 64 may be configured estimate an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18 in the future based on a historical pattern of energy 70 that have been provided by the local energy source 18”, “optimization engine 66 may be configured to generate an energy usage policy 74 for the compute cluster 14 increasing or decreasing compute resources provided by the compute cluster 14 to the server-executed software programs 24 being run by that compute cluster 14. The energy usage policy 74 may be generate at least in part based on the renewable energy policies 44”, and “local scheduler 16 may be configured to increase or decreases a compute resource availability provided to virtual machines 26 by that compute cluster 14 based on an estimation of an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18”. The forecasted energy supply is used to generate an energy usage policy that is used as a condition to trigger actions when predicted energy falls below the threshold energy supply for the compute cluster. Because the threshold defines when actions occur and the actions are governed by the policy derived from the forecast, the threshold value is set as part of the forecast-based policy and applied to each VM, corresponding to each application instance.).
Chamberlin teaches:
the second forecast (Paragraphs 29 and 30; where “resource utilization associated with the task” corresponds to forecasting system resource utilization because the scheduler evaluates in advance how much resources each task will consume to optimize timing. “Forecasted to have worse energy characteristics” and “sustainability forecast” corresponds to forecasting associated power needs because the scheduler predicts, corresponding to forecasting, energy availability and environmental impact to determine when tasks should execute).
Badam in view of Chamberlin, further in view of Featonby does not teach routing an incoming request to one of the first plurality of application instances or to one of the second plurality of application instances.
However, Kunz teaches:
routing an incoming request to one of the first plurality of application instances or to one of the second plurality of application instances (Paragraph 33; “A load balancer 207 then may route incoming requests from the user interface 202 to whichever microservice application instance 206A, 206B it determines would process it best (such as which is the least busy)”, where the load balancer performs the routing of the explicitly disclosed incoming requests to a particular application instance).
Badam, Chamberlin, Featonby, and Kunz are considered to be analogous to the claimed invention because they are in the same field of resource management. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Badam in view of Chamberlin further in view of Featonby to incorporate the teachings of Kunz and route requests based on the first forecast and threshold of Badam, second forecast of Chamberlin, through the load balancer of Kunz that routes incoming requests to a particular application instance. A person of ordinary skill in the art would have been motivated by the need to select an application instance that is capable of processing the request in a timely matter yielding the predictable result of improved response times.
Regarding claim 12, Badam in view of Chamberlin, further in view of Featonby, further in view of Kunz teaches the method of claim 10.
Badam teaches:
not exceeding a threshold value (Paragraphs 55-56; “optimization engine 66 may be configured to generate an energy usage policy 74 for the compute cluster 14 increasing or decreasing compute resources provided by the compute cluster 14 to the server-executed software programs 24 being run by that compute cluster 14.”, “local scheduler 16 may be configured to increase or decreases a compute resource availability provided to virtual machines 26 by that compute cluster 14 based on an estimation of an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18 in the future”. The forecasted energy supply is used to set the resource allocation which acts as a threshold for how much workload can be processed. The forecast-driven resource allocation constrains the workload such that the upper limit of workloads on the VMs, corresponding to application instances, is enforced, thereby not exceeding a threshold value.).
Badam in view of Chamberlin, further in view of Featonby does not teach determining, before routing, that routing the incoming request would not cause at least one of the first plurality of application instances to exceed the corresponding threshold value.
However, Kunz teaches:
determining, before routing, that routing the incoming request would not cause at least one of the first plurality of application instances to exceed the corresponding threshold value (Paragraph 33; “A load balancer 207 then may route incoming requests from the user interface 202 to whichever microservice application instance 206A, 206B it determines would process it best (such as which is the least busy)” shows routing to the least busy instance, corresponding to having determined which instance is least busy prior to routing, implying that routing to this particular instance would not exceed a threshold of being too busy to process a request).
Badam, Chamberlin, Featonby, and Kunz are considered to be analogous to the claimed invention because they are in the same field of resource management. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Badam in view of Chamberlin further in view of Featonby to incorporate the teachings of Kunz and determine before routing that routing the incoming request would not cause one of the first plurality of application instances to exceed the threshold. A person of ordinary skill in the art would have recognized routing tasks to available instances corresponding to those that don’t exceed a given threshold to be a known method in the art yielding the predictable result of not routing requests to resources that may risk exceeding its capacity.
Regarding claim 19, Badam in view of Chamberlin, further in view of Featonby teach the non-transitory computer-readable medium of claim 16.
Badam teaches:
performing actions based on the first forecast and the threshold value (Paragraph 54-56; “time series forecaster 64 may be configured estimate an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18 in the future based on a historical pattern of energy 70 that have been provided by the local energy source 18”, “optimization engine 66 may be configured to generate an energy usage policy 74 for the compute cluster 14 increasing or decreasing compute resources provided by the compute cluster 14 to the server-executed software programs 24 being run by that compute cluster 14. The energy usage policy 74 may be generate at least in part based on the renewable energy policies 44”, and “local scheduler 16 may be configured to increase or decreases a compute resource availability provided to virtual machines 26 by that compute cluster 14 based on an estimation of an energy supply 68 that will be provided to that compute cluster 14 by the local energy source 18”. The forecasted energy supply is used to generate an energy usage policy that is used as a condition to trigger actions when predicted energy falls below the threshold energy supply for the compute cluster. Because the threshold defines when actions occur and the actions are governed by the policy derived from the forecast, the threshold value is set as part of the forecast-based policy and applied to each VM, corresponding to each application instance.).
Chamberlin teaches:
the second forecast (Paragraphs 29 and 30; where “resource utilization associated with the task” corresponds to forecasting system resource utilization because the scheduler evaluates in advance how much resources each task will consume to optimize timing. “Forecasted to have worse energy characteristics” and “sustainability forecast” corresponds to forecasting associated power needs because the scheduler predicts, corresponding to forecasting, energy availability and environmental impact to determine when tasks should execute).
Badam in view of Chamberlin, further in view of Featonby does not teach routing an incoming request to one of the first plurality of application instances or to one of the second plurality of application instances.
However, Kunz teaches:
routing an incoming request to one of the first plurality of application instances or to one of the second plurality of application instances (Paragraph 33; “A load balancer 207 then may route incoming requests from the user interface 202 to whichever microservice application instance 206A, 206B it determines would process it best (such as which is the least busy)”, where the load balancer performs the routing of the explicitly disclosed incoming requests to a particular application instance).
Badam, Chamberlin, Featonby, and Kunz are considered to be analogous to the claimed invention because they are in the same field of resource management. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Badam in view of Chamberlin further in view of Featonby to incorporate the teachings of Kunz and route requests based on the first forecast and threshold of Badam, second forecast of Chamberlin, through the load balancer of Kunz that routes incoming requests to a particular application instance. A person of ordinary skill in the art would have been motivated by the need to select an application instance that is capable of processing the request in a timely matter yielding the predictable result of improved response times
Claims 11 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Badam in view of Chamberlin, further in view of Featonby, further in view of Kunz, further in view of Zhang.
Regarding claim 11, Badam in view of Chamberlin, further in view of Featonby teaches the method of claim 10. Kunz teaches:
routing, based on the second determination, a second incoming request to one of the second plurality of application instances (Paragraph 33; “A load balancer 207 then may route incoming requests from the user interface 202 to whichever microservice application instance 206A, 206B it determines would process it best (such as which is the least busy)”, where the various microservice application instances correspond to the second plurality of application instances).
Badam, Chamberlin, Featonby, and Kunz are considered to be analogous to the claimed invention because they are in the same field of resource management. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Badam in view of Chamberlin further in view of Featonby further in view of Zhang to incorporate the teachings of Kunz and route an incoming request to one of the second plurality of application instances. A person of ordinary skill in the art would have recognized the need to route tasks to other instances in the event a resource is servicing a maximum number of requests. Rerouting tasks would have been a predictable design decision to improve system reliability.
Badam in view of Chamberlin further in view of Featonby does not teach making a second determination that all of the first plurality of application instances are servicing the maximum number of requests; and routing, based on the second determination, a second incoming request to one of the second plurality of application instances.
However, Zhang teaches:
making a second determination that all of the first plurality of application instances are servicing the maximum number of requests (Col. 2, lines 49-57; “Generally, users register for users accounts with the service provider network and purchase, or otherwise reserve, a number of machine instances required to serve (e.g., process, execute, etc.) a maximum number of concurrent requests. For example, a user may request that the service provider network reserve or allocate VM instances to be readily available to be spun up, or called, to serve a maximum number of concurrent requests that are served at least partially at a same time”, where the ability for a user to request reservation or allocation of VM instances to serve a maximum number of requests implies that a system is capable of determining when all instances are fully inundated with requests).
Badam, Chamberlin, Featonby, Kunz, and Zhang are considered to be analogous to the claimed invention because they are in the same field of resource management. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Badam in view of Chamberlin further in view of Featonby, further in view of Kunz to incorporate the teachings of Zhang and make a determination that all of the first plurality of application instances are servicing the maximum number of requests. A person of ordinary skill in the art would recognize that the implementation of such would yield the predictable result of supporting system availability in cloud-based networks.
Regarding claim 20, Badam in view of Chamberlin, further in view of Featonby, further in view of Kunz teaches the non-transitory computer-readable medium of claim 10. Kunz teaches:
routing, based on the second determination, a second incoming request to one of the second plurality of application instances (Paragraph 33; “A load balancer 207 then may route incoming requests from the user interface 202 to whichever microservice application instance 206A, 206B it determines would process it best (such as which is the least busy)”, where the various microservice application instances correspond to the second plurality of application instances).
Badam, Chamberlin, Featonby, Zhang, and Kunz are considered to be analogous to the claimed invention because they are in the same field of resource management. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Badam in view of Chamberlin further in view of Featonby further in view of Zhang to incorporate the teachings of Kunz and route an incoming request to one of the second plurality of application instances based on the determination method taught by Zhang. A person of ordinary skill in the art would have recognized the need to route tasks to other instances in the event a resource is servicing a maximum number of requests. Rerouting tasks would have been a known method whose implementation would yield the predictable result of improved system reliability.
Badam in view of Chamberlin further in view of Featonby further in view of Kunz does not teach making a second determination that all of the first plurality of application instances are servicing the maximum number of requests; and routing, based on the second determination, a second incoming request to one of the second plurality of application instances.
However, Zhang teaches:
making a second determination that all of the first plurality of application instances are servicing the maximum number of requests (Col. 2, lines 49-57; “Generally, users register for users accounts with the service provider network and purchase, or otherwise reserve, a number of machine instances required to serve (e.g., process, execute, etc.) a maximum number of concurrent requests. For example, a user may request that the service provider network reserve or allocate VM instances to be readily available to be spun up, or called, to serve a maximum number of concurrent requests that are served at least partially at a same time”, where the ability for a user to request reservation or allocation of VM instances to serve a maximum number of requests implies that a system is capable of determining when all instances are fully inundated with requests).
Badam, Chamberlin, Featonby, Kunz, and Zhang are considered to be analogous to the claimed invention because they are in the same field of resource management. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Badam in view of Chamberlin further in view of Featonby further in view of Kunz to incorporate the teachings of Zhang and make a determination that all of the first plurality of application instances are servicing the maximum number of requests. A person of ordinary skill in the art would recognize that this would support system availability in cloud-based networks.
Claim 13 is rejected under 35 U.S.C. 103 as being unpatentable over Badam in view of Chamberlin, further in view of Featonby, further in view of Coutinho Moraes et al. (US 20220365824 A1) hereafter Coutinho Moraes.
Regarding claim 13, Badam in view of Chamberlin, further in view of Featonby teach the method of claim 6. Badam teaches:
application instances (Paragraph 22; “Each server device of the server system 20 may include one or more processors 22 that provide cloud platform services for server-executed software programs 24, which may take the form of cloud applications developed and controlled by a client of the cloud platform”, where each virtual machine represents a distinct independent execution environment which corresponds to application instances as they are separate, independently operable instances managed by a global scheduler).
Badam in view of Chamberlin further in view of Featonby does not teach auto-scaling each application instance of the first and second plurality of application instances.
However, Coutinho Moraes teaches:
auto-scaling each application instance of the first and second plurality of application instances (Paragraph 14; “To provide automatic scaling of a distributed software application that is more responsive while mitigating the computational cost of automatic scaling, a scaling control subsystem receives self-perceived load indicators from instances of the distributed software application themselves”, where the instances of the distributed software application correspond to the applicant’s first and second plurality of application instances).
Badam, Chamberlin, Featonby, and Coutinho Moraes are considered to be analogous to the claimed invention because they are in the same field of resource management. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Badam in view of Chamberlin further in view of Featonby to incorporate the teachings of Coutinho Moraes and auto-scaled each application instance of the first and second plurality of application instances. A person of ordinary skill in the art would have been motivated by the need to automatically instantiate additional application instances when demand increases.
Response to Arguments
Applicant's arguments filed 12/31/2025 have been fully considered but they are not persuasive. Applicant’s arguments are summarized below:
The prior art of record fails to disclose or render obvious each and every limitation of independent claims 1, 6, and 16, in light of the amendments.
Claims 12-14 are submitted as allowable for at least the above reasons.
All other dependent claims are submitted as allowable for at least the above reasons.
Examiner’s response:
The examiner respectfully disagrees that the rejection of claim 2, now incorporated into claim 1, fails to teach those particular limitations. With respect to Zhang, the cited passage (Col. 2, lines 49-57) teaches reserving VMs, corresponding to application instances, to service a maximum number of concurrent requests. Therefore, the system may determine when all of the reserved instances are servicing their maximum number of requests, because the reference explicitly identifies a maximum concurrency per instance. With respect to Kunz, the cited passage (Paragraph 33) discloses a load balancer that routes incoming requests to one of a set of microservices, corresponding to application instances, based on their current load, corresponding to determining which instances can handle additional requests. This corresponds to performing routing of a second incoming request to one of the second plurality of application instances because the load balancer may select from multiple such instances according to availability, satisfying the decision before routing function of the claim. The examiner agrees that the prior art of record (Applicant’s arguments towards Jonnalagadda, Chamberlin, Featonby, Zhang, Kunz, and Tibrewal) does not teach the amended portion of claim 1, except for the limitations incorporated from claim 2. Accordingly, the previous rejection of claim 1 under 35 U.S.C. 103 is withdrawn. However, in view of the amendments to claim 1, a new ground(s) of rejection is made in light of Badam, Chamberlin, Featonby, Zhang, and Kunz, under 35 U.S.C. 103.
Independent claims 1 and 6 remain rejected for the reasons stated above. Therefore, contrary to Applicant's arguments, because dependent claims 12-14 depend from an unpatentable claim and does not add limitations that overcome the rejection, it likewise remains rejected.
Independent claims 1, 6, and 16 remain rejected for the reasons stated above. Therefore, contrary to Applicant's arguments, because the dependent claims depend from an unpatentable claim and does not add limitations that overcome the rejection, it likewise remains rejected.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Rajamani et al. (US 20200310885 A1) discusses optimizing the number of active servers over time by determining computing capacity, forecasting historical resource needs, and using the combination to determine the number of active servers in the future.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KENNETH P TRAN whose telephone number is (571)272-6926. The examiner can normally be reached M-TH 4:30 a.m. - 12:30 p.m. PT, F 4:30 a.m. - 8:30 a.m. PT, or at Kenneth.Tran@uspto.gov.
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.
/KENNETH P TRAN/ Examiner, Art Unit 2196
/APRIL Y BLAIR/ Supervisory Patent Examiner, Art Unit 2196