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 .
Priority
Acknowledgment is made of applicant’s claim for foreign priority under 35 U.S.C. 119 (a)-(d). The certified copy has been filed in parent Application No. CN 202210974967.4, filed on August 15th, 2022.
This office action is responsive to application filed on February 11th, 2025. In this office action:
Claims 1-20 are pending
Claims 1-20 are rejected
Drawings
The drawings submitted on February 11th, 2025 have been considered and accepted.
Information Disclosure Statement
The information disclosure statements (IDSs) submitted on March 13th, 2025 and October 16th, 2025 are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statements are being considered by the Examiner.
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)(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.
Claims 1-20 are rejected under 35 U.S.C. 102 (a)(2) as being anticipated by Kang et al. (Pub. No. US 2015/0131666), hereinafter Kang.
Claim 1. Kang discloses [a] method comprising:
receiving, by a first device, a target packet (See Parag. [0077] and Fig. 8; the packet processing engine 113 receives a packet (S810). See Parag. [0054] and Fig. 2; SDN switch 110a includes a packet processing engine 113 ...);
obtaining, by the first device, a target flow entry from a hash table based on policy information, wherein the policy information indicates a target operation corresponding to the target packet in a plurality of groups of operations, wherein the target operation shields a target field in a plurality of fields of the target packet, wherein the plurality of fields identifies a network flow to which the target packet belongs, wherein the hash table stores one or more flow entries, wherein the target flow entry matches first characteristic information of the target packet, and wherein the first characteristic information comprises the plurality of fields for which the target operation is performed (See Parag. [0077-0080] and Fig. 8; the packet processing engine 113 of the SDN switches determines whether the received packet is a packet including a flow matching mask tag using an Ethernet type of the received packet, and extracts a flow matching mask field value M={b.sub.1b.sub.2 . . . b.sub.n} and a mapping field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) belonging to a matching rule (S820). When a flow matching mask tag is not included in a packet, exact matching is performed in an entire matching field and thus a flow matching mask value M is set to 0. The packet processing engine 113 determines whether a flow matching mask field value M that is extracted at step S820 is 0 (S830). When the flow matching mask field value M is not 0, it represents that wildcard matching should be performed for a field corresponding to a bit that is set to 1, and when the flow matching mask field value M is 0, it represents that exact matching should be performed for an entire matching field. When the flow matching mask field value M is not 0, the packet processing engine 113 replaces a field value of a matching rule corresponding to a bit having 1 among the flow matching mask field value M with W, which is a previously defined wildcard symbol value (S840), and calculates a flow entry index I by inputting a matching field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) constituting a matching rule to a hash function [hash (v.sub.1, v.sub.2, . . . , v.sub.n)] (S850). When a flow entry index I is calculated, the packet processing engine 113 has the calculated flow entry index I and performs flow matching (S860). Flow matching is work that searches for whether a flow entry that is matched to a flow entry index I that is calculated in the flow table 114 exists and that determines whether a packet that is received in a flow rule that is included in the found flow entry is matched. See Parag. [0065]; in order to support indexing and searching of a wildcard matching rule on a hash table, a packet tag (hereinafter referred to as "flow matching mask tag") of a new form of a flow matching mask is defined ... See also Parag. [0008] [0066] [0082] and Fig. 5); and
processing, by the first device, the target packet based on the target flow entry (See Parag. [0080]; when flow matching has succeeded, the packet processing engine 113 processes a received packet according to an action that is defined to the found flow entry).
Claim 2. Kang discloses [t]he method of claim 1,
Kang further discloses wherein the policy information comprises a target item, wherein the target item comprises target matching information and a target matching result, wherein the target matching information is for matching the target packet, and wherein the target matching result indicates the target operation (See Parag. [0077-0080] and Fig. 8; the packet processing engine 113 of the SDN switches determines whether the received packet is a packet including a flow matching mask tag using an Ethernet type of the received packet, and extracts a flow matching mask field value M={b.sub.1b.sub.2 . . . b.sub.n} and a mapping field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) belonging to a matching rule (S820). When a flow matching mask tag is not included in a packet, exact matching is performed in an entire matching field and thus a flow matching mask value M is set to 0. The packet processing engine 113 determines whether a flow matching mask field value M that is extracted at step S820 is 0 (S830). When the flow matching mask field value M is not 0, it represents that wildcard matching should be performed for a field corresponding to a bit that is set to 1, and when the flow matching mask field value M is 0, it represents that exact matching should be performed for an entire matching field. When the flow matching mask field value M is not 0, the packet processing engine 113 replaces a field value of a matching rule corresponding to a bit having 1 among the flow matching mask field value M with W, which is a previously defined wildcard symbol value (S840), and calculates a flow entry index I by inputting a matching field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) constituting a matching rule to a hash function [hash (v.sub.1, v.sub.2, . . . , v.sub.n)] (S850). When a flow entry index I is calculated, the packet processing engine 113 has the calculated flow entry index I and performs flow matching (S860). Flow matching is work that searches for whether a flow entry that is matched to a flow entry index I that is calculated in the flow table 114 exists and that determines whether a packet that is received in a flow rule that is included in the found flow entry is matched. See also Parag. [0057]).
Claim 3. Kang discloses [t]he method of claim 2,
Kang further discloses wherein the target matching information matches second characteristic information of the target packet, and wherein the second characteristic information is based on the plurality of fields and/or time information of receiving the target packet (See Parag. [0077-0080] and Fig. 8; the packet processing engine 113 of the SDN switches determines whether the received packet is a packet including a flow matching mask tag using an Ethernet type of the received packet, and extracts a flow matching mask field value M={b.sub.1b.sub.2 . . . b.sub.n} and a mapping field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) belonging to a matching rule (S820). When a flow matching mask tag is not included in a packet, exact matching is performed in an entire matching field and thus a flow matching mask value M is set to 0. The packet processing engine 113 determines whether a flow matching mask field value M that is extracted at step S820 is 0 (S830). When the flow matching mask field value M is not 0, it represents that wildcard matching should be performed for a field corresponding to a bit that is set to 1, and when the flow matching mask field value M is 0, it represents that exact matching should be performed for an entire matching field. When the flow matching mask field value M is not 0, the packet processing engine 113 replaces a field value of a matching rule corresponding to a bit having 1 among the flow matching mask field value M with W, which is a previously defined wildcard symbol value (S840), and calculates a flow entry index I by inputting a matching field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) constituting a matching rule to a hash function [hash (v.sub.1, v.sub.2, . . . , v.sub.n)] (S850). When a flow entry index I is calculated, the packet processing engine 113 has the calculated flow entry index I and performs flow matching (S860). Flow matching is work that searches for whether a flow entry that is matched to a flow entry index I that is calculated in the flow table 114 exists and that determines whether a packet that is received in a flow rule that is included in the found flow entry is matched).
Claim 4. Kang discloses [t]he method of claim 1,
Kang further discloses wherein the first characteristic information further comprises an identifier of the target operation (See Parag. [0059]; Referring to FIG. 4, one flow entry includes a matching rule field and an action field ... See Parag. [0063]; an action field includes an action, i.e., a packet processing method. A packet processing method that can be designated as an action may include transmission, discard, update of a designated field value, and insertion of a specific tag).
Claim 5. Kang discloses [t]he method of claim 1,
Kang further discloses wherein prior to obtaining, by the first device, the target flow entry, the method further comprises: sending, by the first device, a first message to a second device, wherein the first message requests the second device to deliver the target flow entry; receiving, by the first device, a second message from the second device, wherein the second message carries the target flow entry; and storing, by the first device, the target flow entry in the hash table (See Parag. [0057]; When there is no flow entry that is matched to the packet that is received in the flow table 114, the packet processing engine 113 transfers a flow command request of the received packet to the SDN controller 120 through a security channel. The packet processing engine 113 receives a flow command from the SDN controller 120 through the security channel, adds a new flow entry that is matched with a corresponding packet to the flow table 114 based on the received flow command, and transfers the corresponding packet to an appropriate output port 112 according to the new flow entry. The flow command may include information of a matching rule of the corresponding packet and action information).
Claim 6. Kang discloses [t]he method of claim 1,
Kang further discloses wherein a value of the target field is a target value (See Parag. [0077-0080] and Fig. 8; the packet processing engine 113 of the SDN switches determines whether the received packet is a packet including a flow matching mask tag using an Ethernet type of the received packet, and extracts a flow matching mask field value M={b.sub.1b.sub.2 . . . b.sub.n} and a mapping field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) belonging to a matching rule (S820). When a flow matching mask tag is not included in a packet, exact matching is performed in an entire matching field and thus a flow matching mask value M is set to 0. The packet processing engine 113 determines whether a flow matching mask field value M that is extracted at step S820 is 0 (S830). When the flow matching mask field value M is not 0, it represents that wildcard matching should be performed for a field corresponding to a bit that is set to 1, and when the flow matching mask field value M is 0, it represents that exact matching should be performed for an entire matching field. When the flow matching mask field value M is not 0, the packet processing engine 113 replaces a field value of a matching rule corresponding to a bit having 1 among the flow matching mask field value M with W, which is a previously defined wildcard symbol value (S840), and calculates a flow entry index I by inputting a matching field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) constituting a matching rule to a hash function [hash (v.sub.1, v.sub.2, . . . , v.sub.n)] (S850). When a flow entry index I is calculated, the packet processing engine 113 has the calculated flow entry index I and performs flow matching (S860). Flow matching is work that searches for whether a flow entry that is matched to a flow entry index I that is calculated in the flow table 114 exists and that determines whether a packet that is received in a flow rule that is included in the found flow entry is matched).
Claim 7. Kang discloses [t]he method of claim 1,
Kang further discloses wherein the target operation further deletes the target field from the plurality of fields (See Parag. [0088]; the flow command may include an action such as insertion and deletion of a flow matching mask tag and setting of a flow matching mask tag value when the SDN controller 120 defines flow using a wildcard matching rule in addition to an action for general path setting. Insertion and deletion of a flow matching mask tag are general action functions that are supported in an SDN, and openflow 1.3 supports an insertion and deletion action of an MPLS and VLAN related tag. See also Parag. [0027] [0095]).
Claim 8. Kang discloses [a] method comprising:
sending, by a second device, policy information to a first device (See Parag. [0057]; The packet processing engine 113 (a first device) receives a flow command from the SDN controller 120 (a second device) through the security channel, adds a new flow entry that is matched with a corresponding packet to the flow table 114 based on the received flow command, and transfers the corresponding packet to an appropriate output port 112 according to the new flow entry. The flow command may include information of a matching rule of the corresponding packet and action information),
wherein the policy information indicates a target operation and indicates to the first device to search for a target flow entry in a hash table comprising one or more flow entries, wherein the target flow entry matches first characteristic information of a target packet, wherein the first characteristic information comprises a plurality of fields for which the target operation is performed, wherein the plurality of fields identifies a network flow to which the target packet belongs, wherein the target operation corresponds to the target packet in a plurality of groups of operations, and wherein the target operation shields a target field in the plurality of fields of the target packet (See Parag. [0077-0080] and Fig. 8; the packet processing engine 113 of the SDN switches determines whether the received packet is a packet including a flow matching mask tag using an Ethernet type of the received packet, and extracts a flow matching mask field value M={b.sub.1b.sub.2 . . . b.sub.n} and a mapping field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) belonging to a matching rule (S820). When a flow matching mask tag is not included in a packet, exact matching is performed in an entire matching field and thus a flow matching mask value M is set to 0. The packet processing engine 113 determines whether a flow matching mask field value M that is extracted at step S820 is 0 (S830). When the flow matching mask field value M is not 0, it represents that wildcard matching should be performed for a field corresponding to a bit that is set to 1, and when the flow matching mask field value M is 0, it represents that exact matching should be performed for an entire matching field. When the flow matching mask field value M is not 0, the packet processing engine 113 replaces a field value of a matching rule corresponding to a bit having 1 among the flow matching mask field value M with W, which is a previously defined wildcard symbol value (S840), and calculates a flow entry index I by inputting a matching field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) constituting a matching rule to a hash function [hash (v.sub.1, v.sub.2, . . . , v.sub.n)] (S850). When a flow entry index I is calculated, the packet processing engine 113 has the calculated flow entry index I and performs flow matching (S860). Flow matching is work that searches for whether a flow entry that is matched to a flow entry index I that is calculated in the flow table 114 exists and that determines whether a packet that is received in a flow rule that is included in the found flow entry is matched. See also Fig. 5).
Claim 9 is taught by Kang as described for claim 4.
Claim 10 is taught by Kang as described for claim 2.
Claim 11 is taught by Kang as described for claim 3.
Claim 12. Kang discloses [a]n apparatus comprising:
a memory configured to store instructions; and one or more processors configured to execute the instructions to cause the apparatus (See Parag. [0054] and Fig. 2; SDN switch 110a includes a packet processing engine 113 ...) to:
receive a target packet (See Parag. [0077] and Fig. 8; the packet processing engine 113 receives a packet (S810));
obtain a target flow entry from a hash table based on policy information, wherein the policy information indicates a target operation corresponding to the target packet in a plurality of groups of operations, wherein the target operation shields a target field in a plurality of fields of the target packet, wherein the plurality of fields identifies a network flow to which the target packet belongs, wherein the hash table stores one or more flow entries, wherein the target flow entry matches first characteristic information of the target packet, and wherein the first characteristic information comprises the plurality of fields for which the target operation is performed (See Parag. [0077-0080] and Fig. 8; the packet processing engine 113 of the SDN switches determines whether the received packet is a packet including a flow matching mask tag using an Ethernet type of the received packet, and extracts a flow matching mask field value M={b.sub.1b.sub.2 . . . b.sub.n} and a mapping field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) belonging to a matching rule (S820). When a flow matching mask tag is not included in a packet, exact matching is performed in an entire matching field and thus a flow matching mask value M is set to 0. The packet processing engine 113 determines whether a flow matching mask field value M that is extracted at step S820 is 0 (S830). When the flow matching mask field value M is not 0, it represents that wildcard matching should be performed for a field corresponding to a bit that is set to 1, and when the flow matching mask field value M is 0, it represents that exact matching should be performed for an entire matching field. When the flow matching mask field value M is not 0, the packet processing engine 113 replaces a field value of a matching rule corresponding to a bit having 1 among the flow matching mask field value M with W, which is a previously defined wildcard symbol value (S840), and calculates a flow entry index I by inputting a matching field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) constituting a matching rule to a hash function [hash (v.sub.1, v.sub.2, . . . , v.sub.n)] (S850). When a flow entry index I is calculated, the packet processing engine 113 has the calculated flow entry index I and performs flow matching (S860). Flow matching is work that searches for whether a flow entry that is matched to a flow entry index I that is calculated in the flow table 114 exists and that determines whether a packet that is received in a flow rule that is included in the found flow entry is matched. See also Fig. 5); and
process the target packet based on the target flow entry (See Parag. [0080]; when flow matching has succeeded, the packet processing engine 113 processes a received packet according to an action that is defined to the found flow entry).
Claim 13 is taught by Kang as described for claim 4.
Claim 14 is taught by Kang as described for claim 5.
Claim 15 is taught by Kang as described for claim 6.
Claim 16. Kang discloses [t]he apparatus of claim 12,
Kang further discloses wherein the policy information comprises a target item (See Parag. [0077-0080] and Fig. 8; the packet processing engine 113 of the SDN switches determines whether the received packet is a packet including a flow matching mask tag using an Ethernet type of the received packet, and extracts a flow matching mask field value M={b.sub.1b.sub.2 . . . b.sub.n} and a mapping field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) belonging to a matching rule (S820). When a flow matching mask tag is not included in a packet, exact matching is performed in an entire matching field and thus a flow matching mask value M is set to 0. The packet processing engine 113 determines whether a flow matching mask field value M that is extracted at step S820 is 0 (S830). When the flow matching mask field value M is not 0, it represents that wildcard matching should be performed for a field corresponding to a bit that is set to 1, and when the flow matching mask field value M is 0, it represents that exact matching should be performed for an entire matching field. When the flow matching mask field value M is not 0, the packet processing engine 113 replaces a field value of a matching rule corresponding to a bit having 1 among the flow matching mask field value M with W, which is a previously defined wildcard symbol value (S840), and calculates a flow entry index I by inputting a matching field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) constituting a matching rule to a hash function [hash (v.sub.1, v.sub.2, . . . , v.sub.n)] (S850). When a flow entry index I is calculated, the packet processing engine 113 has the calculated flow entry index I and performs flow matching (S860). Flow matching is work that searches for whether a flow entry that is matched to a flow entry index I that is calculated in the flow table 114 exists and that determines whether a packet that is received in a flow rule that is included in the found flow entry is matched. See also Parag. [0057] and Fig. 5).
Claim 17. Kang discloses [t]he apparatus of claim 16,
Kang further discloses wherein the target item comprises a target matching result that indicates the target operation (See Parag. [0077-0080] and Fig. 8; the packet processing engine 113 of the SDN switches determines whether the received packet is a packet including a flow matching mask tag using an Ethernet type of the received packet, and extracts a flow matching mask field value M={b.sub.1b.sub.2 . . . b.sub.n} and a mapping field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) belonging to a matching rule (S820). When a flow matching mask tag is not included in a packet, exact matching is performed in an entire matching field and thus a flow matching mask value M is set to 0. The packet processing engine 113 determines whether a flow matching mask field value M that is extracted at step S820 is 0 (S830). When the flow matching mask field value M is not 0, it represents that wildcard matching should be performed for a field corresponding to a bit that is set to 1, and when the flow matching mask field value M is 0, it represents that exact matching should be performed for an entire matching field. When the flow matching mask field value M is not 0, the packet processing engine 113 replaces a field value of a matching rule corresponding to a bit having 1 among the flow matching mask field value M with W, which is a previously defined wildcard symbol value (S840), and calculates a flow entry index I by inputting a matching field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) constituting a matching rule to a hash function [hash (v.sub.1, v.sub.2, . . . , v.sub.n)] (S850). When a flow entry index I is calculated, the packet processing engine 113 has the calculated flow entry index I and performs flow matching (S860). Flow matching is work that searches for whether a flow entry that is matched to a flow entry index I that is calculated in the flow table 114 exists and that determines whether a packet that is received in a flow rule that is included in the found flow entry is matched. See also Parag. [0057] and Fig. 5).
Claim 18. Kang discloses [t]he apparatus of claim 16,
Kang further discloses wherein the target item comprises target matching information for matching the target packet (See Parag. [0077-0080] and Fig. 8; the packet processing engine 113 of the SDN switches determines whether the received packet is a packet including a flow matching mask tag using an Ethernet type of the received packet, and extracts a flow matching mask field value M={b.sub.1b.sub.2 . . . b.sub.n} and a mapping field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) belonging to a matching rule (S820). When a flow matching mask tag is not included in a packet, exact matching is performed in an entire matching field and thus a flow matching mask value M is set to 0. The packet processing engine 113 determines whether a flow matching mask field value M that is extracted at step S820 is 0 (S830). When the flow matching mask field value M is not 0, it represents that wildcard matching should be performed for a field corresponding to a bit that is set to 1, and when the flow matching mask field value M is 0, it represents that exact matching should be performed for an entire matching field. When the flow matching mask field value M is not 0, the packet processing engine 113 replaces a field value of a matching rule corresponding to a bit having 1 among the flow matching mask field value M with W, which is a previously defined wildcard symbol value (S840), and calculates a flow entry index I by inputting a matching field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) constituting a matching rule to a hash function [hash (v.sub.1, v.sub.2, . . . , v.sub.n)] (S850). When a flow entry index I is calculated, the packet processing engine 113 has the calculated flow entry index I and performs flow matching (S860). Flow matching is work that searches for whether a flow entry that is matched to a flow entry index I that is calculated in the flow table 114 exists and that determines whether a packet that is received in a flow rule that is included in the found flow entry is matched. See also Parag. [0057] and Fig. 5).
Claim 19. Kang discloses [t]he apparatus of claim 18,
Kang further discloses wherein the target matching information matches second characteristic information of the target packet (See Parag. [0077-0080] and Fig. 8; the packet processing engine 113 of the SDN switches determines whether the received packet is a packet including a flow matching mask tag using an Ethernet type of the received packet, and extracts a flow matching mask field value M={b.sub.1b.sub.2 . . . b.sub.n} and a mapping field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) belonging to a matching rule (S820). When a flow matching mask tag is not included in a packet, exact matching is performed in an entire matching field and thus a flow matching mask value M is set to 0. The packet processing engine 113 determines whether a flow matching mask field value M that is extracted at step S820 is 0 (S830). When the flow matching mask field value M is not 0, it represents that wildcard matching should be performed for a field corresponding to a bit that is set to 1, and when the flow matching mask field value M is 0, it represents that exact matching should be performed for an entire matching field. When the flow matching mask field value M is not 0, the packet processing engine 113 replaces a field value of a matching rule corresponding to a bit having 1 among the flow matching mask field value M with W, which is a previously defined wildcard symbol value (S840), and calculates a flow entry index I by inputting a matching field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) constituting a matching rule to a hash function [hash (v.sub.1, v.sub.2, . . . , v.sub.n)] (S850). When a flow entry index I is calculated, the packet processing engine 113 has the calculated flow entry index I and performs flow matching (S860). Flow matching is work that searches for whether a flow entry that is matched to a flow entry index I that is calculated in the flow table 114 exists and that determines whether a packet that is received in a flow rule that is included in the found flow entry is matched).
Claim 20. Kang discloses [t]he apparatus of claim 19,
Kang further discloses wherein the second characteristic information is based on the plurality of fields and/or time information of receiving the target packet (See Parag. [0077-0080] and Fig. 8; the packet processing engine 113 of the SDN switches determines whether the received packet is a packet including a flow matching mask tag using an Ethernet type of the received packet, and extracts a flow matching mask field value M={b.sub.1b.sub.2 . . . b.sub.n} and a mapping field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) belonging to a matching rule (S820). When a flow matching mask tag is not included in a packet, exact matching is performed in an entire matching field and thus a flow matching mask value M is set to 0. The packet processing engine 113 determines whether a flow matching mask field value M that is extracted at step S820 is 0 (S830). When the flow matching mask field value M is not 0, it represents that wildcard matching should be performed for a field corresponding to a bit that is set to 1, and when the flow matching mask field value M is 0, it represents that exact matching should be performed for an entire matching field. When the flow matching mask field value M is not 0, the packet processing engine 113 replaces a field value of a matching rule corresponding to a bit having 1 among the flow matching mask field value M with W, which is a previously defined wildcard symbol value (S840), and calculates a flow entry index I by inputting a matching field value (F.sub.1=v.sub.1, F.sub.2=v.sub.2, . . . , F.sub.n=v.sub.n) constituting a matching rule to a hash function [hash (v.sub.1, v.sub.2, . . . , v.sub.n)] (S850). When a flow entry index I is calculated, the packet processing engine 113 has the calculated flow entry index I and performs flow matching (S860). Flow matching is work that searches for whether a flow entry that is matched to a flow entry index I that is calculated in the flow table 114 exists and that determines whether a packet that is received in a flow rule that is included in the found flow entry is matched).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Mutnuru (Pub. No. US 2021/0297263) – Related art in the area of use of a suffix tree to control blocking of blacklisted encrypted domains, and filtering of Domain Name Service requests, (Abstract; In accordance with an embodiment, described herein are systems and methods for use of a suffix tree to control blocking of blacklisted encrypted domains. A suffix tree includes encrypted hash keys corresponding to a plurality of domain nodes. A domain-related request packet is received, and a target domain name extracted from the packet. A pair of hash keys are generated for the request packet and target domain; and a hash table is searched with the generated hash key pair. If a corresponding entry is found in the hash table, then a corresponding hash suffix pointer is determined for the packet, and the suffix tree examined to determine whether the node identified by the query is part of a blacklisted node. If the suffix tree indicates the node to be part of a blacklisted node, then the system can perform a specified action associated with that node).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ABDELBASST TALIOUA whose telephone number is (571)272-4061. The examiner can normally be reached on Monday-Thursday 7:30 am - 5:30 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, Oscar Louie can be reached on 571-270-1684. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see https://ppair-my.uspto.gov/pair/PrivatePair. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Abdelbasst Talioua/Primary Examiner, Art Unit 2445