Prosecution Insights
Last updated: April 19, 2026
Application No. 18/225,562

WEIGHTED TRAFFIC DISTRIBUTION BETWEEN GRADED PORTS

Non-Final OA §103
Filed
Jul 24, 2023
Examiner
MCBETH, WILLIAM C
Art Unit
2449
Tech Center
2400 — Computer Networks
Assignee
Mellanox Technologies Ltd.
OA Round
5 (Non-Final)
67%
Grant Probability
Favorable
5-6
OA Rounds
2y 9m
To Grant
99%
With Interview

Examiner Intelligence

Grants 67% — above average
67%
Career Allow Rate
192 granted / 288 resolved
+8.7% vs TC avg
Strong +57% interview lift
Without
With
+57.4%
Interview Lift
resolved cases with interview
Typical timeline
2y 9m
Avg Prosecution
23 currently pending
Career history
311
Total Applications
across all art units

Statute-Specific Performance

§101
8.9%
-31.1% vs TC avg
§103
48.1%
+8.1% vs TC avg
§102
7.1%
-32.9% vs TC avg
§112
31.1%
-8.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 288 resolved cases

Office Action

§103
DETAILED ACTION This Office Action is in response to the amendment to Application Ser. No. 18/225,562 filed on March 2, 2026. Claims 1, 6, 7 and 18-20 are currently amended. Claims 1-20 are pending and are examined. Continued Examination Under 37 CFR 1.114 A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on March 2, 2026, has been entered. 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 . 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 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. Response to Arguments The amendment to Claims 1 and 6 has overcome the objection to the claims for minor informalities set forth in the Final Office Action mailed December 17, 2025. The objection to the claims for minor informalities is hereby withdrawn. The amendment to Claims 7 and 18 has overcome the rejection of Claims 7 and 18 under 35 U.S.C. 112(b) as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or joint inventor regards as the invention set forth in the Final Office Action mailed December 17, 2025. The rejection of Claims 7 and 18 under 35 U.S.C. 112(b) is hereby withdrawn. The arguments with respect to the rejection of Claims 1-20 under 35 U.S.C. 103 have been fully considered by the Examiner but are not persuasive. Specifically, on pages 7 of the response filed March 2, 2026, regarding independent Claim 1, Applicant argues, “Anand does not, however, disclose, teach, or suggest, mapping polled queues to a respective grade of a plurality of grades based on a depth of the respective queue being within a range of depths associated with the respective grade as claimed. Nor does Anand disclose, teach, or suggest, performing a weighted selection to distribute traffic across the plurality of queues based on the weight assigned to each queue. Shpiner, Georgios, and Matthews do not, whether considered alone or in combination with each other and/or with Anand, overcome the deficiencies of Anand.” The Examiner respectfully disagrees. Georgios discloses mapping a queue to a congestion extent level, i.e., a grade, of a plurality of congestion extent levels based on the queue length of the respective queue (see paragraphs 61-62), and Matthews discloses distributing packets to queues associated with the paths to a destination based on the weights assigned to the paths (see at least column 26, line 62 through column 27, line 4 and column 28, lines 21-30). Insofar as Applicant provides similar arguments with respect to independent Claims 19, and 20, Examiner’s response to the arguments of Claim 1 provided above are equally applicable. Claim Interpretation While paragraph [0065] of the specification suggests that the processor “generates routing instructions for the switch”, the term “routing instruction” is being interpreted as “routing decision” (e.g., a determination rather than a command or a control signal) for examination purposes as the disclosure provides no further indication of the nature of the routing instruction, how it is communicated, or where it is directed. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-7 are rejected under 35 U.S.C. 103 as being unpatentable over Shpiner et al., Pub. No. US 2018/0183720 A1, hereby “Shpiner”, in view of Anand et al., Pub. No. US 2014/0119193 A1, hereby “Anand”, in further view of Georgios et al., Pub. No. US 2019/0190833 A1, hereby “Georgios”, and in further view of Matthews et al., Pat No. US 10,320,691 B1, hereby “Matthews”. Regarding Claim 1, Shpiner discloses “A system to route data to one of a plurality of queues (Shpiner figs. 1-2 and paragraphs 16, 27, 31 and 38: switch 28A), the system comprising a processor t0:” map each queue to a respective grade of a plurality of grades based on the depth of the respective queue... (Shpiner figs. 2-3 and paragraphs 42-44 and 58: control circuitry 44 calculates a port congestion grade for each candidate port 36 based in part on the queue length of the candidate port)”. However, while Shpiner discloses that the congestion grade for each candidate port is calculated based in part on the queue length of the candidate port (Shpiner paragraphs 42-44), Shpiner does not explicitly disclose “poll a depth of each queue of the plurality of queues”. In the same field of endeavor, Anand discloses “poll a depth of each of the plurality of queues (Anand figs. 1-2 and paragraphs 22, 26 and 34-35: "In other embodiments, the VOQ can also be polled to sense congestion by checking queue length or through similar metrics.")”. It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner to poll the queue of each candidate port as taught by Anand because doing so constitutes applying a known technique (polling a queue associated with an egress port) to known devices and/or methods (a network switch) ready for improvement to yield predictable and desirable results (obtaining the queue length of each candidate port). See KSR International Co. v. Teleflex Inc., 82 USPQ2d 1385 (U.S. 2007). However, while Shpiner discloses calculating a port congestion grade for each candidate port based in part on the queue length of the candidate port (Shpiner paragraphs 42-44 and 58), the combination of Shpiner and Anand does not explicitly disclose “map each queue to a respective grade of a plurality of grades based on the depth of the respective queue being within a range of depths associated with the respective grade, wherein each grade is associated with a different range of depths (emphasis added)”. In the same field of endeavor, Georgios discloses “map each queue to a respective grade of a plurality of grades based on the depth of the respective queue being within a range of depths associated with the respective grade, wherein each grade is associated with a different range of depths (Georgios fig. 2 and paragraphs 61-62: a queue is mapped to a congestion extent rank, i.e., a grade, of a plurality of congestion extent ranks when the number of packets in the queue, i.e., the queue length, is within a range of numerical values associated with the respective congestion extent rank, wherein each of a plurality of congestion extent ranks is mapped to a different range of queue length values)”. It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, as modified by Anand, to map the port congestion grade to a range of queue length values as taught by Georgios because doing so constitutes applying a known technique (mapping each of a plurality of congestion extent ranks to a range of queue length values) to known devices and/or methods (a network switch) to obtain predictable and desirable results (quantization of the value of the queue length to a port congestion grade). See KSR International Co. v. Teleflex Inc., 82 USPQ2d 1385 (U.S. 2007). However, while Shpiner discloses distributing traffic across the queues based on the grades of the candidate ports (Shpiner paragraphs 40-41, 48 and 59), the combination of Shpiner, Anand and Georgios does not explicitly disclose “to each queue, assign a weight associated with the grade to which the respective queue is mapped; and perform a weighted selection to distribute traffic across the plurality of queues based on the weight assigned to each queue.” In the same field of endeavor, Matthews discloses “to each queue, assign a weight associated with the grade to which the respective queue is mapped (Matthews figs. 2 and 8; column 26, lines 60 through column 27, line 20; column 27, line 54 through column 28, line 4 and column 30, line 57 through column 31, line 3: path management controller 260 assigns weights to each path to a destination based a ranking, i.e., a grade, determined for each path); and perform a weighted selection to distribute traffic across the plurality of queues based on the weight assigned to each queue (Matthews figs. 2 and 8; column 8, lines 37-41; column 10, lines 62-64, column 11, lines 6-14, column 13, lines 14-16 and column 28, lines 21-30: forwarding logic 220 distributes packets to queues 224 associated with the paths to the destination based on the weights assigned to the paths – while not explicitly stated, performance of weighted selection is implied by the distribution of the packets to queues based on the weights assigned to the associated paths). It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, as modified by Anand and Georgios, to assign a weight to each port based on the port congestion grade as taught by Matthews. One of ordinary skill in the art would have been motivated to combine assigning a weight to each candidate port based on the port congestion grade to enable load balancing of the traffic across the candidate ports proportionally based on the grades (Matthews column 26, line 65 through column 27, line 4 and column 28, lines 23-27). Regarding Claim 2, the combination of Shpiner, Anand, Georgios and Matthews discloses all of the limitations of Claim 1. Additionally, Anand discloses “wherein the depth of each queue is stored periodically in a database (Anand paragraphs 26, 35 and 39 and Claim 6: "The load sharing module 211 can maintain a data base or data structure of the congestion associated with each egress port or can work in combination with a separate congestion monitor module 209 to maintain current congestion information.").” It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner to poll the queue of each candidate port as taught by Anand for the reasons set forth in the rejection of Claim 1. Regarding Claim 3, the combination of Shpiner, Anand, Georgios and Matthews discloses all of the limitations of Claim 1. Additionally, Shpiner discloses “wherein each queue of the plurality of queues is associated with an egress port (Shpiner fig. 2 and paragraphs 28 and 40-44: the queue lengths are associated with candidate egress ports 36).” Regarding Claim 4, the combination of Shpiner, Anand, Georgios and Matthews discloses all of the limitations of Claim 1. Additionally, Anand discloses “wherein the depth of each queue is polled periodically or continuously (Anand paragraph 39: "Alternately, the congestion can be detected by a simple polling of the queue lengths (e.g., VOQ length) at periodic intervals.").” It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner to poll the queue of each candidate port as taught by Anand for the reasons set forth in the rejection of Claim 1. Regarding Claim 5, the combination of Shpiner, Anand, Georgios and Matthews discloses all of the limitations of Claim 1. Additionally, Shpiner discloses “wherein the grade is based on one of a percentage or an amount of occupied or available space of each queue (Shpiner paragraphs 42-44: the port congestion grade for each candidate port may be based on the total size of the data that is queued for transmission via the respective candidate port)”. Regarding Claim 6, the combination of Shpiner, Anand, Georgios and Matthews discloses all of the limitations of Claim 5. Additionally, Matthews discloses “wherein the weight assigned to each queue is determined further based on a size of each queue (Matthews figs. 2 and 8; column 10, lines 52-58 and column 27, line 54 through column 28, line 4: the weights may be determined based on port or queue congestion levels).” It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, as modified by Anand and Georgios, to assign a weight to each candidate port based on the port congestion grade at taught by Matthews for the reasons set forth in the rejection of Claim 1. Regarding Claim 7, the combination of Shpiner, Anand, Georgios and Matthews discloses all of the limitations of Claim 1. Additionally, Matthews discloses “wherein a proportion of traffic sent to each queue is related to the weight assigned to each queue (Matthews column 26, line 65 through column 27, line 4 and column 28, lines 23-27: traffic is distributed across queues 224 associated with the paths to the destination proportionally based on the weights assigned to the paths).” It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, as modified by Anand and Georgios, to assign a weight to each candidate port based on the port congestion grade at taught by Matthews for the reasons set forth in the rejection of Claim 1. Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over the combination of Shpiner, Anand, Georgios and Matthews in view of Anderson et al., Pub. No. US 2003/0223424 A1, hereby “Anderson”. Regarding Claim 8, the combination of Shpiner, Anand, Georgios and Matthews discloses all of the limitations of Claim 1. However, while Matthews discloses that traffic is distributed across the queues associated with the paths to the destination proportionally based on the assigned weights (Matthews column 26, line 65 through column 27, line 4 and column 28, lines 23-27), the combination of Shpiner, Anand, Georgios and Matthews does not explicitly disclose “wherein the processor is further to generate a routing mask based on the weight assigned to each queue, and wherein the routing mask is used to distribute the traffic across the plurality of queues.” In the same field of endeavor, Anderson discloses “wherein the processor is further to generate a routing mask based on the weight assigned to each queue, and wherein the routing mask is used to distribute the traffic across the plurality of queues (Anderson figs. 3 and 7 and paragraphs 26-28 and 35-42: “According to the present embodiment, the Multipath Weight Vectors of the invention describe a number of available paths for routing data packets that are bound for the same destination and the desired relative traffic distribution for each of the available paths.”).” It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, as modified by Anand, Georgios and Matthews, to route a packet to a particular egress port using a Multipath Weight Vector that represents the weights assigned to each of the paths available to the destination as taught by Anderson because doing so constitutes applying a known technique (using a Multipath Weight Vector for path selection) to known devices and/or methods (a network switch) to obtain predictable and desirable results (selection of an egress port based on the weights assigned to each of the candidate ports). See KSR International Co. v. Teleflex Inc., 82 USPQ2d 1385 (U.S. 2007). Claims 9-11, 15 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over the combination of Shpiner, Anand, Georgios and Matthews in view of Gafni et al., Pub. No. US 2020/0153739 A1, hereby “Gafni”. Regarding Claim 9, the combination of Shpiner, Anand, Georgios and Matthews discloses all of the limitations of Claim 1. However, while Shpiner discloses that the congestion grade for each candidate port is calculated based in part on the total size of the data that is queued for transmission via the candidate port (Shpiner paragraphs 42-44), the combination of Shpiner, Anand, Georgios and Matthews does not explicitly disclose “a counter, wherein the counter is used to determine how many bytes are sent to each queue.” In the same field of endeavor, Gafni discloses “a counter, wherein the counter is used to determine how many bytes are sent to each queue (Gafni fig. 1 and paragraphs 33, 54, 57 and 65: Gafni fig. 1 and paragraphs 33, 54, 57 and 65: network element 20 comprises a counter array 48 that tracks the number of bytes forwarded to each output port 24).” It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, as modified by Anand, Georgios and Matthews, to maintain a counter for each egress port that tracks the number of bytes sent to each port as taught by Gafni. One of ordinary skill in the art would have been motivated to combine maintaining a counter for each egress port that tracks the number of bytes sent to each egress port to ensure balanced distribution of traffic across the candidate ports (Gafni paragraph 54). Regarding Claim 10, the combination of Shpiner, Anand, Georgios, Matthews and Gafni discloses all of the limitations of Claim 9. Additionally, Gafni discloses “wherein distributing the traffic across the plurality of queues is further based on a value of the counter (Gafni fig. 2 and paragraphs 33, 54, 68, 71 and 74-75: an incoming packet is forwarded to queue 34 associated with an output port 24 based in part on the data count maintained by counter array 48).” It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, as modified by Anand, Georgios and Matthews, to maintain a counter for each egress port that tracks the number of bytes sent to each egress port as taught by Gafni for the reasons set forth in the rejection of Claim 9. Regarding Claim 11, the combination of Shpiner, Anand, Georgios, Matthews and Gafni discloses all of the limitations of Claim 10. Additionally, Gafni discloses “updating the weight assigned to each queue of the plurality of queues based on the value of the counter (Gafni paragraphs 35, 68 and 74-75: the incoming packet is forwarded to queue 34 associated with an output port 24 based on a weighted counter value - while not explicitly stated, it is implied that the weighted counter value changes, or is updated, as counter value increases)”. It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, as modified by Anand, Georgios and Matthews, to maintain a counter for each egress port that tracks the number of bytes sent to each egress port as taught by Gafni for the reasons set forth in the rejection of Claim 9. Regarding Claim 15, the combination of Shpiner, Anand, Georgios and Matthews discloses all of the limitations of Claim 1. Additionally, Shpiner discloses “wherein distributing the traffic across the polled queues is further based... data from a remote peer indicating a quality associated with a remote link between the remote peer and a destination of the traffic (Shpiner paragraphs 17-20 and 42-47: the port congestion grade of a candidate port may be based on different weights assigned to parameters including the queue length of the candidate port and flow credits notified by the next-hop switch connected to the candidate port).” However, while Shpiner discloses selecting an egress port for a packet flow based on the port congestion grades of the candidate ports, wherein the port congestion grades are based in part on flow credits notified by the next-hop switch and the queue length (Shpiner paragraphs 17-19 and 41-43), the combination of Shpiner, Anand, Georgios and Matthews does not explicitly disclose “wherein distributing the traffic across the plurality of queues is further based on a counter value for each queue indicating a size of previous data sent to each queue and data from a remote peer indicating a quality associated with a remote link between the remote peer and a destination of the traffic.” In the same field of endeavor, Gafni discloses forwarding an incoming packet to a queue associated with an output port based in part on a data count maintained by a counter array that tracks the number of byes forwarded to each output port (Gafni fig. 2 and paragraphs 33, 54, 68, 71 and 74-75: an incoming packet is forwarded to queue 34 associated with an output port 24 based in part on the data count maintained by counter array 48). It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, as modified by Anand, Georgios and Matthews, to select an egress port based on port congestion grades that are based in part on the number of bytes sent to each egress port as taught by Gafni. One of ordinary skill in the art would have been motivated to combine selecting an egress port based on port congestion grades that are based in part on the number of bytes sent to each egress port to ensure balanced distribution of traffic across the candidate ports (Gafni paragraph 54). Regarding Claim 16, the combination of Olson, Anand, Georgios, Matthews and Gafni discloses all of the limitations of Claim 15. Additionally, Shpiner, as modified by Anand, Georgios, Matthews and Gafni, suggests “averaging the weight assigned to each queue, the counter value for each queue, and the data from the remote peer (Shpiner paragraphs 42-47: “Additionally or alternatively, the port congestion grade may depend on any other suitable parameter. Control circuitry 44 may evaluate any suitable function of these parameters to produce the port congestion grade, e.g., so as to give different weights to different parameters in making the AR decision.” - while not explicitly stated, “averaging” may be inferred from “any suitable function of these parameters”).” Claims 12-14 are rejected under 35 U.S.C. 103 as being unpatentable over the combination of Shpiner, Anand, Georgios and Matthews in view of McDonald et al., Pub. No. US 2020/0007432 A1, hereby “McDonald”. Regarding Claim 12, the combination of Shpiner, Anand, Georgios and Matthews discloses all of the limitations of Claim 1. However, while Shpiner discloses that the port congestion grade of a candidate port may be based in part on the congestion of the next-hop switch (Shpiner paragraphs 17-19, 41-43 and 58-59), the combination of Shpiner, Anand, Georgios and Matthews does not explicitly disclose “wherein distributing the traffic across the plurality of queues is further based on a score associated with remote link failures.” In the same field of endeavor, McDonald discloses “wherein distributing the traffic across the plurality of queues is further based on a score associated with remote link failures (McDonald fig. 1 and paragraphs 15, 18, 23, 27, 39 and 48: routing engine 112 selects a route based on a weight calculated for each of a plurality of candidate routes using a congestion metric value, i.e., a score, that is based on the percentage of remaining capacity of the downstream queue of the next hop network device – while not explicitly stated, it is inferred that the remaining capacity of the downstream queue of the next hop network device is influenced by and potentially indicative of a remote link failure).” It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, as modified by Anand, Georgios and Matthews, to select an egress port based in part on a weight calculated based on the remaining capacity of the downstream queue of a next hop network device as taught by McDonald. One of ordinary skill would have been motivate to combine selecting an egress port based in part on a weight calculated based on the remaining capacity of the downstream queue of a next hop network device to enable selection of an egress port that balances data traffic across downstream nodes (McDonald paragraph 17). Regarding Claim 13, the combination of Shpiner, Anand, Georgios Matthews and McDonald discloses all of the limitations of Claim 12. Additionally, McDonald discloses “wherein the score associated with remote link failures is determined based on data received from a remote peer (McDonald paragraphs 22-23: the congestion metric value is determined based on buffer credits received from the next hop network device).” It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, as modified by Anand, Georgios and Matthews, to select an egress port based in part on a weight calculated based on the remaining capacity of the downstream queue of a next hop network device as taught by McDonald for the reasons set forth in the rejection of Claim 12. Regarding Claim 14, the combination of Shpiner, Anand, Georgios, Matthews and McDonald discloses all of the limitations of Claim 13. Additionally, McDonald discloses “wherein the score associated with remote link failures is determined based on data received from a remote peer (McDonald paragraphs 22-23: the buffer credits received from the next hop network device are indicative of the remaining capacity, i.e., an indication of quality, of the downstream queue of the next hop network device).” It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, as modified by Anand, Georgios and Matthews, to select an egress port based in part on a weight calculated based on the remaining capacity of the downstream queue of a next hop network device as taught by McDonald for the reasons set forth in the rejection of Claim 12. Claim 17 is rejected under 35 U.S.C. 103 as being unpatentable over the combination of Shpiner, Anand, Georgios, Matthews and Gafni, in view of Johnson et al., Pat. No. US 7,088,710 B1, hereby “Johnson”. Regarding Claim 17, the combination of Shpiner, Anand, Georgios, Matthews and Gafni disclose all of the limitations of Claim 15. However, while Shpiner discloses selecting an egress port for a packet flow based on the port congestion grades of the candidate ports (Shpiner paragraphs 17-19 and 41-43), and Matthews discloses that traffic is distributed across the queues associated with the paths to the destination proportionally based on the assigned weights (Matthews column 26, line 65 through column 27, line 4 and column 28, lines 23-27), the combination of Shpiner, Anand, Georgios, Matthews and Gafni does not explicitly disclose “wherein distributing the traffic across the queues of the plurality of queues comprises performing a weighted round robin selection based at least in part on the weight assigned to each queue.” In the same field of endeavor, Johnson discloses “wherein distributing the traffic across the plurality of queues comprises performing a round robin selection... (Johnson column 7, lines 61-64 and column 15, lines 53-58: a queue is selected from a plurality of queues using a weighted-round-robin selection, wherein the weight associated with each queue is determined based on factors including queue length).” It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, as modified by Anand, Georgios, Matthews and Gafni, to select the egress port using a round-robin selection based on the port congestion grades of the candidate ports as suggested by Johnson because doing so constitutes applying a known technique (selecting a queue using weighted-round-robin selection) to known devices and/or methods (a network switch) to obtain predictable and desirable results (selection of an egress port based on the port congestion grades of the candidate ports). See KSR International Co. v. Teleflex Inc., 82 USPQ2d 1385 (U.S. 2007). Claim 18 is rejected under 35 U.S.C. 103 as being unpatentable over the combination of Shpiner, Anand, Georgios, Matthews and Gafni in view of Ferguson et al., Pub. No. US 2010/0284271 A1, hereby “Ferguson”. Regarding Claim 18, the combination of Shpiner, Anand, Georgios, Matthews and Gafni disclose all of the limitations of Claim 15. However, while Shpiner discloses selecting an egress port for a packet flow based on the port congestion grades of the candidate ports (Shpiner paragraphs 17-19 and 41-43), and Matthews discloses that traffic is distributed across the queues associated with the paths to the destination proportionally based on the assigned weights (Matthews column 26, line 65 through column 27, line 4 and column 28, lines 23-27), the combination of Shpiner, Anand, Georgios, Matthews and Gafni does not explicitly disclose “wherein data is routed to a first queue of the plurality of queues by performing a weighted random selection based at least in part on the weight assigned to each queue.” In the same field of endeavor, Ferguson discloses “wherein data is routed to a first queue of the plurality of queues by performing a weighted random selection based at least in part on the weight assigned to each queue (Ferguson paragraphs 39-40 and 44: the queue is selected randomly from the plurality of queues based on probabilities that are determined using the calculated weights).” It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, as modified by Anand, Georgios, Matthews and Gafni, to select the egress port to select the egress port randomly based on the assigned weights as suggested by Ferguson because doing so constitutes applying a known technique (selecting a queue using random selection) to known devices and/or methods (a network switch) to obtain predictable and desirable results (selection of an egress port based on the weights assigned to the candidate ports). See KSR International Co. v. Teleflex Inc., 82 USPQ2d 1385 (U.S. 2007). Claim 19 is rejected under 35 U.S.C. 103 as being unpatentable over Shpiner, in view of Georgios, and in further view of Matthews. Regarding Claim 19, Shpiner discloses “A computing system (Shpiner figs. 1-2 and paragraphs 16, 27, 31 and 38: switch 28A) comprising one or more circuits to: determine an amount of data stored in each queue of a plurality of queues (Shpiner figs. 2-3 and paragraphs 42-44: while not explicitly stated, control circuitry 44 necessarily determines the queue length of each candidate port 36); map each queue to a respective grade of a plurality of grades based on the amount of data stored in the respective queue... (Shpiner figs. 2-3 and paragraphs 42-44 and 58: control circuitry 44 calculates a port congestion grade for each candidate port 36 based in part on the queue length of the candidate port)”. However, while Shpiner discloses calculating a port congestion grade for each candidate port based in part on the queue length of the candidate port (Shpiner paragraphs 42-44 and 58), Shpiner does not explicitly disclose “map each queue to a respective grade of a plurality of grades based on the amount of data stored in the respective queue being within a range of amounts of data associated with the respective grade, wherein each grade is associated with a different range of amounts of data (emphasis added)”. In the same field of endeavor, Georgios discloses “map each queue to a respective grade of a plurality of grades based on the depth of the respective queue being within a range of depths associated with the respective grade, wherein each grade is associated with a different range of depths (Georgios fig. 2 and paragraphs 61-62: a queue is mapped to a congestion extent rank, i.e., a grade, of a plurality of congestion extent ranks when the number of packets in the queue, i.e., the queue length, is within a range of numerical values associated with the respective congestion extent rank, wherein each of a plurality of congestion extent ranks is mapped to a different range of queue length values)”. It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner to map the port congestion grade to a range of queue length values as taught by Georgios because doing so constitutes applying a known technique (mapping each of a plurality of congestion extent ranks to a range of queue length values) to known devices and/or methods (a network switch) to obtain predictable and desirable results (quantization of the value of the queue length to a port congestion grade). See KSR International Co. v. Teleflex Inc., 82 USPQ2d 1385 (U.S. 2007). However, while Shpiner discloses selecting an egress port for a packet flow based on the grades of the candidate ports (Shpiner paragraphs 40-41, 48 and 59), the combination of Shpiner and Georgios does not explicitly disclose “to each queue, assign a weight associated with the grade to which the respective queue is mapped; and perform a weighted selection to generate a routing instruction based on the weight assigned to each queue, wherein data received by the switch is distributed across the plurality of queues based at least in part on the weight assigned to each queue.” In the same field of endeavor, Matthews discloses “a to each queue, assign a weight associated with the grade to which the respective queue is mapped (Matthews figs. 2 and 8; column 26, lines 60 through column 27, line 20; column 27, line 54 through column 28, line 4 and column 30, line 57 through column 31, line 3: path management controller 260 assigns weights to each path to a destination based a ranking, i.e., a grade, determined for each path); and perform a weighted selection to generate a routing instruction based on the weight assigned to each queue, wherein data received by the computing system is distributed across the plurality of queues based at least in part on the weight assigned to each queue (Matthews figs. 2 and 8; column 8, lines 37-41; column 10, lines 62-64, column 11, lines 6-14, column 13, lines 14-16 and column 28, lines 21-30: forwarding logic 220 distributes packets to queues 224 associated with the paths to the destination based on the weights assigned to the paths – while not explicitly stated, performance of weighted selection is implied by the distribution of the packets to queues based on the weights assigned to the associated paths). It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, as modified by Georgios, to assign a weight to each port based on the port congestion grade as taught by Matthews. One of ordinary skill in the art would have been motivated to combine assigning a weight to each candidate port based on the port congestion grade to enable load balancing of the traffic across the candidate ports proportionally based on the grades (Matthews column 26, line 65 through column 27, line 4 and column 28, lines 23-27). Claim 20 is rejected under 35 U.S.C. 103 as being unpatentable over Shpiner in view of Olson et al., Pub. No. US 2021/0258252 A1, hereby “Olson”, in further view of Georgios, and in further view of Matthews. Regarding Claim 20, Shpiner discloses “A switch (Shpiner figs. 1-2 and paragraphs 16, 27, 31 and 38: switch 28A) comprising one or more circuits to: “map each queue to a respective grade of a plurality of grades...( Shpiner figs. 2-3 and paragraphs 42-44 and 58: control circuitry 44 calculates a port congestion grade for each candidate port 36 based in part on the queue length of the candidate port)”. However, while Shpiner discloses that the congestion grade for each candidate port is calculated based in part on the total size of the data that is queued for transmission via the candidate port (Shpiner paragraphs 42-44), Shpiner does not explicitly disclose “determine an amount of available space in each queue of a plurality of queues; map each queue to a respective grade of a plurality of grades based on the amount of available space in the respective queue being within a range of amounts of available space associated with the respective grade, wherein each grade is associated with a different range of amounts of available space (emphasis added)”. In the same field of endeavor, Olson discloses “determine an amount of available space in each queue of a plurality of queues (Olson figs. 2 and 4 and paragraphs 14 and 22: while not explicitly stated, congestion information such as a measure of the available space within the buffer associated with each egress port is necessarily determined); map each queue... based on the amount of available space in the respective queue... (Olson figs. 2 and 4 and paragraphs 22-23 and 35: a buffer congestion weight is assigned to each potential egress port 205-207, wherein the buffer congestion weight may be based on congestion information such as a measure of the available space left within the buffer associated with the respective egress port)”. It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, to determine the grade for each candidate port based on the available space of a queue associated with the candidate port as taught by Olson because doing so constitutes a simple substitution of one known element (determining a weight based on available space in a buffer) for another (determining a grade based on an amount of data in a queue) to obtain predictable and desirable results (determination of the port congestion grade based on available space in a queue associated with the candidate port). See KSR International Co. v. Teleflex Inc., 82 USPQ2d 1385 (U.S. 2007). However, while Shpiner discloses calculating a port congestion grade for each candidate port based in part on the queue length of the candidate port (Shpiner paragraphs 42-44 and 58), and Olson discloses assigning a congestion weight to an egress port based on available buffer space associated with the port (Olson paragraphs 22-23 and 34), the combination of Shpiner and Olson does not explicitly disclose “map each queue to a respective grade of a plurality of grades based on the amount of available space in the respective queue being within a range of amounts of available space associated with the respective grade, wherein each grade is associated with a different range of amounts of available space (emphasis added)”. In the same field of endeavor, Georgios discloses “map each queue to a respective grade of a plurality of grades based on the amount... in the respective queue being within a range of amounts... associated with the respective grade, wherein each grade is associated with a different range of amounts of available space... (Georgios fig. 2 and paragraphs 61-62: each of a plurality of congestion extent ranks is mapped to a range of queue length values, e.g., a number of packets)”. It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner to map the port congestion grade to a range of available space in a queue as suggested by Georgios because doing so constitutes applying a known technique (mapping each of a plurality of congestion extent ranks to a range of queue values) to known devices and/or methods (a network switch) to obtain predictable and desirable results (quantization of the value of the queue available space to a port congestion grade). See KSR International Co. v. Teleflex Inc., 82 USPQ2d 1385 (U.S. 2007). However, while Shpiner discloses selecting an egress port for a packet flow based on the grades of the candidate ports (Shpiner paragraphs 40-41, 48 and 59), the combination of Shpiner, Olson and Georgios does not explicitly disclose “to each queue, assign a weight associated with the grade to which the respective queue is mapped; and perform a weighted selection to generate a routing instruction based on the weight assigned to each queue, wherein data received by the switch is distributed across the plurality of queues based at least in part on the weight assigned to each queue.” In the same field of endeavor, Matthews discloses “to each queue, assign a weight associated with the grade to which the respective queue is mapped (Matthews figs. 2 and 8; column 26, lines 60 through column 27, line 20; column 27, line 54 through column 28, line 4 and column 30, line 57 through column 31, line 3: path management controller 260 assigns weights to each path to a destination based a ranking, i.e., a grade, determined for each path); and perform a weighted selection to generate a routing instruction based on the weight assigned to each queue, wherein data received by the switch is distributed across the plurality of queues based at least in part on the weight assigned to each queue (Matthews figs. 2 and 8; column 8, lines 37-41; column 10, lines 62-64, column 11, lines 6-14, column 13, lines 14-16 and column 28, lines 21-30: forwarding logic 220 distributes packets to queues 224 associated with the paths to the destination based on the weights assigned to the paths – while not explicitly stated, performance of weighted selection is implied by the distribution of the packets to queues based on the weights assigned to the associated paths). It would have been obvious to one of ordinary skill in the art at the time of the effective filing to modify the system of Shpiner, as modified by Olson and Georgios, to assign a weight to each port based on the port congestion grade as taught by Matthews. One of ordinary skill in the art would have been motivated to combine assigning a weight to each candidate port based on the port congestion grade to enable load balancing of the traffic across the candidate ports proportionally based on the grades (Matthews column 26, line 65 through column 27, line 4 and column 28, lines 23-27). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure: Avci et al., Pub. No. US 2017/0359261 A1, discloses a method for load balancing link utilization of a network device wherein a weight is assigned to each egress port of a set of equal cost paths to a destination and the particular path is selected for routing a packet based on the weights; and Wu, Pub. No US 2015/0281088 A1, discloses a method for multipath load balancing wherein a source switch having a plurality of interfaces available to transmit data to a destination switch selects an interface of the plurality of interfaces for forwarding data to the destination switch based on weights assigned to the interfaces. A shortened statutory period for reply to this action is set to expire THREE MONTHS from the mailing date of this action. An extension of time may be obtained under 37 CFR 1.136(a). However, in no event, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to WILLIAM C MCBETH whose telephone number is (571)270-0495. The examiner can normally be reached on Monday - Friday, 8:00AM - 4:30PM ET. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Vivek Srivastava can be reached on 571-272-7304. 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. /WILLIAM C MCBETH/Examiner, Art Unit 2449
Read full office action

