DETAILED ACTION
This action is in response to the amendment filed 12/16/2025. Claims 1-20 are pending and have been examined.
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 .
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Regarding Claim 1:
Subject Matter Eligibility Analysis Step 1:
Claim 1 recites a system comprising a processor and is thus an apparatus, one of the four statutory categories of patentable subject matter.
Subject Matter Eligibility Analysis Step 2A Prong 1:
Claim 1 recites
Prioritize use of one of the first candidate server and the second candidate server (This limitation is a mental process as it encompasses a human mentally ranking one server over another server.)
Generate feedback for the resource optimizer indicating whether the second candidate server was used for container placement (This limitation is a mental process as it encompasses a human mentally generating feedback indicating whether the server was used.)
Therefore, claim 1 recites an abstract idea.
Subject Matter Eligibility Analysis Step 2A Prong 2:
Claim 1 further recites additional elements of
A system, comprising: a processor; and a memory storing instructions, which when executed by the processor, cause the processor to …prioritize use of one of the first candidate server and the second candidate server (This element does not integrate the abstract idea into a practical application because it recites generic computing components on which to perform the abstract idea (see MPEP 2106.05(f)).)
receive a first candidate server from an available resource finder and a second candidate server from a resource optimizer (This element does not integrate the abstract idea into a practical application because it recites insignificant extra-solution activity of data gathering (see MPEP 2106.05(g)).)
implement a server allocator to prioritize use of one of the first candidate server and the second candidate server (This element does not integrate the abstract idea into a practical application because it amounts to mere “apply it on a computer” (see MPEP 2106.05(f)).)
send the feedback to the resource optimizer (This element does not integrate the abstract idea into a practical application because it recites insignificant extra-solution activity of data gathering (see MPEP 2106.05(g)).)
Therefore, claim 1 is not integrated into a practical application.
Subject Matter Eligibility Analysis Step 2B:
The additional elements of claim 1 do not provide significantly more than the abstract idea itself, taken alone and in combination because
A system, comprising: a processor; and a memory storing instructions, which when executed by the processor, cause the processor to …prioritize use of one of the first candidate server and the second candidate server uses a computer as a tool to perform the abstract idea and cannot provide significantly more (see MPEP 2106.05(f)).
receive a first candidate server from an available resource finder and a second candidate server from a resource optimizer is the well understood, routine, and conventional activity of “transmitting or receiving data over a network” (see MPEP 2106.05(d)(II); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network)).
implement a server allocator to prioritize use of one of the first candidate server and the second candidate server uses a computer as a tool to perform the abstract idea and cannot provide significantly more (see MPEP 2106.05(f)).
Send the feedback to the resource optimizer is the well understood, routine, and conventional activity of “transmitting or receiving data over a network” (see MPEP 2106.05(d)(II); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network)).
Therefore, claim 1 is subject-matter ineligible.
Regarding Claim 2:
Subject Matter Eligibility Analysis Step 2A Prong 1:
Claim 2 recites the same abstract ideas as claim 1. Therefore, claim 2 recites an abstract idea.
Subject Matter Eligibility Analysis Step 2A Prong 2:
Claim 2 further recites additional elements of
wherein the resource optimizer comprises a deep reinforcement learning model. (This element does not integrate the abstract idea into a practical application because it recites generic computing components on which to perform the abstract idea (see MPEP 2106.05(f)).)
Therefore, claim 2 is not integrated into a practical application.
Subject Matter Eligibility Analysis Step 2B:
The additional elements of claim 2 do not provide significantly more than the abstract idea itself, taken alone and in combination because
wherein the resource optimizer comprises a deep reinforcement learning model uses a computer as a tool to perform the abstract idea and cannot provide significantly more (see MPEP 2106.05(f)).
Therefore, claim 2 is subject-matter ineligible.
Regarding Claim 3:
Subject Matter Eligibility Analysis Step 2A Prong 1:
Claim 3 recites
wherein the feedback indicates that the second candidate server was used for container placement. (This limitation is a mental process as it encompasses a human mentally indicating that a server was used for placement.)
Therefore, claim 3 recites an abstract idea.
Subject Matter Eligibility Analysis Step 2A Prong 2:
Claim 3 does not further recite any additional elements. Therefore, claim 3 is not integrated into a practical application.
Subject Matter Eligibility Analysis Step 2B:
Since there are no additional elements, claim 3 does not provide significantly more than the abstract idea itself, taken alone and in combination. Therefore, claim 3 is subject-matter ineligible.
Regarding Claim 4:
Subject Matter Eligibility Analysis Step 2A Prong 1:
Claim 4 recites the same abstract ideas as claim 1. Therefore, claim 4 recites an abstract idea.
Subject Matter Eligibility Analysis Step 2A Prong 2:
Claim 4 further recites additional elements of
wherein a request to receive the first candidate server from the available resource finder and a request to receive the second candidate server from the resource optimizer are transmitted in parallel (This element does not integrate the abstract idea into a practical application because it recites insignificant extra-solution activity of data gathering (see MPEP 2106.05(g)).)
Therefore, claim 4 is not integrated into a practical application.
Subject Matter Eligibility Analysis Step 2B:
The additional elements of claim 4 do not provide significantly more than the abstract idea itself, taken alone and in combination because
wherein a request to receive the first candidate server from the available resource finder and a request to receive the second candidate server from the resource optimizer are transmitted in parallel is the well understood, routine, and conventional activity of “transmitting or receiving data over a network” (see MPEP 2106.05(d)(II); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network)).
Therefore, claim 4 is subject-matter ineligible.
Regarding Claim 5:
Subject Matter Eligibility Analysis Step 2A Prong 1:
Claim 5 recites
prioritize the second candidate server if the second candidate server is valid. (This limitation is a mental process as it encompasses a human mentally prioritizing a server.)
Therefore, claim 5 recites an abstract idea.
Subject Matter Eligibility Analysis Step 2A Prong 2:
Claim 5 further recites additional elements of
wherein the instructions, which when executed by the processor, cause the processor to: …prioritize the second candidate server (This element does not integrate the abstract idea into a practical application because it recites generic computing components on which to perform the abstract idea (see MPEP 2106.05(f)).)
receive a request to initialize a container (This element does not integrate the abstract idea into a practical application because it recites insignificant extra-solution activity of data gathering (see MPEP 2106.05(g)).)
Therefore, claim 5 is not integrated into a practical application.
Subject Matter Eligibility Analysis Step 2B:
The additional elements of claim 5 do not provide significantly more than the abstract idea itself, taken alone and in combination because
wherein the instructions, which when executed by the processor, cause the processor to: …prioritize the second candidate server uses a computer as a tool to perform the abstract idea and cannot provide significantly more (see MPEP 2106.05(f)).
receive a request to initialize a container is the well understood, routine, and conventional activity of “transmitting or receiving data over a network” (see MPEP 2106.05(d)(II); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network)).
Therefore, claim 5 is subject-matter ineligible.
Regarding Claim 6:
Subject Matter Eligibility Analysis Step 2A Prong 1:
Claim 6 recites
address a time-dependency tradeoff (This limitation is a mental process as it encompasses a human mentally addressing a time-dependency tradeoff.)
Therefore, claim 6 recites an abstract idea.
Subject Matter Eligibility Analysis Step 2A Prong 2:
Claim 6 further recites additional elements of
wherein the instructions, which when executed by the processor, cause the processor to …address a time-dependency tradeoff (This element does not integrate the abstract idea into a practical application because it generic computing components on which to perform the abstract idea (see MPEP 2106.05(f)).)
implement a hybrid scheduler to address a time-dependency tradeoff (This element does not integrate the abstract idea into a practical application because it amounts to mere “apply it on a computer” (see MPEP 2106.05(f)).)
the hybrid scheduler comprising the server allocator, the resource optimizer, and the available resource finder (This element does not integrate the abstract idea into a practical application because it recites generic computing components on which to perform the abstract idea (see MPEP 2106.05(f)).)
Therefore, claim 6 is not integrated into a practical application.
Subject Matter Eligibility Analysis Step 2B:
The additional elements of claim 6 do not provide significantly more than the abstract idea itself, taken alone and in combination because
wherein the instructions, which when executed by the processor, cause the processor to: …prioritize the second candidate server uses a computer as a tool to perform the abstract idea and cannot provide significantly more (see MPEP 2106.05(f)).
implement a hybrid scheduler to address a time-dependency tradeoff uses a computer as a tool to perform the abstract idea and cannot provide significantly more (see MPEP 2106.05(f)).
the hybrid scheduler comprising the server allocator, the resource optimizer, and the available resource finder uses a computer as a tool to perform the abstract idea and cannot provide significantly more (see MPEP 2106.05(f)).
Therefore, claim 6 is subject-matter ineligible.
Regarding Claim 7:
Subject Matter Eligibility Analysis Step 2A Prong 1:
Claim 7 recites
evaluate a similarity across two versions of recurrently trained distributed inference models. (This limitation is a mental process as it encompasses a human mentally evaluating a similarity across two versions of models.)
Therefore, claim 7 recites an abstract idea.
Subject Matter Eligibility Analysis Step 2A Prong 2:
Claim 7 further recites additional elements of
wherein the instructions, which when executed by the processor, cause the processor to … evaluate a similarity across two versions of recurrently trained distributed inference models. (This element does not integrate the abstract idea into a practical application because it generic computing components on which to perform the abstract idea (see MPEP 2106.05(f)).)
Therefore, claim 7 is not integrated into a practical application.
Subject Matter Eligibility Analysis Step 2B:
The additional elements of claim 7 do not provide significantly more than the abstract idea itself, taken alone and in combination because
wherein the instructions, which when executed by the processor, cause the processor to: …prioritize the second candidate server uses a computer as a tool to perform the abstract idea and cannot provide significantly more (see MPEP 2106.05(f)).
Therefore, claim 7 is subject-matter ineligible.
Regarding Claim 8:
Subject Matter Eligibility Analysis Step 1:
Claim 8 recites a method and is thus a method, one of the four statutory categories of patentable subject matter.
Subject Matter Eligibility Analysis Step 2A Prong 1:
Claim 8 recites
Prioritize use of one of the first candidate server and the second candidate server (This limitation is a mental process as it encompasses a human mentally ranking one server over another server.)
Generating feedback for the resource optimizer indicating whether the second candidate was used for container placement (This limitation is a mental process as it encompasses a human mentally generating feedback indicating whether the server was used.)
Therefore, claim 8 recites an abstract idea.
Subject Matter Eligibility Analysis Step 2A Prong 2:
Claim 8 further recites additional elements of
A method of serving distributed inference deep learning (DL) models in serverless computing (This element does not integrate the abstract idea into a practical application because it recites a technological environment in which to apply a judicial exception (see MPEP 2106.05(h)).)
receiving a first candidate server from an available resource finder and a second candidate server from a resource optimizer (This element does not integrate the abstract idea into a practical application because it recites insignificant extra-solution activity of data gathering (see MPEP 2106.05(g)).)
implementing a server allocator to prioritize use of one of the first candidate server and the second candidate server (This element does not integrate the abstract idea into a practical application because it amounts to mere “apply it on a computer” (see MPEP 2106.05(f)).)
send the feedback to the resource optimizer (This element does not integrate the abstract idea into a practical application because it recites insignificant extra-solution activity of data gathering (see MPEP 2106.05(g)).)
Therefore, claim 8 is not integrated into a practical application.
Subject Matter Eligibility Analysis Step 2B:
The additional elements of claim 8 do not provide significantly more than the abstract idea itself, taken alone and in combination because
A method of serving distributed inference deep learning (DL) models in serverless computing specifies a particular technological environment to perform the abstract idea and cannot provide significantly more (see MPEP 2106.05(h)).
receiving a first candidate server from an available resource finder and a second candidate server from a resource optimizer is the well understood, routine, and conventional activity of “transmitting or receiving data over a network” (see MPEP 2106.05(d)(II); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network)).
implementing a server allocator to prioritize use of one of the first candidate server and the second candidate server uses a computer as a tool to perform the abstract idea and cannot provide significantly more (see MPEP 2106.05(f)).
Send the feedback to the resource optimizer is the well understood, routine, and conventional activity of “transmitting or receiving data over a network” (see MPEP 2106.05(d)(II); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network)).
Therefore, claim 8 is subject-matter ineligible.
Regarding claim 9, claim 9 recites substantially similar limitations to claim 2, and is therefore rejected under the same analysis.
Regarding claim 10, claim 10 recites substantially similar limitations to claim 3, and is therefore rejected under the same analysis.
Regarding claim 11, claim 11 recites substantially similar limitations to claim 4, and is therefore rejected under the same analysis.
Regarding Claim 12:
Subject Matter Eligibility Analysis Step 2A Prong 1:
Claim 12 recites
Determining that the second candidate server is valid (This limitation is a mental process as it encompasses a human mentally determining that a server is valid.)
prioritizing the second candidate server based on determining that the second candidate server is valid. (This limitation is a mental process as it encompasses a human mentally prioritizing a server.)
Therefore, claim 12 recites an abstract idea.
Subject Matter Eligibility Analysis Step 2A Prong 2:
Claim 12 further recites additional elements of
receiving a request to initialize a container (This element does not integrate the abstract idea into a practical application because it recites insignificant extra-solution activity of data gathering (see MPEP 2106.05(g)).)
Therefore, claim 12 is not integrated into a practical application.
Subject Matter Eligibility Analysis Step 2B:
The additional elements of claim 12 do not provide significantly more than the abstract idea itself, taken alone and in combination because
receiving a request to initialize a container is the well understood, routine, and conventional activity of “transmitting or receiving data over a network” (see MPEP 2106.05(d)(II); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network)).
Therefore, claim 12 is subject-matter ineligible.
Regarding claim 13, claim 13 recites substantially similar limitations to claim 7, and is therefore rejected under the same analysis.
Regarding claim 14, claim 14 recites substantially similar limitations to claim 6, and is therefore rejected under the same analysis.
Regarding Claim 15:
Subject Matter Eligibility Analysis Step 1:
Claim 15 recites a non-transitory computer-readable storage medium and is thus an article of manufacture, one of the four statutory categories of patentable subject matter.
Subject Matter Eligibility Analysis Step 2A Prong 1:
Claim 15 recites
Prioritize use of one of the first candidate server and the second candidate server (This limitation is a mental process as it encompasses a human mentally ranking one server over another server.)
Generating feedback for the resource optimizer indicating whether the second candidate was used for container placement (This limitation is a mental process as it encompasses a human mentally generating feedback indicating whether the server was used.)
Therefore, claim 15 recites an abstract idea.
Subject Matter Eligibility Analysis Step 2A Prong 2:
Claim 15 further recites additional elements of
A non-transitory computer-readable storage medium having an executable stored thereon, which when executed instructs a processor to: …prioritize use of one of the first candidate server and the second candidate server (This element does not integrate the abstract idea into a practical application because it recites generic computing components on which to perform the abstract idea (see MPEP 2106.05(f)).)
receive a request to initialize a container (This element does not integrate the abstract idea into a practical application because it recites insignificant extra-solution activity of data gathering (see MPEP 2106.05(g)).)
receive a first candidate server from an available resource finder and a second candidate server from a resource optimizer (This element does not integrate the abstract idea into a practical application because it recites insignificant extra-solution activity of data gathering (see MPEP 2106.05(g)).)
implement a server allocator to prioritize use of one of the first candidate server and the second candidate server (This element does not integrate the abstract idea into a practical application because it amounts to mere “apply it on a computer” (see MPEP 2106.05(f)).)
send the feedback to the resource optimizer (This element does not integrate the abstract idea into a practical application because it recites insignificant extra-solution activity of data gathering (see MPEP 2106.05(g)).)
Therefore, claim 15 is not integrated into a practical application.
Subject Matter Eligibility Analysis Step 2B:
The additional elements of claim 15 do not provide significantly more than the abstract idea itself, taken alone and in combination because
A non-transitory computer-readable storage medium having an executable stored thereon, which when executed instructs a processor to: …prioritize use of one of the first candidate server and the second candidate server uses a computer as a tool to perform the abstract idea and cannot provide significantly more (see MPEP 2106.05(f)).
receive a request to initialize a container is the well understood, routine, and conventional activity of “transmitting or receiving data over a network” (see MPEP 2106.05(d)(II); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network)).
receive a first candidate server from an available resource finder and a second candidate server from a resource optimizer is the well understood, routine, and conventional activity of “transmitting or receiving data over a network” (see MPEP 2106.05(d)(II); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network)).
implement a server allocator to prioritize use of one of the first candidate server and the second candidate server uses a computer as a tool to perform the abstract idea and cannot provide significantly more (see MPEP 2106.05(f)).
Send the feedback to the resource optimizer is the well understood, routine, and conventional activity of “transmitting or receiving data over a network” (see MPEP 2106.05(d)(II); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network)).
Therefore, claim 15 is subject-matter ineligible.
Regarding claim 16, claim 16 recites substantially similar limitations to claim 2, and is therefore rejected under the same analysis.
Regarding Claim 17:
Subject Matter Eligibility Analysis Step 2A Prong 1:
Claim 17 recites the same abstract ideas as claim 15. Therefore, claim 17 recites an abstract idea.
Subject Matter Eligibility Analysis Step 2A Prong 2:
Claim 17 further recites additional elements of
wherein the first candidate server and the second candidate server are the same (This element does not integrate the abstract idea into a practical application because it recites insignificant extra-solution activity of data gathering by further clarifying the data gathered in claim 15 (see MPEP 2106.05(g)).)
Therefore, claim 17 is not integrated into a practical application.
Subject Matter Eligibility Analysis Step 2B:
The additional elements of claim 17 do not provide significantly more than the abstract idea itself, taken alone and in combination because
wherein the first candidate server and the second candidate server are the same is the well understood, routine, and conventional activity of “transmitting or receiving data over a network” since this limitation is further clarifying the data transmitted in claim 15 (see MPEP 2106.05(d)(II); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network)).
Therefore, claim 17 is subject-matter ineligible.
Regarding claim 18, claim 18 recites substantially similar limitations to claim 4, and is therefore rejected under the same analysis.
Regarding Claim 19:
Subject Matter Eligibility Analysis Step 2A Prong 1:
Claim 19 recites
prioritize the second candidate server if the second candidate server is valid. (This limitation is a mental process as it encompasses a human mentally prioritizing a server.)
Therefore, claim 19 recites an abstract idea.
Subject Matter Eligibility Analysis Step 2A Prong 2:
Claim 19 further recites additional elements of
wherein the executable when executed instructs a processor to …prioritize the second candidate server (This element does not integrate the abstract idea into a practical application because it generic computing components on which to perform the abstract idea (see MPEP 2106.05(f)).)
Therefore, claim 19 is not integrated into a practical application.
Subject Matter Eligibility Analysis Step 2B:
The additional elements of claim 19 do not provide significantly more than the abstract idea itself, taken alone and in combination because
wherein the executable when executed instructs a processor to …prioritize the second candidate server uses a computer as a tool to perform the abstract idea and cannot provide significantly more (see MPEP 2106.05(f)).
Therefore, claim195 is subject-matter ineligible.
Regarding Claim 20:
Subject Matter Eligibility Analysis Step 2A Prong 1:
Claim 20 recites the same abstract ideas as claim 15. Therefore, claim 20 recites an abstract idea.
Subject Matter Eligibility Analysis Step 2A Prong 2:
Claim 20 further recites additional elements of
wherein the hybrid scheduler comprising the server allocator, the resource optimizer, and the available resource finder (This element does not integrate the abstract idea into a practical application because it recites generic computing components on which to perform the abstract idea (see MPEP 2106.05(f)).)
Therefore, claim 20 is not integrated into a practical application.
Subject Matter Eligibility Analysis Step 2B:
The additional elements of claim 20 do not provide significantly more than the abstract idea itself, taken alone and in combination because
wherein the hybrid scheduler comprising the server allocator, the resource optimizer, and the available resource finder uses a computer as a tool to perform the abstract idea and cannot provide significantly more (see MPEP 2106.05(f)).
Therefore, claim 20 is subject-matter ineligible.
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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claim(s) 1-3, 5-6, 8-10, 12, and 14-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sethi in view of Gan et al. (US 2021/0158083 A1) (hereafter referred to as Gan).
Regarding claim 1, Sethi teaches
A system, comprising: a processor; and memory storing instructions, which when executed by the processor, cause the processor to receive a first candidate server (Sethi, page 13, paragraph 0007, “Further illustrative embodiments are provided in the form of a non-transitory computer-readable storage medium having embodied therein executable program code that when executed by a processor causes the processor to perform the above steps. Still further illustrative embodiments comprise an apparatus with a processor and a memory configured to perform the above steps.”):
receive a first candidate server from an available resource finder and a second candidate server from a resource optimizer (Sethi, page 16, paragraph 0048, “Machine learning is used to perform component analysis 222 to generate a priority list 285. As described herein, machine learning techniques prioritize the servers by, for example, analyzing applications installed on the servers, current system health information and/or system load and/or traffic including, for example, utilization percentages to generate the server priority list 285.” Examiner notes that the machine learning component analysis is the resource finder and the resource optimizer. Examiner further notes that both the first and second candidate servers are received from the prioritized list of servers which is generated by the machine learning component analysis.);
implement a server allocator to prioritize use of one of the first candidate server and the second candidate server (Sethi, page 16-17, paragraph 0052, “The available power 235 from the power sources 170 that are still able to provide power following a power limiting event is provided to server group 1 260-1, which in this example, represents servers that are higher on the priority list 285 than those servers in server group 2 260-2. Using the power distributor 232-1, which is the same as or an element of the power distribution engine 132 in FIG. 1, the available power 235 is distributed to the servers in server group 1 260-1 according to the priority list 285” where “an example server priority table 300 comprises a priority list of a plurality of servers listed in descending order of priority” (Sethi, page 16, paragraph 0046). Examiner notes that the server allocator is the power distributor and both a first and second candidate server are in server group 1. Examiner further notes that the priority list prioritizes servers in descending order of priority and would prioritize one of the first candidate server and the second candidate server.);
generate feedback for the resource optimizer indicating whether the second candidate server was used … (Sethi, page 15, paragraph 0036, “a data collection engine 121/421 (also referred to herein as a ‘data collector’) collects performance data from system hardware components, such as, for example, servers of the server groups 160. The performance data includes, but is not necessarily limited to, hardware capacity and availability data 423 comprising, for example, memory usage and available free memory of the system hardware components, application/task data 425 comprising applications and/or tasks running on the system hardware components, system health data 427 available from system log data, and system utilization data 429 comprising, for example, system traffic data and system load data” where “the data collector 721 continuously monitors and collects the performance data 780, which is applied to a time series model, such as the ARIMA model, to analyze the data to generate the real-time system priority list 782. The real-time system priority list 782 can be dynamically generated and modified by continuously learning” (Sethi, page 16, paragraph 0045). Examiner notes that the data collector generates feedback for the component analysis engine indicating which servers have been used to continuously update the priority list from the component analysis engine. Examiner further notes that the component analysis engine is the resource optimizer.)
send the feedback to the resource optimizer (Sethi, page 15, paragraph 0036, “a data collection engine 121/421 (also referred to herein as a ‘data collector’) collects performance data from system hardware components, such as, for example, servers of the server groups 160. The performance data includes, but is not necessarily limited to, hardware capacity and availability data 423 comprising, for example, memory usage and available free memory of the system hardware components, application/task data 425 comprising applications and/or tasks running on the system hardware components, system health data 427 available from system log data, and system utilization data 429 comprising, for example, system traffic data and system load data” where “the data collector 721 continuously monitors and collects the performance data 780, which is applied to a time series model, such as the ARIMA model, to analyze the data to generate the real-time system priority list 782. The real-time system priority list 782 can be dynamically generated and modified by continuously learning” (Sethi, page 16, paragraph 0045) and “The component analysis engine 122 uses machine learning techniques to analyze the performance data and generates the priority list of hardware components (e.g., servers) based on the analysis. Referring to the operational flow 700 in FIG. 7, data from the data collector 721 including, for example, real-time performance data 780 is applied to one or more time series models, such as, for example, Autoregressive Integrated Moving Average (ARIMA) models 724, to yield a real-time system priority list 782 of the hardware components” (Sethi, page 16, paragraph 0043). Examiner notes that the data collector generates feedback for the component analysis engine indicating which servers have been used to continuously update the priority list from the component analysis engine. Examiner further notes that the component analysis engine is the resource optimizer.)
Sethi does not explicitly disclose, but Gan does disclose
feedback …indicating whether the…server was used for container placement (Gan, page 6, paragraph 0021, “network monitoring system passively monitors a set of containers within a network, e.g., containers 130, in which traffic includes communications between containers 130, and records the time of the communication and which containers are a part of the communication” where “In an embodiment, containers 130 are running on hardware, i.e., servers and/or VMs and can be moved by container orchestration system 122 between hardware and/or VMs based on the groupings output by the network monitoring system” (Gan page 7, paragraph 0024). Examiner notes that the network monitoring receives feedback through monitoring the set of containers. Examiner further notes that monitoring containers that are a part of communication and moving containers to other servers is indicating that the server was used for container placement.).
Sethi and Gan are considered analogous to the claimed invention because they both optimize distributed data processing. It would have been obvious to one having ordinary skill in the art prior to the effective filing date to have modified Sethi to indicate if the server was used for container placement. Doing so is advantageous because “embodiments of the present invention provide dynamic grouping of containers by passive network monitoring using a reinforcement learning module and a k-nearest neighbor neural network (KNN). Embodiments of the present invention utilize container groups to provide balanced performance and efficiency” (Gan, page 5, paragraph 0011-0012).
Regarding claim 2, Sethi teaches the system of claim 1. Sethi does not teach, but Gan does teach
wherein the resource optimizer comprises a deep reinforcement learning model (Gan, page 6, paragraph 0020, “Network monitoring system 124 operates to group containers for optimized efficiency and application performance by using a reinforcement learning module and a KNN.” Examiner notes that the resource optimizer is the network monitoring system.).
Sethi and Gan are considered analogous to the claimed invention because they both optimize distributed data processing. It would have been obvious to one having ordinary skill in the art prior to the effective filing date to have modified Sethi to use a deep reinforcement learning model as the resource optimizer. Doing so is advantageous because “network monitoring system 124 operates to group containers for optimized efficiency and application performance by using a reinforcement learning module and a KNN” (Gan, page 6, paragraph 0020).
Regarding claim 3, Sethi teaches the system of claim 1. Sethi further teaches
the second candidate server (Sethi, page 16, paragraph 0048, “Machine learning is used to perform component analysis 222 to generate a priority list 285. As described herein, machine learning techniques prioritize the servers by, for example, analyzing applications installed on the servers, current system health information and/or system load and/or traffic including, for example, utilization percentages to generate the server priority list 285.” Examiner notes that the machine learning component analysis is the resource finder and the resource optimizer. Examiner further notes that both the first and second candidate servers are received from the prioritized list of servers which is generated by the machine learning component analysis.),
Sethi does not teach, but Gan does teach
wherein the feedback indicates that the …server was used for container placement (Gan, page 6, paragraph 0021, “network monitoring system passively monitors a set of containers within a network, e.g., containers 130, in which traffic includes communications between containers 130, and records the time of the communication and which containers are a part of the communication” where “In an embodiment, containers 130 are running on hardware, i.e., servers and/or VMs and can be moved by container orchestration system 122 between hardware and/or VMs based on the groupings output by the network monitoring system” (Gan page 7, paragraph 0024). Examiner notes that the network monitoring receives feedback through monitoring the set of containers. Examiner further notes that monitoring containers that are a part of communication and moving containers to other servers is indicating that the server was used for container placement.).
Sethi and Gan are considered analogous to the claimed invention because they both optimize distributed data processing. It would have been obvious to one having ordinary skill in the art prior to the effective filing date to have modified Sethi to indicate if the server was used for container placement. Doing so is advantageous because “embodiments of the present invention provide dynamic grouping of containers by passive network monitoring using a reinforcement learning module and a k-nearest neighbor neural network (KNN). Embodiments of the present invention utilize container groups to provide balanced performance and efficiency” (Gan, page 5, paragraph 0011-0012).
Regarding claim 5, Sethi teaches the system of claim 1. Sethi further teaches
wherein the instruction, which executed by the processor, cause the processor to … prioritize the second candidate server if the second candidate server is valid (Sethi, page 16-17, paragraph 0052, “The available power 235 from the power sources 170 that are still able to provide power following a power limiting event is provided to server group 1 260-1, which in this example, represents servers that are higher on the priority list 285 than those servers in server group 2 260-2. Using the power distributor 232-1, which is the same as or an element of the power distribution engine 132 in FIG. 1, the available power 235 is distributed to the servers in server group 1 260-1 according to the priority list 285” where “an example server priority table 300 comprises a priority list of a plurality of servers listed in descending order of priority” (Sethi, page 16, paragraph 0046). Examiner notes that the server allocator is the power distributor and both a first and second candidate server are in server group 1. Examiner further notes that the priority list prioritizes servers in descending order of priority and would prioritize one of the first candidate server and the second candidate server. Examiner further notes that the second candidate server is valid since it is higher on priority list than other servers.).
Sethi does not teach, but Gan does teach
receive a request to initialize a container (Gan, page 6, 0019, “In general, a container orchestration system controls and automates tasks including, but not limited to, provisioning and deployment of containers, redundancy and availability of containers, allocation or resources between containers, movement of containers across a host infrastructure, and load balancing between containers.” Examiner notes that the provisioning and deployment of containers is receiving a request to initialize a container.);
Sethi and Gan are considered analogous to the claimed invention because they both optimize distributed data processing. It would have been obvious to one having ordinary skill in the art prior to the effective filing date to have modified Sethi to receive a request to initialize a container. Doing so is advantageous because “embodiments of the present invention provide dynamic grouping of containers by passive network monitoring using a reinforcement learning module and a k-nearest neighbor neural network (KNN). Embodiments of the present invention utilize container groups to provide balanced performance and efficiency” (Gan, page 5, paragraph 0011-0012).
Regarding claim 6, Sethi in view of Gan teaches the system of claim 1. Sethi further teaches
wherein the instructions, which when executed by the processor, cause the processor to implement a hybrid scheduler to address a time-dependency tradeoff, the hybrid scheduler comprising the server allocator, the resource optimizer, and the available resource finder (Sethi, page 16, paragraph 0044, “The real-time performance data 780 is analyzed using the ARIMA models 724 to determine real-time performance states of the plurality of hardware components and the priority metrics are applied to the real-time performance data in order to generate the real-time system priority list” where “FIG. 6 depicts an example data report 600 of collected performance data corresponding to services and/or applications running on computers in a datacenter in an illustrative embodiment. Referring to FIG. 5, the pseudocode 500 includes commands for retrieving task lists, computer names, process names and process priority. The example data report 600 specifies computer name, image name, process identifier (PID), session number, memory usage, status, user name and CPU time” (Sethi, page 16, paragraph 0042) and Sethi, page 2, Figure 1
PNG
media_image1.png
755
1291
media_image1.png
Greyscale
Examiner notes that the power distribution management platform 110 is the hybrid scheduler, the component analysis 122 is the resource optimizer and resource finder, and the power distribution and optimization is the server allocator. Examiner further notes that the priority list of servers depends on CPU time or a time-dependency tradeoff. Examiner further notes that the component analysis is the same as the machine learning component analysis of the independent claim (Sethi, page 16, paragraph 0043).).
Regarding claim 8, Sethi teaches
A method of serving distributed inference deep learning (DL) models in serverless computing, comprising (Sethi, page 16, paragraph 0048, “As described herein, machine learning techniques prioritize the servers by, for example, analyzing applications installed on the servers, current system health information and/or system load and/or traffic including, for example, utilization percentages to generate the server priority list 285.”):
receiving a first candidate server from an available resource finder and a second candidate server from a resource optimizer (Sethi, page 16, paragraph 0048, “Machine learning is used to perform component analysis 222 to generate a priority list 285. As described herein, machine learning techniques prioritize the servers by, for example, analyzing applications installed on the servers, current system health information and/or system load and/or traffic including, for example, utilization percentages to generate the server priority list 285.” Examiner notes that the machine learning component analysis is the resource finder and the resource optimizer. Examiner further notes that both the first and second candidate servers are received from the prioritized list of servers which is generated by the machine learning component analysis.);
implementing a server allocator to prioritize use of one of the first candidate server and the second candidate server (Sethi, page 16-17, paragraph 0052, “The available power 235 from the power sources 170 that are still able to provide power following a power limiting event is provided to server group 1 260-1, which in this example, represents servers that are higher on the priority list 285 than those servers in server group 2 260-2. Using the power distributor 232-1, which is the same as or an element of the power distribution engine 132 in FIG. 1, the available power 235 is distributed to the servers in server group 1 260-1 according to the priority list 285” where “an example server priority table 300 comprises a priority list of a plurality of servers listed in descending order of priority” (Sethi, page 16, paragraph 0046). Examiner notes that the server allocator is the power distributor and both a first and second candidate server are in server group 1. Examiner further notes that the priority list prioritizes servers in descending order of priority and would prioritize one of the first candidate server and the second candidate server.);
generating feedback for the resource optimizer indicating whether the second candidate server was used … (Sethi, page 15, paragraph 0036, “a data collection engine 121/421 (also referred to herein as a ‘data collector’) collects performance data from system hardware components, such as, for example, servers of the server groups 160. The performance data includes, but is not necessarily limited to, hardware capacity and availability data 423 comprising, for example, memory usage and available free memory of the system hardware components, application/task data 425 comprising applications and/or tasks running on the system hardware components, system health data 427 available from system log data, and system utilization data 429 comprising, for example, system traffic data and system load data” where “the data collector 721 continuously monitors and collects the performance data 780, which is applied to a time series model, such as the ARIMA model, to analyze the data to generate the real-time system priority list 782. The real-time system priority list 782 can be dynamically generated and modified by continuously learning” (Sethi, page 16, paragraph 0045). Examiner notes that the data collector generates feedback for the component analysis engine indicating which servers have been used to continuously update the priority list from the component analysis engine. Examiner further notes that the component analysis engine is the resource optimizer.)
send the feedback to the resource optimizer (Sethi, page 15, paragraph 0036, “a data collection engine 121/421 (also referred to herein as a ‘data collector’) collects performance data from system hardware components, such as, for example, servers of the server groups 160. The performance data includes, but is not necessarily limited to, hardware capacity and availability data 423 comprising, for example, memory usage and available free memory of the system hardware components, application/task data 425 comprising applications and/or tasks running on the system hardware components, system health data 427 available from system log data, and system utilization data 429 comprising, for example, system traffic data and system load data” where “the data collector 721 continuously monitors and collects the performance data 780, which is applied to a time series model, such as the ARIMA model, to analyze the data to generate the real-time system priority list 782. The real-time system priority list 782 can be dynamically generated and modified by continuously learning” (Sethi, page 16, paragraph 0045) and “The component analysis engine 122 uses machine learning techniques to analyze the performance data and generates the priority list of hardware components (e.g., servers) based on the analysis. Referring to the operational flow 700 in FIG. 7, data from the data collector 721 including, for example, real-time performance data 780 is applied to one or more time series models, such as, for example, Autoregressive Integrated Moving Average (ARIMA) models 724, to yield a real-time system priority list 782 of the hardware components” (Sethi, page 16, paragraph 0043). Examiner notes that the data collector generates feedback for the component analysis engine indicating which servers have been used to continuously update the priority list from the component analysis engine. Examiner further notes that the component analysis engine is the resource optimizer.)
Sethi does not explicitly disclose, but Gan does disclose
feedback …indicating whether the…server was used for container placement (Gan, page 6, paragraph 0021, “network monitoring system passively monitors a set of containers within a network, e.g., containers 130, in which traffic includes communications between containers 130, and records the time of the communication and which containers are a part of the communication” where “In an embodiment, containers 130 are running on hardware, i.e., servers and/or VMs and can be moved by container orchestration system 122 between hardware and/or VMs based on the groupings output by the network monitoring system” (Gan page 7, paragraph 0024). Examiner notes that the network monitoring receives feedback through monitoring the set of containers. Examiner further notes that monitoring containers that are a part of communication and moving containers to other servers is indicating that the server was used for container placement.).
Sethi and Gan are considered analogous to the claimed invention because they both optimize distributed data processing. It would have been obvious to one having ordinary skill in the art prior to the effective filing date to have modified Sethi to indicate if the server was used for container placement. Doing so is advantageous because “embodiments of the present invention provide dynamic grouping of containers by passive network monitoring using a reinforcement learning module and a k-nearest neighbor neural network (KNN). Embodiments of the present invention utilize container groups to provide balanced performance and efficiency” (Gan, page 5, paragraph 0011-0012).
Regarding claim 9, claim 9 recites substantially similar limitations to claim 2, and is therefore rejected under the same analysis.
Regarding claim 10, claim 10 recites substantially similar limitations to claim 3, and is therefore rejected under the same analysis.
Regarding claim 12, Sethi teaches the system of claim 1. Sethi further teaches
determining that the second candidate server is valid (Sethi, page 16-17, paragraph 0052, “The available power 235 from the power sources 170 that are still able to provide power following a power limiting event is provided to server group 1 260-1, which in this example, represents servers that are higher on the priority list 285 than those servers in server group 2 260-2. Using the power distributor 232-1, which is the same as or an element of the power distribution engine 132 in FIG. 1, the available power 235 is distributed to the servers in server group 1 260-1 according to the priority list 285” where “an example server priority table 300 comprises a priority list of a plurality of servers listed in descending order of priority” (Sethi, page 16, paragraph 0046). Examiner notes that the server allocator is the power distributor and both a first and second candidate server are in server group 1. Examiner further notes that the priority list prioritizes servers in descending order of priority and would prioritize one of the first candidate server and the second candidate server. Examiner further notes that the second candidate server is valid since it is higher on priority list than other servers.)
prioritizing the second candidate server based on determining that the second candidate server is valid (Sethi, page 16-17, paragraph 0052, “The available power 235 from the power sources 170 that are still able to provide power following a power limiting event is provided to server group 1 260-1, which in this example, represents servers that are higher on the priority list 285 than those servers in server group 2 260-2. Using the power distributor 232-1, which is the same as or an element of the power distribution engine 132 in FIG. 1, the available power 235 is distributed to the servers in server group 1 260-1 according to the priority list 285” where “an example server priority table 300 comprises a priority list of a plurality of servers listed in descending order of priority” (Sethi, page 16, paragraph 0046). Examiner notes that the server allocator is the power distributor and both a first and second candidate server are in server group 1. Examiner further notes that the priority list prioritizes servers in descending order of priority and would prioritize one of the first candidate server and the second candidate server. Examiner further notes that the second candidate server is valid since it is higher on priority list than other servers.).
Sethi does not teach, but Gan does teach
receive a request to initialize a container (Gan, page 6, 0019, “In general, a container orchestration system controls and automates tasks including, but not limited to, provisioning and deployment of containers, redundancy and availability of containers, allocation or resources between containers, movement of containers across a host infrastructure, and load balancing between containers.” Examiner notes that the provisioning and deployment of containers is receiving a request to initialize a container.);
Sethi and Gan are considered analogous to the claimed invention because they both optimize distributed data processing. It would have been obvious to one having ordinary skill in the art prior to the effective filing date to have modified Sethi to receive a request to initialize a container. Doing so is advantageous because “embodiments of the present invention provide dynamic grouping of containers by passive network monitoring using a reinforcement learning module and a k-nearest neighbor neural network (KNN). Embodiments of the present invention utilize container groups to provide balanced performance and efficiency” (Gan, page 5, paragraph 0011-0012).
Regarding claim 14, claim 14 recites substantially similar limitations to claim 6, and is therefore rejected under the same analysis.
Regarding claim 15, Sethi teaches
A non-transitory computer-readable storage medium having an executable stored thereon, which when executed instructs a processor to receive a first candidate server (Sethi, page 13, paragraph 0007, “Further illustrative embodiments are provided in the form of a non-transitory computer-readable storage medium having embodied therein executable program code that when executed by a processor causes the processor to perform the above steps. Still further illustrative embodiments comprise an apparatus with a processor and a memory configured to perform the above steps.”):
receive a first candidate server from an available resource finder and a second candidate server from a resource optimizer (Sethi, page 16, paragraph 0048, “Machine learning is used to perform component analysis 222 to generate a priority list 285. As described herein, machine learning techniques prioritize the servers by, for example, analyzing applications installed on the servers, current system health information and/or system load and/or traffic including, for example, utilization percentages to generate the server priority list 285.” Examiner notes that the machine learning component analysis is the resource finder and the resource optimizer. Examiner further notes that both the first and second candidate servers are received from the prioritized list of servers which is generated by the machine learning component analysis.);
implement a server allocator to prioritize use of one of the first candidate server and the second candidate server (Sethi, page 16-17, paragraph 0052, “The available power 235 from the power sources 170 that are still able to provide power following a power limiting event is provided to server group 1 260-1, which in this example, represents servers that are higher on the priority list 285 than those servers in server group 2 260-2. Using the power distributor 232-1, which is the same as or an element of the power distribution engine 132 in FIG. 1, the available power 235 is distributed to the servers in server group 1 260-1 according to the priority list 285” where “an example server priority table 300 comprises a priority list of a plurality of servers listed in descending order of priority” (Sethi, page 16, paragraph 0046). Examiner notes that the server allocator is the power distributor and both a first and second candidate server are in server group 1. Examiner further notes that the priority list prioritizes servers in descending order of priority and would prioritize one of the first candidate server and the second candidate server.);
generating feedback for the resource optimizer indicating whether the second candidate server was used … (Sethi, page 15, paragraph 0036, “a data collection engine 121/421 (also referred to herein as a ‘data collector’) collects performance data from system hardware components, such as, for example, servers of the server groups 160. The performance data includes, but is not necessarily limited to, hardware capacity and availability data 423 comprising, for example, memory usage and available free memory of the system hardware components, application/task data 425 comprising applications and/or tasks running on the system hardware components, system health data 427 available from system log data, and system utilization data 429 comprising, for example, system traffic data and system load data” where “the data collector 721 continuously monitors and collects the performance data 780, which is applied to a time series model, such as the ARIMA model, to analyze the data to generate the real-time system priority list 782. The real-time system priority list 782 can be dynamically generated and modified by continuously learning” (Sethi, page 16, paragraph 0045). Examiner notes that the data collector generates feedback for the component analysis engine indicating which servers have been used to continuously update the priority list from the component analysis engine. Examiner further notes that the component analysis engine is the resource optimizer.)
send the feedback to the resource optimizer (Sethi, page 15, paragraph 0036, “a data collection engine 121/421 (also referred to herein as a ‘data collector’) collects performance data from system hardware components, such as, for example, servers of the server groups 160. The performance data includes, but is not necessarily limited to, hardware capacity and availability data 423 comprising, for example, memory usage and available free memory of the system hardware components, application/task data 425 comprising applications and/or tasks running on the system hardware components, system health data 427 available from system log data, and system utilization data 429 comprising, for example, system traffic data and system load data” where “the data collector 721 continuously monitors and collects the performance data 780, which is applied to a time series model, such as the ARIMA model, to analyze the data to generate the real-time system priority list 782. The real-time system priority list 782 can be dynamically generated and modified by continuously learning” (Sethi, page 16, paragraph 0045) and “The component analysis engine 122 uses machine learning techniques to analyze the performance data and generates the priority list of hardware components (e.g., servers) based on the analysis. Referring to the operational flow 700 in FIG. 7, data from the data collector 721 including, for example, real-time performance data 780 is applied to one or more time series models, such as, for example, Autoregressive Integrated Moving Average (ARIMA) models 724, to yield a real-time system priority list 782 of the hardware components” (Sethi, page 16, paragraph 0043). Examiner notes that the data collector generates feedback for the component analysis engine indicating which servers have been used to continuously update the priority list from the component analysis engine. Examiner further notes that the component analysis engine is the resource optimizer.)
Sethi does not teach, but Gan does teach
receive a request to initialize a container (Gan, page 6, 0019, “In general, a container orchestration system controls and automates tasks including, but not limited to, provisioning and deployment of containers, redundancy and availability of containers, allocation or resources between containers, movement of containers across a host infrastructure, and load balancing between containers.” Examiner notes that the provisioning and deployment of containers is receiving a request to initialize a container.);
feedback …indicating whether the…server was used for container placement (Gan, page 6, paragraph 0021, “network monitoring system passively monitors a set of containers within a network, e.g., containers 130, in which traffic includes communications between containers 130, and records the time of the communication and which containers are a part of the communication” where “In an embodiment, containers 130 are running on hardware, i.e., servers and/or VMs and can be moved by container orchestration system 122 between hardware and/or VMs based on the groupings output by the network monitoring system” (Gan page 7, paragraph 0024). Examiner notes that the network monitoring receives feedback through monitoring the set of containers. Examiner further notes that monitoring containers that are a part of communication and moving containers to other servers is indicating that the server was used for container placement.).
Sethi and Gan are considered analogous to the claimed invention because they both optimize distributed data processing. It would have been obvious to one having ordinary skill in the art prior to the effective filing date to have modified Sethi to receive a request to initialize a container and indicate whether the server was used for container placement. Doing so is advantageous because “embodiments of the present invention provide dynamic grouping of containers by passive network monitoring using a reinforcement learning module and a k-nearest neighbor neural network (KNN). Embodiments of the present invention utilize container groups to provide balanced performance and efficiency” (Gan, page 5, paragraph 0011-0012).
Regarding claim 16, claim 16 recites substantially similar limitations to claim 2, and is therefore rejected under the same analysis.
Regarding claim 17, Sethi in view of Gan teach the non-transitory computer-readable medium of claim 15. Sethi further teaches
wherein the first candidate server and the second candidate server are the same (Sethi, page 16-17, paragraph 0052, “The available power 235 from the power sources 170 that are still able to provide power following a power limiting event is provided to server group 1 260-1, which in this example, represents servers that are higher on the priority list 285 than those servers in server group 2 260-2. Using the power distributor 232-1, which is the same as or an element of the power distribution engine 132 in FIG. 1, the available power 235 is distributed to the servers in server group 1 260-1 according to the priority list 285” where “an example server priority table 300 comprises a priority list of a plurality of servers listed in descending order of priority” (Sethi, page 16, paragraph 0046). Examiner notes that both a first and second candidate server are in server group 1. Examiner further notes that the first and second candidate server could be referring to the same server in server group 1. ).
Regarding claim 19, Sethi in view of Gan teach the computer-readable storage medium of claim 15. Sethi further teaches
wherein the executable when executed instructs a processor to prioritize the second candidate server if the second candidate server is valid (Sethi, page 16-17, paragraph 0052, “The available power 235 from the power sources 170 that are still able to provide power following a power limiting event is provided to server group 1 260-1, which in this example, represents servers that are higher on the priority list 285 than those servers in server group 2 260-2. Using the power distributor 232-1, which is the same as or an element of the power distribution engine 132 in FIG. 1, the available power 235 is distributed to the servers in server group 1 260-1 according to the priority list 285” where “an example server priority table 300 comprises a priority list of a plurality of servers listed in descending order of priority” (Sethi, page 16, paragraph 0046). Examiner notes that the server allocator is the power distributor and both a first and second candidate server are in server group 1. Examiner further notes that the priority list prioritizes servers in descending order of priority and would prioritize one of the first candidate server and the second candidate server. Examiner further notes that the second candidate server is valid since it is higher on priority list than other servers.).
Regarding claim 20, Sethi in view of Gan teach the computer-readable storage medium of claim 15. Sethi further teaches
wherein a hybrid scheduler comprises the server allocator, the resource optimizer, and the available resource finder (Sethi, page 2, Figure 1
PNG
media_image1.png
755
1291
media_image1.png
Greyscale
Examiner notes that the power distribution management platform 110 is the hybrid scheduler, the component analysis 122 is the resource optimizer and resource finder, and the power distribution and optimization is the server allocator.).
Claim(s) 4, 11, and 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sethi in view of Gan in further view of Tan et al. (US 2016/0267183 A1) (hereafter referred to as Tan).
Regarding claim 4, Sethi in view of Gan teaches The system of claim 1. Sethi in view of Gan further teaches
Wherein a request to receive the first candidate server from the available resource finder and a request to receive the second candidate server from the resource optimizer are transmitted (Sethi, page 16, paragraph 0048, “Referring to the operational flow 200 in FIG. 2, in what is referred to as “Phase 1,” machine learning is used to perform component analysis 222 to generate a priority list 285” where “the priority list is provided to the power distribution and optimization layer 130/430. In the event of a power crisis caused by, for example, accidents, power equipment breakdowns or natural disasters, the available power computation engine 131 computes available power from the power sources 170, and the power distribution engine 132 distributes available power to one or more of the plurality of hardware components (e.g., servers in the server groups 160) based on the priority list” (Sethi, page 16, paragraph 0049) and Sethi, page 3, Figure 2
PNG
media_image2.png
784
1282
media_image2.png
Greyscale
Examiner notes that both server groups, which contain the first and second candidate server, are received by the power distributor from the complete priority list of the servers 285. Examiner further notes that the complete priority list of the servers is created by the ML component analysis which is the resource optimizer and available resource finder. Additionally, by using the priority list during power crises, requests to receive the candidate servers are transmitted.).
Sethi in view of Gan does not explicitly teach that the requests that are transmitted in parallel. Tan however teaches
Wherein a request to receive the first candidate server… and a request to receive the second candidate server … are transmitted in parallel (Tan, page 11, paragraph 0041, “‘Distributed scraping’ is accomplished using multiple servers that submit (e.g., in parallel) requests to the search engine 312.” Examiner notes that the submitting requests to the search engine in parallel is transmitting requests in parallel.)
Sethi, Gan, and Tan are considered analogous to the claimed invention because they use machine learning in a distributed processing setting. It would have been obvious to one having ordinary skill in the art prior to the effective filing date to have modified Sethi in view of Gan to transmit requests in parallel. Doing so is advantageous because “distributed scraping enables faster results processing than a non-distributed implementation” (Tan, page 11, paragraph 0041).
Regarding claim 11, claim 11 recites substantially similar limitations to claim 4, and is therefore rejected under the same analysis.
Regarding claim 18, Sethi in view of Gan teaches The non-transitory computer-readable medium of claim 15. Sethi in view of Gan further teaches
Wherein a request to receive the first candidate server from the available resource finder and a request to receive the second candidate server from the resource optimizer are transmitted(Sethi, page 16, paragraph 0048, “Referring to the operational flow 200 in FIG. 2, in what is referred to as “Phase 1,” machine learning is used to perform component analysis 222 to generate a priority list 285” where “the priority list is provided to the power distribution and optimization layer 130/430. In the event of a power crisis caused by, for example, accidents, power equipment breakdowns or natural disasters, the available power computation engine 131 computes available power from the power sources 170, and the power distribution engine 132 distributes available power to one or more of the plurality of hardware components (e.g., servers in the server groups 160) based on the priority list” (Sethi, page 16, paragraph 0049) and Sethi, page 3, Figure 2
PNG
media_image2.png
784
1282
media_image2.png
Greyscale
Examiner notes that both server groups, which contain the first and second candidate server, are received by the power distributor from the complete priority list of the servers 285. Examiner further notes that the complete priority list of the servers is created by the ML component analysis which is the resource optimizer and available resource finder. Additionally, by using the priority list during power crises, requests to receive the candidate servers are transmitted.).
Sethi and Gan do not explicitly teach requests that are transmitted in parallel. Tan however teaches
Wherein a request to receive the first candidate server… and a request to receive the second candidate server … are transmitted in parallel (Tan, page 11, paragraph 0041, “‘Distributed scraping’ is accomplished using multiple servers that submit (e.g., in parallel) requests to the search engine 312.” Examiner notes that the submitting requests to the search engine in parallel is transmitting requests in parallel.)
Sethi, Gan, and Tan are considered analogous to the claimed invention because they use machine learning in a distributed processing setting. It would have been obvious to one having ordinary skill in the art prior to the effective filing date to have modified Sethi in view of Gan to transmit requests in parallel. Doing so is advantageous because “distributed scraping enables faster results processing than a non-distributed implementation” (Tan, page 11, paragraph 0041).
Claim(s) 7 and 13 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sethi in view Gan in further view of Chow et al. (US 2023/0034136 A1) (hereafter referred to as Chow).
Regarding claim 7, Sethi in view of Gan teaches the system of claim 1. Sethi in view of Gan does not teach, but Chow does teach
wherein the instructions, which when executed by the processor, cause the processor to evaluate a similarity across two versions of recurrently trained distributed inference models (Chow, page 15, paragraph 0055, “the training node is configured to: train the machine learning model based on a training data set; generate a first set of confidence scores comprising confidence scores associated with an output of the machine learning model when a first validation data set is inputted to the machine learning model; and transmit, to the inference node, the first set of confidence scores and a representation of the machine learning model; and wherein the inference node is configured to: receive the first set of confidence scores and the representation of the machine learning model; generate inferences by inputting data obtained by the inference node into the machine learning model; and generate a second set of confidence scores comprising confidence scores associated with the inferences; determine whether the first set of confidence scores and the second set of confidence scores are similar; and in response to determining that the first set of confidence scores and the second set of confidence scores are not similar: transmit by the inference node to the training node, at least part of the data for training an updated machine learning model” where “FIG. 2A shows a distributed machine learning architecture according to an arrangement” (Chow, page 18, paragraph 0091). Examiner notes that the by creating two sets of confidence scores, a similarity across two versions of models is evaluated. Examiner also notes that by sending data back for training an updated machine learning model, the models are being recurrently trained. ).
Sethi, Gan, and Chow are considered analogous to the claimed invention because they use machine learning in a distributed processing setting. It would have been obvious to one having ordinary skill in the art prior to the effective filing date to have modified Sethi in view of Gan to evaluate a similarity across two versions of models. Doing so is advantageous because “the method facilitates the evaluation and control of both model deployment and retraining such that the model can constantly adapt to changes in the environment, whilst keeping data transfer to a minimum” (Chow, page 27, paragraph 160).
Regarding claim 13, claim 13 recites substantially similar limitations to claim 7, and is therefore rejected under the same analysis.
Response to Arguments
The previous claim objections have been overcome in light of the instant amendments.
On page 6, Applicant argues:
Claims 1-20 are rejected under 35 U.S.C. § 101 as allegedly being directed to an abstract idea without significantly more. This rejection is traversed in view of at least the present claim amendments, made solely to compact prosecution. Reconsideration and allowance of the present application is respectfully requested.
Regarding the applicant’s argument that claims provide significantly more based on the instant amendments, the Examiner respectfully disagrees. Specifically, generating feedback for the resource optimizer indicating whether the server was used for container placement is a mental process as it encompasses a human mentally generating a feedback message for the resource optimizer. Examiner further notes that sending the feedback to the resource optimizer recites insignificant extra-solution activity of data gathering (see MPEP 2106.05(g)) and is the well understood, routine, and conventional activity of “transmitting or receiving data over a network” (see MPEP 2106.05(d)(II); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network)). Thus, the amendments do not provide significantly more.
On page 7, Applicant argues:
First, Sethi's power optimization engine, which appears to identify hardware components that are without power following the distribution of the available power by the power distribution engine, is distinguished. In particular, Sethi's power optimization engine appears to receive information about power distribution status, which is a determination of hardware components that are without power following power distribution. This is fundamentally different from generating feedback regarding whether a candidate server proposed by the resource optimizer was actually used for container placement. Sethi's system is directed to power distribution management during power crises, not to any determination regarding server selection decisions for container placement in a serverless computing environment.
Regarding the applicant’s argument that the prior art does not teach “generating feedback for the resource optimizer indicating whether the second candidate server was used for container placement”, the Examiner respectfully disagrees. Specifically, Examiner notes that a combination of Sethi and Gan teach generating feedback for the resource optimizer indicating whether the second candidate server was used for container placement. Sethi teaches “generating feedback for the resource optimizer indicating whether the second candidate was used” (Sethi, page 15, paragraph 0036, “a data collection engine 121/421 (also referred to herein as a ‘data collector’) collects performance data from system hardware components, such as, for example, servers of the server groups 160. The performance data includes, but is not necessarily limited to, hardware capacity and availability data 423 comprising, for example, memory usage and available free memory of the system hardware components, application/task data 425 comprising applications and/or tasks running on the system hardware components, system health data 427 available from system log data, and system utilization data 429 comprising, for example, system traffic data and system load data” where “the data collector 721 continuously monitors and collects the performance data 780, which is applied to a time series model, such as the ARIMA model, to analyze the data to generate the real-time system priority list 782. The real-time system priority list 782 can be dynamically generated and modified by continuously learning” (Sethi, page 16, paragraph 0045). Examiner notes that the data collector generates feedback for the component analysis engine indicating which servers have been used to continuously update the priority list from the component analysis engine. Examiner further notes that the component analysis engine is the resource optimizer.).
Examiner further notes that Gan teaches “feedback …indicating whether the…server was used for container placement” (Gan, page 6, paragraph 0021, “network monitoring system passively monitors a set of containers within a network, e.g., containers 130, in which traffic includes communications between containers 130, and records the time of the communication and which containers are a part of the communication” where “In an embodiment, containers 130 are running on hardware, i.e., servers and/or VMs and can be moved by container orchestration system 122 between hardware and/or VMs based on the groupings output by the network monitoring system” (Gan page 7, paragraph 0024). Examiner notes that the network monitoring receives feedback through monitoring the set of containers. Examiner further notes that monitoring containers that are a part of communication and moving containers to other servers is indicating that the server was used for container placement.).
On page 7, Applicant argues:
Second, the combination of Gan with Sethi does not teach or suggest the claimed operations of "generate feedback for the resource optimizer indicating whether the second candidate server was used for container placement," and "send the feedback to the resource optimizer." Specifically, Gan's network monitoring system passively monitors containers and records communications between containers. See para. [0021]. This passive monitoring of container communications is not feedback sent to a resource optimizer indicating whether a candidate server from the resource optimizer was used for container placement. Gan does not teach providing feedback to a resource optimizer about server selection decisions.
Regarding the Applicant’s argument that the combination of Gan and Sethi do not teach or suggest the claimed operations, Examiner respectfully disagrees. Specifically, Examiner respectfully notes that Sethi teaches “generating feedback for the resource optimizer indicating whether the second candidate was used” and Gan teaches “feedback …indicating whether the…server was used for container placement.” Examiner further notes that Sethi specifically teaches “send the feedback to the resource optimizer” (Sethi, page 15, paragraph 0036, “a data collection engine 121/421 (also referred to herein as a ‘data collector’) collects performance data from system hardware components, such as, for example, servers of the server groups 160. The performance data includes, but is not necessarily limited to, hardware capacity and availability data 423 comprising, for example, memory usage and available free memory of the system hardware components, application/task data 425 comprising applications and/or tasks running on the system hardware components, system health data 427 available from system log data, and system utilization data 429 comprising, for example, system traffic data and system load data” where “the data collector 721 continuously monitors and collects the performance data 780, which is applied to a time series model, such as the ARIMA model, to analyze the data to generate the real-time system priority list 782. The real-time system priority list 782 can be dynamically generated and modified by continuously learning” (Sethi, page 16, paragraph 0045) and “The component analysis engine 122 uses machine learning techniques to analyze the performance data and generates the priority list of hardware components (e.g., servers) based on the analysis. Referring to the operational flow 700 in FIG. 7, data from the data collector 721 including, for example, real-time performance data 780 is applied to one or more time series models, such as, for example, Autoregressive Integrated Moving Average (ARIMA) models 724, to yield a real-time system priority list 782 of the hardware components” (Sethi, page 16, paragraph 0043). Examiner notes that the data collector generates feedback for the component analysis engine indicating which servers have been used to continuously update the priority list from the component analysis engine. Examiner further notes that the component analysis engine is the resource optimizer.).
On pages 7-8, Applicant argues:
Tan and Chow do not cure the deficiencies of Sehti and Gan. Tan describes distributed scraping where multiple servers submit requests in parallel to a search engine, and Chow describes comparing confidence scores between training and inference nodes, but likewise does not teach or suggest the claimed operations of "generate feedback for the resource optimizer indicating whether the second candidate server was used for container placement," and "send the feedback to the resource optimizer."
Regarding the Applicant’s argument that the prior art does not teach the newly amended limitations, Examiner respectfully disagrees. Examiner respectfully notes that a combination of Sethi and Gan teach “generate feedback for the resource optimizer indicating whether the second candidate server was used for container placement” and “send the feedback to the resource optimizer.”
On page 8, Applicant argues:
For at least these reasons, none of the cited references, alone or in any combination, teach or suggest each and every element of claim 1. Because claims 8 and 15 recite similar elements, reconsideration and allowance of claims 1, 8, and 15, and all respective dependent claims, is respectfully requested.
Regarding the Applicant’s argument that the dependent claims are allowable at least due in part to their dependency on the independent claims, the Examiner respectfully disagrees and notes the instant rejections and response to arguments regarding the independent claims above.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Mahanta et al. (US 2021/0216346 A1) describes using machine learning to schedule containers in a distributed processing setting.
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 KAITLYN R HAEFNER whose telephone number is (571)272-1429. The examiner can normally be reached Monday - Thursday: 7:15 am - 5:15 pm 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, Michelle Bechtold can be reached at (571) 431-0762. 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.
/K.R.H./Examiner, Art Unit 2148 /MICHELLE T BECHTOLD/Supervisory Patent Examiner, Art Unit 2148