DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Status of Claims
This office action is a response to an application filed on 09/30/2024, wherein claims 1-20 are presented for examination.
Claim Objections
Claim 15 is objected to because of the following informalities:
The first limitation recites “receive a plurality of additional probe packet” but should read “receive a plurality of additional probe packets”
Appropriate correction is required.
Claim Rejections - 35 USC § 102
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.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-10, 17 and 20 are rejected under 35 U.S.C. 102(a)(1) and 102(a)(2) as being anticipated by Filsfils et al. (US 2023/0164063), hereinafter Filsfils.
Regarding claim 1, Filsfils discloses a probe packet generator comprising (Fig. 1A: controller 112):
memory circuitry (Filsfils, [0049]); and
processing circuitry coupled to the memory circuitry and configured to (Filsfils, [0049]):
transmit a first set of probe packets to traverse a plurality of paths between two network devices (Filsfils, [0017]-[0018], Fig. 1A, [0029]: controller instructs a source node to send probe packets 126 (first set) along paths between the source node and a sink node (network devices));
receive versions of the first set of probe packets each containing an indication of a path in the plurality of paths traversed by the probe packet (Filsfils, [0010]-[0011], [0042]: midpoint nodes record path tracing information (indication) in the probe packets; controller collects the probe packets 126 (first set) from the sink node and examines interface IDs (indications) in the probe packets to discover a path travelled by a particular probe packet); and
transmit a second set of probe packets different from the first set of probe packets (Filsfils, [0043]-[0044]: controller instructs source node to send subsequent probe packets 128 (second set) with new entropy values) based on the indications of the traversed paths in the received versions of the first set of probe packets (Filsfils, [0010]-[0011]: analyzing the path tracing information (indications) to produce entropy-to-path mappings); [0043], Fig. 3, steps 310-312: accessing the mappings to determine a list of entropy values for the subsequent probe packets).
Regarding claim 2, Filsfils discloses wherein the first set of probe packets each has a header field with a value and wherein the values are varied across the first set of probe packets (Filsfils, Fig. 2A: discloses a probe packet with an SEL header field; [0011], [0017], [0037]: probe packets include headers with differing SEL/entropy values).
Regarding claim 3, Filsfils discloses wherein the values are varied to cause at least one probe packet in the first set of probe packets to traverse each path in the plurality of paths (Filsfils, [0037]: the use of different SEL values allow multiple probe packets to sweep over all ECMP paths; [0017]: once the probe packets are collected, the controller detects all of the ECMP paths).
Regarding claim 4, Filsfils discloses wherein the first set of probe packets each has an additional header field with a same value and wherein the versions of the first set of probe packets are received based on the additional header fields of the first set of probe packets having the same value (Filsfils, Fig. 2A discloses a probe packet header including “TEF Label of Sink” (additional header field); [0059]: the TEF label references the sink node [Therefore, probe packets with the same TEF label are received at the same sink node]).
Regarding claim 5, Filsfils discloses wherein the received versions of the first set of probe packets each include an encapsulation header used to traverse the given path in the plurality of paths (Filsfils, Fig. 2A, [0031]: a probe packet includes a header portion; the header is an MPLS encapsulation; [0032]: the header is used to transport the probe packet from source node to sink node).
Regarding claim 6, Filsfils discloses wherein the encapsulation header includes the indication of the traversed path (Filsfils, [0034]: the header includes a midpoint compressed/MCD stack used to collect MCDs/interface IDs (indication of traversed path) from midpoint nodes).
Regarding claim 7, Filsfils discloses wherein the received versions of the first set of probe packets each include a tunnel header (Filsfils, [0040]: the sink node encapsulates the probe packet with a new IPv6/SRv6 header (tunnel header)) for mirroring the probe packet to the probe packet generator (Filsfils, [0041]: the new encapsulation does not remove any existing MPLS header from the received packet; [0040]: the sink node forwards the encapsulated probe packet with the new IPv6/SRv6 header to the controller (probe packet generator)).
Regarding claim 8, Filsfils discloses wherein the second set of probe packets is a subset of the first set of probe packets (Filsfils, [0017]: the controller selects a subset of the original entropy values that were returned (i.e., from the first set of probe packets) to be used in subsequent probe packets (second set)).
Regarding claim 9, Filsfils discloses wherein the first set of probe packets are configured to traverse each path in the plurality of paths (Filsfils, [0017]: controller sends out probe packets with distinguishable SEL/entropy values; once the probe packets are collected, the controller detects all of the ECMP paths; [0037]: the different SEL values allow probe packets to sweep over all ECMP paths) and wherein the second set of probe packets are configured to traverse each path in the plurality of paths (Filsfils, Fig. 1A discloses first set of probe packets 126 traversing paths A and B; Fig. 1C discloses second set of probe packets 128 traversing paths A and B).
Regarding claim 10, Filsfils discloses wherein the processing circuitry is configured to detect a failure on a path in the plurality of paths based on the second set of probe packets (Filsfils, [0044]: the controller compares the path travelled by subsequent probe packets 128 (second set) to path travelled by probe packets 126 to detect forwarding failure).
Regarding claim 17, Filsfils discloses a method of probe packet network path traversal (Filsfils, [0010]: conducting a path tracing session using packet probes), the method comprising:
generating a first set of probe packets (Filsfils, [0037]: source node generates probe packets 126 with differing entropy values; [0017]: controller sends out probe packets with distinguishable SEL/entropy values) configured to be encapsulated with a transport header for transport across a network (Filsfils, [0031]: a probe packet includes a header portion; the header is an MPLS encapsulation; [0032]: header includes an SR-MPLS label stack to help transport a probe packet from source node to sink node (i.e., it is a transport header));
receiving versions of the first set of probe packets that include the transport header (Filsfils, [0040]: probe packets 126 (first set) arrive at sink node; [0042]: collector collects probe packets 126 (first set) from sink node; [0041]: existing MPLS headers are not removed by the sink node [therefore, the probe node collected by the controller have the existing MPLS headers (transport headers)]); and
generating, based on information in the transport header of the received versions of the first set of probe packets (Filsfils, Fig. 2A, [0042]: controller analyzes the header information to discover a path travelled by a particular probe packet, creates an entropy-to-path mapping that links the entropy value of the particular probe packet to the path travelled, and saves the mapping in a mapping database), a second set of probe packets configured to be encapsulated with the transport header for transport across the network (Filsfils, [0043]: controller, using probe optimizer, accesses mappings stored in the mapping database in order to determine a new list of entropy values to be placed in subsequent probe packets (second set); [0044]: controller instructs source node to generate subsequent probe packets using the entropy values; [0051]: entropy values are included in the MPLS label stack in the header of the probe packet; [subsequent probe packets with entropy values = second set encapsulated with the transport header]), wherein the second set of probe packets is a subset of the first set of probe packets (Filsfils, [0044]: controller leverages the entropy-to-path mappings to re-provision the source node to generate a new, lower number (subset) of probe packets to monitor the paths; Fig. 1A discloses 6 probe packets 126 (first set) transmitted along paths A and B; Fig. 1C discloses 2 subsequent probe packets (second set/subset) transmitted along paths A and B).
Regarding claim 20, Filsfils discloses wherein the first and second sets of probe packets are generated by an encapsulating network device (Filsfils, [0037]: source node (encapsulating network device) generates probe packets 126 (first set); [0044]: source node (encapsulating network device) generates subsequent probe packets 128 (second set)), the method further comprising:
encapsulating, by the encapsulating network device, the first and second sets of probe packets (Filsfils, [0031]: each probe packet includes a header; the header is an MPLS encapsulation); and
transmitting, by the encapsulating network device, the first and second sets of encapsulated probe packets (Filsfils, Fig. 1A: source node transmitting probe packets 126 (first set) along paths A and B; Fig. 1C: source node transmitting probe packets 128 (second set) along paths A and B).
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 of this title, 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 11-16 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Filsfils in view of Mishra et al. (US 2012/0106339), hereinafter Mishra.
Regarding claim 11, Filsfils discloses a network device (Filsfils, Fig. 1A: sink node 108; Fig. 6, [0073]: computer 502 corresponding to sink node 108) comprising:
memory circuitry (Filsfils, Fig. 6); and
processing circuitry coupled to the memory circuitry and configured to (Filsfils, Fig. 6):
receive a probe packet encapsulated with the transport header and having a value at a header field (Filsfils, [0040]: a probe packet arrives at the sink node; [0031]: the probe packet includes a header that is an MPLS encapsulation (transport header); [0032]-[0033]: header includes a TEL Label of Sink (value)); and
provide, based on matching the value of the header field of the probe packet to a traffic processing entry, the encapsulated probe packet to a probe packet analysis device (Filsfils, [0032], [0040]: the TEF label (value) triggers (i.e., matches) a TEF SR TE policy and/or static route function (traffic processing entry) at the sink node, causing the sink node to encapsulate and forward the probe packet to the controller (probe packet analysis device), without decapsulating the encapsulated probe packet (Filsfils, [0041]: the TEF behavior ensures the new encapsulation does not remove existing MPLS headers).
Filsfils does not explicitly disclose receive production traffic encapsulated with a transport header; decapsulate the encapsulated production traffic.
However, Mishra discloses
receive production traffic encapsulated with a transport header (Mishra, [0011]-[0012]: user flow packets (production traffic) are sent from a source to a destination switch/router bridge; [0022]: last/destination router bridge receives frame (production traffic) encapsulated with a TRILL header (transport header));
decapsulate the encapsulated production traffic (Mishra, [0022]).
It would have been obvious to one of ordinary skill in the art, having the teachings of Filsfils and Mishra before him or her before the effective filing date of the claimed invention, to modify a sink node that receives probe packets after ECMP path traversal as taught by Filsfils, to include egress switch handling of encapsulated flow packets, including decapsulation, as taught by Mishra. The motivation for doing so would have been to improve the reliability of path monitoring by verifying probe packet path information at the same egress device that processes the corresponding production traffic.
Regarding claim 12, Filsfils discloses wherein the traffic processing entry implements a traffic mirroring policy and wherein the processing circuitry is configured to provide the encapsulated probe packet to the probe packet analysis device by adding a tunnel header to the encapsulated probe packet and transmitting the encapsulated probe packet with the added tunnel header (Filsfils, [0032], [0040]-[0041]: the TEF function (traffic processing entry/traffic mirroring policy) causes the sink node to encapsulate a probe packet with a new IPv6/SRv6 header (tunnel header) without removing existing MPLS headers, and forward the probe packet to the controller (probe packet analysis device)).
Regarding claim 13, Filsfils discloses wherein the tunnel header comprises a mirror destination that identifies the probe packet analysis device (Filsfils, [0040]: encapsulating the probe packet with a new IPv6/SRv6 header (tunnel header); forwarding the probe packet to the controller (probe packet analysis device). [Destination/forwarding information in the added IPv6/SRv6 encapsulation header that directs the probe packet to the controller is the mirror destination]).
Regarding claim 14, Filsfils does not explicitly disclose wherein the received production traffic comprises a production packet with the transport header, wherein the probe packet and the production packet have a same flow group identifier in the transport header.
However, Mishra discloses wherein the received production traffic comprises a production packet with the transport header (Mishra, [0022]: last router bridge receives frame (production traffic) encapsulated with a TRILL header (transport header)), wherein the probe packet and the production packet have a same flow group identifier in the transport header (Mishra, [0028]: probe packets have the same values for the user flow parameters (flow group identifier) as those contained in a given user flow (production traffic), e.g., same Ethertype; Fig. 3 discloses TRILL/DCE header 50 (transport header) with Ethertype field).
It would have been obvious to one of ordinary skill in the art, having the teachings of Filsfils and Mishra before him or her before the effective filing date of the claimed invention, to modify an ECMP path monitoring system using probe packets as taught by Filsfils, to include the technique of generating probe packets with the same user flow parameters as the user flow packets, as taught by Mishra. The motivation for doing so would have been to ensure the probe packets follow the same path as the production/user flow packets, thereby improving the accuracy of path monitoring in a multipath network.
Regarding claim 15, Filsfils discloses wherein the processing circuitry is configured to:
receive a plurality of additional probe packet each encapsulated with the transport header and each having the value at the header field (Filsfils, [0040]: multiple probe packets arrive at a sink node [the ‘additional’ being probe packets that arrive after the first]; [0031]: each probe packet includes a header that is an MPLS encapsulation (transport header); [0032]-[0033]: each header includes a TEF Label of Sink (value)); and
provide, based on matching the value of the header field of the plurality of additional probe packet to the traffic processing entry, the plurality of additional encapsulated probe packets to the probe packet analysis device (Filsfils, [0032], [0040]: the TEF label (value) triggers (i.e., matches) a TEF SR TE policy and/or static route function (traffic processing entry) at the sink node, causing the sink node to encapsulate and forward the probe packet to the controller (probe packet analysis device)), without decapsulating the plurality of additional encapsulated probe packets (Filsfils, [0041]: the TEF behavior ensures the new encapsulation does not remove existing MPLS headers).
Regarding claim16, Filsfils discloses wherein the probe packet and the plurality of additional probe packets each have a different value at a high-entropy header field (Filsfils, [0037]: probe packets have different entropy values in the entropy field of SEL (high-entropy header field)).
Regarding claim 18, Filsfils discloses wherein the versions of the first set of probe packets are received from a network device (Filsfils, [0040]: controller receive probe packets from sink node (network device)).
Filsfils does not explicitly disclose a decapsulating network device configured to decapsulate the transport header for production traffic.
However, Mishra discloses a decapsulating network device configured to decapsulate the transport header for production traffic (Mishra, [0022]: last/destination router bridge (decapsulating network device) receives frames (production traffic) encapsulated with a TRILL header (transport header) and decapsulates the encapsulated frames; [0011]: probe packets received at the destination switch (decapsulating network device) have user flow parameters matching those of user flow packets (production traffic) so that they take the same path as the user flow packets. [Therefore, the destination switch (decapsulating network device) receives both probe packets and user flow packets (production traffic)]).
It would have been obvious to one of ordinary skill in the art, having the teachings of Filsfils and Mishra before him or her before the effective filing date of the claimed invention, to modify a sink node that receives probe packets after ECMP path traversal as taught by Filsfils, by enabling it to also decapsulate transport headers for production traffic, as taught by Mishra. The motivation for doing so would have been to improve the accuracy of ECMP path monitoring by ensuring that probe path results are obtained at the same device where corresponding production traffic is terminated and decapsulated.
Claim 19 is rejected under 35 U.S.C. 103 as being unpatentable over Filsfils in view of Ganichev et al. (US 2015/0016298), hereinafter Ganichev.
Regarding claim 19, Filsfils discloses wherein the first and second sets of probe packets are generated by a probe packet generator (Filsfils, [0029]: controller (probe packet generator) provides instructions and parameters to source node for generating probe packets 126 (first set); [0044]: controller (probe packet generator) instructs and re-provisions source node to generate subsequent probe packets 128 (second set)), the method further comprising:
transmitting the generated first and second sets of probe packets (Filsfils, Fig. 1A: source node transmitting probe packets 126 (first set) along paths A & B; Fig. 1C: source node transmitting probe packets 128 (second set) along paths A & B).
Filsfils does not explicitly disclose to an encapsulating network device separate from the probe packet generator.
However, Ganichev discloses to an encapsulating network device separate from the probe packet generator (Ganichev, Fig. 2: controller 200 includes packet generator 215; controller 200 is separate from MFE 250 (encapsulating device); [0048]: Packet generator appends an indicator to a packet that specifies the packet is a traced packet (probe packet). After generating the packet, the controller sends the packet to the appropriate MFE; [0078]: the MFE determines to encapsulate the packet to be sent in a tunnel).
It would have been obvious to one of ordinary skill in the art, having the teachings of Filsfils and Ganichev before him or her before the effective filing date of the claimed invention, to modify a controller/probe generation arrangement as taught by Filsfils, so that the probe packets are generated by a controller side packet generator and transmitted to a separate encapsulating forwarding device, as taught by Ganichev. The motivation for doing so would have been to centralize trace/probe packet construction at the controller while allowing the edge forwarding device to perform conventional tunnel encapsulation and forwarding, thereby simplifying probe generation across managed forwarding devices.
Related Art
The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure:
Rangarajan et al. (US 2022/0294712) discloses user network traffic/non-probe or user packets (see [0009]). Rangarajan further discloses encapsulation of a packet P into a VXLAN packet VP, receipt of VP by destination network device ND4 which decapsulates VP to obtain P before forwarding P toward destination D (see [0126], [0128]). Rangarajan also discloses packet processing decision data/matching table entries that match packet header fields and cause packet processing circuitry to take a corresponding action when there is a match (see [0043]).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to LESA M KENNEDY whose telephone number is (571)431-0704. The examiner can normally be reached Monday-Wednesday 9:30 am - 5:30 pm 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, Umar Cheema can be reached on (571) 270-3037. 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.
The examiner also requests, in response to this Office Action, support be shown for language added to any original claims on amendment and any new claims. That is, indicate support for newly added claim language by specifically pointing to page(s) and line no(s) in the specification and/or drawing figure(s). This will assist the examiner in prosecuting the application.
/LESA M KENNEDY/Primary Examiner, Art Unit 2458