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 .
Response to Arguments
Applicant’s arguments, filed 12/10/25 , with respect to the rejection(s) of claim(s) 16-20 have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of newly cited portions of KS (Pat No 9967178) further in view of Believeau (Pub No 20130163427) and Chen (Pub No 20190245775)
Allowable Subject Matter
Claim 1-16 allowed.
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 before the effective filing date to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 16-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over KS (Pat No 9967178) further in view of Believeau (Pub No 20130163427) and Chen (Pub No 20190245775)
Regarding claim 17,
KS teaches A service node comprising:
processing circuitry configured to: (interpreted as Controller 320 includes a processor in the form of, for example, a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), and/or another type of processor that can interpret and/or execute instructions. In some implementations, controller 320 may include one or more processors that can be programmed to perform a function, see col 7 line 11-20)
receive, from a controller external to the service node and coupled to the service node via a network (interpreted as In some implementations, exporter device 220 may receive information identifying the first template (e.g., may be pre-configured with the first template and/or may receive the first template from another device, such as client device 250), see col 11 line 36-45) a flow record description that identifies a key field and a data field; (interpreted as For example, the collector server may receive the first template (e.g., corresponding to the flow identifier “260”) from the exporter device, and may use the first template while decoding the first flow record., see col 3 line 42-48 source address, destination address for the key fields and bytes and packets for the data fields, see fig. 1A)
generate a set of instructions based on the received flow record description; and (interpreted as Exporter device 220 may be configured with information identifying one or more templates and may generate flow records based on the one or more templates. In some implementations, exporter device 220 may generate, process, and/or transfer flow records, such as data records, template records, and/or other flow records, see col 5 line 18-24)
receive, from a network switch coupled to the controller, a network packet; (interpreted as receiving a packet associated with a flow (block 410), see col 11 line 52-55)
generate a candidate flow record for the network packet and according to the flow record description by executing the set of instructions, wherein the execution of the set of instructions populates a key field in the candidate flow record with key field information in the network packet and populates a data field in the candidate flow record based on data field information in the network packet; and (interpreted as The exporter device may generate the first flow record to include information corresponding to each field (e.g., information from the flow table) and may export the first flow record to the collector server, see col 4 line 9-15)
memory circuitry configured to store a database of active flow records, wherein the processing circuitry is configured to reconcile the candidate flow record with the database of active flow records by using the key field information in the network packet to perform a lookup operation in the database of active flow records that determines whether an active flow record related to the candidate flow record exists in the database of active flow records. (interpreted as Exporter device 220 may sample a packet and may determine whether an entry for the flow associated with the packet exists in the flow table (e.g., based on matching a tuple in the packet header with an entry in the flow table). If exporter device 220 determines that an entry for the flow associated with the packet does not exist in the flow table, then exporter device 220 may create a new entry for the flow in the flow table (and may create a flow identifier for the flow, as described below). If exporter device 220 determines that an entry for the flow associated with the packet does exist in the flow table, then exporter device 220 may update the flow information (e.g., may update a byte count associated with the flow, a packet count associated with the flow, or the like), see col 8 line 45-55).
However KS does not teach generating instructions based on the received flow record description, and
Beliveau teaches generate a set of instructions based on the received flow record description, (interpreted as The translator 113, through the use of its compiler 114, thus acts as a parser generator (i.e., compiler-compiler, or compiler generator) by generating code for a packet parser in the form of parser code 116 from the formal abstractions (i.e. a type of grammar) provided by the processing definition 112, see para [0055]).
It would have been obvious to one of ordinary skill in the art before the effective filing date to use to combine the flow record taught by KS with the code as taught by Beliveau with the motivation of being able to implement the rules of the flows by using the set of instructions.
However Ks in view of Beliveau do not teach receive, from the controller and separately
from the flow record description, a signal indicating a time period during which flow records are to be updated;
Chen teaches receive, from the controller and separately from the flow record description, a signal indicating a time period during which flow records are to be updated; (interpreted as the controller 200 which in turn instructs the switch 708 to update the flow table at a specified time, see para [0066])
It would have been obvious to one of ordinary skill in the art before the effective filing date to use to combine the updating flow records taught by KS in view of Beliveau with the update time as taught by Chen with the motivation being to update parameters/information being using them.
Regarding claim 18,
KS teaches The network flow information generation circuitry defined in claim 17, wherein the set of instructions, when executed for each network packet in a plurality of network packets including the network packet, generates a corresponding flow record according to the flow record description (interpreted as Exporter device 220 may be configured with information identifying one or more templates and may generate flow records based on the one or more templates. In some implementations, exporter device 220 may generate, process, and/or transfer flow records, such as data records, template records, and/or other flow records, see col 5 line 18-24)
However does not teach wherein the set of instructions is generated after receiving the flow record description and
Beliveau teaches wherein the set of instructions is generated after receiving the flow record description and (interpreted as The translator 113, through the use of its compiler 114, thus acts as a parser generator (i.e., compiler-compiler, or compiler generator) by generating code for a packet parser in the form of parser code 116 from the formal abstractions (i.e. a type of grammar) provided by the processing definition 112, see para [0055]).
It would have been obvious to one of ordinary skill in the art before the effective filing date to use to combine the flow record taught by KS with the code as taught by Beliveau with the motivation of being able to implement the rules of the flows by using the set of instructions.
Claim(s) 19-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over KS (Pat No 9967178) further in view of Believeau (Pub No 20130163427), Gross (Pub No 20130142048), and Choi (Pub 20140301226)
Regarding claim 19,
KS teaches A method of operating a controller that controls one or more switches and controls network flow information generation circuitry coupled to the one or more switches, the method comprising: (interpreted as Controller 320 may perform these processes in response to executing software instructions stored by a non-transitory computer-readable medium. A computer-readable medium is defined herein as a non-transitory memory device, see col 7 line 35-40)
Providing network flow information generation policy to the network flow information generation circuitry to generate network flow information according to the network flow information generation policy; (interpreted as In some implementations, exporter device 220 may receive information identifying the first template (e.g., may be pre-configured with the first template and/or may receive the first template from another device, such as client device 250), see col 11 line 36-45)
Controlling the one or more switches to forward a network packet to the network flow information generation circuitry; (interpreted as In some implementations, switching component 310 may enable input components 305, output components 315, and/or controller 320 to communicate see col 6 line 55-60)
Controlling the network flow information generation circuitry to update a plurality of fields in a flow record according to the record description; and (interpreted as The exporter device may generate the first flow record to include information corresponding to each field (e.g., information from the flow table) and may export the first flow record to the collector server, see col 4 line 9-15. Also see Each flow record may include multiple fields corresponding to information associated with the flow (e.g., a source IP address, a destination IP address, a quantity of packets associated with the flow, a quantity of bytes associated with the flow, etc., see col 2 line 32-40)
Controlling, by the controller, the network flow information generation circuitry to update, by executing the set of instructions on the network packet, the plurality of fields in the flow record with information extracted from the network packet to generate the flow record for the network packet. (interpreted as The exporter device may generate the first flow record to include information corresponding to each field (e.g., information from the flow table) and may export the first flow record to the collector server, see col 4 line 9-15. Also see Each flow record may include multiple fields corresponding to information associated with the flow (e.g., a source IP address, a destination IP address, a quantity of packets associated with the flow, a quantity of bytes associated with the flow, etc., see col 2 line 32-40).
However KS does not teach to generate, based on a record description in the network flow information generation policy a set of instructions indicative of actions to be performed on the network packet
Beliveau teaches to generate, based on a record description in the network flow information generation policy a set of instructions indicative of actions to be performed on the network packet (interpreted as The translator 113, through the use of its compiler 114, thus acts as a parser generator (i.e., compiler-compiler, or compiler generator) by generating code for a packet parser in the form of parser code 116 from the formal abstractions (i.e. a type of grammar) provided by the processing definition 112, see para [0055]).
It would have been obvious to one of ordinary skill in the art before the effective filing date to use to combine the flow record taught by KS with the code as taught by Beliveau with the motivation of being able to implement the rules of the flows by using the set of instructions.
However KS in view of Beliveau do not teach performing the steps by a controller
Gross teaches performing the steps by a controller (interpreted as Specifically, the control daemon 1115, in some embodiments, receives configuration information from the controller cluster 1105 and configures the controller patch 1130. For example, the control daemon 1115 receives commands from the controller cluster 1105 regarding operations for processing and routing packets that the managed switching element 810 receives, see para [0190] When configured, the controller patch 1130 contains rules (e.g., flow entries) regarding processing and forwarding the packets to receive, see para [0192]))
It would have been obvious to one of ordinary skill in the art before the effective filing date to use to combine system taught by KS with controller taught by Gross with the motivation of having a manager for performing the controlling and organizing of routing functions of the system.
However KS in view of Gross and Choi do not teach the motivation of having a manager for performing the controlling and organizing of routing functions of the system.
Choi teaches the motivation of having a manager for performing the controlling and organizing of routing functions of the system. (interpreted as The controller may include a user interface module which is a screen provided to a network manager or a user and the user interface module may include an information providing unit configured to provide information to the user; an input unit configured to receive the information from the user, see para [0019])
It would have been obvious to one of ordinary skill in the art before the effective filing date to use to combine the controller taught by KS with user input taught by Choi with the motivation being to
Regarding claim 20,
KS teaches The method defined in claim 19, wherein the flow record is reconciled with a depository of finalized flow records, the method further comprising:
Controlling the one or more switches to forward at least a portion of the depository of finalized flow records and the record description to the one or more switches. (interpreted as Exporter device 220 may be configured with information identifying one or more templates and may generate flow records based on the one or more templates. In some implementations, exporter device 220 may generate, process, and/or transfer flow records, such as data records, template records, and/or other flow records, see col 5 line 18-24)
However KS in view of Beliveau do not teach performing the steps by a controller
Gross teaches performing the steps by a controller (interpreted as Specifically, the control daemon 1115, in some embodiments, receives configuration information from the controller cluster 1105 and configures the controller patch 1130. For example, the control daemon 1115 receives commands from the controller cluster 1105 regarding operations for processing and routing packets that the managed switching element 810 receives, see para [0190] When configured, the controller patch 1130 contains rules (e.g., flow entries) regarding processing and forwarding the packets to receive, see para [0192]))
It would have been obvious to one of ordinary skill in the art before the effective filing date to use to combine system taught by KS with controller taught by Gross with the motivation of having a manager for performing the controlling and organizing of routing functions of the system.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BAO G NGUYEN whose telephone number is (571)272-7732. The examiner can normally be reached M-F 10pm - 6:30pm.
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, Huy Vu can be reached on 571-272-3155. 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.
/BAO G NGUYEN/Examiner, Art Unit 2461
/HUY D VU/Supervisory Patent Examiner, Art Unit 2461