Prosecution Insights
Last updated: July 17, 2026
Application No. 18/113,282

EFFICIENT USE OF HASH BITS FOR FULL NETWORK FORWARDING SCHEME

Non-Final OA §103
Filed
Feb 23, 2023
Examiner
ASRES, HERMON
Art Unit
2449
Tech Center
2400 — Computer Networks
Assignee
Mellanox Technologies Ltd.
OA Round
3 (Non-Final)
80%
Grant Probability
Favorable
3-4
OA Rounds
0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 80% — above average
80%
Career Allowance Rate
301 granted / 375 resolved
+22.3% vs TC avg
Strong +19% interview lift
Without
With
+19.1%
Interview Lift
resolved cases with interview
Typical timeline
3y 0m
Avg Prosecution
22 currently pending
Career history
396
Total Applications
across all art units

Statute-Specific Performance

§101
2.9%
-37.1% vs TC avg
§103
79.0%
+39.0% vs TC avg
§102
15.4%
-24.6% vs TC avg
§112
1.2%
-38.8% vs TC avg
Black line = Tech Center average estimate • Based on career data from 375 resolved cases

Office Action

§103
DETAILED ACTION 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 June 23, 2026 has been entered. Claim 1, 8, and 15 have been amended. Claims 1-20 are pending. Response to Arguments 35 U.S.C. 103 Rejections Applicant’s arguments filed in the communications on 06/23/2026 have been fully considered but are moot because the arguments do not apply to the combination of references being used in the current rejection. 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-20 are rejected under 35 U.S.C. 103 as being unpatentable over Gale (USPGPub 2015/0138986) in view of Mandal et al. (US Patent 9,571,400). As per claim 1, Gale teaches a system for egress port determination in a data network (Gale, see paragraph [0015], distribution of flows to egress ports in an AVB network) comprising: at least one switch or router in one of different route layers to receive a communication from a host machine, the communication received by the at least one switch or router comprising at least a data packet and a hash header (Gale, see paragraph [0047], Input ports 302-1 to 302-N receive packets corresponding to different flows. Also see paragraph [0035], a packet 106 that includes a header 108 and a payload 110) the data packet for transmission to at least one receiving host machine through at least one of available egress ports of the at least one switch or router (Gale, see paragraph [0055], frame distributor 316 may compute a hash of the packet header and direct the packet to the egress port based on the output of the hash algorithm). Gale doesn’t explicitly teach that a hash is used to determine available egress ports and that the at least one of the available egress ports determined based in part on a hash provided in the hash header. In analogous art Mandal teaches a hash is used to determine available egress ports and that the at least one of the available egress ports determined based in part on a hash provided in the hash header (Mandal, see column 1 line 47-51, generating, by the data switch, a second hash value based on the header of the data packet and performing a lookup in the selected secondary ECMP table based on the second hash value to select an egress port of a plurality of egress ports of the data switch). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to take the teaching of Mandal and apply them on the teaching of Gale in order to determine available egress ports. (Mandal, see column 1 line 47-51). As per claim 2, Gale-Mandal teaches the system of claim 1, wherein the hash is determined on the host machine using a hash function applied to at least one of a plurality of addresses to be associated with the communication from the host machine or applied to a state associated with the host machine (Gale, see paragraph [0036], traffic through a LAG 118 is distributed using frame distributor 114 across the LAG's member links 116 according to a fixed hash of header 108 using hash function generator 112). As per claim 3, Gale-Mandal teaches the system of claim 1, wherein the at least one switch or router is further configured to: determine the at least one available egress ports based in part on one of different portions of the hash, the different portions of the hash used to designate the different route layers beginning from the at least one of the available egress ports (Gale, see paragraph [0028], using aggregated links. In the case of ECMP, the aggregated link comprises an aggregation of network paths. Each path in a particular ECMP group may be configured towards the same destination via a different next hop) and transmit the data packet from the at least one switch or router to the at least one receiving host machine using the at least one of the available egress ports and using the one of the different route layers (Gale, see paragraph [0036], As a result of the different hash value, packets of different flows will be randomly assigned to different member links 116 for transmission). As per claim 4, Gale-Mandal teaches the system of claim 1, further comprising: one or more processing units adapted with communication capabilities and to be installed in the host machine, the one or more processing units to perform a hash function based in part on addresses to be associated with the communication from the host machine (Gale, see paragraph [0036], all packets within a given flow (i.e. packets having the same packet header properties) to be allocated to the same member link 116. Such an allocation provides a traffic distribution based on probabilities since packets of different flows will have different header properties resulting in a different hash values generated by hash function generator 112) the communication capabilities to enable the communication from the one or more processing units with the hash from the hash function included in the hash header of the communication (Gale, see paragraph [0036], This distribution using a fixed hash of the header is performed in hardware (e.g. using hash function generator 112) without per-flow intervention of control plane software in devices 103). As per claim 5, Gale-Mandal teaches the system of claim 1, wherein the system is further configured to: generate a new hash, based in part on the host machine providing new communication comprising a new hash in a new session associated with the receiving host machine, wherein the at least one switch or router is to determine a different one of the at least one of the available egress ports based in part on the new hash (Gale, see paragraph [0055], In some examples, if a mapping of a flow to a particular egress port is not provided by processor 306, or is not available in table 312, frame distributor 316 may compute a hash of the packet header (Note: this is new hash) and direct the packet to the egress port based on the output of the hash algorithm). As per claim 6, Gale-Mandal teaches the system of claim 1, further comprising: a centralized controller to provide configuration information to the at least one switch or router, the configuration information to enable the at least one switch or router to use the hash in the hash header for the determination of the at least one of the available egress ports for the transmission of the data packet from the at least one switch or router (Gale, see paragraph [0050], Processor 306 also stores the link aggregation configurations of ports 304-1 to 304-N. In an embodiment, based on the bandwidth requirements of a flow, processor 306 assigns the flow, and as a result the packets corresponding to the flow, to a port 304 coupled to a link 305. As described above in FIG. 2B, if flow A requires a bandwidth of 50 Mbps, then it may be assigned to a link of 305 that can support the bandwidth requirements of flow A. Processor 306 programs table 312 in packet parsing unit 310 with the mapping of flows to ports 304). As per claim 7, Gale-Mandal teaches the system of claim 1, further comprising: a software service of the host machine to enable a hash function to generate the hash for the hash header of the data packet (Gale, see paragraph [0045], …instead of using an output of a hash function, can make an explicit decision based on the bandwidth requirements of flows to optimally balance the flows across link members 206. Embodiments presented herein provide means for software to make an explicit allocation of a flow to a member link of a LAG based upon a load balancing calculation and characteristics of the flow). As per claim 8, Gale teaches a method for egress port determination in a data network, (Gale, see paragraph [0015], distribution of flows to egress ports in an AVB network) the method comprising: receiving a communication from a host machine in at least one switch or router of one of different route layers; (Gale, see paragraph [0047], Input ports 302-1 to 302-N receive packets corresponding to different flows. Also see paragraph [0035], a packet 106 that includes a header 108 and a payload 110) determining that the communication received in the at least one switch or router comprises a data packet and a hash header; (Gale, see paragraph [0047], Input ports 302-1 to 302-N receive packets corresponding to different flows. Also see paragraph [0035], a packet 106 that includes a header 108 and a payload 110) and determining at least one of available egress ports of the at least one switch or router for transmission of the data packet to at least one receiving host machine from the at least one switch or router, (Gale, see paragraph [0055], frame distributor 316 may compute a hash of the packet header and direct the packet to the egress port based on the output of the hash algorithm). Gale doesn’t explicitly teach that a hash is used to determine available egress ports and that the at least one of the available egress ports determined based in part on a hash provided in the hash header. In analogous art Mandal teaches a hash is used to determine available egress ports and that the at least one of the available egress ports determined based in part on a hash provided in the hash header (Mandal, see column 1 line 47-51, generating, by the data switch, a second hash value based on the header of the data packet and performing a lookup in the selected secondary ECMP table based on the second hash value to select an egress port of a plurality of egress ports of the data switch). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to take the teaching of Mandal and apply them on the teaching of Gale in order to determine available egress ports. (Mandal, see column 1 line 47-51). As per claim 9, Gale-Mandal teaches the method of claim 8, further comprising: determining, on the host machine, the hash to be provided in the hash header based on a hash function applied to at one of a plurality of addresses to be associated with the communication from the host machine or applied to a state associated with the host machine. (Gale, see paragraph [0036], traffic through a LAG 118 is distributed using frame distributor 114 across the LAG's member links 116 according to a fixed hash of header 108 using hash function generator 112). As per claim 10, Gale-Mandal teaches the method of claim 8, further comprising: determining, by the at least one switch or router, the at least one available egress ports based in part on one of different portions of the hash, the different portions of the hash used to designate the different route layers beginning from the at least one of the available egress ports; (Gale, see paragraph [0028], using aggregated links. In the case of ECMP, the aggregated link comprises an aggregation of network paths. Each path in a particular ECMP group may be configured towards the same destination via a different next hop) and transmitting the data packet from the at least one switch or router to the at least one receiving host machine using the at least one of the available egress ports and using the one of the different route layers. (Gale, see paragraph [0036], As a result of the different hash value, packets of different flows will be randomly assigned to different member links 116 for transmission). As per claim 11, Gale-Mandal teaches the method of claim 8, further comprising: providing one or more processing units with communication capabilities and installed in the host machine; performing, using the one or more processing units, a hash function based in part on addresses to be associated with the communication from the host machine(Gale, see paragraph [0036], all packets within a given flow (i.e. packets having the same packet header properties) to be allocated to the same member link 116. Such an allocation provides a traffic distribution based on probabilities since packets of different flows will have different header properties resulting in a different hash values generated by hash function generator 112) and enabling, using the communication capabilities, the communication from the one or more processing units with the hash from the hash function included in the hash header of the communication. (Gale, see paragraph [0036], This distribution using a fixed hash of the header is performed in hardware (e.g. using hash function generator 112) without per-flow intervention of control plane software in devices 103). As per claim 12, Gale-Mandal teaches the method of claim 8, further comprising generating a new hash, based in part on the host machine providing new communication comprising a new hash in a new session associated with the receiving host machine, wherein the at least one switch or router is to determine a different one of the at least one of the available egress ports based in part on the new hash. (Gale, see paragraph [0055], In some examples, if a mapping of a flow to a particular egress port is not provided by processor 306, or is not available in table 312, frame distributor 316 may compute a hash of the packet header (Note: this is new hash) and direct the packet to the egress port based on the output of the hash algorithm). As per claim 13, Gale-Mandal teaches the method of claim 8, further comprising: providing, using a centralized controller, configuration information to the at least one switch or router; and enabling, using the configuration information, the at least one switch or router to use the hash in the hash header for the determination of the at least one of the available egress ports for the transmission of the data packet from the at least one switch or router. (Gale, see paragraph [0050], Processor 306 also stores the link aggregation configurations of ports 304-1 to 304-N. In an embodiment, based on the bandwidth requirements of a flow, processor 306 assigns the flow, and as a result the packets corresponding to the flow, to a port 304 coupled to a link 305. As described above in FIG. 2B, if flow A requires a bandwidth of 50 Mbps, then it may be assigned to a link of 305 that can support the bandwidth requirements of flow A. Processor 306 programs table 312 in packet parsing unit 310 with the mapping of flows to ports 304). As per claim 14, Gale-Mandal teaches the method of claim 8, further comprising: enabling, using a software service of the host machine, a hash function to generate the hash for the hash header of the data packet. (Gale, see paragraph [0045], …instead of using an output of a hash function, can make an explicit decision based on the bandwidth requirements of flows to optimally balance the flows across link members 206. Embodiments presented herein provide means for software to make an explicit allocation of a flow to a member link of a LAG based upon a load balancing calculation and characteristics of the flow). As per claim 15, Gale teaches a system (Gale, see paragraph [0015], distribution of flows to egress ports in an AVB network) comprising: one or more processing units to be associated with at least one switch or router of different route layers and to enable the at least one switch or router to receive a communication from a host machine, the communication received by the at least one switch or router comprising at least a data packet and a hash header (Gale, see paragraph [0047], Input ports 302-1 to 302-N receive packets corresponding to different flows. Also see paragraph [0035], a packet 106 that includes a header 108 and a payload 110) the data packet for transmission to other host machines through at least one of available egress ports of the at least one switch or router (Gale, see paragraph [0055], frame distributor 316 may compute a hash of the packet header and direct the packet to the egress port based on the output of the hash algorithm). Gale doesn’t explicitly teach that a hash is used to determine available egress ports and that the at least one of the available egress ports determined based in part on a hash provided in the hash header. In analogous art Mandal teaches a hash is used to determine available egress ports and that the at least one of the available egress ports determined based in part on a hash provided in the hash header (Mandal, see column 1 line 47-51, generating, by the data switch, a second hash value based on the header of the data packet and performing a lookup in the selected secondary ECMP table based on the second hash value to select an egress port of a plurality of egress ports of the data switch). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to take the teaching of Mandal and apply them on the teaching of Gale in order to determine available egress ports. (Mandal, see column 1 line 47-51). As per claim 16, Gale-Mandal teaches the system of claim 15, wherein the hash is determined on the host machine using a hash function applied to at least one of a plurality of addresses to be associated with the communication from the host machine or applied to a state associated with the host machine. (Gale, see paragraph [0036], traffic through a LAG 118 is distributed using frame distributor 114 across the LAG's member links 116 according to a fixed hash of header 108 using hash function generator 112). As per claim 17, Gale-Mandal teaches the system of claim 15, wherein the one or more processing units is further configured to: determine the at least one available egress ports based in part on one of different portions of the hash, the different portions of the hash used to designate the different route layers beginning from the at least one of the available egress ports; (Gale, see paragraph [0028], using aggregated links. In the case of ECMP, the aggregated link comprises an aggregation of network paths. Each path in a particular ECMP group may be configured towards the same destination via a different next hop) and transmit the data packet from the at least one switch or router to the at least one receiving host machine using the at least one of the available egress ports and using the one of the different route layers. (Gale, see paragraph [0036], As a result of the different hash value, packets of different flows will be randomly assigned to different member links 116 for transmission). As per claim 18, Gale-Mandal teaches the system of claim 15, wherein at least one of the one or more processing units are further adapted with communication capabilities and are further to be installed in the host machine, the at least one of the one or more processing units are further to perform a hash function based in part on addresses to be associated with the communication from the host machine, (Gale, see paragraph [0036], all packets within a given flow (i.e. packets having the same packet header properties) to be allocated to the same member link 116. Such an allocation provides a traffic distribution based on probabilities since packets of different flows will have different header properties resulting in a different hash values generated by hash function generator 112) the communication capabilities to enable the communication from the one or more processing units with the hash from the hash function included in the hash header of the communication. (Gale, see paragraph [0036], This distribution using a fixed hash of the header is performed in hardware (e.g. using hash function generator 112) without per-flow intervention of control plane software in devices 103). As per claim 19, Gale-Mandal teaches the system of claim 15, wherein the one or more processing units are further configured to: update the hash to provide a new hash, based in part on the host machine providing new communication comprising the new hash in a new session associated with the receiving host machine; and update the at least one of the available egress ports, based in part on the new hash, to provide a different one of the available egress ports to transmit the new communication from the at least one switch or router to the receiving host machine. (Gale, see paragraph [0055], In some examples, if a mapping of a flow to a particular egress port is not provided by processor 306, or is not available in table 312, frame distributor 316 may compute a hash of the packet header (Note: this is new hash) and direct the packet to the egress port based on the output of the hash algorithm). As per claim 20, Gale-Mandal teaches the system of claim 15, wherein the one or more processing units are further configured to comprise a centralized controller to provide configuration information to the at least one switch or router, the configuration information to enable the at least one switch or router to use the hash in the hash header for the determination of the at least one of the available egress ports for the transmission of the data packet from the at least one switch or router (Gale, see paragraph [0050], Processor 306 also stores the link aggregation configurations of ports 304-1 to 304-N. In an embodiment, based on the bandwidth requirements of a flow, processor 306 assigns the flow, and as a result the packets corresponding to the flow, to a port 304 coupled to a link 305. As described above in FIG. 2B, if flow A requires a bandwidth of 50 Mbps, then it may be assigned to a link of 305 that can support the bandwidth requirements of flow A. Processor 306 programs table 312 in packet parsing unit 310 with the mapping of flows to ports 304). Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to HERMON ASRES whose telephone number is (571)272-4257. The examiner can normally be reached Monday to Friday 9AM to 5PM. 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 at (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. /HERMON ASRES/Primary Examiner, Art Unit 2449
Read full office action

Prosecution Timeline

Show 1 earlier event
Dec 10, 2025
Non-Final Rejection mailed — §103
Feb 19, 2026
Examiner Interview Summary
Feb 19, 2026
Applicant Interview (Telephonic)
Mar 02, 2026
Response Filed
Apr 08, 2026
Final Rejection mailed — §103
Jun 23, 2026
Request for Continued Examination
Jun 24, 2026
Response after Non-Final Action
Jul 01, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12684411
Congestion Control for Sidelink Transmissions
3y 0m to grant Granted Jul 14, 2026
Patent 12677300
SIGNALING RESOURCE INFORMATION FOR SIDELINK RELIABILITY
2y 6m to grant Granted Jul 07, 2026
Patent 12670034
CLUSTER COMPUTING
1y 5m to grant Granted Jun 30, 2026
Patent 12666293
MEASUREMENT RULES UNDER CONCURRENT MEASUREMENT GAP CANCELLATION
2y 4m to grant Granted Jun 23, 2026
Patent 12659703
Wireless Communication Devices, Corresponding Methods and Computer Programs, Mobile Device and Vehicle
4y 4m to grant Granted Jun 16, 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

3-4
Expected OA Rounds
80%
Grant Probability
99%
With Interview (+19.1%)
3y 0m (~0m remaining)
Median Time to Grant
High
PTA Risk
Based on 375 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