Prosecution Timeline

Jul 24, 2023
Application Filed
Nov 12, 2024
Non-Final Rejection — §103
Feb 18, 2025
Response Filed
May 08, 2025
Final Rejection — §103
Jul 14, 2025
Response after Non-Final Action
Jul 23, 2025
Request for Continued Examination
Jul 29, 2025
Response after Non-Final Action
Aug 02, 2025
Non-Final Rejection — §103
Oct 16, 2025
Examiner Interview Summary
Oct 16, 2025
Applicant Interview (Telephonic)
Oct 30, 2025
Response Filed
Dec 12, 2025
Final Rejection — §103
Feb 11, 2026
Response after Non-Final Action
Mar 02, 2026
Request for Continued Examination
Mar 11, 2026
Response after Non-Final Action
Mar 13, 2026
Non-Final Rejection — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12587435
Method and Apparatus for DBNG-UP Redundancy
2y 5m to grant Granted Mar 24, 2026
Patent 12563000
INTERACTIVE MANAGEMENT OF HOSTED CONTENT
2y 5m to grant Granted Feb 24, 2026
Patent 12549440
MANAGEMENT OF NETWORK SERVICES THROUGH PRE-POPULATION OF MANAGEMENT PLANE FROM SYSTEM LEVEL VIEW
2y 5m to grant Granted Feb 10, 2026
Patent 12531827
SYSTEMS AND METHODS FOR REAL-TIME, INTELLIGENT, AND COORDINATED MESSAGING FOR INTER-APPLICATION COMMUNICATIONS USING THESE DYNAMIC REQUESTS
2y 5m to grant Granted Jan 20, 2026
Patent 12526181
OPERATION MANAGEMENT SYSTEM, OPERATION MANAGEMENT METHOD, AND OPERATION MANAGEMENT PROGRAM
2y 5m to grant Granted Jan 13, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

5-6
Expected OA Rounds
67%
Grant Probability
99%
With Interview (+57.4%)
2y 9m
Median Time to Grant
High
PTA Risk
Based on 288 resolved cases by this examiner. Grant probability derived from career allow 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