DETAILED ACTION
This action is a response to an application filed on 12/19/23 in which claims 1-20 are pending.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: unit in claims 9-16.
Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-4, 6, 7, 9-12, 14-15 and 17-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Nainar et al. (Pub. No.: 2022/0191130), herein Nainar and Thomas et al. (Pub. No.: 2024/0045801), herein Thomas.
As to claim 1, Nainar teaches a method, applied to a network device, wherein the method comprises:
receiving a packet (Nainar Fig. 8 (802) receive a probe packet);
selecting a target path from a plurality of equal-cost paths in a first group of equal-cost multi-path (ECMP) entries in a forwarding table based on a first ECMP identifier (Nainar Fig. 8 (804) Identify ECMP paths toward destination and [0019] The nodes of network 100 may perform ECMP routing of traffic, i.e., forwarding of traffic along ECMP paths, based on next hop ECMP entries stored in the local forwarding tables of the nodes and [0037] Node S3 receives probe 404. In response to the uSID replication active block in probe 404, node S3 identifies the 2 ECMP paths to L4′ based on the active SID (e.g., ECMP next hop nodes M1′ and M2′); and
forwarding the packet based on the target path, wherein the first ECMP identifier indicates that at least one valid equal-cost path exists in the plurality of equal-cost paths in the first group of ECMP entries (Nainar [0023] forwarding along optimal/valid ECMP paths. According to the embodiments, a node of a network validates whether next-hop ECMP entries (ECMP Identifiers) stored in a local forwarding table of the node are (i) optimal (e.g., the entries direct traffic over a valid ECMP path leading to a destination) and
Nainar does not teach
wherein the first group of ECMP entries is a last-level ECMP entry in a plurality of levels of ECMP entries in the forwarding table.
However Thomas does teach
wherein the first group of ECMP entries is a last-level ECMP entry in a plurality of levels of ECMP entries in the forwarding table (Thomas [0065] A cache lower in the cache hierarchy (closer to the one or more processors of the network device) is to be checked earlier in flow lookup than the one higher in the cache hierarchy)
It would have been obvious before the effective filing date of the claimed invention to combine the teachings of Nainar with Thomas, because Thomas teaches us [0048] A lower-level cache (e.g., the cache closer to the processor(s) 122) typically has a smaller storage space and contains less forwarding table entries compared to a higher-level cache (e.g., the cache further away from the processor(s) 122). Additionally, the forwarding table entries in the lower-level cache are typically more specific in their match criteria. For example, the match fields may include less wildcard fields. A match field may be wildcarded (match any value) and in some cases bitmasked (match subset of bits) to make the match field be more generic. For the same flow, a matching forwarding table entry in a lower-level cache may be more specific than the corresponding forwarding table entry in a higher-level cache. Thus, two different flows may match to one forwarding table entry in the higher-level cache (e.g., L2 cache), yet they match to two forwarding table entries in the lower-level cache (e.g., L1 cache). Because the lower-level cache includes lesser forwarding table entries and/or more specific match criteria, the flow lookup is often more efficient (taking less time/bandwidth/hardware resources) at the lower-level cache than the higher-level cache.
As to claim 9, Nainar teaches the apparatus, wherein the apparatus comprises:
a receiving unit, configured to receive a packet (Nainar Fig. 9 network input/output and Fig. 8 (802) receive a probe packet);
a processing unit, configured to select a target path from a plurality of equal-cost paths in a first group of equal-cost multi-path (ECMP) entries in a forwarding table based on a first ECMP identifier (Nainar Fig. 9 processor and Fig. 8 (804) Identify ECMP paths toward destination and [0019] The nodes of network 100 may perform ECMP routing of traffic, i.e., forwarding of traffic along ECMP paths, based on next hop ECMP entries stored in the local forwarding tables of the nodes and [0037] Node S3 receives probe 404. In response to the uSID replication active block in probe 404, node S3 identifies the 2 ECMP paths to L4′ based on the active SID (e.g., ECMP next hop nodes M1′ and M2′); and a
sending unit (Nainar Fig. 9 input output)
configured to forward the packet based on the target path, wherein the first ECMP identifier indicates that at least one valid equal-cost path exists in the plurality of equal-cost paths in the first group of ECMP entries (Nainar [0023] forwarding along optimal/valid ECMP paths. According to the embodiments, a node of a network validates whether next-hop ECMP entries (ECMP Identifiers) stored in a local forwarding table of the node are (i) optimal (e.g., the entries direct traffic over a valid ECMP path leading to a destination) , and
Nainar does not teach
wherein the first group of ECMP entries is a last-level ECMP entry in a plurality of levels of ECMP entries in the forwarding table.
However Thomas does teach
wherein the first group of ECMP entries is a last-level ECMP entry in a plurality of levels of ECMP entries in the forwarding table (Thomas [0065] A cache lower in the cache hierarchy (closer to the one or more processors of the network device) is to be checked earlier in flow lookup than the one higher in the cache hierarchy)
It would have been obvious before the effective filing date of the claimed invention to combine the teachings of Nainar with Thomas for the same reasons stated in claim 1.
As to claim 17, Nainar teaches the network device, wherein the network device comprises:
at least one processor (Nainar Fig. 9 processor); and
a non-transitory computer readable storage medium storing programming, the programming including instructions that, when executed by the at least one processor, cause the network device to perform operations including (Nainar Fig. 9 memory and processor):
receiving a packet (Nainar Fig. 8 (802) receive a probe packet);
selecting a target path from a plurality of equal-cost paths in a first group of equal-cost multi-path (ECMP) entries in a forwarding table based on a first ECMP identifier (Nainar Fig. 8 (804) Identify ECMP paths toward destination and [0019] The nodes of network 100 may perform ECMP routing of traffic, i.e., forwarding of traffic along ECMP paths, based on next hop ECMP entries stored in the local forwarding tables of the nodes and [0037] Node S3 receives probe 404. In response to the uSID replication active block in probe 404, node S3 identifies the 2 ECMP paths to L4′ based on the active SID (e.g., ECMP next hop nodes M1′ and M2′); and
forwarding the packet based on the target path, wherein the first ECMP identifier indicates that at least one valid equal-cost path exists in the plurality of equal-cost paths in the first group of ECMP entries (Nainar [0023] forwarding along optimal/valid ECMP paths. According to the embodiments, a node of a network validates whether next-hop ECMP entries (ECMP Identifiers) stored in a local forwarding table of the node are (i) optimal (e.g., the entries direct traffic over a valid ECMP path leading to a destination), and
Nainar does not teach
wherein the first group of ECMP entries is a last-level ECMP entry in a plurality of levels of ECMP entries in the forwarding table.
However Thomas does teach
wherein the first group of ECMP entries is a last-level ECMP entry in a plurality of levels of ECMP entries in the forwarding table (Thomas [0065] A cache lower in the cache hierarchy (closer to the one or more processors of the network device) is to be checked earlier in flow lookup than the one higher in the cache hierarchy)
It would have been obvious before the effective filing date of the claimed invention to combine the teachings of Nainar with Thomas for the same reasons stated in claim 1.
As to claim 2, the combination of Nainar and Thomas teach the method according to claim 1, wherein the target path is any valid equal-cost path in the plurality of equal-cost paths in the first group of ECMP entries (Nainar [0023] forwarding along optimal/valid ECMP paths. According to the embodiments, a node of a network validates whether next-hop ECMP entries (ECMP Identifiers) stored in a local forwarding table of the node are (i) optimal (e.g., the entries direct traffic over a valid ECMP path leading to a destination)
Claims 10 and 18 are rejected for the same reasons stated in claim 2.
As to claim 3, the combination of Nainar and Thomas teach the method according to claim 1, wherein the forwarding table further comprises a second group of ECMP entries, the second group of ECMP entries is an upper-level ECMP entry of the first group of ECMP entries, and a second ECMP identifier of the second group of ECMP entries indicates that at least one group of valid lower-level ECMP entries exists in a plurality of groups of lower-level ECMP entries cascaded with the second group of ECMP entries, and wherein the method further comprises: before the selecting the target path, determining whether the first ECMP identifier of the first group of ECMP entries is valid (Nainar [0019] The nodes of network 100 may perform ECMP routing of traffic, i.e., forwarding of traffic along ECMP paths, based on next hop ECMP entries (second group of ECMP) stored in the local forwarding tables of the nodes. Each ECMP path may be considered an optimal (determine whether the first ECMP identifier is valid) (shortest) path. Non-limiting examples of ECMP paths traversed by traffic from node L1 to node L4′ in the topology of FIG. 2 in the absence of network failures include (i) a first ECMP path traversed using northbound forwarding (of traffic) from node L1 to node S3 via node M2, followed by southbound forwarding from node S3 to node L4′ via node M2′, and (ii) a second ECMP path traversed using northbound forwarding from node L1 to node S3 via node M2, followed by southbound forwarding from node S3 to node L4′ via node M1′. )
Claims 11 and 19 are rejected for the same reasons stated in claim 3.
As to claim 4, the combination of Nainar and Thomas teach the method according to claim 3, wherein the plurality of groups of lower-level ECMP entries cascaded with the second group of ECMP entries further comprises a third group of ECMP entries, and a third ECMP identifier of the third group of ECMP entries indicates that a third plurality of equal-cost paths in the third group of ECMP entries are all invalid (Nainar [0050] After forwarding the probe packet, the node receives from the transit nodes and/or the destination that receive the replicated probe packets, probe response packets that indicate successful or failed reachability to the destination via the ECMP paths)
Claims 12 and 20 are rejected for the same reasons stated in claim 4.
As to claim 6, the combination of Nainar and Thomas teach the method according to claim 3, wherein the forwarding table further comprises a fourth group of ECMP entries, the fourth group of ECMP entries is an upper-level ECMP entry of the second group of ECMP entries, and a fourth ECMP identifier of the fourth group of ECMP entries indicates that the at least one group of valid lower-level ECMP entries exists in a fourth plurality of groups of lower-level ECMP entries cascaded with the fourth group of ECMP entries, and wherein the method further comprises: before the determining whether the first ECMP identifier is valid, determining whether the second ECMP identifier of the second group of ECMP entries is valid (Nainar [0050] After forwarding the probe packet, the node receives from the transit nodes and/or the destination that receive the replicated probe packets, probe response packets that indicate successful or failed reachability to the destination via the ECMP paths)
Claims 12 and 20 are rejected for the same reasons stated in claim 6.
As to claim 7, the combination of Nainar and Thomas teach the method according to claim 6, wherein the fourth plurality of groups of lower-level ECMP entries cascaded with the fourth group of ECMP entries further comprises a fifth group of ECMP entries, and a fifth ECMP identifier of the fifth group of ECMP entries indicates that a fifth plurality of groups of lower-level ECMP entries cascaded with the fifth group of ECMP entries are all invalid (Nainar [0050] After forwarding the probe packet, the node receives from the transit nodes and/or the destination that receive the replicated probe packets, probe response packets that indicate successful or failed reachability to the destination via the ECMP paths)
As to claim 15, the combination of Nainar and Thomas teach the apparatus according to claim 14, wherein the fourth plurality of groups of lower-level ECMP entries cascaded with the fourth group of ECMP entries further comprises a fifth group of ECMP entries, and a fifth ECMP identifier of the fifth group of ECMP entries indicates that a fifth plurality of groups of lower-level ECMP entries cascaded with the fifth group of ECMP entries are all invalid.
Allowable Subject Matter
Claim 5, 8, 13 and 16 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AYANAH S GEORGE whose telephone number is (571)272-8880. The examiner can normally be reached 7:00 AM - 5:00 PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Hassan Phillips can be reached at 572-272-3940. 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.
AYANAH S. GEORGE
Primary Examiner
Art Unit 2467
/AYANAH S GEORGE/Primary Examiner, Art Unit 2467