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 .
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.
Claim(s) 1, 3, 10-12 and 14 and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rajamoni et al. (US 20210304062 A1) in view of Makaya et al. (US 20230012487 A1).
Regarding claim 1.
Rajamoni teaches a federated learning method (see abstract, “a method for federated learning across a plurality of data parties, comprising assigning each data party with a corresponding namespace in an object store, assigning a shared namespace in the object store, and triggering a round of federated learning by issuing a customized learning request to at least one data party.”), comprising: receiving data related to a federated learning task of a target participant, wherein the target participant at least comprises a first computing device for executing the federated learning task (see ¶ 19-20, “The operations further include retrieving, from the object store, at least one local model uploaded to the object store by the at least one data party during the round of federated learning” [i.e. receiving data related to a federated learning task of a target participant], also see ¶ 54, “an electronic device 450 comprises one or more computation resources [i.e. target participant at least comprises a first computing device] such as, but not limited to, one or more processor units 451 and one or more storage units 452. One or more applications may execute/operate on an electronic device 450 utilizing the one or more computation resources of the electronic device 450 such as, but not limited to, one or more software applications 454 loaded onto or downloaded to the electronic device 450. Examples of software applications 454 include, but are not limited to, artificial intelligence (AI) applications, etc.”);
see ¶ 44, “management layer 80 provides the functions described below. Resource provisioning 81 provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment. Metering and Pricing 82 provide cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one embodiment, these resources include application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. User portal 83 provides access to the cloud computing environment for consumers and system administrators. Service level management 84 provides cloud computing resource allocation and management such that required service levels are met. Service Level Agreement (SLA) planning and fulfillment 85 provide pre-arrangement for, and procurement of, cloud computing resources for which a future requirement is anticipated in accordance with an SLA.”, also see ¶ 58, “the federated learning system 430 may be accessed or utilized by one or more online services (e.g., AI services) hosted on a remote server device 460 and/or one or more software applications 454 (e.g., AI applications) operating on an electronic device 450. For example, in one embodiment, a virtual assistant, a search engine, or another type of software application 454 operating on an electronic device 450 can invoke the system 430 to perform a task.”);
Rajamoni do not specifically teach determining computing resources of the first computing device that are available to be used to execute the federated learning task; and generating a first deployment scheme for executing the federated learning task in response to determining that the data and the computing resources meet a threshold, wherein the first deployment scheme causes to generate at least a first work node and a second work node on the first computing device.
Makaya teaches determining computing resources of the first computing device that are available to be used to execute the federated learning task (see ¶ 22, “a workload orchestration system includes a discovery subsystem to identify the specific compute resources of each compute cluster in a network of heterogeneous compute clusters. A manifest subsystem receive or generate a manifest that describes the resource demands for each workload associated with an application, such as an artificial intelligence application or other machine learning application. The manifest may, for example, specify the compute resources demanded for a particular workload (e.g., in terms of the number of CPU cores, GPU resources, memory resources, policies, etc.).”, also see ¶ 26, “The discovery subsystem 152 identifies or otherwise profiles the individual compute resources of each of compute clusters A, B, C, and Z (131, 132, 133, and 139) that are part of the heterogeneous compute clusters 130.”, also see ¶ 27, “the discovery subsystem 152 may identify the total (e.g., theoretical) compute resources of each compute cluster 131-139, currently available compute resources of each compute cluster 131-139, and/or expected or scheduled availability of compute resources of each compute cluster 131-139 during a future time window.”);
and generating a first deployment scheme for executing the federated learning task in response to determining that the data and the computing resources meet a threshold (see ¶ 34, “since compute resource availability is dynamic, the workload orchestration system 200 may use an hysteresis margin to acquire resources with appropriate locality and/or affinity to meet the corresponding resource demands of the workloads. [I.e. hysteresis margin to acquire resources to meet the corresponding resource demands of the workloads corresponds to deploying computing resources based on a threshold to execute tasks]”, also see ¶ 29, “the placement subsystem 156 may match workloads of the application service 105 as defined in the manifest subsystem 158 with compute clusters 131-139 by matching the resource demands of each respective workload with the identified compute resources of each of the compute clusters 131-139.”, [i.e. the system verifies whether available resources meet the resource demands of a workload before assigning it. That matching process is a threshold check where if required resource <= available resource then it assigns workload if > then available resource it does not assign]), wherein the first deployment scheme causes to generate at least a first work node and a second work node on the first computing device (see ¶ 43, “the system may divide, at 410, an application, such as a machine learning application, into a plurality of workloads, with each workload having resource demands corresponding to the compute resources of the compute clusters. [i.e. wherein the first deployment scheme causes to generate at least a first work node and a second work node on the first computing device]”).
Both Rajamoni and Makaya pertain to the problem of machine learning workload distribution, thus being analogous. It would have been obvious to one skilled in the art before the effective filing date of the claimed invention to combine Rajamoni and Makaya to teach the above limitations. The motivation for doing so would be “methods are described herein to orchestrate the execution of an application, such as a machine learning or artificial intelligence application, using distributed compute clusters with heterogeneous compute resources. A discovery subsystem may identify the different compute resources of each compute cluster. The application is divided into a plurality of workloads with each workload associated with resource demands corresponding to the compute resources of one of the compute clusters. Adaptive modeling allows for hyperparameters to be defined for each workload based on the compute resources associated with the compute cluster to which each respective workload is assigned and the associated dataset”. (see Makaya, Abstract).
Regarding claim 3.
Rajamoni and Makaya teach the method according to claim 1,
Makaya further teaches further comprising: generating at least the first work node and the second work node on the first computing device based on the first deployment scheme in response to determining to apply the first deployment scheme; partitioning the data to obtain a data block corresponding to the first work node and a data block corresponding to the second work node (see ¶ 43, “FIG. 4 illustrates a flowchart 400 of a method to allocate workloads of an application, such as an artificial intelligence application, to heterogeneous compute clusters based on discovered compute resources of individual compute clusters and estimated workload resource demands. The system may identify, at 405, available compute resources of each compute cluster in a network of compute clusters with heterogeneous compute resources. The system may identify resource demands of predefined workloads of an application. Alternatively, the system may divide, at 410, an application, such as a machine learning application, into a plurality of workloads, with each workload having resource demands corresponding to the compute resources of the compute clusters.”);
allocating the computing resources to the first work node and the second work node based on a size of the data block corresponding to the first work node and a size of the data block corresponding to the second work node (see ¶ 27, “the discovery subsystem 152 may identify the total (e.g., theoretical) compute resources of each compute cluster 131-139, currently available compute resources of each compute cluster 131-139, and/or expected or scheduled availability of compute resources of each compute cluster 131-139 during a future time window. Some compute clusters may have the same compute resources as one another while others may be heterogeneous.”);
and causing the first work node and the second work node to execute the federated learning task in parallel (see ¶ 9, “Large-scale data processing and the execution of complex applications can be performed by dividing the data processing tasks or complex application into a set of discrete workloads, some of which can be executed or otherwise processed in parallel. Orchestrating the execution of the various workflows in parallel or sequentially, as the specific workflows may dictate, can be performed by a plurality of compute nodes or clusters of compute nodes (compute clusters).”).
The motivation utilized in the combination of claim 1, super, applies equally as well to claim 3.
Regarding claim 10.
Rajamoni and Makaya teach the method according to claim 1,
Makaya teaches wherein the threshold includes that a size of a maximum computing resource allocated by the first computing device for a single work node in the computing resources is smaller than a size of the data (see ¶ 34, “since compute resource availability is dynamic, the workload orchestration system 200 may use an hysteresis margin to acquire resources with appropriate locality and/or affinity to meet the corresponding resource demands of the workloads. [I.e. hysteresis margin to acquire resources to meet the corresponding resource demands of the workloads corresponds to deploying computing resources based on a threshold to execute tasks]”, also see ¶ 29, “the placement subsystem 156 may match workloads of the application service 105 as defined in the manifest subsystem 158 with compute clusters 131-139 by matching the resource demands of each respective workload with the identified compute resources of each of the compute clusters 131-139.”, [i.e. the system verifies whether available resources meet the resource demands of a workload before assigning it. That matching process is a threshold check where if required resource <= available resource then it assigns workload if > then available resource it does not assign]).
The motivation utilized in the combination of claim 1, super, applies equally as well to claim 10.
Regarding claim 11.
Rajamoni and Makaya teach the method according to claim 1,
Makaya further teaches wherein the first work node and the second work node are two processes running on the first computing device (see ¶ 27, “the discovery subsystem 152 may identify the total (e.g., theoretical) compute resources of each compute cluster 131-139, currently available compute resources of each compute cluster 131-139, and/or expected or scheduled availability of compute resources of each compute cluster 131-139 during a future time window. Some compute clusters may have the same compute resources as one another while others may be heterogeneous.”, see ¶ 43, “FIG. 4 illustrates a flowchart 400 of a method to allocate workloads of an application, such as an artificial intelligence application, to heterogeneous compute clusters based on discovered compute resources of individual compute clusters and estimated workload resource demands. The system may identify, at 405, available compute resources of each compute cluster in a network of compute clusters with heterogeneous compute resources. The system may identify resource demands of predefined workloads of an application. Alternatively, the system may divide, at 410, an application, such as a machine learning application, into a plurality of workloads, with each workload having resource demands corresponding to the compute resources of the compute clusters.”).
The motivation utilized in the combination of claim 1, super, applies equally as well to claim 11.
Claim 12 recites an electronic device, comprising: one or more processors; a memory storing one or more programs configured to perform the method recited in claim 1. Therefore the rejection of claim 1 above applies equally here. Rajamoni also teaches the addition elements of claim 12 not recited in claim 1 comprising: one or more processors; a memory storing one or more programs (see ¶ 52, “one or more processor units 410 and one or more storage units 420.”).
Claim 14 recites an electronic device, comprising: one or more processors; a memory storing one or more programs configured to perform the method recited in claim 3. Therefore the rejection of claim 3 above applies equally here.
Claim 20 recites non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by one or more processors of an electronic device to perform the method recited in claim 1. Therefore the rejection of claim 1 above applies equally here. Rajamoni also teaches the addition elements of claim 20 not recited in claim 1 comprising non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by one or more processors of an electronic device (see ¶ 52, “one or more processor units 410 and one or more storage units 420.”, also see ¶ 19, “a non-transitory processor-readable memory device storing instructions that when executed by the at least one processor causes the at least one processor to perform operations.”).
Claim(s) 2 and 13 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rajamoni et al. (US 20210304062 A1) in view of Makaya et al. (US 20230012487 A1) in further in view of Dube et al. (US 20190258964 A1).
Regarding claim 2.
Rajamoni and Makaya teach the method according to claim 1,
Makaya further teaches dividing plurality of workloads see ¶ 43, however, Rajamoni and Makaya do not teach the limitations of claims 2.
Dube teaches wherein the generating the first deployment scheme comprises: determining a plurality of candidate node quantities, wherein each candidate node quantity of the plurality of candidate node quantities indicates a quantity of work nodes to be generated on the first computing device (see ¶ 61, “one or more parameters regarding the model of the subject machine learning task can define: a model size, a number of layers in the model, a number of neurons per layer, interconnection topology of the model, a combination thereof, and/or the like… the one or more extracted parameters can regard a training framework for the machine learning task, such as: the number of nodes, the batch size, and/or the learning rate of the machine learning task. ”);
calculating, for each candidate node quantity of the plurality of candidate node quantities, an estimated processing time for the quantity of work nodes to collaboratively execute the federated learning task, wherein each work node of the quantity of work nodes is able to execute the federated learning task by using a part of the computing resources based on a part of the data (see ¶ 84, “the profile component 702 can be utilized to bootstrap runtime estimates, especially for non-standard and/or custom-coded neural networks. The profile component 702 can generate and/or evaluate mock machine learning tasks prior to execution of a subject machine learning task and/or during execution of the machine learning task.”);
and determining each candidate node quantity of the plurality of candidate node quantities and the estimated processing time corresponding to the candidate node quantity as the first deployment scheme (see ¶ 61, “one or more parameters regarding the model of the subject machine learning task can define: a model size, a number of layers in the model, a number of neurons per layer, interconnection topology of the model, a combination thereof, and/or the like… the one or more extracted parameters can regard a training framework for the machine learning task, such as: the number of nodes, the batch size, and/or the learning rate of the machine learning task. ”, also see ¶ 74, “operating conditions can include, but are not limited to: the number of active machine learning tasks in the cloud computing environment 50, the size of active machine learning tasks in the cloud computing environment 50, the number of machine learning tasks queued in the cloud computing environment 50, scheduling variations (e.g., delays) in the cloud computing environment 50, maintenance issues regarding the cloud computing environment 50, processing power of the cloud computing environment 50, a combination thereof, and/or the like.”, also see ¶ 94, “differentiate among job containers to be preempted by accounting for the demand of a machine learning task, wherein the demand can be defined by the number of requested resources and runtime associated with a subject machine learning task; differentiate among machine learning tasks that could be preempted when there is not enough cloud capacity by assigning bid values to machine learning jobs (e.g., to avoid preemption of jobs that are close to completion); and/or provide updated runtime estimates for current resource configurations and other possible scaling options.”).
Rajamoni, Makaya and Dube pertain to the problem of machine learning tasks runtime estimation, thus being analogous. It would have been obvious to one skilled in the art before the effective filing date of the claimed invention to combine Rajamoni, Makaya and Dube to teach the above limitations. The motivation for doing so would be “techniques for estimating runtimes of one or more machine learning tasks are provided. For example, one or more embodiments described herein can regard a system that can comprise a memory that stores computer executable components. The system can also comprise a processor, operably coupled to the memory, and that can execute the computer executable components stored in the memory. The computer executable components can comprise an extraction component that can extract a parameter from a machine learning task. The parameter can define a performance characteristic of the machine learning task. Also, the computer executable components can comprise a model component that can generate a model based on the parameter. Further, the computer executable components can comprise an estimation component that can generate an estimated runtime of the machine learning task based on the model. The estimated runtime can define a period of time beginning at an initiation of the machine learning task and ending at a completion of the machine learning task”. (see Dube, Abstract).
Claim 13 recites an electronic device, comprising: one or more processors; a memory storing one or more programs configured to perform the method recited in claim 2. Therefore the rejection of claim 2 above applies equally here.
Claim(s) 6, 8-9, 17 and 19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rajamoni et al. (US 20210304062 A1) in view of Makaya et al. (US 20230012487 A1) in further in view of WANG et al. (US 20230088897 A1).
Regarding claim 6.
Rajamoni and Makaya teach the method according to claim 3,
Rajamoni and Makaya do not teach the limitations of claims 6,
Wang teaches wherein the data comprise a plurality of respective feature data of a plurality of samples, and the federated learning task is a vertical federated learning task, wherein the partitioning the data comprises: partitioning the data based on a plurality of features comprised in the data, so as to obtain a first data block corresponding to the first work node and a second data block corresponding to the second work node, wherein the first data block comprises a first part of feature data of the plurality of samples, and the second data block comprises a second part of feature data of the plurality of samples (see ¶ 2, “according to the distribution of data feature space and sample space of training data among different participants, federated learning can be divided into horizontal federated learning with large overlap in data feature space and small overlap in sample space, vertical federated learning with small overlap in data feature space and large overlap in sample space, and federated transfer learning with small overlap in both data feature space and sample space.”, also see figure 2 and ¶ 59, “The task distribution section 242 includes a plurality of task blocks, and each task block is further divided into configuration information sub-block, parameter sub-block and data sub-block. The configuration information sub-block is used to store the configuration information of the processing task corresponding to the task block, and the configuration information at least includes the number of operands of the computing mode corresponding to the processing task and the respective source identifier and data address information of each operand. In addition, the configuration information may also include computing result storage identifier, task batch number, task batch total count, task serial number, computing mode corresponding to this processing task, number of parameters, parameter width, width of each operand, the data total length, etc.”).
Rajamoni, Makaya and WANG pertain to the problem of machine learning tasks runtime estimation, thus being analogous. It would have been obvious to one skilled in the art before the effective filing date of the claimed invention to combine Rajamoni, Makaya and WANG to teach the above limitations. The motivation for doing so would be “distributing processing tasks and configuration information of processing tasks, the processing task indicating performing an operation corresponding to computing mode on one or more operands; and a parallel subsystem configured for, based on the configuration information, selectively obtaining at least one operand of the one or more operands from an intermediate result section on the parallel subsystem while obtaining remaining operand(s) of the one or more operands with respect to the at least one operand from the serial subsystem, and performing the operation on the operands obtained based on the configuration information.”. (see Wang, Abstract).
Regarding claim 8.
Rajamoni and Makaya teach the method according to claim 3,
Rajamoni and Makaya do not teach the limitations of claims 8,
Wang teaches wherein the data comprise a plurality of respective feature data of a plurality of samples, and the federated learning task is a horizontal federated learning task, wherein the partitioning the data comprises: partitioning the data based on the plurality of samples comprised in the data, so as to obtain a third data block corresponding to the first work node and a fourth data block corresponding to the second work node, wherein the third data block comprises a plurality of feature data of a first part of samples of the plurality of samples, and the fourth data block comprises a plurality of feature data of a second part of samples of the plurality of samples (see ¶ 2, “according to the distribution of data feature space and sample space of training data among different participants, federated learning can be divided into horizontal federated learning with large overlap in data feature space and small overlap in sample space, vertical federated learning with small overlap in data feature space and large overlap in sample space, and federated transfer learning with small overlap in both data feature space and sample space.”, also see figure 2 and ¶ 59, “The task distribution section 242 includes a plurality of task blocks, and each task block is further divided into configuration information sub-block, parameter sub-block and data sub-block. The configuration information sub-block is used to store the configuration information of the processing task corresponding to the task block, and the configuration information at least includes the number of operands of the computing mode corresponding to the processing task and the respective source identifier and data address information of each operand. In addition, the configuration information may also include computing result storage identifier, task batch number, task batch total count, task serial number, computing mode corresponding to this processing task, number of parameters, parameter width, width of each operand, the data total length, etc.”).
Rajamoni, Makaya and WANG pertain to the problem of machine learning tasks runtime estimation, thus being analogous. It would have been obvious to one skilled in the art before the effective filing date of the claimed invention to combine Rajamoni, Makaya and WANG to teach the above limitations. The motivation for doing so would be “distributing processing tasks and configuration information of processing tasks, the processing task indicating performing an operation corresponding to computing mode on one or more operands; and a parallel subsystem configured for, based on the configuration information, selectively obtaining at least one operand of the one or more operands from an intermediate result section on the parallel subsystem while obtaining remaining operand(s) of the one or more operands with respect to the at least one operand from the serial subsystem, and performing the operation on the operands obtained based on the configuration information.”. (see Wang, Abstract).
Regarding claim 9.
Rajamoni, Makaya and WANG the method according to claim 8,
WANG further teaches wherein the executing the federated learning task further comprises: causing the first work node and the second work node to read the corresponding data block in a streaming mode (see ¶ 70, “FIG. 2, by adding a control field to the data stream to complete the necessary data transmission on the parallel subsystem side”, also see ¶ 99, “adding the control fields to the data stream, that is, relying only on the respective configuration information of processing task 1 and processing task 2, the data transmission between processing task 1 and processing task 2 is realized,”).
The motivation utilized in the combination of claim 8, super, applies equally as well to claim 9.
Claim 17 recites an electronic device, comprising: one or more processors; a memory storing one or more programs configured to perform the method recited in claim 6. Therefore the rejection of claim 6 above applies equally here.
Claim 19 recites an electronic device, comprising: one or more processors; a memory storing one or more programs configured to perform the method recited in claim 8. Therefore the rejection of claim 8 above applies equally here.
Allowable Subject Matter
Claim 4-5, 7, 15-16, and 18 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
The closest prior arts, listed below, discloses:
Khan et al. (US 20220083916 A1) teaches identifying and rectifying a machine learning drift in a federated learning deployment comprising a parameter server and a plurality of worker nodes, wherein a first worker node comprises: a first machine learning model trained using a first data source.
LV et al. (US 20220350898 A1) teaches determining the first training data includes performing data identification matching for the first target data set and the second target data set performing federated learning with the first target data set to obtain a data set whose matching result meets a preset rule, and taking the data set in the first target data set whose matching result meets the preset rule as the first training data. Accordingly, in an embodiment, the second training data is also a data set in the second target data set whose matching result meets the preset rule. For example, in the process of vertical federated learning, participant A (i.e., the first participant) and participant B (i.e., the second participant) want to jointly train a preset machine learning model, and the user IDs of the data sets provided by participant A and participant B overlap greatly, but the feature spaces (i.e., data features) of the data sets provided by participant A and participant B do not coincide.
Ouyang et al. (US 20240005341 A1) teaches FIG. 10B illustrates a joint application based on the horizontal federated learning. In the horizontal federated learning, all data parties share the global model and parameters, and will process their own data by means of the same global model, and thus user data ID matching/exchange is not involved, the application process of one party does not involve other data parties. A specific process for a data party.
Watanabe et al. (US 20230050708 A1) teaches claimed embodiments can yield models that achieve a desired level of accuracy at a much faster rate, thereby reducing the amount of time and computing resources (e.g., processing resources, memory resources, and/or bandwidth resources) utilized during the machine learning process. Moreover, training can be performed more quickly, as mitigating the bias of training data enables convergence to be achieved in fewer training epochs, which also reduces the amount of time and computing resources required. Accordingly, present invention embodiments overcome problems specifically arising in the context of machine learning (e.g., the lack of access to robust training data sets in federated learning approaches) while also providing the practical application of increasing the accuracy of models (e.g., reducing the amount of erroneous classifications made by classifier models, etc.).
Ro et al. (“Scaling Language Model Size in Cross-Device Federated Learning”, (FL4NLP 2022), pages 6–20) teaches mitigating these bottlenecks to train larger language models in cross-device federated learning. With systematic applications of partial model training, quantization, efficient transfer learning, and communication-efficient optimizers, we are able to train a 21M parameter Transformer that achieves the same perplexity as that of a similarly sized LSTM.
Yu et al. (“Toward Resource-Efficient Federated Learning in Mobile Edge Computing”, 2021 IEEE) teaches Federated learning in mobile edge computing is a prospective distributed framework to deploy deep learning algorithms in many application scenarios. The bottleneck of federated learning in mobile edge computing is the intensive resources of mobile clients in computation, bandwidth, energy, and data.
Ma et al. (“adaptive Batch Size for Federated Learning in Resource-Constrained Edge Computing” , VOL. 22, NO. 1, JANUARY 2021) teaches Federated Learning FL solves the training tasks with a loose federation of participating devices (e.g., laptops, smartphones) that are coordinated by a central server (e.g., base station). In EC, we consider a computing cluster with N devices and a server.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to IMAD M KASSIM whose telephone number is (571)272-2958. The examiner can normally be reached 10:30AM-5:30PM, M-F (E.S.T.).
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, Michael J. Huntley can be reached at (303) 297 - 4307. 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.
/IMAD KASSIM/Primary Examiner, Art Unit 2129