DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . This action is in response to an application filed on June 9th, 2023. Claims 1-20 are pending in the current application.
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, Under Step 1 of the Subject Matter Eligibility Test of Products and
Processes, the claim is directed towards a process, which is one of the four statutory categories.
Next, under a Step 2A Prong 1 Analysis, the claim recites the following limitations, which are interpreted to be, under the broadest reasonable interpretation, grouping of abstract ideas.
determining based on a plurality of configurations of operators in the operators as input, a physical topology, including physical placement of the filters and the ML model across an infrastructure, of the ML pipeline and configuration of at least one of the filters or the ML model, such that placement of the filters, placement of the ML model, and the configuration satisfy the performance criteria (mental process)
and placing the filters and the ML model across the infrastructure, comprising a plurality of tiers connected through network connections to each other, different tiers in the plurality of tiers being collections of computing resources, the different tiers having different geographic boundaries, different compute latencies, and different network throughputs from each other, according to the determined physical topology causing resources consumption of the ML pipeline to not exceed the computing resource consumption limits when the filters and the ML model are performing the specific ML tasks. (mental process)
Therefore, we have to examine the claim under Step 2A prong 2, which considers the additional elements within the claim. The claim’s additional elements are:
the ML pipeline includes operators to perform specific ML tasks
receiving an indication of an input data source, and input data type from the input data source;
receiving an indication of a plurality filters
the filters in the plurality of filters comprising filter operators that operate on input data from the input data source to reduce input data size by sampling data or filtering out data, an ML model, and predetermined performance criteria identifying computing resource consumption limits;
The limitation, “the ML pipeline includes operators to perform specific ML tasks”, and “the filters in the plurality of filters comprising filter operators that operate on input data from the input data source to reduce input data size by sampling data or filtering out data, an ML model, and predetermined performance criteria identifying computing resource consumption limits” merely indicates the field of use and technological environment, and “generally links” operators to a ML pipeline and filter operators to filters. (See MPEP 2106.05(h)) The “receiving an indication of an input data source, and input data type from the input data source”, and “receiving an indication of a plurality filters” are limitations that are considered to be insignificant extra-solution activity. (See MPEP 2106.05(g)) Therefore, these additional elements do not integrate the abstract idea into a practical application. The claim is directed to an abstract idea.
Under a Step 2B analysis, the claim’s additional elements do not amount to significantly
more than the judicial exception as explained above in Step 2A prong 2. Additionally, “receiving an indication of an input data source, and input data type from the input data source”, and “receiving an indication of a plurality filters” are considered to be well-understood, routine, and conventional, as it is considered to be sending or receiving data over a network. (See MPEP 2106.05(d)(ii)) Therefore, the claim is ineligible.
Regarding claim 12, Under Step 1 of the Subject Matter Eligibility Test of Products and Processes, the claim is directed towards a process, which is one of the four statutory categories.
Next, under a Step 2A Prong 1 Analysis, the claim recites the following limitations, which are interpreted to be, under the broadest reasonable interpretation, grouping of abstract ideas.
generating a set of feasible placement plans for placing the ML pipeline across an infrastructure comprising a plurality of tiers connected through network connections to each other, different tiers in the plurality of tiers being collections of computing resources, the different tiers having different geographic boundaries, different compute latencies, and different network throughputs from each other, each placement plan in the set of placement plans comprising placement of a plurality of filters and placement of an ML model across the infrastructure (mental process)
generating a plurality of configurations of operators in the operators for the plurality of placement plans (mental process)
iteratively determining placement plans and configurations that have not been explored, launching unexplored placement plans and unexplored configurations across the infrastructure, and memoizing latency results for the launched placement plans and launched configuration (mental process)
iteratively determining memoized latency results of previously explored placement plans and previously explored configurations (mental process)
determine a selected placement plan and a selected configuration without deploying the previously explored placement plans and previously explored configurations across the infrastructure (mental process)
deploying the ML pipeline across the infrastructure according to the selected placement plan and selected configuration. (mental process)
Therefore, we have to examine the claim under Step 2A prong 2, which considers the additional elements within the claim. The claim’s additional elements are:
the ML pipeline includes operators to perform specific ML tasks
using memoized latency results of the launched placement plans and launched configuration, and the previously explored placement plans and previously explored configurations
The limitation, “the ML pipeline includes operators to perform specific ML tasks”, and” merely indicates the field of use and technological environment, and “generally links” operators to a ML pipeline. (See MPEP 2106.05(h)) “Using memoized latency results of the launched placement plans and launched configuration, and the previously explored placement plans and previously explored configurations” is a limitation that is considered to be mere instructions to apply a judicial exception, as it instructs to use memoized latency results to help perform the abstract idea. (See MPEP 2106.05(f)) Therefore, these additional elements do not integrate the abstract idea into a practical application. The claim is directed to an abstract idea.
Under a Step 2B analysis, the claim’s additional elements do not amount to significantly
more than the judicial exception as explained above in Step 2A prong 2. Therefore, the claim is ineligible.
Regarding claim 19, Under Step 1 of the Subject Matter Eligibility Test of Products and Processes, the claim is directed towards a machine, which is one of the four statutory categories.
Next, under a Step 2A Prong 1 Analysis, the claim recites the following limitations, which are interpreted to be, under the broadest reasonable interpretation, grouping of abstract ideas.
determine based on a plurality of configurations of operators in the operators as input, a physical topology, including physical placement of the filters and the ML model across an infrastructure, of the ML pipeline and configuration of at least one of the filters or the ML model, such that placement of the filters, placement of the ML model, and the configuration satisfy the performance criteria (mental process)
and place the filters and the ML model across the infrastructure, comprising a plurality of tiers connected through network connections to each other, different tiers in the plurality of tiers being collections of computing resources, the different tiers having different geographic boundaries, different compute latencies, and different network throughputs from each other, according to the determined physical topology causing resources consumption of the ML pipeline to not exceed the computing resource consumption limits when the filters and the ML model are performing the specific ML tasks. (mental process)
Therefore, we have to examine the claim under Step 2A prong 2, which considers the additional elements within the claim. The claim’s additional elements are:
one or more processors
one or more computer-readable media having stored thereon instructions that are executable by the one or more processors to configure the computer system to optimize deployment of an ML pipeline
the ML pipeline includes operators to perform specific ML tasks
receive an indication of an input data source, and input data type from the input data source;
receive an indication of a plurality filters
the filters in the plurality of filters comprising filter operators that operate on input data from the input data source to reduce input data size by sampling data or filtering out data, an ML model, and predetermined performance criteria identifying computing resource consumption limits;
The “one or more processors”, and “one or more computer-readable media having stored thereon instructions that are executable by the one or more processors to configure the computer system to optimize deployment of an ML pipeline” are limitations that are interpreted to be mere instructions to apply a judicial exception, as it instructs to use the processors and media as tools to perform the abstract idea. (See MPEP 2106.05(f)) The limitation, “the ML pipeline includes operators to perform specific ML tasks”, and “the filters in the plurality of filters comprising filter operators that operate on input data from the input data source to reduce input data size by sampling data or filtering out data, an ML model, and predetermined performance criteria identifying computing resource consumption limits” merely indicates the field of use and technological environment, and “generally links” operators to a ML pipeline and filter operators to filters. (See MPEP 2106.05(h)) To “receive an indication of an input data source, and input data type from the input data source”, and “receive an indication of a plurality filters” are limitations that are considered to be insignificant extra-solution activity. (See MPEP 2106.05(g)) Therefore, these additional elements do not integrate the abstract idea into a practical application. The claim is directed to an abstract idea.
Under a Step 2B analysis, the claim’s additional elements do not amount to significantly
more than the judicial exception as explained above in Step 2A prong 2. Additionally, “receiving an indication of an input data source, and input data type from the input data source”, and “receiving an indication of a plurality filters” are considered to be well-understood, routine, and conventional, as it is considered to be sending or receiving data over a network. (See MPEP 2106.05(d)(ii)) Therefore, the claim is ineligible.
Regarding claim 2, the claim recites “ranking the filters, using recall and precision, and wherein determining the physical topology of the ML pipeline and configuration is performed as a result of ranking.” The limitation, as drafted, is interpreted to be, under the broadest reasonable interpretation, a “mental process”, which is a grouping of abstract idea. Therefore, the claim is rejected on the same basis as claim 1.
Regrading claim 3, the claim recites “receiving an indication of the plurality filters to be included in the ML pipeline, the ML model, and the predetermined performance criteria comprises receiving information identifying the plurality filters, the ML model, and the predetermined performance criteria from an ML pipeline specification.” These limitations are considered to be insignificant extra-solution activity (See MPEP 2106.05(g)) and considered to be well-understood, routine, and conventional, as it is considered to be sending or receiving data over a network. (See MPEP 2106.05(d)(ii)) Therefore, the claim is rejected on the same basis as claim 1.
Regarding claim 4, the claim recites “determining the physical topology of the ML pipeline and configuration is performed using memoized intermediate results from previous ML pipeline runs.” The limitation, as drafted, is considered to be mere instructions to apply a judicial exception, as it instructs to use memoized latency results to help perform the abstract idea. (See MPEP 2106.05(f))
Regarding claim 5, the claim recites “the performance criteria comprises a ratio of accuracy and latency.” The limitation, as drafted, is interpreted to be, under the broadest reasonable interpretation, a “mathematical concept”, which is a grouping of abstract idea. Therefore, the claim is rejected on the same basis as claim 1.
Regarding claim 6, the claim recites “the performance criteria comprises a latency factor, and wherein the latency factor comprises a network latency component that is computed by summing network latency across adjacent tiers while excluding latency within tiers.” The limitation as drafted, merely indicates the field of use and particular technological environment, and “generally links” network latency across tiers to the abstract idea. (See MPEP 2106.05(h)) Therefore, the claim is rejected on the same basis as claim 1.
Regarding claim 7, the claim recites “the performance criteria is based on a quality of service tier of the ML pipeline.” The limitation as drafted, merely indicates the field of use and particular technological environment, and “generally links” quality of service to an abstract idea. (See MPEP 2106.05(h)) Therefore, the claim is rejected on the same basis as claim 1.
Regarding claim 8, the claim recites “recursively performing the act of determining the physical topology of the ML pipeline and configuration, as a result of at least one of available compute, network or, storage changing.” The limitation, as drafted, is interpreted to be, under the broadest reasonable interpretation, a “mental process”, which is a grouping of abstract idea. Therefore, the claim is rejected on the same basis as claim 1.
Regarding claim 9, the claim recites “recursively performing the act of determining the physical topology of the ML pipeline and configuration, as a result of at least one of a zoo of filters having the plurality of filters changing or a zoo of ML models having the ML model changing.” The limitation, as drafted, is interpreted to be, under the broadest reasonable interpretation, a “mental process”, which is a grouping of abstract idea. Therefore, the claim is rejected on the same basis as claim 1.
Regarding claim 10, the claim recites “recursively performing the act of determining the physical topology of the ML pipeline and configuration as a result of the performance criteria changing.” The limitation, as drafted, is interpreted to be, under the broadest reasonable interpretation, a “mental process”, which is a grouping of abstract idea. Therefore, the claim is rejected on the same basis as claim 1.
Regarding claim 11, the claim recites “recursively performing the act of determining the physical topology of the ML pipeline and configuration, as a result of the input data changing as a result of at least one of changes in input data type, input data bit rate, or input data quality.” The limitation, as drafted, is interpreted to be, under the broadest reasonable interpretation, a “mental process”, which is a grouping of abstract idea. Therefore, the claim is rejected on the same basis as claim 1.
Regarding claim 13, the claim recites “ranking filters in the plurality of filters, using recall and precision.” The limitation, as drafted, is interpreted to be, under the broadest reasonable interpretation, a “mental process”, which is a grouping of abstract idea. Therefore, the claim is rejected on the same basis as claim 12.
Regarding claim 14, the claim recites “selecting the selected placement plan and the selected configuration comprises using a ratio of accuracy and latency to determine which placement plan and configuration to select.” The limitation, as drafted, is interpreted to be, under the broadest reasonable interpretation, a “mental process”, which is a grouping of abstract idea. Therefore, the claim is rejected on the same basis as claim 12.
Regarding claim 15 the claim recites “selecting the selected placement plan and the selected configuration comprises using a latency factor, and wherein the latency factor comprises a network latency component that is computed by summing network latency across adjacent tiers while excluding latency within tiers.” The limitation as drafted, merely indicates the field of use and particular technological environment, and “generally links” network latency across tiers to the abstract idea. (See MPEP 2106.05(h)) Therefore, the claim is rejected on the same basis as claim 12.
Regarding claim 16, the claim recites “generating new placement plans as a result of at least one of available compute, network or, storage changing.” The limitation, as drafted, is interpreted to be, under the broadest reasonable interpretation, a “mental process”, which is a grouping of abstract idea. Therefore, the claim is rejected on the same basis as claim 12.
Regarding claim 17, the claim recites “generating new placement plans as a result of at least one of a zoo of filters having the plurality of filters changing or a zoo of ML models having the one or more ML models changing.” The limitation, as drafted, is interpreted to be, under the broadest reasonable interpretation, a “mental process”, which is a grouping of abstract idea. Therefore, the claim is rejected on the same basis as claim 12.
Regarding claim 18, the claim recites “generating new placement plans as a result of ML pipeline input data changing as a result of at least one of changes in input data type, input data bit rate, or input data quality.” The limitation, as drafted, is interpreted to be, under the broadest reasonable interpretation, a “mental process”, which is a grouping of abstract idea. Therefore, the claim is rejected on the same basis as claim 12.
Regarding claim 20, the claim recites “determining a physical topology of the ML pipeline and configurations is performed using memoized intermediate results from previous ML pipeline runs.” The limitation, as drafted, is considered to be mere instructions to apply a judicial exception, as it instructs to use memoized results to help perform the abstract idea. (See MPEP 2106.05(f)) Therefore, the claim is rejected on the same basis as claim 19.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1, 3-12, and 14-20 are rejected under 35 U.S.C. 103 as being unpatentable over Anne Condon et al. (Herein referred to as Condon) (Algorithms for distributional and adversarial pipelined filter ordering problems) in view of Daniel Crankshaw et al. (Herein referred to as Crankshaw) (InferLine: latency-aware provisioning and scaling for prediction serving pipelines)
Regarding claim 1, Condon teaches A ML pipeline management system, a method of optimizing deployment of an ML pipeline, wherein the ML pipeline includes operators to perform specific ML tasks (“selection queries (i.e., conjunctions of predicates, or filters) may be processed in parallel as follows. For each predicate of the query, there is a distinct operator (processor) dedicated to evaluating that predicate. Each tuple in the input relation is routed from operator to operator, until it is found to satisfy all predicates of the query and is output, or until it is found not to satisfy a predicate, in which case it is discarded.”, pg. 4, under “Problem 1: Distributional Type, Parallel Environment.”) the method comprising: receiving an indication of an input data source, and input data type from the input data source; (“Each tuple in the input relation is routed from operator to operator, until it is found to satisfy all predicates of the query and is output, or until it is found not to satisfy a predicate, in which case it is discarded.”, pg. 4, under “Problem 1: Distributional Type, Parallel Environment.”) receiving an indication of a plurality filters, the filters in the plurality of filters comprising filter operators that operate on input data from the input data source to reduce input data size by sampling data or filtering out data, an ML model, and predetermined performance criteria identifying computing resource consumption limits; (“The problem is to determine the optimal order in which to apply a given set of commutative filters (predicates) to a set of elements (the tuples of a relation), so as to find, as efficiently as possible, the tuples that satisfy all of the filters. Optimization of conjunctive selection queries reduces to pipelined filter ordering, as does optimization of certain commonly occurring join queries… The problem is to choose a (randomized) routing of the tuple so as to minimize the expected multiplicative regret, under the following assumptions. We assume that the set of filters which will eliminate the tuple is determined (in secret) by an adversary before a routing is chosen for the tuple. The goal of the adversary is to maximize the expected multiplicative regret induced by the tuple routing. The adversary (who may make random choices) will know the strategy used in determining the randomized routing of the tuple, and can choose the set of filters accordingly”, pg. 3, under “Introduction”; pg. 5, under “Problem 2: Adversarial Type, Single Tuple”) (The set of filters corresponds to an indication of a plurality of filters. The filters work to reduce the number of input queries, and the filter work with the operators to maximize flow.) determining based on a plurality of configurations of operators in the operators as input, a physical topology, including physical placement of the filters and the ML model across an infrastructure, of the ML pipeline and configuration of at least one of the filters or the ML model, such that placement of the filters, placement of the ML model, and the configuration satisfy the performance criteria (“…decisions about flow routing can be made locally at nodes of the network, independently of other nodes… In standard routing problems with limits on the capacity of edges (or nodes), congestion minimization and throughput maximization are closely related.”, pg. 8; top paragraphs; pg. 30, bottom paragraph) (The topology is determined based on the capacity of edges/nodes of the network, the minimization of congestion, and maximization of throughput, the amount of congestion and throughput being performance criteria.) and placing the filters and the ML model across the infrastructure. (“Pipelined filter ordering is a central problem in database query optimization. The problem is to determine the optimal order in which to apply a given set of commutative filters (predicates) to a set of elements (the tuples of a relation), so as to find, as efficiently as possible, the tuples that satisfy all of the filters.”, pg. 3, under “Introduction”)
However, Condon does not explicitly teach the placing of filters comprises a plurality of tiers connected through network connections to each other, different tiers in the plurality of tiers being collections of computing resources, the different tiers having different geographic boundaries, different compute latencies, and different network throughputs from each other, according to the determined physical topology causing resources consumption of the ML pipeline to not exceed the computing resource consumption limits when the filters and the ML model are performing the specific ML tasks.
Crankshaw teaches a plurality of tiers connected through network connections to each other, different tiers in the plurality of tiers being collections of computing resources, the different tiers having different geographic boundaries, different compute latencies, and different network throughputs from each other, according to the determined physical topology causing resources consumption of the ML pipeline to not exceed the computing resource consumption limits when the filters and the ML model are performing the specific ML tasks. (“Allocating parallel hardware resources to a single model presents a complex model dependent trade-off space between cost, throughput, and latency. This trade-off space grows exponentially with each model in a prediction pipeline. Decisions made about the choice of hardware, batching parameters, and replication factor at one stage of the pipeline affect the set of feasible choices at the other stages due to the need to meet end-to-end latency constraints… We configure each pipeline with varying input arrival processes and latency budgets. We evaluate the latency SLO attainment and pipeline cost under a range of both synthetic and real world workload traces.”, pg. 479, right column, bottom paragraph; pg. 484, left column, under “EXPERIMENTAL SETUP”) (Crankshaw’s method works with different latencies, and different hardware, which teaches the different latencies and different network throughput for different computational resource allocations, as necessitated by the claim language. Combined with the filters of Condon which can perform ML tasks, and would implicitly have different geographic boundaries, as the filters are placed in different locations in the pipeline, the limitation is taught.)
Therefore, it would have been considered obvious to one of ordinary skill in the art, prior to the application’s filing date, to combine the method of placing filters for ML pipelines as described by Condon, with the modularity with respect to throughput and latency as described by Crankshaw. One of ordinary skill in the art would have been motivated to combine the two teachings, prior to the filing date of the current application, as Crankshaw’s methods benefits both low-frequency planning and high-frequency tuning, as disclosed by Crankshaw. (“Third, we perform an ablation study to show that the system benefits from both the low-frequency planning and high-frequency tuning. We conclude by showing that InferLine composes with multiple underlying prediction serving frameworks.”, pg. 485, left column, under “EXPERIMENTAL EVALUATION”)
Regarding claim 12, Condon teaches at an ML pipeline management system, a method of optimizing deployment of a ML pipeline, wherein the pipeline includes operators to perform specific ML tasks (“selection queries (i.e., conjunctions of predicates, or filters) may be processed in parallel as follows. For each predicate of the query, there is a distinct operator (processor) dedicated to evaluating that predicate. Each tuple in the input relation is routed from operator to operator, until it is found to satisfy all predicates of the query and is output, or until it is found not to satisfy a predicate, in which case it is discarded.”, pg. 4, under “Problem 1: Distributional Type, Parallel Environment.”) the method comprising: generating a set of feasible placement plans for placing the ML pipeline across an infrastructure each placement plan in the set of placement plans comprising placement of a plurality of filters and placement of an ML model across the infrastructure (“Pipelined filter ordering is a central problem in database query optimization. The problem is to determine the optimal order in which to apply a given set of commutative filters (predicates) to a set of elements (the tuples of a relation), so as to find, as efficiently as possible, the tuples that satisfy all of the filters.”, pg. 3, under “Introduction”) generating a plurality of configurations of operators in the operators for the plurality of placement plans (“Kodialam’s algorithm for (b) outputs a sparse routing scheme, that is, a scheme which routes tuples along at most n distinct orderings of the operators.”, pg. 5, first paragraph”) iteratively determining placement plans and configurations that have not been explored, launching unexplored placement plans and unexplored configurations across the infrastructure (“If the flow sx is greater than 0, then amount of flow sx is routed through the operators in the order given by permutation π∗, that is, (π∗,sx) is added to K… Finally, routes are added to the solution K in the following way. First, the solution K’’ output by the recursive call is adjusted, to renumber the operator indices and then to insert x + 1 right after x in each permutation. For example, if n = 5 and x =2, then operator 3 is removed in the recursive call, leaving operators 1, 2, 4, and 5. However, a permutation π’’ in the solution K’’ refers to these, in order, as 1,2,3, and 4. Permutation π renames 3 and 4 back to 4 and 5. Thus, if π’’ = (3,1,2,4) then π’ = (4,1,2,5). Operator 3 is inserted in π’ just after operator 2, to yield permutation π+ = (4,1,2,3,5). The flow fπ assigned to permutation π’’ in solution K is now assigned to permutation π+, and (π+, fπ ) is added to K. Each recursive call can be completed in O(n) time; the recursion depth is at most n, and so the total running time is O(n2). Each recursive call adds at most one additional permutation to the solution. Hence the number of permutations in the solution is at most n, and so the solution is sparse.”, pg. 12, second to last paragraph) (Previously unexplored orderings of the operators are explored with each recursive call.) using memoized latency results of the launched placement plans and launched configuration, and the previously explored placement plans and previously explored configurations to determine a selected placement plan and a selected configuration without deploying the previously explored placement plans and previously explored configurations across the infrastructure and as a result, deploying the ML pipeline across the infrastructure according to the selected placement plan and selected configuration. (“We present an algorithm for (a) that runs in linear time if the rate limits {ri} are given in sorted order and two algorithms for (b) that run in O(n2) time. Kodialam’s algorithm for (b) outputs a sparse routing scheme, that is, a scheme which routes tuples along at most n distinct orderings of the operators.”, pg. 5, top paragraph; See the Algorithms on pgs. 13 and 23) (The algorithms make use of previous configurations and plans of the previous call, to then deploy an optimal pipeline with max-throughput.)
However, Condon does not explicitly teach an infrastructure comprising a plurality of tiers connected through network connections to each other, different tiers in the plurality of tiers being collections of computing resources, the different tiers having different geographic boundaries, different compute latencies, and different network throughputs from each other, nor memoizing latency results for the launched placement plans and launched configuration, nor iteratively determining memoized latency results of previously explored placement plans and previously explored configurations
Crankshaw teaches an infrastructure comprising a plurality of tiers connected through network connections to each other, different tiers in the plurality of tiers being collections of computing resources, the different tiers having different geographic boundaries, different compute latencies, and different network throughputs from each other. (“Allocating parallel hardware resources to a single model presents a complex model dependent trade-off space between cost, throughput, and latency. This trade-off space grows exponentially with each model in a prediction pipeline. Decisions made about the choice of hardware, batching parameters, and replication factor at one stage of the pipeline affect the set of feasible choices at the other stages due to the need to meet end-to-end latency constraints… We configure each pipeline with varying input arrival processes and latency budgets. We evaluate the latency SLO attainment and pipeline cost under a range of both synthetic and real world workload traces.”, pg. 479, right column, bottom paragraph; pg. 484, left column, under “EXPERIMENTAL SETUP”) (Crankshaw’s method works with different latencies, and different hardware, which teaches the different latencies and different network throughput for different computational resource allocations, as necessitated by the claim language. Combined with the filters of Condon which can perform ML tasks, and would implicitly have different geographic boundaries, as the filters are placed in different locations in the pipeline, the limitation is taught.) memoizing latency results for the launched placement plans and launched configuration, (“The Estimator is responsible for rapidly estimating the end-to end latency of a given pipeline configuration for the sample query trace. It takes as input a pipeline configuration, the individual model profiles, and a sample trace of the query workload, and returns accurate estimates of the latency for each query in the trace.“, pg. 481, left column, under “4.2 Estimator”) and iteratively determining memoized latency results of previously explored placement plans and previously explored configurations (“The Estimator is implemented as a continuous-time, discrete-event simulator” pg. 481, left column, under “4.2 Estimator”) (The estimator operates continuously, and the Estimator can be easily configured to work with the recursive method of Condon.)
Therefore, it would have been considered obvious to one of ordinary skill in the art, prior to the application’s filing date, to combine the method of placing filters for ML pipelines as described by Condon, with the modularity with respect to throughput and latency as described by Crankshaw. One of ordinary skill in the art would have been motivated to combine the two teachings, prior to the filing date of the current application, as Crankshaw’s methods benefits both low-frequency planning and high-frequency tuning, as disclosed by Crankshaw. (“Third, we perform an ablation study to show that the system benefits from both the low-frequency planning and high-frequency tuning. We conclude by showing that InferLine composes with multiple underlying prediction serving frameworks.”, pg. 485, left column, under “EXPERIMENTAL EVALUATION”)
Regarding claim 19, Condon teaches a computing system comprising: one or more processors; (“For each predicate of the query, there is a distinct operator (processor) dedicated to evaluating that predicate.”, pg. 4, under “Problem 1: Distributional Type, Parallel Environment” and one or more computer-readable media having stored thereon instructions that are executable by the one or more processors to configure the computer system to optimize deployment of an ML pipeline, (While one or more media are not explicitly disclosed in Condon, one would implicitly need one to distribute the method of Condon.) wherein the ML pipeline includes operators to perform specific ML tasks, (“selection queries (i.e., conjunctions of predicates, or filters) may be processed in parallel as follows. For each predicate of the query, there is a distinct operator (processor) dedicated to evaluating that predicate. Each tuple in the input relation is routed from operator to operator, until it is found to satisfy all predicates of the query and is output, or until it is found not to satisfy a predicate, in which case it is discarded.”, pg. 4, under “Problem 1: Distributional Type, Parallel Environment.”) including instructions that are executable to configure the computer system to perform at least the following: receive an indication of an input data source, and input data type from the input data source; (“Each tuple in the input relation is routed from operator to operator, until it is found to satisfy all predicates of the query and is output, or until it is found not to satisfy a predicate, in which case it is discarded.”, pg. 4, under “Problem 1: Distributional Type, Parallel Environment.”)) receive an indication of a plurality filters, the filters in the plurality of filters comprising filter operators that operate on input data from the input data source to reduce input data size by sampling data or filtering out data, an ML model, and predetermined performance criteria identifying computing resource consumption limits; (“The problem is to determine the optimal order in which to apply a given set of commutative filters (predicates) to a set of elements (the tuples of a relation), so as to find, as efficiently as possible, the tuples that satisfy all of the filters. Optimization of conjunctive selection queries reduces to pipelined filter ordering, as does optimization of certain commonly occurring join queries… The problem is to choose a (randomized) routing of the tuple so as to minimize the expected multiplicative regret, under the following assumptions. We assume that the set of filters which will eliminate the tuple is determined (in secret) by an adversary before a routing is chosen for the tuple. The goal of the adversary is to maximize the expected multiplicative regret induced by the tuple routing. The adversary (who may make random choices) will know the strategy used in determining the randomized routing of the tuple, and can choose the set of filters accordingly”, pg. 3, under “Introduction”; pg. 5, under “Problem 2: Adversarial Type, Single Tuple”) (The set of filters corresponds to an indication of a plurality of filters. The filters work to reduce the number of input queries, and the filter work with the operators to maximize flow.) determine based on a plurality of configurations of operators in the operators as input, a physical topology, including physical placement of the filters and the ML model across an infrastructure, of the ML pipeline and configuration of at least one of the filters or the ML model, such that placement of the filters, placement of the ML model, and the configuration satisfy the performance criteria; (“…decisions about flow routing can be made locally at nodes of the network, independently of other nodes… In standard routing problems with limits on the capacity of edges (or nodes), congestion minimization and throughput maximization are closely related.”, pg. 8; top paragraphs; pg. 30, bottom paragraph) (The topology is determined based on the capacity of edges/nodes of the network, the minimization of congestion, and maximization of throughput, the amount of congestion and throughput being performance criteria.) and place the filters and the ML model across the infrastructure. (“Pipelined filter ordering is a central problem in database query optimization. The problem is to determine the optimal order in which to apply a given set of commutative filters (predicates) to a set of elements (the tuples of a relation), so as to find, as efficiently as possible, the tuples that satisfy all of the filters.”, pg. 3, under “Introduction”)
However, Condon does not explicitly teach the placing of filters comprises a plurality of tiers connected through network connections to each other, different tiers in the plurality of tiers being collections of computing resources, the different tiers having different geographic boundaries, different compute latencies, and different network throughputs from each other, according to the determined physical topology causing resources consumption of the ML pipeline to not exceed the computing resource consumption limits when the filters and the ML model are performing the specific ML tasks.
Crankshaw teaches a plurality of tiers connected through network connections to each other, different tiers in the plurality of tiers being collections of computing resources, the different tiers having different geographic boundaries, different compute latencies, and different network throughputs from each other, according to the determined physical topology causing resources consumption of the ML pipeline to not exceed the computing resource consumption limits when the filters and the ML model are performing the specific ML tasks. (“Allocating parallel hardware resources to a single model presents a complex model dependent trade-off space between cost, throughput, and latency. This trade-off space grows exponentially with each model in a prediction pipeline. Decisions made about the choice of hardware, batching parameters, and replication factor at one stage of the pipeline affect the set of feasible choices at the other stages due to the need to meet end-to-end latency constraints… We configure each pipeline with varying input arrival processes and latency budgets. We evaluate the latency SLO attainment and pipeline cost under a range of both synthetic and real world workload traces.”, pg. 479, right column, bottom paragraph; pg. 484, left column, under “EXPERIMENTAL SETUP”) (Crankshaw’s method works with different latencies, and different hardware, which teaches the different latencies and different network throughput for different computational resource allocations, as necessitated by the claim language. Combined with the filters of Condon which can perform ML tasks, and would implicitly have different geographic boundaries, as the filters are placed in different locations in the pipeline, the limitation is taught.)
Therefore, it would have been considered obvious to one of ordinary skill in the art, prior to the application’s filing date, to combine the method of placing filters for ML pipelines as described by Condon, with the modularity with respect to throughput and latency as described by Crankshaw. One of ordinary skill in the art would have been motivated to combine the two teachings, prior to the filing date of the current application, as Crankshaw’s methods benefits both low-frequency planning and high-frequency tuning, as disclosed by Crankshaw. (“Third, we perform an ablation study to show that the system benefits from both the low-frequency planning and high-frequency tuning. We conclude by showing that InferLine composes with multiple underlying prediction serving frameworks.”, pg. 485, left column, under “EXPERIMENTAL EVALUATION”)
Regarding claim 3, Condon, as modified by Crankshaw, teaches the method of claim 1, wherein receiving an indication of the plurality filters to be included in the ML pipeline, the ML model, and the predetermined performance criteria comprises receiving information identifying the plurality filters, the ML model, and the predetermined performance criteria from an ML pipeline specification. (“Given a list L of tuples and for each, the subset of filters which it satisfies, and a cost for applying each filter, find the ordering π of the filters which minimizes the sum of the costs of evaluating all tuples in L using π.”, pg. 7, second paragraph (Condon)) (Condon teaches information identifying a plurality of filters) (“And each pipeline stage can be replicated to meet the application throughput requirements. Per-stage decisions with respect to the hard ware type and batch size affect the latency contributed by each stage towards the end-to-end pipeline latency bound by the application-specified Service Level Objective (SLO). This creates a combinatorial search space with three control dimensions per model (hardware type, batch size, number of replicas) and constraints on aggregate latency.”, pg. 478, left column, first paragraph (Crankshaw)) (Crankshaw teaches the information identifying the ML model and performance criteria from an ML specification. The combination of the two fully teaches the limitation.)
Regarding claim 4, Condon, as modified by Crankshaw, teaches the method of claim 1, wherein determining the physical topology of the ML pipeline and configuration is performed using memoized intermediate results from previous ML pipeline runs. (“Finally, routes are added to the solution K in the following way. First, the solution K’’ output by the recursive call is adjusted, to renumber the operator indices and then to insert x + 1 right after x in each permutation. For example, if n = 5 and x =2, then operator 3 is removed in the recursive call, leaving operators 1, 2, 4, and 5. However, a permutation π’’ in the solution K’’ refers to these, in order, as 1,2,3, and 4. Permutation π renames 3 and 4 back to 4 and 5. Thus, if π’’ = (3,1,2,4) then π’ = (4,1,2,5). Operator 3 is inserted in π’ just after operator 2, to yield permutation π+ = (4,1,2,3,5). The flow fπ assigned to permutation π’’ in solution K is now assigned to permutation π+, and (π+, fπ ) is added to K. Each recursive call can be completed in O(n) time; the recursion depth is at most n, and so the total running time is O(n2). Each recursive call adds at most one additional permutation to the solution. Hence the number of permutations in the solution is at most n, and so the solution is sparse.”, pg. 12, second to last paragraph (Condon)) (The permutations correspond to memoized intermediate results from previous ML pipeline runs.)
Regarding claim 5, Condon, as modified by Crankshaw, teaches the method of claim 1, wherein the performance criteria comprises a ratio of accuracy and latency. (“InferLine is able to maintain latency constraints with P99 service level objectives (99% of query latencies must be below the constraint)… The Estimator is responsible for rapidly estimating the end-to-end latency of a given pipeline configuration for the sample query trace. It takes as input a pipeline configuration, the individual model profiles, and a sample trace of the query workload, and returns accurate estimates of the latency for each query in the trace.”, pg. 479, left column, above “2.1 Challenges”; pg. 481, left column, under “4.2 Estimator” (Crankshaw)) (The performance criteria of a percentage of latency below the constraints indicates a ratio. The accuracy number implicitly is a ratio. (Number correct over number total.))
Regarding claim 6, Condon, as modified by Crankshaw, teaches the method of claim 1, wherein the performance criteria comprises a latency factor, (“The Estimator is responsible for rapidly estimating the end-to-end latency of a given pipeline configuration for the sample query trace. It takes as input a pipeline configuration, the individual model profiles, and a sample trace of the query workload, and returns accurate estimates of the latency for each query in the trace.”, pg. 481, left column, under “4.2 Estimator” (Crankshaw)) and wherein the latency factor comprises a network latency component that is computed by summing network latency across adjacent tiers while excluding latency within tiers. (“First, an initial latency minimizing configuration is constructed by setting the batch size to 1 using the lowest latency hardware available for each model (lines 2-5). If the service time under this configuration (the sum of the processing latencies of all the models on the longest path through the pipeline DAG) is greater than the SLO then the latency constraint is infeasible given the available hardware and the Planner terminates (lines 6-7). Otherwise, the Planner then iteratively determines the throughput bottleneck and increases that model’s replication factor until it is no longer the bottleneck (lines 9-11).”, pg. 481, left column, under “4.3 Planning Algorithm”; See also Algorithm 1 of Crankshaw (Crankshaw)) (The sum of the processing latencies correspond to latency across adjacent tiers.)
Regarding claim 7, Condon, as modified by Crankshaw, teaches the method of claim 1, wherein performance criteria is based on a quality of service tier of the ML pipeline. (“If the service time under this configuration (the sum of the processing latencies of all the models on the longest path through the pipeline DAG) is greater than the SLO then the latency constraint is infeasible given the available hardware and the Planner terminates (lines 6-7).” pg. 481, left column, under “4.3 Planning Algorithm”; See also Algorithm 1 of Crankshaw (Crankshaw)) (The latency is based on a service time, which corresponds to a quality of service tier.)
Regarding claim 8, Condon, as modified by Crankshaw, teaches the method of claim 1, comprising recursively performing the act of determining the physical topology of the ML pipeline and configuration, as a result of at least one of available compute, network or, storage changing. (“The low-frequency planner is responsible for navigating the combinatorial search space to produce per-model pipeline configuration relatively infrequently to minimize cost. It is intended to run periodically to correct for workload drift or fundamental changes in the steady-state, long-term query arrival process. It is also necessary for integrating new models added to the repository and to integrate new hardware accelerators.”, pg. 478, left column, bottom paragraph (Crankshaw)) (Crankshaw teaches indications of new hardware added to the pipeline, and can be easily configured to work with Condon, which teaches recursion to find an optimal pipeline.)
Regarding claim 9, Condon, as modified by Crankshaw, teaches the method of claim 1, further comprising recursively performing the act of determining the physical topology of the ML pipeline and configuration, as a result of at least one of a zoo of filters having the plurality of filters changing or a zoo of ML models having the ML model changing. (“The low-frequency planner is responsible for navigating the combinatorial search space to produce per-model pipeline configuration relatively infrequently to minimize cost. It is intended to run periodically to correct for workload drift or fundamental changes in the steady-state, long-term query arrival process. It is also necessary for integrating new models added to the repository and to integrate new hardware accelerators.”, pg. 478, left column, bottom paragraph (Crankshaw)) (Crankshaw also teaches indications of new ML models added to the pipeline, and can be easily configured to work with Condon, which teaches recursion to find an optimal pipeline.)
Regarding claim 10, Condon, as modified by Crankshaw, teaches the method of claim 1, further comprising recursively performing the act of determining the physical topology of the ML pipeline and configuration as a result of the performance criteria changing. (“this new allocation of the ˆt flow results in the same amount of flow being sent through Ei along permutation πi,j as was sent in the original routing. Thus the new allocation also results in the same amount of flow being sent to each operator as in the original routing.”, pg. 26, second paragraph (Condon)) (The new allocation of the flow results corresponds to a change in the performance criteria.)
Regarding claim 11, Condon, as modified by Crankshaw, teaches the method of claim 1, further comprising recursively performing the act of determining the physical topology of the ML pipeline and configuration, as a result of the input data changing as a result of at least one of changes in input data type, input data bit rate, or input data quality. (“If inputs p1, ... ,pn,r1, ... ,rn to Algorithm SolveMax Throughput 1 (Algorithm 1) satisfy the preconditions, and a recursive call to SolveMaxThroughput 1 is made, then the preconditions also hold for the inputs to the recursive call.”, pg. 12, under “3.1.4. Correctness.” (Condon)) (The change in the inputs is made, a recursive call can be made to help determine the optimal pipeline.)
Regarding claim 14, Condon, as modified by Crankshaw, teaches the method of claim 12, wherein selecting the selected placement plan and the selected configuration comprises using a ratio of accuracy and latency to determine which placement plan and configuration to select. (“InferLine is able to maintain latency constraints with P99 service level objectives (99% of query latencies must be below the constraint)… The Estimator is responsible for rapidly estimating the end-to-end latency of a given pipeline configuration for the sample query trace. It takes as input a pipeline configuration, the individual model profiles, and a sample trace of the query workload, and returns accurate estimates of the latency for each query in the trace.”, pg. 479, left column, above “2.1 Challenges”; pg. 481, left column, under “4.2 Estimator” (Crankshaw)) (The performance criteria of a percentage of latency below the constraints indicates a ratio. The accuracy number implicitly is a ratio, (Number correct over number total) and both determine, at least in part, the configuration of the filters, as well as their placement.)
Regarding claim 15, Condon, as modified by Crankshaw, teaches the method of claim 12, wherein selecting the selected placement plan and the selected configuration comprises using a latency factor, (“The Estimator is responsible for rapidly estimating the end-to-end latency of a given pipeline configuration for the sample query trace. It takes as input a pipeline configuration, the individual model profiles, and a sample trace of the query workload, and returns accurate estimates of the latency for each query in the trace.”, pg. 481, left column, under “4.2 Estimator” (Crankshaw)) and wherein the latency factor comprises a network latency component that is computed by summing network latency across adjacent tiers while excluding latency within tiers. (“First, an initial latency minimizing configuration is constructed by setting the batch size to 1 using the lowest latency hardware available for each model (lines 2-5). If the service time under this configuration (the sum of the processing latencies of all the models on the longest path through the pipeline DAG) is greater than the SLO then the latency constraint is infeasible given the available hardware and the Planner terminates (lines 6-7). Otherwise, the Planner then iteratively determines the throughput bottleneck and increases that model’s replication factor until it is no longer the bottleneck (lines 9-11).”, pg. 481, left column, under “4.3 Planning Algorithm”; See also Algorithm 1 of Crankshaw (Crankshaw)) (The sum of the processing latencies correspond to latency across adjacent tiers.)
Regarding claim 16, Condon, as modified by Crankshaw, teaches the method of claim 12, further comprising generating new placement plans as a result of at least one of available compute, network or, storage changing. (“The low-frequency planner is responsible for navigating the combinatorial search space to produce per-model pipeline configuration relatively infrequently to minimize cost. It is intended to run periodically to correct for workload drift or fundamental changes in the steady-state, long-term query arrival process. It is also necessary for integrating new models added to the repository and to integrate new hardware accelerators.”, pg. 478, left column, bottom paragraph (Crankshaw)) (Crankshaw teaches indications of new hardware added to the pipeline, and can be easily configured to work with Condon, which teaches recursion to find an optimal pipeline.)
Regarding claim 17, Condon, as modified by Crankshaw, teaches the method of claim 12, further comprising generating new placement plans as a result of at least one of a zoo of filters having the plurality of filters changing or a zoo of ML models having the one or more ML models changing. (“The low-frequency planner is responsible for navigating the combinatorial search space to produce per-model pipeline configuration relatively infrequently to minimize cost. It is intended to run periodically to correct for workload drift or fundamental changes in the steady-state, long-term query arrival process. It is also necessary for integrating new models added to the repository and to integrate new hardware accelerators.”, pg. 478, left column, bottom paragraph (Crankshaw)) (Crankshaw also teaches indications of new ML models added to the pipeline, and can be easily configured to work with Condon, which teaches recursion to find an optimal pipeline.)
Regarding claim 18, Condon, as modified by Crankshaw, teaches the method of claim 12, further comprising generating new placement plans as a result of ML pipeline input data changing as a result of at least one of changes in input data type, input data bit rate, or input data quality. (“If inputs p1, ... ,pn,r1, ... ,rn to Algorithm SolveMax Throughput 1 (Algorithm 1) satisfy the preconditions, and a recursive call to SolveMaxThroughput 1 is made, then the preconditions also hold for the inputs to the recursive call.”, pg. 12, under “3.1.4. Correctness.” (Condon)) (The change in the inputs is made, a recursive call can be made to help determine the optimal pipeline.)
Regarding claim 20, Condon, as modified as Crankshaw, teaches the computing system of claim 19, wherein determining a physical topology of the ML pipeline and configurations is performed using memoized intermediate results from previous ML pipeline runs. (“Finally, routes are added to the solution K in the following way. First, the solution K’’ output by the recursive call is adjusted, to renumber the operator indices and then to insert x + 1 right after x in each permutation. For example, if n = 5 and x =2, then operator 3 is removed in the recursive call, leaving operators 1, 2, 4, and 5. However, a permutation π’’ in the solution K’’ refers to these, in order, as 1,2,3, and 4. Permutation π renames 3 and 4 back to 4 and 5. Thus, if π’’ = (3,1,2,4) then π’ = (4,1,2,5). Operator 3 is inserted in π’ just after operator 2, to yield permutation π+ = (4,1,2,3,5). The flow fπ assigned to permutation π’’ in solution K is now assigned to permutation π+, and (π+, fπ ) is added to K. Each recursive call can be completed in O(n) time; the recursion depth is at most n, and so the total running time is O(n2). Each recursive call adds at most one additional permutation to the solution. Hence the number of permutations in the solution is at most n, and so the solution is sparse.”, pg. 12, second to last paragraph (Condon)) (The permutations correspond to memoized intermediate results from previous ML pipeline runs.)
Claim(s) 2 and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Anne Condon et al. (Herein referred to as Condon) (Algorithms for distributional and adversarial pipelined filter ordering problems) in view of Daniel Crankshaw et al. (Herein referred to as Crankshaw) (InferLine: latency-aware provisioning and scaling for prediction serving pipelines) and in further view of FERNANDO REZENDE ZAGATTI. (Herein referred to as Zagatti) (DATA PREPARATION PIPELINE RECOMMENDATION VIA META-LEARNING)
Regarding claim 2, Condon, as modified by Crankshaw teaches the method of claim 1, but does not explicitly teach ranking the filters, using recall and precision, wherein determining the physical topology of the ML pipeline and configuration is performed as a result of ranking.
Zagatti teaches ranking the filters, using recall and precision, wherein determining the physical topology of the ML pipeline and configuration is performed as a result of ranking. (“After cleaning and transforming the data, choosing the learning algorithm and its configuration, the model is trained and needs to be evaluated. The evaluation is the final step of the ML pipeline. Different evaluation measures (e.g., accuracy, precision, recall) are used to obtain the reliability that the trained algorithms can generalize the studied problem. The evaluation can also be carried out in conjunction with the experts on the data and the application domain, thus achieving a more in-depth analysis of the results… our proposal recommends five pipelines for the user, ranked by relevance.”, pg. 33, under “2.5 Evaluation”; pg. 46, third paragraph) (It would be easy to configure the choice of a ML pipeline to be based on an evaluation metric.)
Therefore, it would have been considered obvious to one of ordinary skill in the art, prior to the application’s filing date, to combine the teachings of Condon, as modified by Crankshaw, with the evaluation metrics and determination of them, as described in Zagatti. One of ordinary skill in the skill would be motivated to combine the two teachings, prior to the filing date of the current application, as the metrics determine if the trained algorithms are reliable or not, and allows for the selection of the best algorithm, as disclosed in Zagatti. (“Different evaluation measures (e.g., accuracy, precision, recall) are used to obtain the reliability that the trained algorithms can generalize the studied problem… our proposal recommends five pipelines for the user, ranked by relevance.”, pg. 33, under “2.5 Evaluation”; pg. 46, third paragraph)
Regarding claim 13, Condon, as modified by Crankshaw, teaches the method of claim 12, but does not explicitly teach ranking filters in the plurality of filters, using recall and precision.
Zagatti teaches ranking filters in the plurality of filters, using recall and precision. (“After cleaning and transforming the data, choosing the learning algorithm and its configuration, the model is trained and needs to be evaluated. The evaluation is the final step of the ML pipeline. Different evaluation measures (e.g., accuracy, precision, recall) are used to obtain the reliability that the trained algorithms can generalize the studied problem. The evaluation can also be carried out in conjunction with the experts on the data and the application domain, thus achieving a more in-depth analysis of the results… our proposal recommends five pipelines for the user, ranked by relevance.”, pg. 33, under “2.5 Evaluation”; pg. 46, third paragraph) (It would be easy to configure the choice of a ML pipeline to be based on an evaluation metric.)
Therefore, it would have been considered obvious to one of ordinary skill in the art, prior to the application’s filing date, to combine the teachings of Condon, as modified by Crankshaw, with the evaluation metrics and determination of them, as described in Zagatti. One of ordinary skill in the skill would be motivated to combine the two teachings, prior to the filing date of the current application, as the metrics determine if the trained algorithms are reliable or not, and allows for the selection of the best algorithm, as disclosed in Zagatti. (“Different evaluation measures (e.g., accuracy, precision, recall) are used to obtain the reliability that the trained algorithms can generalize the studied problem… our proposal recommends five pipelines for the user, ranked by relevance.”, pg. 33, under “2.5 Evaluation”; pg. 46, third paragraph)
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Tyler E Iles whose telephone number is (571)272-5442. The examiner can normally be reached 9:00am - 5:00pm.
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, Kakali Chaki can be reached at (571) 272-3719. 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.
/T.E.I./ Patent Examiner, Art Unit 2122
/KAKALI CHAKI/ Supervisory Patent Examiner, Art Unit 2122