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 .
Claims 1-20 are presented for the examination.
§ 101 2. 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, 4, 5, 8, 10, 11, 14, 15, 16, 19, 20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
As to Claims 1, 4, 5, 8, 10, 11, 14, 15, 16, 19, 20 have been rejected under 35 USC 101 for abstract idea without significantly more. Under Step 2A, Prong 1, the “ evaluating whether at least one performance metric of at least one microservice in a feature group of a computing environment satisfies one or more designated performance criteria”, “calculating a feature queue size for the feature group based at least part on the at least one performance metric of the at least one microservice” ; “determining, based at least in part on the calculated feature queue size and usage data related to the one or more processing devices of the computing environment, ” , “ recalculating the feature queue size”, “ determining whether the at least one microservice has a longer processing time than at least one other microservice in the feature group” recite a mental process since “determining”, “ calculating”, “ recalculating”, and “evaluating” are functions that can be reasonably performed in the human mind with the aid of pen and paper through observation, evaluation, judgment, opinion and describes a “mathematical relationship,” which is specifically identified as an exemplar in the “mathematical concepts” grouping of abstract ideas. Moreover, the recited conversion can be practically performed in the human mind, and so it also falls into the “mental process” group of abstract ideas. Thus, limitation (c) recites a concept that falls into the “mathematical concept” and “mental process” groups of abstract ideas.
Under Prong 2, the additional element “ wherein the feature group comprises a plurality of interconnected microservices executing on one or more processing devices of the computing environment; and in response to the at least one performance metric of the at least one microservice satisfying the one or more designated performance criteria, computing resources to be allocated to the microservices in the feature group and one or more constraints for scaling the computing resources; allocating the determined computing resources to the microservices in the feature group; and dynamically scaling the allocated computing resources, by automatically adjusting an amount of the allocated computing resources of the computing environment, based on at least one of the one or more constraints ” are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, or merely a generic computer or generic computer components to perform the judicial exception, Accordingly, the additional elements do not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(f).
Under Step 2B, the additional elements “ wherein the feature group comprises a plurality of interconnected microservices executing on one or more processing devices of the computing environment; and in response to the at least one performance metric of the at least one microservice satisfying the one or more designated performance criteria, computing resources to be allocated to the microservices in the feature group and one or more constraints for scaling the computing resources;” - this generally have been a mental process although the microservices could be a generic computer component if the spec describes it as actual computer software in computer hardware.
“ allocating the determined computing resources to the microservices in the feature group; and dynamically scaling the allocated computing resources, by automatically adjusting an amount of the allocated computing resources of the computing environment, based on at least one of the one or more constraints” - this is mere instructions to apply the mental process under mpep 2106.05(f), amounts to merely generally linking the use of the judicial exception to a particular technological environment or field or use, and is merely applying the judicial exception, therefore, does not amount to significantly more, hence, cannot provide an inventive concept.
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application. See MPEP 2106.05(d). Thus, the claim is not patent eligible
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, 2, 3, 11, 12, 13, 16, 17, 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Eker ( US 20170250923 A1 ) in view of HU( WO 2019226652 A1) and further in view of Gulati( US 20150169341 A1).
As to claim 1, Eker teaches the method is performed by at least one processing device comprising a processor coupled to a memory( the physical network node 110 illustrated in FIG. 6. In the example of FIG. 6, the physical network node 110 comprises processing circuitry 710, memory circuitry 720, and interface circuitry 730. The processing circuitry 710 is communicatively coupled to the memory circuitry 720 and the interface circuitry 730, e.g., via one or more buses. The processing circuitry 710 may comprise one or more microprocessors, microcontrollers, hardware circuits, discrete logic circuits, hardware registers, digital signal processors (DSPs), para[0047], ln 1-10);
wherein the feature group comprises a plurality of interconnected microservices executing on one or more processing devices of the computing environment( FIG. 2 illustrates resources 230a-g of physical components 220a-f of an interconnected hardware infrastructure 105, some of which are allocated to service nodes 210a-e. As will be discussed further below, a service node 210a-e may be a virtual function executed using one or more resources 230a-g provided by one or more physical components 220a-f of the interconnected hardware infrastructure 105., para[0022], ln 1-10/ The physical components 220a-f may be (or may be comprised within) one or more personal computers, laptop computers, desktop computers, workstations, smartphones, tablet computers, wearable computers, servers, server clusters, para[0024], ln 1-16/ according to various embodiments, one or more of the nodes 110, 120, 125 are comprised within the interconnected hardware infrastructure 105 itself, para[0019], ln 12-15/ packets are transmitted from the source network node 120 to destination network node 125. Similarly, serially-connected service nodes 210a, 210b, 210d, and 210e support a second packet flow in which packets are transmitted from source network node 120 to destination network node 125 (illustrated in FIG. 2 by the black arrows), para[0027])
determining, based at least in part on the calculated feature queue size and usage data related to the one or more processing devices of the computing environment, computing resources to be allocated to the microservices in the feature group( FIG. 5 illustrates a more detailed method 500 implemented by a physical network node 110 controlling allocation and/or deallocation of resources 230a-g of an interconnected hardware infrastructure 105. According to method 500, the physical network node 110 determines threshold queue sizes for a plurality of serially-connected service nodes 210a-c, 210e supporting a packet flow using resources 230a, 230c-d, 230f-g of the interconnected hardware infrastructure 105 (block 510). As discussed above, the threshold queue sizes may be based on a minimum amount of resources 230 of the interconnected hardware infrastructure 105 required to support the packet flow in accordance with a maximum delay configured for the packet flow through the plurality of serially-connected service nodes 210a-c, 210e. The physical network node 110 then determines a number of requests currently queued at a first service node 210a (block 520) and determines a packet flow rate into that first service node 210b (block 530). The physical network node 110 then determines whether the number of requests exceeds or is below the threshold queue size determined for the first service node 210a (block 540), para[0043/ The physical network node 110 then determines a number of requests currently queued at a first service node 210a (block 520) and determines a packet flow rate into that first service node 210b (block 530). The physical network node 110 then determines whether the number of requests exceeds or is below the threshold queue size determined for the first service node 210a (block 540). In response to the number of requests exceeding the threshold queue size for the first service node 210a (block 540, yes), the physical network node 110 determines a future time to allocate a resource 230b to a second service node 210b (block 550). The determination of the future time is based on the determined number of requests at the first service node 210a and the determined packet flow rate into the first service node 210a. The physical network node 110 then waits until the future time (block 560) and allocates resource 230b to the second service node 210b at that future time (block 570), para[0043], ln 24-23 to para[0044]/Fig. 5/ determines a future time to control deallocation of resource 230c. This future time may, for example, free resource 230c for allocation to one or more of the other service nodes 210a, 210c-e, para[0040], ln 10-14)
Hu teaches allocating the determined computing resources to the microservices in the feature group(Figure 3B may be useful for supporting various types of software applications. For example, the storage system 306 may be useful in supporting artificial intelligence (ΆG) applications, database applications, DevOps projects, electronic design automation tools, event-driven software applications, high performance computing applications, simulation applications, high-speed data capture and analysis applications, machine learning applications, media production applications, media serving applications, picture archiving and communication systems ('PACS') applications, software development applications, para[00160], ln 1-15/ Figure 6 also includes identifying (402) a plurality of components (410, 412, 414) to include in a software application (416), identifying (404) an ordering for the plurality of components (410, 412, 414), identifying (406) a manner in which the plurality of components (410, 412, 414) should be connected, para[00231], ln 6-14/ Readers will appreciate that the various components depicted in Figure 3B may be grouped into one or more optimized computing packages as converged infrastructures, para[00159], ln 1-3/ Kubemetes can include a set of components (e.g., kubelet, kube-proxy, cAdvisor) that manage individual nodes as a well as a set of components (e.g., etcd, API server, Scheduler, Control Manager), para[00159], ln 16-20/ the plurality of components (410, 412, 414) should be connected, para[00221], ln 8-14/ / the provisioner module may be configured to communicate with cloud execution environments (1004, 1008), determine resource allocations for components (410, 412, 414), para[00252], ln 25-29/ The resource reservation (1506) may include an allocation of disk space, an allocation of memory, an allocation of processors or processing resources, an allocation of bandwidth, etc. The resource reservation (1506) may describe the allocation of resources relative to the entirety of the software application (416), and/or on a per-component (410, 412, 414) basis, para[00269], ln 5-16])
and one or more constraints for scaling the computing resources ,dynamically scaling the allocated computing resources, by automatically adjusting an amount of the allocated computing resources of the computing environment, based on at least one of the one or more constraints( The example method of Figure 15 also includes scaling (1508), based on the comparison, the resource reservation (1506). Scaling (1508) the resource reservation (1506) comprises modifying (e.g., increasing or decreasing) an allocation of one or more resources. Scaling (1508), based on the comparison, the resource reservation (1506) may include scaling (1508) the resource reservation based on a difference between a resource usage metric and a resource allocation in the resource reservation (1506). A difference between the resource usage metric and the resource allocation reflects a degree to which an excess of a particular resource resources may be allocated for the software application (416). For example, assume a resource reservation (1506) allocating 2 GB of memory to the software application (416) and a resource usage metric indicating a peak memory usage of 1 GB. The resource reservation (1506) may then be scaled based on the 1 GB difference. For example, the resource reservation (1506) may be scaled to equal the resource usage metric (e.g., the 1 GB peak memory usage). The resource reservation (1506) may also be scaled by a fraction of the difference. For example, the memory allocation in the resource reservation (1506) may be scaled by half of the difference, resulting in a 1.5 GB memory allocation. Readers will appreciate that such scaling may occur repeatedly over time, thereby converging towards the resource usage metric. As another example, if the resource usage metric is equal to a corresponding resource allocation in the resource reservation (1506), the resource allocation in the resource reservation (1506) may be increased. The resource allocation in the resource reservation (1506) may be increased in response to the resource usage metric equaling the corresponding resource allocation a predefined number of instances, or for a time meeting a threshold, para[00270] to para[00271],
and in response to the at least one performance metric of the at least one microservice satisfying the one or more designated performance criteria: calculating a feature queue size for the feature group based at least part on the at least one performance metric of the at least one microservice( The example method of Figure 16 also includes monitoring (1602) one or more processing metrics of the software application (416). The one or more processing metrics indicate how effective components (410, 412, 414) of the software application (416) are at processing input data. For example, the one or more processing metrics may indicate a queue state (e.g., minimum queue size, maximum queue size, average queue size) or a degree to which a size of a queue is changing (e.g., decreasing or increasing), para[00274], ln 1-10).
It would have been obvious to one or the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Eker with Hu to incorporate the above feature because this controls allocation and/or deallocation of one or more interconnected hardware infrastructure resources.
Gulati teaches evaluating whether at least one performance metric of at least one microservice in a feature group of a computing environment satisfies one or more designated performance criteria( an administrator may determine the service classes of all virtual machines running on a specific host or a specific cluster, e.g., of hosts. The IO objectives are then inherited from the service class that is assigned to the virtual machine., para[0076], ln 5-10/ The storage IO controller determines, during time period T.sub.0, that the IO performance requirements of the virtual machine A 102a and the virtual machine C 102c are being met and that the IO performance requirements of the virtual machine B 102b are not being met. For example, the storage IO controller may determine that the current quantity of IO operations for the virtual machine A 102a is greater than the expected quantity of IO operations and that the size of the data store queue A 104a can be decreased while continuing to meet the expected quantity of IO operations for the virtual machine A 102a, e.g., as a smaller data store queue will still be able to meet the expected quantity of IO operations, para[0029]/ A virtual machine may have one or more virtual machine disks that store data for the virtual machine. The virtual machine disks may be included on multiple data stores, e.g., the same data store or different data stores, and each data store may include one or more disk arrays., para[0003]/ hen the distributed resource scheduler 214 receives information indicating that one or more virtual disks need to be migrated to a new or a different data store, the distributed resource scheduler 214 identifies a data store based on the virtual disk, the corresponding virtual machine, and/or the data store, para[0050], ln 1-10).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Eker and Hu with Gulati to incorporate the above feature because this provides A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
As to claim 2, Hu teaches the one or more constraints comprise a low scaling threshold and a high scaling threshold for one or more microservices in the feature group( para[00274], ln 8-21) for the same reason as to claim 1 above.
As to claim 3, Hu teaches the plurality of interconnected microservices is executed by the one or more processing devices using a plurality of containers, and wherein the usage data is obtained from one or more auxiliary applications associated with at least a portion of the plurality of containers( para[00201], ln 36-45).
As to claims 11, 12, 13, 16, 17, 18, they are rejected for the same reasons as to claims 1, 2, 3 above.
Claim(s) 4, 5, 14, 15, 19, 20 are rejected under 35 U.S.C. 103 as being unpatentable over Eker ( US 20170250923 A1 ) in view of HU( WO 2019226652 A1) in view of Gulati( US 20150169341 A1) and further in view of Bhattacharyya(US 20210319158 A1).
As to claim 4, Bhattacharyya teaches wherein the determining the computing resources to be allocated to the microservices comprises: processing at least a portion of the usage data by a machine learning model that is trained to predict the computing resources based at least in part on historical usage data( In embodiments, the prediction engine may determine when resources should be allocated or determine progress triggers for allocation based on historical data of design progress and time of resource request. In embodiments, one or more machine learning models may be trained on the historical data to train the model to predict when resources will be needed. The prediction when the resources will be needed may then be used to request resources ahead of when they are needed according to the time delay associated with each resource. In some embodiments, additional data such as calendar data, meeting data, and the like may be used to make or supplement the prediction process. Meeting data may indicate that resources may be required for computation during the meeting., para[0729]).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Eker, Hu and Gulati with Bhattacharyya to incorporate the above feature because this provides allows Computing resources may be allocated on demand during operation of the platform.
As to claim 5, Hu teaches the machine learning model is further trained to predict the one or more constraints for dynamically scaling the allocated computing resources( para[0742], ln 30-55) for the same reason as to claim 4 above.
As to claims 14, 15, 19, 20, they are rejected for the same reasons as to claims 4, 5 above.
Claim(s) 6, 7 are rejected under 35 U.S.C. 103 as being unpatentable over Eker ( US 20170250923 A1 ) in view of HU( WO 2019226652 A1) in view of Gulati( US 20150169341 A1) and further in view of Vasamsetti( US 11843545 B1).
As to claim 6, Vasamsetti teaches wherein the dynamically scaling the allocated computing resources comprises: configuring a horizontal automatic scaling component with the one or more constraints( techniques exist to dynamically scale in/out and scale up/down resource allocation to application services executing in an application service layer network. The scaling of resources for an application service includes vertical auto-scaling (e.g., modifying an amount of a resource allocated to a server device, etc.) and/or horizontal scaling (e.g., adding or removing containerized NF resources in the form of pods, etc.). Auto-scaling mechanisms such as horizontal pod autoscaling (HPA) incrementally adjust the number of worker nodes to support the application service based on auto-scaling rules that define various threshold values for triggering of the HPA. For example, the threshold values may pertain to central processing unit (CPU) and/or memory utilization/capacity, application service key performance indicators (KPIs), etc., associated with application service layer resources., col 2, ln 1-17).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Eker, Hu and Gulati with Vasamsetti to incorporate the above feature because this satisfies the projected needs and demands of users of mobile communication devices, wireless communication providers continue to improve and expand available application services as well as networks used to deliver such services .
As to claim 7, Vasamsetti teaches the computing resources comprise at least one of: memory resources and processing resources( col 9, ln 1-5) for the same reason as to claim 6 above.
Claim(s) 8 is rejected under 35 U.S.C. 103 as being unpatentable over Eker ( US 20170250923 A1 ) in view of HU( WO 2019226652 A1) in view of Gulati( US 20150169341 A1) and further in view of KUMAR( US 20160119402 A1).
As to claim 8, Kumar teaches comprising periodically recalculating the feature queue size( prediction engine 423 periodically recalculates the data buffer queue 422 size and the device data buffer queue 413 size, para[0054], ln 17-21).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Eker, Hu and Gulati with Kumar to incorporate the above feature because this ensures a consistent flow of data to application 450 despite changes in the network latency or other factors.
Claim(s) 9 is rejected under 35 U.S.C. 103 as being unpatentable over Eker ( US 20170250923 A1 ) in view of HU( WO 2019226652 A1) in view of Gulati( US 20150169341 A1) and further in view of AN(US 20210149737 A1).
As to claim 9, An teaches the method is performed for multiple feature groups of the computing environment( a cloud management method by a cloud management device in a cloud platform environment, the method including: receiving a resource allocation request for a specific service; calculating an idle resource current state score regarding each resource of each node of each cluster by monitoring virtual resource usage current states of a plurality of nodes included in a plurality of clusters; and determining a node to allocate resources for executing the requested specific service, based on the calculated idle resource current state score, para[0020], ln 3-15).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Eker, Hu and Gulati with AN to incorporate the above feature because this provides method for balanced resource allocation in a large-scale distributed and collaborative container environment of a cloud.
Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over Eker ( US 20170250923 A1 ) in view of HU( WO 2019226652 A1) in view of Gulati( US 20150169341 A1) and further in view of Tankersley( US 20180081351 A1).
As to claim 10, Tankersley teaches wherein the at least one performance metric corresponds to an average processing time, and wherein the one or more designated performance criteria comprises determining whether the at least one microservice has a longer processing time than at least one other microservice in the feature group( FIG. 3A. The individual controllers described below, along with other components and functions of the flight processing pipeline of the aerial vehicle 110, may be grouped or combined into a single controller, such as the controller 304 described with reference to FIG. 3A, para[0079], ln 21-30/ A scheduler (not shown) may schedule an execution time for each module in the pipeline 310 such that low priority tasks/modules may execute without adversely affecting an execution time of high priority tasks/module. The scheduler may have preemption and priority based scheduling. For example, high priority tasks may have a short execution time and may run frequently whereas low priority tasks may have a longer execution time and may run less frequently. By way of another example, if execution time may be fixed or bounded, the system may be configured to accommodate both ranges of tasks. In this example, high priority tasks may have a very short execution time and need to run very frequently while other lower priority tasks may take longer to run but run less frequently, para[0061], ln 1-23).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Eker, Hu and Gulati with Tankersley to incorporate the above feature because this allows commands to be directly transmitted between the communication subsystem.
Conclusion
US 20040136379 A1 teaches the traffic into a router increases too much, too quickly, and/or too unpredictably for the node provisioning software to adjust the allocation of node router resources to accommodate the traffic, the node provisioning algorithm can send an alarm signal.
US 20230128059 A1 teaches Cake manages and allocates logical thread resources, and dynamically adjusts the thread resources based on proportional share and reservation strategies between the latency-sensitive applications and the batch-job applications. Cake adjusts the thread resources at fixed intervals. According to a ratio of the tail latency SLO to a target SLO of the latency-sensitive application in a previous.
US 20130326064 A1 teaches queue depht
US 20150355990 A1 teaches t step 312, probe 38 determines whether its resource usage exceeds a threshold value. For example, probe 38 may compare its current, average, or estimated memory usage against a threshold value, such as a percentage of memory available. If probe 38 is implemented in a Java virtual machine, the threshold value may comprise a percentage of the memory allocated to the virtual machine. As another example, probe 38 may compare a current, average, or estimated high-water mark associated with message queue 212 against a threshold, such as a percentage of the size of message queue 212. Probe 38 may compare any monitored value against a suitable threshold value.
US 20170099658 A1 teaches By way of example, each processing node can send a report to the NMO 2465 that comprises information regarding computing resources at the respective node. This information can also include link information, such as latency, congestion, reliability, channel quality, and/or other link quality metrics. This information might also include queue size, job backlog, CPU usage, maintenance schedules, and/or other information that can affect the availability of and access to the resources. The distributed computing coordinator 2465 can determine a current or future resource need (such as from requests for resources from an NMO, a Cooperative-MIMO processor 2466 and/or other operations), select resources based on the need and their availability as indicated from the directory, and then configure each processing node hosting the resource(s) to provide the resource(s).
US 20190272331 A1 teaches different tiers 211-213 may be allocated individual resources within an ecosystem 201. For example, as shown by FIG. 2B, the LB tier 211 may be allocated LB resources 205, which may be used to for execution of various load balancing, load distribution, overload control, and/or other resource management functions; the app tier 212 may be allocated various app resources 206, which may be used for execution of various tenant applications; and the DB tier 213 may be allocated various DB resources 207, which may be used for performing various DB access and manipulation functions.
US 20040136379 A1 teaches aforementioned rules (step 106), the system adjusts the allocation of resources appropriately (step 108). The preferred rule is a delay-maximum guarantee. Regardless of whether an adjustment is made at this point, the system evaluates whether there is an extremely high danger of buffer overflow or violation of one of the aforementioned rules (step 110).
US 20170052821 A1 teaches For example, the features or capabilities of the data collection and analysis ermine 208 may be enabled or disabled in response to the allocation or de-allocation of the resources of the device 202. Scaling of the data collection and analysis may further include adjusting one or more software limits of the data collection and analysis engine 208, where the software limits include a data grouping limit, an event queue size, a data upload size, an incoming rate of events, and/or battery usage incurred by the data collection and analysis engine 208.
EP 3410301 A1 teaches monitor information associated with the set of VNFs that includes a set of VNF instances; predict a resource allocation event for a VNF instance based on the monitored information and a resource flexing model that is developed using a capacity metric of the VNF instance; and generate a resource flexing plan based on the resource allocation event and an order of the set of VNFs in a service function chain. An example machine-readable medium may be such that the information includes network function virtualization (NFV) infrastructure-specific metrics and VNF-specific metrics. In a further example, the NFV infrastructure-specific metrics include central processing unit (CPU) usage, memory usage, network usage, and virtualization-related metrics, wherein the VNF-specific metrics include transaction rate, request rate, processing delay, and queue sizes, and wherein the capacity metric is a predetermined workload at which the VNF instance provides stable service.
KR 101471749 B1 teaches Calculating a processing time and a queue size for allocating the virtual resource, performing a second order inference to determine a priority of the virtual resource based on the calculated processing time, the queue size, and the state of the virtual resource,
Any inquiry concerning this communication or earlier communications from the examiner should be directed to LECHI TRUONG whose telephone number is (571)272-3767. The examiner can normally be reached 10-8 PM.
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 Young Kevin can be reached on (571)270-3180. 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.
/LECHI TRUONG/Primary Examiner, Art Unit 2194