Prosecution Insights
Last updated: August 17, 2026
Application No. 18/436,881

OPERATION DECOMPOSITION USING EDGE DEVICES

Non-Final OA §103
Filed
Feb 08, 2024
Priority
Feb 17, 2023 — provisional 63/446,443
Examiner
LU, KEVIN X
Art Unit
2199
Tech Center
2100 — Computer Architecture & Software
Assignee
Micron Technology Inc.
OA Round
1 (Non-Final)
75%
Grant Probability
Favorable
1-2
OA Rounds
1y 4m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 75% — above average
75%
Career Allowance Rate
230 granted / 306 resolved
+20.2% vs TC avg
Strong +44% interview lift
Without
With
+44.5%
Interview Lift
resolved cases with interview
Typical timeline
3y 10m
Avg Prosecution
10 currently pending
Career history
324
Total Applications
across all art units

Statute-Specific Performance

§101
12.4%
-27.6% vs TC avg
§103
55.7%
+15.7% vs TC avg
§102
2.3%
-37.7% vs TC avg
§112
22.7%
-17.3% vs TC avg
Black line = Tech Center average estimate • Based on career data from 306 resolved cases

Office Action

§103
DETAILED ACTION The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . This Office Action is in response to application filed on 2/8/2024, claiming priority date of 2/17/2023 based on Provisional Application 63/446,443. Claim Objections Claim 15, 16 and 20 objected to because of the following informalities: Claim 15, “arraigning” should be “arranging” Claim 16, “to a each of the plurality of groups” should be “to each of the plurality of groups” Claim 20, “second matric” should be “second matrix” Appropriate correction is required. 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. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claim(s) 1-5, 8-21 are rejected under 35 U.S.C. 103 as being unpatentable over Zhou et al. (“DeepThings: Distributed Adaptive Deep Learning Inference on Resource-Constrained IoT Edge Clusters”, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 37, no. 11, pp. 2348-2359, Nov. 2018), in view of Teerapittayanon et al. (“Distributed Deep Neural Networks over the Cloud, the Edge and End Devices”, 2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS), Atlanta, GA, USA, 2017, pp. 328-339) As for claim 1, Zhou teaches An apparatus comprising: a processing device (Section V – Experimental Results, 1st paragraph, “…we use Raspberry Pi 3 Model B (RPi3) as both edge and gateway platforms…”) configured to: decompose an operation [CNN model] into a plurality of portions of the operation [independent execution stacks] (Section IV, 1st paragraph, “…takes structural parameters of the original CNN model as input and feeds them into an …FTP…based on resource constraints of edge devices…a proper offloading point between gateway/edge nodes and partitioning parameters are generated …” and Section IV (A)/Fig. 4/Algorithm 1, “…FTP partitioning on a typical example of an CNN inference flow…divided into tiled stacks of convolution and pooling operations…partitioned into NxM independent execution stacks…” teaching decomposition into NxM of tiled fused stack of convolution and pooling sub-operations.); provide a different portion from the plurality of portions to each group from a plurality of groups of edge devices (Section IV, 1st paragraph “…FTP parameters together with model weights are then downloaded into each edge device…DeepThings runtime is instantiated in each IoT device to manage task computation, distribution, and data communication…”, Section IV(B), 1st paragraph, “during interface, the FTP-partitioned…layers need to be distributed among edge node devices in a load balancing manner…” Examiner note, paragraph 27 of current application Specification states “…each of the groups 226 can comprise one or more edge devices….” Thus, under the BRI, each device can be understood as a group of edge devices.); provide input values to each of the plurality of groups of edge devices (Section IV (A) teaching distinct FTP partitions are distributed to the edge nodes (see, e.g., “…data regions of different partitions…distribute the…input data…” Section IV(B) teaching input data assigned to each node, and the process of stealing that input data from peer nodes when a node become empty, which clearly depends on the input data previously distributed to each of the edge devices participating in the workload already.) ; receive a plurality of outputs from the plurality of groups of edge devices generated using the input values and the plurality of portions (Section IV(B), “…partition result collection thread will collect all the stolen and local partition results from the result queue and send them to the gateway…The partition result collection thread collects partition data from all edge nodes within the network …”); and recompose the plurality of outputs into a single output for the operation (Section IV(B), “…the partition result collection thread collects partition data from all edge nodes ….where the collected partition results will be reordered and merged into a result pool according to the data source ID and partition number…simply concatenated together to retrieve the entire output tensor…”). As noted above, in view of the Specification, groups of edge devices can be understood as no more than one or more edge devices per group, which is taught by Zhao. Nevertheless, in the interest of compact prosecution, Examiner will note Zhao does not explicitly teach each group of edge devices contain plurality of devices. However, Teerapittayanon teaches a known method of CNN deployment to edge devices in clouds including provide a different portion from the plurality of portions to each group from a plurality of groups of edge devices (Abstract, Section I, Section III(A) and Fig. 2, Fig. 4, “…maps a trained DNN onto heterogenous physical devices distributed locally, at the edge, and in the cloud…can be extended to multiple end devices which maybe geographically distributed that work together to make a classification decision….each end device performs local computations as in (b), but their output is aggregated together before the local exit…” ). This known technique is applicable to the system of Zhao as they both share characteristics and capabilities, namely, they are directed to execution of DNN/CNNs in distributed network of edge/cloud devices. One of ordinary skill in the art before the effective filing date of the application would have recognized that applying the known technique of Teerapittayanon would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Teerapittayanon to the teachings of Zhao would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such neural network deployment/execution scheduling. Further, applying provide a different portion from the plurality of portions to each group from a plurality of groups of edge devices to Zhao with provide a different portion from the plurality of portions to each group from a plurality of groups of edge devices accordingly, would have been recognized by those of ordinary skill in the art as resulting in an improved system that would reduced resource utilization at edge devices while improving the accuracy. (Teerapittayanon, Section V –DDNN provisions for horizontal and vertical scaling). As for claim 2, Zhao teaches decompose the operation into the plurality of portions based on a quantity of the plurality of groups (Section V(A), “…optimal approach is thereby to match the number of partitions to the number of available devices…”). As for claim 3, Zhao also teaches decompose the operation into the plurality of portions based on edge devices in each of the plurality of groups (Section V(A), “…optimal approach is thereby to match the number of partitions to the number of available devices…”). As for claim 4, Zhao also teaches decompose the operation by dividing the operation into a plurality of sub-operations which comprise the plurality of portions (Section IV(A) and Algorithm 1, “…the original CNN is divided into tiled stacks of convolution and pooling operations…”). As for claim 5, Zhao also teaches divide the operation into the plurality of sub-operations based on characteristics of edge devices in each of the plurality of groups of edge devices (Section IV, “…based on resource constraints of edge devices, …a proper offloading point between gateway/edge nodes and partitioning parameters are generated …” and sections V(A) and V(D) teaching device memory characteristics drives the granularity. ). As for claim 8, Zhao also teaches provide a different sub-operation from the plurality of sub-operations to each group from the plurality of groups of edge devices (Section IV(A) and IV(B), each tile/partition of the NxM execution stacks are understood as a different sub-operation.). As for claim 9, Teerapittayanon also teaches provide a same sub-operation to each of the edge devices in a group from the plurality of groups of edge devices (Section IV(A) and Fig. 4 teaching each end device of a group (same color) processes the same lower-section blocks that have the same color.). Rationale to combine same as claim 1 above. As for claim 10, Zhao teaches a method comprising: grouping a plurality of edge devices into a plurality of groups of edge devices (Section IV, Section IV(B)(2), “….DeepThings runtime is instantiated in each IoT devices….the Runtime system will register itself with the gateway device, which …monitors and coordinates work distribution and stealing…” Examiner note, paragraph 27 of current application Specification states “…each of the groups 226 can comprise one or more edge devices….” Thus, under the BRI, each device can be understood as a group of edge devices.); decomposing an operation into a plurality of sub-operations (Section IV, 1st paragraph, “…takes structural parameters of the original CNN model as input and feeds them into an …FTP…based on resource constraints of edge devices…a proper offloading point between gateway/edge nodes and partitioning parameters are generated …” and Section IV (A)/Fig. 4/Algorithm 1, “…FTP partitioning on a typical example of an CNN inference flow…divided into tiled stacks of convolution and pooling operations…partitioned into NxM independent execution stacks…” teaching decomposition into NxM of sub-operations.); providing a different respective sub-operation of the plurality of sub-operations to each of the plurality of groups of edge devices (Section IV, 1st paragraph “…FTP parameters together with model weights are then downloaded into each edge device…DeepThings runtime is instantiated in each IoT device to manage task computation, distribution, and data communication…”, Section IV(B), 1st paragraph, “during interface, the FTP-partitioned…layers need to be distributed among edge node devices in a load balancing manner…” Thus, each distinct partitions are distributed to distinct nodes//groups. Examiner note, paragraph 27 of current application Specification states “…each of the groups 226 can comprise one or more edge devices….” Thus, under the BRI, each device can be understood as a group of edge devices.); providing input values to each of the plurality of groups of edge devices (Section IV(B), “…partition result collection thread will collect all the stolen and local partition results from the result queue and send them to the gateway…The partition result collection thread collects partition data from all edge nodes within the network …”); receiving a plurality of outputs from the plurality of groups of edge devices generated by using the input values and the plurality of sub-operations (Section IV(B), “…partition result collection thread will collect all the stolen and local partition results from the result queue and send them to the gateway…The partition result collection thread collects partition data from all edge nodes within the network …”); and recomposing the plurality of outputs into a single output for the operation (Section IV(B), “…the partition result collection thread collects partition data from all edge nodes ….where the collected partition results will be reordered and merged into a result pool according to the data source ID and partition number…simply concatenated together to retrieve the entire output tensor…”). As noted above, in view of the Specification, groups of edge devices can be understood as no more than one or more edge devices per group, which is taught by Zhao. Nevertheless, in the interest of compact prosecution, Examiner will note Zhao does not explicitly teach each group of edge devices contain plurality of devices. However, Teerapittayanon teaches a known method of CNN deployment to edge devices in clouds including grouping a plurality of edge devices into a plurality of groups of edge devices (Section III(A) and Fig. 2. See also, Fig. 4, 6 end devices under one local aggregator.); and provide a different respective sub-operation of the plurality of suboperations to each of the plurality of groups of edge devices (Section III(A), Fig. 2 – (d) - (f), Fig. 4, “…maps a trained DNN onto heterogenous physical devices distributed locally, at the edge, and in the cloud…can be extended to multiple end devices which maybe geographically distributed that work together to make a classification decision….each end device performs local computations as in (b), but their output is aggregated together before the local exit…” and “…edge…performing aggregation and classification….and forwarding its own intermediate output to the cloud….” Teaching edge devices and end devices perform different sub-operations of the plurality of suboperations. In addition, they are also grouped based on geographics. See (Fig. 2 (e)-(f), “DDNN over …edge and geographically distributed devices …..over …geographically distributed edges and devices…”). This known technique is applicable to the system of Zhao as they both share characteristics and capabilities, namely, they are directed to execution of DNN/CNNs in distributed network of edge/cloud devices. One of ordinary skill in the art before the effective filing date of the application would have recognized that applying the known technique of Teerapittayanon would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Teerapittayanon to the teachings of Zhao would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such neural network deployment/execution scheduling. Further, applying grouping a plurality of edge devices into a plurality of groups of edge devices, provide a different sub-operation from the plurality of sub-operations to each group from a plurality of groups of edge devices to Zhao with provide a different portion from the plurality of portions to each group from a plurality of groups of edge devices accordingly, would have been recognized by those of ordinary skill in the art as resulting in an improved system that would reduce resource utilization at edge devices while improving the accuracy. (Teerapittayanon, Section V –DDNN provisions for horizontal and vertical scaling). As for claim 11, Teerapittayanon also teaches dividing the plurality of edge devices into groups based on characteristics of the edge devices (Section I, Section III(A), “…maps a trained DNN onto heterogenous physical devices distributed locally, at the edge, and in the cloud…can be extended to multiple end devices which maybe geographically distributed that work together to make a classification decision….each end device performs local computations as in (b), but their output is aggregated together before the local exit…” “…DDNNs…over distributed computing hierarchies, consisting of the cloud, the edge….and geographically distributed end devices….map sections of a single DNN onto a distributed computing hierarchy…lower NN layers to support local inference at end devices, and higher NN layers in the cloud …” teaching different edge devices and end devices are grouped to perform different parts/layers of a DDNN. Based on capability of edge vs end device. “…maps a trained DNN onto heterogenous physical devices distributed locally, at the edge, and in the cloud…can be extended to multiple end devices which maybe geographically distributed that work together to make a classification decision….each end device performs local computations as in (b), but their output is aggregated together before the local exit…” teaches different locations of devices form basis of grouping them to perform a specific layer’s workload within a single DDNN.). As for claim 12, Teerapittayanon also teaches providing a same sub-operation to each edge device in a particular group from the plurality of groups (Section IV(A) and Fig. 4 teaching each end device of a group (same color) processes the same lower-section blocks that have the same color.). Rationale to combine same as claim 1 above. As for claim 13, Teerapittayanon also teaches generating a respective single group output for each of the plurality of groups (Section III(B) and III(D), and Fig. 2. Each local exit, edge exit, etc. outputs data that is aggregated at that exit point, and is understood as the group output for that local/edge/cloud exit). As for claim 14, Teerapittayanon also teaches recomposing the respective single group outputs into the single output (Section III(A) and Section III(D) steps 4-6, and Figs. 2 – (d)-(f)). As for claim 15, Zhao also teaches arraigning the plurality of outputs in an inverse order from which the operation was divided (Section IV(B) – 2) Gateway service, “….collected partition results will be reordered and merged into a result pool according to the …partition number…” teaches reconstruct the original output feature map, in view of Algorithm 1 and Section IV(A), “…recursive backward traversal is performed for each partition (I, j)…” teaching derives each partition by backward traversal from the output grid. Thus, to reassemble the backward traversal from the output grid into the original output, it would be obvious to inverse the order to reverse the backward traversal because doing so allows for assembly of output features for output.). As for claim 16, Zhao teaches a non-transitory machine-readable medium having computer-readable instructions, which when executed by a computer, cause the computer to: group a plurality of edge devices into a plurality of groups of edge devices (Section IV, Section IV(B)(2), “….DeepThings runtime is instantiated in each IoT devices….the Runtime system will register itself with the gateway device, which …monitors and coordinates work distribution and stealing…” Examiner note, paragraph 27 of current application Specification states “…each of the groups 226 can comprise one or more edge devices….” Thus, under the BRI, each device can be understood as a group of edge devices.); decompose an operation into a plurality of sub-operations (Section IV, 1st paragraph, “…takes structural parameters of the original CNN model as input and feeds them into an …FTP…based on resource constraints of edge devices…a proper offloading point between gateway/edge nodes and partitioning parameters are generated …” and Section IV (A)/Fig. 4/Algorithm 1, “…FTP partitioning on a typical example of an CNN inference flow…divided into tiled stacks of convolution and pooling operations…partitioned into NxM independent execution stacks…” teaching decomposition into NxM of sub-operations.); provide a respective sub-operation from the plurality of sub-operations to a each of the plurality of groups of edge devices(Section IV, 1st paragraph “…FTP parameters together with model weights are then downloaded into each edge device…DeepThings runtime is instantiated in each IoT device to manage task computation, distribution, and data communication…”, Section IV(B), 1st paragraph, “during interface, the FTP-partitioned…layers need to be distributed among edge node devices in a load balancing manner…” Thus, each distinct partitions are distributed to distinct nodes//groups. Examiner note, paragraph 27 of current application Specification states “…each of the groups 226 can comprise one or more edge devices….” Thus, under the BRI, each device can be understood as a group of edge devices.); decompose input values into a plurality of portions of the input values (Section IV, 1st paragraph, “…takes structural parameters of the original CNN model as input and feeds them into an …FTP…based on resource constraints of edge devices…a proper offloading point between gateway/edge nodes and partitioning parameters are generated …” and Section IV (A)/Fig. 4/Algorithm 1, “…FTP partitioning on a typical example of an CNN inference flow…divided into tiled stacks of convolution and pooling operations…partitioned into NxM independent execution stacks…” in view of Section IV (A) teaching distinct FTP partitions are distributed to the edge nodes (see, e.g., “…data regions of different partitions…distribute the…input data…” Section IV(B) teaching input data assigned to each node, and the process of stealing that input data from peer nodes when a node become empty, which clearly depends on the input data previously distributed to each of the edge devices participating in the workload already.) ; provide the plurality of portions of the input values to each of the plurality of groups of edge devices (Section IV(B), “…partition result collection thread will collect all the stolen and local partition results from the result queue and send them to the gateway…The partition result collection thread collects partition data from all edge nodes within the network …”); receive a plurality of outputs from the plurality of groups of edge devices generated using the plurality of portions of the input values and the plurality of sub-operations (Section IV(B), “…partition result collection thread will collect all the stolen and local partition results from the result queue and send them to the gateway…The partition result collection thread collects partition data from all edge nodes within the network …”); and recompose the plurality of outputs into a single output for the operation (Section IV(B), “…the partition result collection thread collects partition data from all edge nodes ….where the collected partition results will be reordered and merged into a result pool according to the data source ID and partition number…simply concatenated together to retrieve the entire output tensor…”). As noted above, in view of the Specification, groups of edge devices can be understood as no more than one or more edge devices per group, which is taught by Zhao. Nevertheless, in the interest of compact prosecution, Examiner will note Zhao does not explicitly teach each group of edge devices contain plurality of devices. However, Teerapittayanon teaches a known method of CNN deployment to edge devices in clouds including grouping a plurality of edge devices into a plurality of groups of edge devices (Section III(A) and Fig. 2. See also, Fig. 4, 6 end devices under one local aggregator.); and provide a respective sub-operation of the plurality of suboperations to each of the plurality of groups of edge devices (Section III(A), Fig. 2 – (d) - (f), Fig. 4, “…maps a trained DNN onto heterogenous physical devices distributed locally, at the edge, and in the cloud…can be extended to multiple end devices which maybe geographically distributed that work together to make a classification decision….each end device performs local computations as in (b), but their output is aggregated together before the local exit…” and “…edge…performing aggregation and classification….and forwarding its own intermediate output to the cloud….” Teaching edge devices and end devices perform different sub-operations of the plurality of suboperations. In addition, they are also grouped based on geographics. See (Fig. 2 (e)-(f), “DDNN over …edge and geographically distributed devices …..over …geographically distributed edges and devices…”). This known technique is applicable to the system of Zhao as they both share characteristics and capabilities, namely, they are directed to execution of DNN/CNNs in distributed network of edge/cloud devices. One of ordinary skill in the art before the effective filing date of the application would have recognized that applying the known technique of Teerapittayanon would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Teerapittayanon to the teachings of Zhao would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such neural network deployment/execution scheduling. Further, applying grouping a plurality of edge devices into a plurality of groups of edge devices, provide a different portion from the plurality of portions to each group from a plurality of groups of edge devices to Zhao with provide a different portion from the plurality of portions to each group from a plurality of groups of edge devices accordingly, would have been recognized by those of ordinary skill in the art as resulting in an improved system that would reduce resource utilization at edge devices while improving the accuracy. (Teerapittayanon, Section V –DDNN provisions for horizontal and vertical scaling). As for claim 17, Zhao also teaches decompose the input values into the plurality of portions based on characteristics of a plurality of edge devices of the plurality of groups (Section IV, “…based on resource constraints of edge devices, …a proper offloading point between gateway/edge nodes and partitioning parameters are generated …” and sections V(A) and V(D) teaching device memory characteristics drives the granularity. And characteristic/resource constraints of edge devices. ). As for claim 18, Zhao also teaches the characteristics of the plurality of edge devices include a memory size of the plurality of edge devices (Section IV, “…based on resource constraints of edge devices, …a proper offloading point between gateway/edge nodes and partitioning parameters are generated …”, Section IV(A), and sections V(A) and V(D) teaching device memory characteristics drives the granularity.). As for claim 19, Zhao also teaches provide a different portion from the plurality of portions of the input values to each of the plurality of groups of edge devices (Section IV, 1st paragraph, “…takes structural parameters of the original CNN model as input and feeds them into an …FTP…based on resource constraints of edge devices…a proper offloading point between gateway/edge nodes and partitioning parameters are generated …” and Section IV (A)/Fig. 4/Algorithm 1, “…FTP partitioning on a typical example of an CNN inference flow…divided into tiled stacks of convolution and pooling operations…partitioned into NxM independent execution stacks…” in view of Section IV (A) teaching distinct FTP partitions are distributed to the edge nodes (see, e.g., “…data regions of different partitions…distribute the…input data…” Section IV(B) teaching input data assigned to each node, and the process of stealing that input data from peer nodes when a node become empty, which clearly depends on the input data previously distributed to each of the edge devices participating in the workload already.). As for claim 20, Zhao also teaches the different portion includes a first matrix and a second matrix (Fig. 4-5, and Section IV(A), “…a set of 3x3x3 filters are applied to each partitioned input feature map tile…”). As for claim 21, Zhao also teaches the different portion includes a matrix and a value (Section IV(A), “….input offsets for each partition in the CNN input map…set of 3x3x3 filters are applied to each partitioned input feature map tile…”. Claim(s) 6 are rejected under 35 U.S.C. 103 as being unpatentable over Zhou and Teerapittayanon , further in view of Chung et al. (US PGPUB 20160379108) As for claim 6, Zhao teaches divide the operation into a plurality of sub-operations ((Section IV, 1st paragraph, “…takes structural parameters of the original CNN model as input and feeds them into an …FTP…based on resource constraints of edge devices…a proper offloading point between gateway/edge nodes and partitioning parameters are generated …” and Section IV (A)/Fig. 4/Algorithm 1, “…FTP partitioning on a typical example of an CNN inference flow…divided into tiled stacks of convolution and pooling operations…partitioned into NxM independent execution stacks…” teaching decomposition into NxM of sub-operations.). Zhao and Teerapittayanon do not explicitly state based on whether edge devices have a matrix multiplication unit. However, Chung teaches a known method of DNN workload distribution to edge devices including divide the operation into the plurality of sub-operations based on whether edge devices in each of the plurality of groups of edge devices have a matrix multiplication unit (paragraphs 298-299 teaching mapping of convolutional layers/matrix-multiply layers to accelerator components and linear layers to host/cpu to do rest of work, thus distribution depends on if accelerator does the multiplication functionality.). This known technique is applicable to the system of Zhao and Teerapittayanon as they both share characteristics and capabilities, namely, they are directed to execution of DNN/CNNs in distributed network of edge/cloud devices. One of ordinary skill in the art before the effective filing date of the application would have recognized that applying the known technique of Chung would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Chung to the teachings of Zhao and Teerapittayanon would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such neural network deployment/execution scheduling. Further, applying based on whether edge devices have a matrix multiplication unit to Zhao and Teerapittayanon with dividing workload having matrix multiplication tasks accordingly, would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow more efficient use of heterogenous resources to execution different workload segments. (Chung, paragraphs 2-3). Claim(s) 7 are rejected under 35 U.S.C. 103 as being unpatentable over Zhou and Teerapittayanon , further in view of Dai et al. (CN114281535A) As for claim 7, Zhao teaches divide the operation into a plurality of sub-operations ((Section IV, 1st paragraph, “…takes structural parameters of the original CNN model as input and feeds them into an …FTP…based on resource constraints of edge devices…a proper offloading point between gateway/edge nodes and partitioning parameters are generated …” and Section IV (A)/Fig. 4/Algorithm 1, “…FTP partitioning on a typical example of an CNN inference flow…divided into tiled stacks of convolution and pooling operations…partitioned into NxM independent execution stacks…” teaching decomposition into NxM of sub-operations.). Zhao and Teerapittayanon do not explicitly state based on connection speed. However, Dai teaches a known method of DNN distribution including divide the operation into the plurality of sub-operations based on a connection speed coupling edge devices of the plurality of groups of edge devices and the apparatus (Pg. 3, “…edge server having limited….bandwidth resources, denoted …Rb….invention …provides a partitioning method for segmenting the neural network after analyzing the structure of the neural network to accelerate the reasoning process of the neural network…” paragraphs 4-6, Steps S2 “throughputs computed on the device and the edge server …data transfer time…which is related to the output tensor size…” . Pg. 6-7, Step S3, “optimization objective function…taking the minimized total response time of all the devices…proportionality coefficient between the tensor size and the bandwidth it consumes…” teaches dividing NN operation into local on device and remote sub-operations and selecting that division as a function of the data transmission time to the edge server (i.e., as a function of the connection speed/bandwidth between the device and the server) to minimize end-to-end response time.). This known technique is applicable to the system of Zhao and Teerapittayanon as they both share characteristics and capabilities, namely, they are directed to execution of DNN/CNNs in distributed network of edge/cloud devices. One of ordinary skill in the art before the effective filing date of the application would have recognized that applying the known technique of Chung would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of Chung to the teachings of Zhao and Teerapittayanon would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such neural network deployment/execution scheduling. Further, applying based on edge device bandwidth to Zhao and Teerapittayanon with dividing workload having matrix multiplication tasks accordingly, would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow optimized execution time of the DNN. (Chung, Pg 7, S4). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Any inquiry concerning this communication or earlier communications from the examiner should be directed to KEVIN X LU whose telephone number is (571)270-1233. The examiner can normally be reached M-F 10am-6pm. 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, Lewis Bullock can be reached on 5712723759. 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. /KEVIN X LU/Examiner, Art Unit 2199 /LEWIS A BULLOCK JR/Supervisory Patent Examiner, Art Unit 2199
Read full office action

Prosecution Timeline

Feb 08, 2024
Application Filed
Jul 13, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12632276
COORDINATED HOOKING MECHANISM FOR CHECKPOINTING VIRTUAL MACHINES
3y 8m to grant Granted May 19, 2026
Patent 12632278
PROCESSING UNIT AND PROCESSING SYSTEM
3y 10m to grant Granted May 19, 2026
Patent 12625729
PACKET PROCESSING COMPUTATIONS UTILIZING A PRE-ALLOCATED MEMORY FUNCTION
3y 11m to grant Granted May 12, 2026
Patent 12596563
PHYSICAL HARDWARE DEVICE ACCESS VIA EMULATION
3y 9m to grant Granted Apr 07, 2026
Patent 12596566
Operating System Performance Interference Preventing Apparatus of Hypervisor System
3y 2m to grant Granted Apr 07, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

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

Prosecution Projections

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

Sign in with your work email

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

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

Free tier: 3 strategy analyses per month