Prosecution Insights
Last updated: July 17, 2026
Application No. 18/644,256

USING PLUGIN VOTING TO DETERMINE A PLACEMENT LOCATION TO EXECUTE A COMPUTER WORKLOAD

Non-Final OA §103
Filed
Apr 24, 2024
Examiner
AKBARI, FARAZ TIMA
Art Unit
Tech Center
Assignee
Red Hat Inc.
OA Round
1 (Non-Final)
0%
Grant Probability
At Risk
1-2
OA Rounds
1y 2m
Est. Remaining
0%
With Interview

Examiner Intelligence

Grants only 0% of cases
0%
Career Allowance Rate
0 granted / 4 resolved
-60.0% vs TC avg
Minimal +0% lift
Without
With
+0.0%
Interview Lift
resolved cases with interview
Typical timeline
3y 5m
Avg Prosecution
25 currently pending
Career history
42
Total Applications
across all art units

Statute-Specific Performance

§103
99.4%
+59.4% vs TC avg
§112
0.7%
-39.3% vs TC avg
Black line = Tech Center average estimate • Based on career data from 4 resolved cases

Office Action

§103
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 office action is in response to claims filed 04/24/2024. Claims 1-20 are pending. 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-6, 8-13, and 15-20 are rejected under 35 U.S.C. 103 as being unpatentable over Shraer et al. (US 20170006105 A1) in view of Dewar et al. (US 20110295860 A1), hereinafter referred to as Shraer and Dewar, respectively. Regarding Claim 1, Shraer discloses A system comprising: a processing device; and a memory device including instructions that are executable by the processing device for causing the processing device to perform operations ([0119] The computing system 1200 includes a processor 1210, a memory 1220, a storage device 1230, and an input/output device 1240. Each of the processor 1210, the memory 1220, the storage device 1230, and the input/output device 1240 are interconnected using a system bus 1250. […] The processor 1210 is capable of processing instructions stored in the memory 1220. Please note that the computing system 1200 including a processor 1210 and a memory 1220, where the processor may process instructions stored in the memory corresponds to Applicant’s system comprising a processing device and a memory device including instructions executable by the processor device for causing it to perform operations. ) comprising: transmitting, by a placement service, a voting request to request input to determine a placement location to assign a workload ([0108] The pseudocode 1050 can receive num_replicas and num_voters (e.g., N and M as described above) as input values that specify the number of replicas and voters, respectively, which the distributed database should have.; [0113] At least a quorum of voters are assigned 1104. For example, the task assigning service 124 can select a number of computing clusters 102-120 nearest the leader and assign these computing clusters 102-120 as voters; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations. Please note that assigning the computing clusters as voters to obtain a quorum that is ultimately used to find replica locations corresponds to Applicant’s transmitting a voting request to determine a placement location to assign a workload, as the voters are selected, i.e., have input requested from them, by the task assigning service, corresponding to the placement service, to determine a replica location, corresponding to the placement location, by a quorum.), the voting request indicating a predefined time limit by which to respond to the voting request ([0073] A quorum latency is the latency for a quorum of voters to approve a vote after the vote is submitted to the quorum. Please note that the latency for the quorum of voters to approve a vote corresponds to Applicant’s voting request indicating a predefined time limit by which to respond to the voting request, as the vote is approved during the latency period, meaning that the responses are received from voters. ); receiving, by the placement service, a set of responses, each response indicating at least one respective candidate location to execute the workload ([0058] example distributed computing environment 100 in which some computing clusters are candidates for replica […] roles within a distributed database.; [0113] At least a quorum of voters are assigned 1104. For example, the task assigning service 124 can select a number of computing clusters 102-120 nearest the leader and assign these computing clusters 102-120 as voters; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations. Please note that the quorum of voters that is used to find replica locations corresponds to Applicant’s receiving a set of responses by the placement service, each response indicating at least one respective candidate location to execute the workload, as the quorum of voters that is received by the system based on the responses of the voters is used to determine the replica location. Additionally, as different computing cluster locations may be considered as candidate replica locations by each voter, this corresponds to each response indicating a respective candidate.); determining, by the placement service, the placement location based on the set of responses received ([0034] a leader is selected from among candidate computing clusters (or servers, datacenters, etc.).; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations.; [0118] The pseudocode 1150 first sets the leader and a quorum of voters and then places the remaining replicas close to the clients. More specifically, each possible leader location in S is considered to find the best quorum for this leader. Please note that finding the replica locations based on the quorum of voters corresponds to Applicant’s determining the placement location based on the set of responses received. ); and subsequent to determining the placement location, assigning, by the placement service, the workload to the placement location for execution ([0033] the distributed database uses nodes in the system as “replicas” which replicate some or all of the distributed database. Additionally, the distributed database can use some or all of the nodes according to respective roles defined by the Paxos protocol that identify functions of the nodes.; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations.; [0118] The pseudocode 1150 first sets the leader and a quorum of voters and then places the remaining replicas close to the clients. Please note that finding and placing replicas at the determined replica locations based on the quorum, where the replicas function to replicate the database, corresponds to Applicant’s assigning the workload to the placement location for execution subsequent to determining the placement location, as the replica at the determined location performs a replication workload.). Shraer does not explicitly disclose one or more plugins; response being generated by a respective plugin; However, Dewar discloses one or more plugins ([0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent. Please note that the heuristic plug-ins correspond to Applicant’s one or more plugins.) response being generated by a respective plugin ([0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent. Please note that the heuristic plug-ins returning a sorted set of parameter mapping candidates correspond to Applicant’s response generated by a respective plugin.) Shraer and Dewar are both considered to be analogous to the claimed invention because they are in the same field of computing system optimization via processing candidate selection. Therefore, it would have been obvious to someone of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Shraer to incorporate the teachings of Dewar to modify the system transmitting a voting request to determine a placement location for assigning a workload indicating a predefined time limit by which to respond and receiving a set of responses indicating respective candidate locations to execute the workload and determining the placement location to subsequently assign the workload for execution to utilize plugins to generate respective responses, allowing for improved candidate selection based on metadata processable by particular plugins, as described in Dewar. Regarding Claim 2, Shraer-Dewar as described in Claim 1, Shraer further discloses determining the placement location comprises: selecting, by the placement service, the placement location from a set of candidate locations comprising the at least one respective candidate location of each response received by the placement service ([0058] example distributed computing environment 100 in which some computing clusters are candidates for replica […] roles within a distributed database.; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations.; [0118] The pseudocode 1150 first sets the leader and a quorum of voters and then places the remaining replicas close to the clients. More specifically, each possible leader location in S is considered to find the best quorum for this leader. Please note that selecting the replica from candidate computing clusters based on the quorum of voters corresponds to Applicant’s selecting the placement location by the placement service from a set of candidate locations comprising the at least one respective candidate location of each response received by the placement service, as each possible replica location, corresponding to each respective candidate locations of each response received by the placement service, is received by the system to be considered in selecting the replica location, i.e., determining the placement location by selecting the placement location.); prior to the predefined time limit being exceeded ([0073] A quorum latency is the latency for a quorum of voters to approve a vote after the vote is submitted to the quorum. Please note that the latency for the quorum of voters to approve a vote corresponds to Applicant’s determination being completed prior to the predefined time limit being exceeded, as the vote is approved during the latency period.). Regarding Claim 3, Shraer-Dewar as described in Claim 1, Shraer further discloses wherein the voting request indicates a set of available locations ([0058] example distributed computing environment 100 in which some computing clusters are candidates for replica […] roles within a distributed database.; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations.; [0118] The pseudocode 1150 first sets the leader and a quorum of voters and then places the remaining replicas close to the clients. More specifically, each possible leader location in S is considered to find the best quorum for this leader. Please note that certain computing clusters being candidates for replica roles that are determined based on the quorum, thus representing a set of available candidate clusters for replica roles, corresponds to Applicant’s voting request indicating a set of available locations, as the quorum established by voters would select from this set of candidates.), Dewar further discloses and wherein each plugin is configured to select a respective subset of the available locations to indicate as the at least one respective candidate location in a respective response locations ([0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent. Please note that the heuristic plug-ins being applied based on the metadata being processed during the generation of the set of parameter mapping candidates to return a sorted set of parameter mapping candidates corresponds to Applicant’s each plugin being configured to select a respective subset of the available locations to indicate as the at least one respective candidate location in a respective response locations. This is because this system may be applied to have the heuristic plug-ins applied to select parameter mapping candidates in a best order to return as a sorted set, corresponding to selecting a respective subset of the available locations to indicate as the at least one respective candidate location in a respective response location.). Regarding Claim 4, Shraer-Dewar as described in Claim 3, Dewar further discloses wherein each plugin is configured to select the respective subset of the available locations by filtering the set of available locations based on one or more attributes of the available locations ([0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent Please note that the heuristic plug-ins being applied based on the metadata being processed during the generation of the set of parameter mapping candidates corresponds to Applicant’s each plugin being configured to select the respective subset of the available locations by filtering the set of available locations based on one or more attributes of the available locations. This is because this system may be applied to have the heuristic plug-ins applied to select parameter mapping candidates in a best order by filtering them based on metadata being processed during the generation of the set of candidates, corresponding to filtering the set of available locations based on attributes of the available locations, as the metadata corresponds to attributes.). Regarding Claim 5, Shraer-Dewar as described in Claim 3, Dewar further discloses wherein the respective response indicates a ranking of the subset of the available locations selected by the plugin to indicate a respective weight of each available location in the subset of the available locations ([0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent Please note that the heuristic plug-ins being applied based on the metadata being processed during the generation of the set of parameter mapping candidates corresponds to Applicant’s respective response indicates a ranking of the subset of the available locations selected by the plugin to indicate a respective weight of each available location in the subset of the available locations. This is because this system may be applied to indicate a respective weight of each available location in the subset of the available locations, i.e., a respective score of each candidate mapping, to generate ranks to return the sorted parameter mapping candidates corresponding to indicating a ranking of the subset of available locations selected by the plugin.). Regarding Claim 6, Shraer-Dewar as described in Claim 1, Dewar further discloses wherein each response received by the placement service indicates a respective priority of a corresponding plugin ([0089] The use of particular heuristics is determined by the metadata being processed, enabling the use of heuristics plug-ins to be metadata driven. For example, when a mapping is desired between two similar relational constructs a heuristic suited to online analysis processing would not process the data; [0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent; [0093] Mappings are ranked on a scale from 1 to 100, with a rank of 100 being the best match, and a rank of 1 being the worst. Mappings are assigned a value based on the heuristic used to propose the candidate. Please note that the mappings being assigned a value based on the heuristic used to propose the candidate, where mappings are ranked based on the best match, corresponds to Applicant’s each response received by the placement service indicating a respective priority of a corresponding plugin.), and wherein determining the placement location further comprises: determining, by the placement service based on each response received, the respective priority of the corresponding plugin that has responded to the voting request by the predefined time limit ([0089] The use of particular heuristics is determined by the metadata being processed, enabling the use of heuristics plug-ins to be metadata driven. For example, when a mapping is desired between two similar relational constructs a heuristic suited to online analysis processing would not process the data; [0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent; [0093] Mappings are ranked on a scale from 1 to 100, with a rank of 100 being the best match, and a rank of 1 being the worst. Mappings are assigned a value based on the heuristic used to propose the candidate. Please note that the mappings being assigned a value based on the heuristic used to propose the candidate, where mappings are ranked based on the best match, corresponds to Applicant’s determining the respective priority of the corresponding plugin that has responded to the voting request by the predefined time limit by the placement service. This is because, as previously disclosed by Shraer in the system, the voters respond within the quorum latency corresponding to having responded to the voting request by the predefined time limit, and since each heuristic plugin has its returned mapping assigned a value and ranked, this corresponds to determining the priority of the corresponding plugin based on the response received.); and selecting the placement location from the at least one respective candidate location indicated in the set of responses based on the respective priority of each plugin that has responded to the voting request by the predefined time limit ([0093] The agent may be a user or a programmatic entity. These parameter mappings, that have been ranked and sorted, are presented to the agent ordered by their rank with best matches presented first. Mappings are ranked on a scale from 1 to 100, with a rank of 100 being the best match, and a rank of 1 being the worst. Mappings are assigned a value based on the heuristic used to propose the candidate.; [0098] the process may be performed programmatically to produce a set of parameter mappings that are simply saved and later retrieved for execution. The process may then function as a tool to create parameter mappings programmatically. Please note that the mappings being assigned a value based on the heuristic used to propose the candidate, where mappings are ranked based on the best match, and programmatically saving and executing the parameter mappings corresponds to Applicant’s selecting the placement location from the at least one respective candidate location indicated in the set of responses based on the respective priority of each plugin that has responded to the voting request by the predefined time limit. This is because, as previously disclosed by Shraer in the system, the voters respond within the quorum latency corresponding to having responded to the voting request by the predefined time limit and the system determines candidate locations based on the quorum, and since each heuristic plugin has its returned mapping assigned a value and ranked, and the system later programmatically retrieves and executes the mapping, this corresponds to selecting the placement location from the respective candidate location indicated in the set of responses based on the respective priority of the plugin that has responded.). Regarding Claim 8, Shraer discloses A method ([0123] method steps can be performed by a programmable processor. Please note the method steps correspond to Applicant’s method. ) comprising: transmitting, by a placement service, a voting request to request input to determine a placement location to assign a workload ([0108] The pseudocode 1050 can receive num_replicas and num_voters (e.g., N and M as described above) as input values that specify the number of replicas and voters, respectively, which the distributed database should have.; [0113] At least a quorum of voters are assigned 1104. For example, the task assigning service 124 can select a number of computing clusters 102-120 nearest the leader and assign these computing clusters 102-120 as voters; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations. Please note that assigning the computing clusters as voters to obtain a quorum that is ultimately used to find replica locations corresponds to Applicant’s transmitting a voting request to determine a placement location to assign a workload, as the voters are selected, i.e., have input requested from them, by the task assigning service, corresponding to the placement service, to determine a replica location, corresponding to the placement location, by a quorum.), the voting request indicating a predefined time limit by which to respond to the voting request ([0073] A quorum latency is the latency for a quorum of voters to approve a vote after the vote is submitted to the quorum. Please note that the latency for the quorum of voters to approve a vote corresponds to Applicant’s voting request indicating a predefined time limit by which to respond to the voting request, as the vote is approved during the latency period, meaning that the responses are received from voters. ); receiving, by the placement service, a set of responses, each response indicating at least one respective candidate location to execute the workload ([0058] example distributed computing environment 100 in which some computing clusters are candidates for replica […] roles within a distributed database.; [0113] At least a quorum of voters are assigned 1104. For example, the task assigning service 124 can select a number of computing clusters 102-120 nearest the leader and assign these computing clusters 102-120 as voters; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations. Please note that the quorum of voters that is used to find replica locations corresponds to Applicant’s receiving a set of responses by the placement service, each response indicating at least one respective candidate location to execute the workload, as the quorum of voters that is received by the system based on the responses of the voters is used to determine the replica location. Additionally, as different computing cluster locations may be considered as candidate replica locations by each voter, this corresponds to each response indicating a respective candidate.); determining, by the placement service, the placement location based on the set of responses received ([0034] a leader is selected from among candidate computing clusters (or servers, datacenters, etc.).; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations.; [0118] The pseudocode 1150 first sets the leader and a quorum of voters and then places the remaining replicas close to the clients. More specifically, each possible leader location in S is considered to find the best quorum for this leader. Please note that finding the replica locations based on the quorum of voters corresponds to Applicant’s determining the placement location based on the set of responses received. ); and subsequent to determining the placement location, assigning, by the placement service, the workload to the placement location for execution ([0033] the distributed database uses nodes in the system as “replicas” which replicate some or all of the distributed database. Additionally, the distributed database can use some or all of the nodes according to respective roles defined by the Paxos protocol that identify functions of the nodes.; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations.; [0118] The pseudocode 1150 first sets the leader and a quorum of voters and then places the remaining replicas close to the clients. Please note that finding and placing replicas at the determined replica locations based on the quorum, where the replicas function to replicate the database, corresponds to Applicant’s assigning the workload to the placement location for execution subsequent to determining the placement location, as the replica at the determined location performs a replication workload.). Shraer does not explicitly disclose one or more plugins; response being generated by a respective plugin; However, Dewar discloses one or more plugins ([0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent. Please note that the heuristic plug-ins correspond to Applicant’s one or more plugins.) response being generated by a respective plugin ([0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent. Please note that the heuristic plug-ins returning a sorted set of parameter mapping candidates correspond to Applicant’s response generated by a respective plugin.) Shraer and Dewar are both considered to be analogous to the claimed invention because they are in the same field of computing system optimization via processing candidate selection. Therefore, it would have been obvious to someone of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Shraer to incorporate the teachings of Dewar to modify the system transmitting a voting request to determine a placement location for assigning a workload indicating a predefined time limit by which to respond and receiving a set of responses indicating respective candidate locations to execute the workload and determining the placement location to subsequently assign the workload for execution to utilize plugins to generate respective responses, allowing for improved candidate selection based on metadata processable by particular plugins, as described in Dewar. Regarding Claim 9, Shraer-Dewar as described in Claim 8, Shraer further discloses determining the placement location comprises: selecting, by the placement service, the placement location from a set of candidate locations comprising the at least one respective candidate location of each response received by the placement service ([0058] example distributed computing environment 100 in which some computing clusters are candidates for replica […] roles within a distributed database.; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations.; [0118] The pseudocode 1150 first sets the leader and a quorum of voters and then places the remaining replicas close to the clients. More specifically, each possible leader location in S is considered to find the best quorum for this leader. Please note that selecting the replica from candidate computing clusters based on the quorum of voters corresponds to Applicant’s selecting the placement location by the placement service from a set of candidate locations comprising the at least one respective candidate location of each response received by the placement service, as each possible replica location, corresponding to each respective candidate locations of each response received by the placement service, is received by the system to be considered in selecting the replica location, i.e., determining the placement location by selecting the placement location.); prior to the predefined time limit being exceeded ([0073] A quorum latency is the latency for a quorum of voters to approve a vote after the vote is submitted to the quorum. Please note that the latency for the quorum of voters to approve a vote corresponds to Applicant’s determination being completed prior to the predefined time limit being exceeded, as the vote is approved during the latency period.). Regarding Claim 10, Shraer-Dewar as described in Claim 8, Shraer further discloses wherein the voting request indicates a set of available locations ([0058] example distributed computing environment 100 in which some computing clusters are candidates for replica […] roles within a distributed database.; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations.; [0118] The pseudocode 1150 first sets the leader and a quorum of voters and then places the remaining replicas close to the clients. More specifically, each possible leader location in S is considered to find the best quorum for this leader. Please note that certain computing clusters being candidates for replica roles that are determined based on the quorum, thus representing a set of available candidate clusters for replica roles, corresponds to Applicant’s voting request indicating a set of available locations, as the quorum established by voters would select from this set of candidates.), Dewar further discloses and wherein each plugin is configured to select a respective subset of the available locations to indicate as the at least one respective candidate location in a respective response locations ([0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent. Please note that the heuristic plug-ins being applied based on the metadata being processed during the generation of the set of parameter mapping candidates to return a sorted set of parameter mapping candidates corresponds to Applicant’s each plugin being configured to select a respective subset of the available locations to indicate as the at least one respective candidate location in a respective response locations. This is because this system may be applied to have the heuristic plug-ins applied to select parameter mapping candidates in a best order to return as a sorted set, corresponding to selecting a respective subset of the available locations to indicate as the at least one respective candidate location in a respective response location.). Regarding Claim 11, Shraer-Dewar as described in Claim 10, Dewar further discloses wherein each plugin is configured to select the respective subset of the available locations by filtering the set of available locations based on one or more attributes of the available locations ([0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent Please note that the heuristic plug-ins being applied based on the metadata being processed during the generation of the set of parameter mapping candidates corresponds to Applicant’s each plugin being configured to select the respective subset of the available locations by filtering the set of available locations based on one or more attributes of the available locations. This is because this system may be applied to have the heuristic plug-ins applied to select parameter mapping candidates in a best order by filtering them based on metadata being processed during the generation of the set of candidates, corresponding to filtering the set of available locations based on attributes of the available locations, as the metadata corresponds to attributes.). Regarding Claim 12, Shraer-Dewar as described in Claim 10, Dewar further discloses wherein the respective response indicates a ranking of the subset of the available locations selected by the plugin to indicate a respective weight of each available location in the subset of the available locations ([0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent Please note that the heuristic plug-ins being applied based on the metadata being processed during the generation of the set of parameter mapping candidates corresponds to Applicant’s respective response indicates a ranking of the subset of the available locations selected by the plugin to indicate a respective weight of each available location in the subset of the available locations. This is because this system may be applied to indicate a respective weight of each available location in the subset of the available locations, i.e., a respective score of each candidate mapping, to generate ranks to return the sorted parameter mapping candidates corresponding to indicating a ranking of the subset of available locations selected by the plugin.). Regarding Claim 13, Shraer-Dewar as described in Claim 8, Dewar further discloses wherein each response received by the placement service indicates a respective priority of a corresponding plugin ([0089] The use of particular heuristics is determined by the metadata being processed, enabling the use of heuristics plug-ins to be metadata driven. For example, when a mapping is desired between two similar relational constructs a heuristic suited to online analysis processing would not process the data; [0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent; [0093] Mappings are ranked on a scale from 1 to 100, with a rank of 100 being the best match, and a rank of 1 being the worst. Mappings are assigned a value based on the heuristic used to propose the candidate. Please note that the mappings being assigned a value based on the heuristic used to propose the candidate, where mappings are ranked based on the best match, corresponds to Applicant’s each response received by the placement service indicating a respective priority of a corresponding plugin.), and wherein determining the placement location further comprises: determining, by the placement service based on each response received, the respective priority of the corresponding plugin that has responded to the voting request by the predefined time limit ([0089] The use of particular heuristics is determined by the metadata being processed, enabling the use of heuristics plug-ins to be metadata driven. For example, when a mapping is desired between two similar relational constructs a heuristic suited to online analysis processing would not process the data; [0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent; [0093] Mappings are ranked on a scale from 1 to 100, with a rank of 100 being the best match, and a rank of 1 being the worst. Mappings are assigned a value based on the heuristic used to propose the candidate. Please note that the mappings being assigned a value based on the heuristic used to propose the candidate, where mappings are ranked based on the best match, corresponds to Applicant’s determining the respective priority of the corresponding plugin that has responded to the voting request by the predefined time limit by the placement service. This is because, as previously disclosed by Shraer in the system, the voters respond within the quorum latency corresponding to having responded to the voting request by the predefined time limit, and since each heuristic plugin has its returned mapping assigned a value and ranked, this corresponds to determining the priority of the corresponding plugin based on the response received.); and selecting the placement location from the at least one respective candidate location indicated in the set of responses based on the respective priority of each plugin that has responded to the voting request by the predefined time limit ([0093] The agent may be a user or a programmatic entity. These parameter mappings, that have been ranked and sorted, are presented to the agent ordered by their rank with best matches presented first. Mappings are ranked on a scale from 1 to 100, with a rank of 100 being the best match, and a rank of 1 being the worst. Mappings are assigned a value based on the heuristic used to propose the candidate.; [0098] the process may be performed programmatically to produce a set of parameter mappings that are simply saved and later retrieved for execution. The process may then function as a tool to create parameter mappings programmatically. Please note that the mappings being assigned a value based on the heuristic used to propose the candidate, where mappings are ranked based on the best match, and programmatically saving and executing the parameter mappings corresponds to Applicant’s selecting the placement location from the at least one respective candidate location indicated in the set of responses based on the respective priority of each plugin that has responded to the voting request by the predefined time limit. This is because, as previously disclosed by Shraer in the system, the voters respond within the quorum latency corresponding to having responded to the voting request by the predefined time limit and the system determines candidate locations based on the quorum, and since each heuristic plugin has its returned mapping assigned a value and ranked, and the system later programmatically retrieves and executes the mapping, this corresponds to selecting the placement location from the respective candidate location indicated in the set of responses based on the respective priority of the plugin that has responded.). Regarding Claim 15, Shraer discloses A non-transitory computer-readable medium comprising program code executable by a processing device for causing the processing device to perform operations ([0123] The apparatus can be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device, for execution by a programmable processor. Please note that the computer program product tangibly embodied in a machine-readable storage device for execution by a processor corresponds to Applicant’s non-transitory computer-readable medium comprising program code executable by a processing device for causing the processing device to perform operations. ) comprising: transmitting, by a placement service, a voting request to request input to determine a placement location to assign a workload ([0108] The pseudocode 1050 can receive num_replicas and num_voters (e.g., N and M as described above) as input values that specify the number of replicas and voters, respectively, which the distributed database should have.; [0113] At least a quorum of voters are assigned 1104. For example, the task assigning service 124 can select a number of computing clusters 102-120 nearest the leader and assign these computing clusters 102-120 as voters; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations. Please note that assigning the computing clusters as voters to obtain a quorum that is ultimately used to find replica locations corresponds to Applicant’s transmitting a voting request to determine a placement location to assign a workload, as the voters are selected, i.e., have input requested from them, by the task assigning service, corresponding to the placement service, to determine a replica location, corresponding to the placement location, by a quorum.), the voting request indicating a predefined time limit by which to respond to the voting request ([0073] A quorum latency is the latency for a quorum of voters to approve a vote after the vote is submitted to the quorum. Please note that the latency for the quorum of voters to approve a vote corresponds to Applicant’s voting request indicating a predefined time limit by which to respond to the voting request, as the vote is approved during the latency period, meaning that the responses are received from voters. ); receiving, by the placement service, a set of responses, each response indicating at least one respective candidate location to execute the workload ([0058] example distributed computing environment 100 in which some computing clusters are candidates for replica […] roles within a distributed database.; [0113] At least a quorum of voters are assigned 1104. For example, the task assigning service 124 can select a number of computing clusters 102-120 nearest the leader and assign these computing clusters 102-120 as voters; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations. Please note that the quorum of voters that is used to find replica locations corresponds to Applicant’s receiving a set of responses by the placement service, each response indicating at least one respective candidate location to execute the workload, as the quorum of voters that is received by the system based on the responses of the voters is used to determine the replica location. Additionally, as different computing cluster locations may be considered as candidate replica locations by each voter, this corresponds to each response indicating a respective candidate.); determining, by the placement service, the placement location based on the set of responses received ([0034] a leader is selected from among candidate computing clusters (or servers, datacenters, etc.).; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations.; [0118] The pseudocode 1150 first sets the leader and a quorum of voters and then places the remaining replicas close to the clients. More specifically, each possible leader location in S is considered to find the best quorum for this leader. Please note that finding the replica locations based on the quorum of voters corresponds to Applicant’s determining the placement location based on the set of responses received. ); and subsequent to determining the placement location, assigning, by the placement service, the workload to the placement location for execution ([0033] the distributed database uses nodes in the system as “replicas” which replicate some or all of the distributed database. Additionally, the distributed database can use some or all of the nodes according to respective roles defined by the Paxos protocol that identify functions of the nodes.; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations.; [0118] The pseudocode 1150 first sets the leader and a quorum of voters and then places the remaining replicas close to the clients. Please note that finding and placing replicas at the determined replica locations based on the quorum, where the replicas function to replicate the database, corresponds to Applicant’s assigning the workload to the placement location for execution subsequent to determining the placement location, as the replica at the determined location performs a replication workload.). Shraer does not explicitly disclose one or more plugins; response being generated by a respective plugin; However, Dewar discloses one or more plugins ([0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent. Please note that the heuristic plug-ins correspond to Applicant’s one or more plugins.) response being generated by a respective plugin ([0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent. Please note that the heuristic plug-ins returning a sorted set of parameter mapping candidates correspond to Applicant’s response generated by a respective plugin.) Shraer and Dewar are both considered to be analogous to the claimed invention because they are in the same field of computing system optimization via processing candidate selection. Therefore, it would have been obvious to someone of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Shraer to incorporate the teachings of Dewar to modify the system transmitting a voting request to determine a placement location for assigning a workload indicating a predefined time limit by which to respond and receiving a set of responses indicating respective candidate locations to execute the workload and determining the placement location to subsequently assign the workload for execution to utilize plugins to generate respective responses, allowing for improved candidate selection based on metadata processable by particular plugins, as described in Dewar. Regarding Claim 16, Shraer-Dewar as described in Claim 15, Shraer further discloses determining the placement location comprises: selecting, by the placement service, the placement location from a set of candidate locations comprising the at least one respective candidate location of each response received by the placement service ([0058] example distributed computing environment 100 in which some computing clusters are candidates for replica […] roles within a distributed database.; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations.; [0118] The pseudocode 1150 first sets the leader and a quorum of voters and then places the remaining replicas close to the clients. More specifically, each possible leader location in S is considered to find the best quorum for this leader. Please note that selecting the replica from candidate computing clusters based on the quorum of voters corresponds to Applicant’s selecting the placement location by the placement service from a set of candidate locations comprising the at least one respective candidate location of each response received by the placement service, as each possible replica location, corresponding to each respective candidate locations of each response received by the placement service, is received by the system to be considered in selecting the replica location, i.e., determining the placement location by selecting the placement location.); prior to the predefined time limit being exceeded ([0073] A quorum latency is the latency for a quorum of voters to approve a vote after the vote is submitted to the quorum. Please note that the latency for the quorum of voters to approve a vote corresponds to Applicant’s determination being completed prior to the predefined time limit being exceeded, as the vote is approved during the latency period.). Regarding Claim 17, Shraer-Dewar as described in Claim 15, Shraer further discloses wherein the voting request indicates a set of available locations ([0058] example distributed computing environment 100 in which some computing clusters are candidates for replica […] roles within a distributed database.; [0117] the process may be referred to as “QK” because if first finds a Q quorum then uses K-Means to find replica locations.; [0118] The pseudocode 1150 first sets the leader and a quorum of voters and then places the remaining replicas close to the clients. More specifically, each possible leader location in S is considered to find the best quorum for this leader. Please note that certain computing clusters being candidates for replica roles that are determined based on the quorum, thus representing a set of available candidate clusters for replica roles, corresponds to Applicant’s voting request indicating a set of available locations, as the quorum established by voters would select from this set of candidates.), Dewar further discloses and wherein each plugin is configured to select a respective subset of the available locations to indicate as the at least one respective candidate location in a respective response locations ([0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent. Please note that the heuristic plug-ins being applied based on the metadata being processed during the generation of the set of parameter mapping candidates to return a sorted set of parameter mapping candidates corresponds to Applicant’s each plugin being configured to select a respective subset of the available locations to indicate as the at least one respective candidate location in a respective response locations. This is because this system may be applied to have the heuristic plug-ins applied to select parameter mapping candidates in a best order to return as a sorted set, corresponding to selecting a respective subset of the available locations to indicate as the at least one respective candidate location in a respective response location.). Regarding Claim 18, Shraer-Dewar as described in Claim 17, Dewar further discloses wherein each plugin is configured to select the respective subset of the available locations by filtering the set of available locations based on one or more attributes of the available locations ([0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent Please note that the heuristic plug-ins being applied based on the metadata being processed during the generation of the set of parameter mapping candidates corresponds to Applicant’s each plugin being configured to select the respective subset of the available locations by filtering the set of available locations based on one or more attributes of the available locations. This is because this system may be applied to have the heuristic plug-ins applied to select parameter mapping candidates in a best order by filtering them based on metadata being processed during the generation of the set of candidates, corresponding to filtering the set of available locations based on attributes of the available locations, as the metadata corresponds to attributes.). Regarding Claim 19, Shraer-Dewar as described in Claim 17, Dewar further discloses wherein the respective response indicates a ranking of the subset of the available locations selected by the plugin to indicate a respective weight of each available location in the subset of the available locations ([0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent Please note that the heuristic plug-ins being applied based on the metadata being processed during the generation of the set of parameter mapping candidates corresponds to Applicant’s respective response indicates a ranking of the subset of the available locations selected by the plugin to indicate a respective weight of each available location in the subset of the available locations. This is because this system may be applied to indicate a respective weight of each available location in the subset of the available locations, i.e., a respective score of each candidate mapping, to generate ranks to return the sorted parameter mapping candidates corresponding to indicating a ranking of the subset of available locations selected by the plugin.). Regarding Claim 20, Shraer-Dewar as described in Claim 15, Dewar further discloses wherein each response received by the placement service indicates a respective priority of a corresponding plugin ([0089] The use of particular heuristics is determined by the metadata being processed, enabling the use of heuristics plug-ins to be metadata driven. For example, when a mapping is desired between two similar relational constructs a heuristic suited to online analysis processing would not process the data; [0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent; [0093] Mappings are ranked on a scale from 1 to 100, with a rank of 100 being the best match, and a rank of 1 being the worst. Mappings are assigned a value based on the heuristic used to propose the candidate. Please note that the mappings being assigned a value based on the heuristic used to propose the candidate, where mappings are ranked based on the best match, corresponds to Applicant’s each response received by the placement service indicating a respective priority of a corresponding plugin.), and wherein determining the placement location further comprises: determining, by the placement service based on each response received, the respective priority of the corresponding plugin that has responded to the voting request by the predefined time limit ([0089] The use of particular heuristics is determined by the metadata being processed, enabling the use of heuristics plug-ins to be metadata driven. For example, when a mapping is desired between two similar relational constructs a heuristic suited to online analysis processing would not process the data; [0092] Process 900 generates a set of parameter mapping candidates using the analyzed metadata (step 910). Heuristic plug-ins are also applied, as appropriate, based on the metadata being processed during the generation of the set of parameter mapping candidates. Each candidate mapping in the set of parameter mapping candidates is assigned a score, or rank, when it is created. […] The candidate parameter mappings are placed in a "best" first order using assigned rankings. Process 900 returns the sorted set of parameter mapping candidates to the agent; [0093] Mappings are ranked on a scale from 1 to 100, with a rank of 100 being the best match, and a rank of 1 being the worst. Mappings are assigned a value based on the heuristic used to propose the candidate. Please note that the mappings being assigned a value based on the heuristic used to propose the candidate, where mappings are ranked based on the best match, corresponds to Applicant’s determining the respective priority of the corresponding plugin that has responded to the voting request by the predefined time limit by the placement service. This is because, as previously disclosed by Shraer in the system, the voters respond within the quorum latency corresponding to having responded to the voting request by the predefined time limit, and since each heuristic plugin has its returned mapping assigned a value and ranked, this corresponds to determining the priority of the corresponding plugin based on the response received.); and selecting the placement location from the at least one respective candidate location indicated in the set of responses based on the respective priority of each plugin that has responded to the voting request by the predefined time limit ([0093] The agent may be a user or a programmatic entity. These parameter mappings, that have been ranked and sorted, are presented to the agent ordered by their rank with best matches presented first. Mappings are ranked on a scale from 1 to 100, with a rank of 100 being the best match, and a rank of 1 being the worst. Mappings are assigned a value based on the heuristic used to propose the candidate.; [0098] the process may be performed programmatically to produce a set of parameter mappings that are simply saved and later retrieved for execution. The process may then function as a tool to create parameter mappings programmatically. Please note that the mappings being assigned a value based on the heuristic used to propose the candidate, where mappings are ranked based on the best match, and programmatically saving and executing the parameter mappings corresponds to Applicant’s selecting the placement location from the at least one respective candidate location indicated in the set of responses based on the respective priority of each plugin that has responded to the voting request by the predefined time limit. This is because, as previously disclosed by Shraer in the system, the voters respond within the quorum latency corresponding to having responded to the voting request by the predefined time limit and the system determines candidate locations based on the quorum, and since each heuristic plugin has its returned mapping assigned a value and ranked, and the system later programmatically retrieves and executes the mapping, this corresponds to selecting the placement location from the respective candidate location indicated in the set of responses based on the respective priority of the plugin that has responded.). Claims 7 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Shraer et al. (US 20170006105 A1) in view of Dewar et al. (US 20110295860 A1) as applied to Claims 1 and 8 above, and further in view of Zia et al. (US 20230326193 A1 ), hereinafter referred to as Shraer, Dewar, and Zia, respectively. Regarding Claim 7, Shraer-Dewar as described in Claim 1, Shraer further discloses wherein determining the placement location comprises, subsequent to the predefined time limit being exceeded ([0073] A quorum latency is the latency for a quorum of voters to approve a vote after the vote is submitted to the quorum. Please note that the period of time after the latency for the quorum of voters to approve a vote corresponds to Applicant’s determination occurring subsequent to the predefined time limit being exceeded, as the vote is approved during the latency period and the voters who approved it have necessarily been accounted for after the period expires.): Dewar further discloses identifying a subset of the responses based on a respective constraint type corresponding to each plugin that responded to the voting request ([0089] Heuristic plug-ins are applied, as appropriate, based on the metadata being processed as further described in the example of FIG. 11. The use of particular heuristics is determined by the metadata being processed, enabling the use of heuristics plug-ins to be metadata driven. For example, when a mapping is desired between two similar relational constructs a heuristic suited to online analysis processing would not process the data. A heuristic plug-in, from a set of heuristic plug-ins, is used in the data analysis portion of the process. Please note that applying the heuristic plug-ins based on the metadata being processed corresponds to Applicant’s identifying a subset of the responses based on a respective constraint type corresponding to each plugin that responded to the voting request, as the metadata for each plug-in’s processing, corresponding to the respective constraint type corresponding to each plugin that responded to the voting request, would allow for the identification of a subset of the responses, i.e., those of a particular plug-in. ); Shraer-Dewar does not explicitly disclose and applying dimensionality reduction to the subset of the responses received by the placement service. However, Zia discloses and applying dimensionality reduction to the subset of the responses received by the placement service ([0086] unsupervised methodologies may include, e.g., determining clusters in data as in this example, reducing or changing the feature dimensions used to represent data inputs, etc.; [0156] Down sampling the data 1010 may also include dimensionality reduction by applying PCA, e.g., to normalize the data. Please note that reducing the feature dimensions used to represent data inputs such as by applying PCA corresponds to Applicant’s applying dimensionality reduction to the subset of responses received by the placement service, as [0027] of the Specification states that “The placement service 104 can apply dimensionality reduction to the set of candidate locations to generate a reduced dataset that is less complex compared to the data associated with the set of candidate locations. The lower complexity of the reduced dataset can facilitate data processing, data visualization, or other forms of data analysis and may conserve processing time to determine the placement location 110 of the workload 108. Non- limiting methods to apply dimensionality reduction include principal component analysis (PCA).” Therefore, as PCA is being utilized to achieve dimensionality reduction, this corresponds to Applicant’s dimensionality reduction that may be applied in conjunction with the responses received by the placement service of Shraer-Dewar to reduce data complexity.). Shraer-Dewar and Zia are both considered to be analogous to the claimed invention because they are in the same field of computer system optimization via data processing to obtain an optimal output. Therefore, it would have been obvious to someone of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Shraer-Dewar to incorporate the teachings of Zia to modify the system as disclosed in Claim 1 that additionally identifies a subset of the responses based on a respective constraint type corresponding to each plugin that responded to the voting request subsequent to the predefined time limit being exceeded to apply dimensionality reduction to the subset of responses received by the placement service, allowing for reduced data complexity of the received data for improved efficiency of data processing, as described in Zia. Regarding Claim 14, Shraer-Dewar as described in Claim 8, Shraer further discloses wherein determining the placement location comprises, subsequent to the predefined time limit being exceeded ([0073] A quorum latency is the latency for a quorum of voters to approve a vote after the vote is submitted to the quorum. Please note that the period of time after the latency for the quorum of voters to approve a vote corresponds to Applicant’s determination occurring subsequent to the predefined time limit being exceeded, as the vote is approved during the latency period and the voters who approved it have necessarily been accounted for after the period expires.): Dewar further discloses identifying a subset of the responses based on a respective constraint type corresponding to each plugin that responded to the voting request ([0089] Heuristic plug-ins are applied, as appropriate, based on the metadata being processed as further described in the example of FIG. 11. The use of particular heuristics is determined by the metadata being processed, enabling the use of heuristics plug-ins to be metadata driven. For example, when a mapping is desired between two similar relational constructs a heuristic suited to online analysis processing would not process the data. A heuristic plug-in, from a set of heuristic plug-ins, is used in the data analysis portion of the process. Please note that applying the heuristic plug-ins based on the metadata being processed corresponds to Applicant’s identifying a subset of the responses based on a respective constraint type corresponding to each plugin that responded to the voting request, as the metadata for each plug-in’s processing, corresponding to the respective constraint type corresponding to each plugin that responded to the voting request, would allow for the identification of a subset of the responses, i.e., those of a particular plug-in. ); Shraer-Dewar does not explicitly disclose and applying dimensionality reduction to the subset of the responses received by the placement service. However, Zia discloses and applying dimensionality reduction to the subset of the responses received by the placement service ([0086] unsupervised methodologies may include, e.g., determining clusters in data as in this example, reducing or changing the feature dimensions used to represent data inputs, etc.; [0156] Down sampling the data 1010 may also include dimensionality reduction by applying PCA, e.g., to normalize the data. Please note that reducing the feature dimensions used to represent data inputs such as by applying PCA corresponds to Applicant’s applying dimensionality reduction to the subset of responses received by the placement service, as [0027] of the Specification states that “The placement service 104 can apply dimensionality reduction to the set of candidate locations to generate a reduced dataset that is less complex compared to the data associated with the set of candidate locations. The lower complexity of the reduced dataset can facilitate data processing, data visualization, or other forms of data analysis and may conserve processing time to determine the placement location 110 of the workload 108. Non- limiting methods to apply dimensionality reduction include principal component analysis (PCA).” Therefore, as PCA is being utilized to achieve dimensionality reduction, this corresponds to Applicant’s dimensionality reduction that may be applied in conjunction with the responses received by the placement service of Shraer-Dewar to reduce data complexity.). Shraer-Dewar and Zia are both considered to be analogous to the claimed invention because they are in the same field of computer system optimization via data processing to obtain an optimal output. Therefore, it would have been obvious to someone of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Shraer-Dewar to incorporate the teachings of Zia to modify the system as disclosed in Claim 8 that additionally identifies a subset of the responses based on a respective constraint type corresponding to each plugin that responded to the voting request subsequent to the predefined time limit being exceeded to apply dimensionality reduction to the subset of responses received by the placement service, allowing for reduced data complexity of the received data for improved efficiency of data processing, as described in Zia. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Koppolu et al. (US 20170052707 A1) discloses cluster configuration, workload placement, and quorum maintenance (see [0003, 0033-0035, 0050]). Any inquiry concerning this communication or earlier communications from the examiner should be directed to FARAZ T AKBARI whose telephone number is (571)272-4166. The examiner can normally be reached Monday-Thursday 9:30am-7:30pm ET. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, 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. /FARAZ T AKBARI/Examiner, Art Unit 2196 /APRIL Y BLAIR/Supervisory Patent Examiner, Art Unit 2196
Read full office action

Prosecution Timeline

Apr 24, 2024
Application Filed
Jun 08, 2026
Non-Final Rejection mailed — §103 (current)

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
0%
Grant Probability
0%
With Interview (+0.0%)
3y 5m (~1y 2m remaining)
Median Time to Grant
Low
PTA Risk
Based on 4 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month