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 argument on 4/13/26 have been carefully considered, but they are moot due to new ground rejection shown below.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 11-15 and 19-22 are rejected under 35 U.S.C. 103 as being unpatentable over D1 (US 10200274 B1) in view of Tang (US 20190140944 A1), further in view of Wang (US 20180159790 A1).
For claim 11, D1 discloses a method comprising:
advertising, by a compute node managed by a Software Defined Networking (SDN) controller, the compute node as a next hop for a virtual private network (VPN) route (FIGs. 1-7 and relevant text, such as FIGs. 2 and 3 show SDN controller 32 that includes control/computer nodes 54 in view of c3/l19-30 “a Software Defined Networking (SDN) controller includes a compute node executing a messaging protocol process configured to receive one or more virtual routes to virtual interfaces from a first virtual router agent managed by the SDN controller, the one or more virtual routes received via a messaging protocol session between the SDN controller and the first virtual router agent, wherein the compute node stores the one or more virtual routes to a data structure of the SDN controller; a routing protocol process configured to advertise the one or more virtual routes from the data structure to routing protocol peers of the SDN controller …”; note that “routes” suggests “next hop”, and receiving; );
establishing, by the compute node, a fault detection protocol session with a leaf switch of an Internet Protocol (IP) fabric of an underlay network to communicate a reachability status of the compute node to the leaf switch (FIGs. 1-7 and the relevant text, such as c13/l25-36 “In accordance with the techniques of this disclosure, each of the control nodes 54 may be configured to employ a “mark and sweep” approach to retain and later purge routes. Routes are marked as stale and later purged if they have not been updated by the time a graceful restart timer associated with the XMPP session expires. More specifically, whenever a control node 54 detects that an XMPP session is closed (e.g., which may happen due to the VR agent 36 becoming unresponsive), control node 54 marks as stale all routes learned from VR agent 36 associated with the closed session with a stale flag in state data 56”; note that “stale” suggests fault detection and that each of TOR switch 24A to 24N is a leaf switch); and
receiving, by the compute node, traffic destined for the VPN route when the fault detection protocol session indicates that the compute node is reachable (FIGs. 1-7 and the relevant text, such as c22/l30-32 “… GR/LLGR helper mode may not work correctly for EVPN routes, if the restarting node does not preserve forwarding state.” and c10/l17-23 “SDN controller 32 maintains a routing information base, e.g., one or more routing tables that store routing information for the physical network as well as one or more overlay networks of data center 10. Similarly, chassis switches 22, TOR switches 24 and virtual routers 42 maintain routing information, such as one or more routing and/or forwarding tables”; and c13/l25-36 “In accordance with the techniques of this disclosure, each of the control nodes 54 may be configured to employ a “mark and sweep” approach to retain and later purge routes. Routes are marked as stale and later purged if they have not been updated by the time a graceful restart timer associated with the XMPP session expires. More specifically, whenever a control node 54 detects that an XMPP session is closed (e.g., which may happen due to the VR agent 36 becoming unresponsive), control node 54 marks as stale all routes learned from VR agent 36 associated with the closed session with a stale flag in state data 56”; note that “stale” suggests fault detection and that each of TOR switch 24A to 24N is a leaf switch).
D1 does not specifically state but Tang, in the same field of endeavor field of endeavor, disclose traffic destined for the VPN route only indicates to the leaf switch of the IP fabric ([0022] “… The SDN controller can appear to logical network elements as a single logical switch. The SDN controller uses a set of protocols to control the flow of traffic in SDN networks by configuring physical network devices and selecting routes for forwarding network traffic. Communication between elements of an SDN network, including applications that use the SDN network, and network devices are processed through the SDN controller. The SDN controller is aware of each network element (physical or logic) associated with an SDN network” and [0003] “… the method then includes routing, using the routing data, the received packet to the selected computing device to route to the destination element.”; note that a destination device of the physical network suggests a leaf switch). OOSA would have been motivated to apply the teaching of Tang above to the SDN controller to yield a predictable result of conducting routing according to MPEP 2143(D).
Therefore, it would have been obvious to OOSA before the effective filing date of the application to combine D1 and Tang for the benefit of routing ([0003] of Tang).
D1 in view of Tang is silent but Wang, in the same field of virtual routing, discloses that the fault detection protocol is Bidirectional Forwarding Detection (BFD) (suggested by “[0014] Here, to limit delay in the communication of control packets for fault detection, such as BFD and Border Gateway Protocol (BGP) packets, the network interface of the host computing systems may be used to prioritize the packets as they are communicated” and “0017] To provide the SDNs, control packets, such as BFD packets, BGP packets, or some other control packets, are exchanged between physical host computing systems to provide various operations”; note both BFD may be chosen to run over BGP since the control protocols such as BFD and BGP may run co-currently). OOSA would be motivated to use the known technique of Wang above to the known SDN routing by D1 in view of Tang to yield the predictable results of quick failure response ([0014] of Wang) according to MEPE 2143 (D).
Therefore, it would have been obvious to OOSA before the time when the application was filed to combine D1 in view of Tang and Wang to use underlay network route as an indicator of a reachability status in the underlay network for routing of the particular one of the virtual routers for the benefit of quick fault detection ([0014] of Wang).
Claim 19 is rejected because it is a method of a SDN controller that performs the method of claim 11 and have the same subject matter.
As to claims 12 and 20, D1 in view of Tang and Wang discloses claims 11 and 19, D1 further discloses: advertising, by the compute node and to the leaf switch via a Border Gateway Protocol (BGP) session between the compute node and the leaf switch, an underlay network route to the compute node (FIGs. 1-7 and relevant text, such as c2/l34-38 “The techniques avoid the need to rely on a more heavy-weight network protocol such as a Border Gateway Protocol (BGP) to provide graceful restart functionality by using a BGP session between the SDN controller and the virtual agents to exchange the virtual routes” and c7/l19-32 “The techniques avoid the need to rely on a more heavy-weight network protocol such as a Border Gateway Protocol (BGP) to provide graceful restart functionality by using a BGP session between the SDN controller and the virtual agents to exchange the virtual routes”; note that each of TOR switch 24A to 24N is a leaf switch).
As to claim 13, D1 in view of Tang and Wang discloses claim 12, D1 further discloses wherein establishing the BFD session comprises establishing a BFD session over the BGP session between the compute node and the leaf switch (FIGs. 1-7 and the relevant text, such as c13/l25-36 “In accordance with the techniques of this disclosure, each of the control nodes 54 may be configured to employ a “mark and sweep” approach to retain and later purge routes. Routes are marked as stale and later purged if they have not been updated by the time a graceful restart timer associated with the XMPP session expires. More specifically, whenever a control node 54 detects that an XMPP session is closed (e.g., which may happen due to the VR agent 36 becoming unresponsive), control node 54 marks as stale all routes learned from VR agent 36 associated with the closed session with a stale flag in state data 56” in view of the parent claims).
As to claim 14, D1 in view of Tang and Wang discloses claim 11, D1 further discloses: receiving, by the compute node operating as a messaging protocol client over a messaging protocol session between the SDN controller and the compute node, a plurality of VPN routes to other compute nodes managed by the SDN controller; and receiving, by the compute node operating as the messaging protocol client, a message withdrawing one of the plurality of VPN routes in response to the SDN controller receiving from a spine switch in the IP fabric a message withdrawing a corresponding underlay network route to one of the other compute nodes (FIG. 1-7 and the text associated with it, such as c9/l24-40 “Each of VR agents 36 may send messages to SDN controller 32 over XMPP sessions, the messages conveying virtual routes to the virtual interfaces (virtual addresses) of the VMs of servers 26. SDN controller 32 receives the messages and stores the virtual routes, and may in turn advertise one or more of the virtual routes from a first VR agent 36 to other VR agents 36. In some examples, any of the virtual routes may include a prefix, a next hop address associated with a server of servers 26, and a label or other data to identify a virtual routing and forwarding instance configured at the next hop server. A virtual route may include a Route Distinguisher (RD). Further details of BGP-signaled IP/VPNs are described in S. Mackie, BGP-signaled end-system IP/VPNs, Network Working Group Internet-Draft, Dec. 15, 2016, the entire contents of which are incorporated by reference herein.”, and c13/l25-36 “In accordance with the techniques of this disclosure, each of the control nodes 54 may be configured to employ a “mark and sweep” approach to retain and later purge routes. Routes are marked as stale and later purged if they have not been updated by the time a graceful restart timer associated with the XMPP session expires. More specifically, whenever a control node 54 detects that an XMPP session is closed (e.g., which may happen due to the VR agent 36 becoming unresponsive), control node 54 marks as stale all routes learned from VR agent 36 associated with the closed session with a stale flag in state data 56”; note that “stale” suggests fault detection; note that FIG. 5B shows advertising the underlay IP network route to the at least one of a compute node via Overlay Tunnels; IP networks are underlay networks; and that FIG. 1 shows a spine switch as one of CHASSIS switch 22A to 22M).
As to claim 15, D1 in view of Tang and Wang discloses claim 11, D1 further discloses wherein advertising the compute node as the next hop for a VPN route comprises advertising the VPN route to the SDN controller as a messaging protocol client of the compute node operating as a messaging protocol server, wherein the VPN route comprises a virtual route to a virtual interface (FIG. 1-7 and the text associated with it, such as c9/l17-40 “each of servers 26 includes a corresponding one of VR agents 36A-36X that communicates with SDN controller 32 and, responsive thereto, directs virtual router 42 so as to control the overlay of virtual networks 46 and coordinate the routing of data packets within server 26. In general, each VR agent 36 communicates with SDN controller 32, which generates commands to control routing of packets through data center 10. Each of VR agents 36 may send messages to SDN controller 32 over XMPP sessions, the messages conveying virtual routes to the virtual interfaces (virtual addresses) of the VMs of servers 26. SDN controller 32 receives the messages and stores the virtual routes, and may in turn advertise one or more of the virtual routes from a first VR agent 36 to other VR agents 36. In some examples, any of the virtual routes may include a prefix, a next hop address associated with a server of servers 26, and a label or other data to identify a virtual routing and forwarding instance configured at the next hop server. A virtual route may include a Route Distinguisher (RD). Further details of BGP-signaled IP/VPNs are described in S. Mackie, BGP-signaled end-system IP/VPNs, Network Working Group Internet-Draft, Dec. 15, 2016, the entire contents of which are incorporated by reference herein.”; note that FIG. 5B shows advertising the underlay network route to the at least one of a compute node via Overlay Tunnels and IP networks are underlay networks).
As to claim 21, D1 in view of Tang and Wang discloses claim 11, D1 further discloses wherein the leaf switch runs the BFD session, and wherein establishing the BFD session comprises responding, by a virtual router executing on the compute node, to the leaf switch (the teaching of the parent claim applied to the leaf switch).
As to claim 22, D1 in view of Tang and Wang discloses claim 11, D1 further discloses wherein establishing the BFD session comprises establishing a corresponding micro-BFD adjacency on each member link of an Ethernet Switch Identifier Link Aggregation Group (ESI-LAG) between the compute node and the leaf switch (using micro-BFD for ESI-LAG is well known in the art and Examiner takes an official notice on this statement. For example, IETF RFC 7130 “Bidirectional Forwarding Detection (BFD) on Link Aggregation Group (LAG) Interfaces” (Feb 2014) teaches it).
Allowable Subject Matter
The following is an examiner’s statement of reasons for allowance:
Claims 1-2, 4, 6-7, 9-10 and 16-17 are allowed.
Any comments considered necessary by applicant must be submitted no later than the payment of the issue fee and, to avoid processing delays, should preferably accompany the issue fee. Such submissions should be clearly labeled “Comments on Statement of Reasons for Allowance.”
Claim 1 is allowed because the closest prior art D1 (US 10200274 B1), Tang (US 20190140944 A1), and Wang (US 20180159790 A1) fail to anticipate or render obvious a method including a newly added claim limitation “determining, based on checking underlay routing information comprising routes received by the SDN controller from an Internet Protocol (IP) fabric of an underlay network, whether the SDN controller stores an underlay network route having a destination prefix that matches the next hop of the VPN route, wherein the underlay routing information comprises routes indicated as reachable based on a Bidirectional Forwarding Detection (BFD) session between a leaf switch of the IP fabric and a virtual router of a compute node, the virtual router having an IP address included in the destination prefix”, in combined with other claim limitations in claim 1.
In dependent claim 16 is allowed because it is a claim of SDN controller that performs the method of claim 11 and has the same subject matter.
Dependent claims 2, 4, 6-7, 9-10 and 17 are allowed because each of them depends on either claim 1 or claim 16.
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 JIANYE WU whose telephone number is (571)270-1665. The examiner can normally be reached M-TH 8am-6pm.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Yemane Mesfin can be reached on (571) 272-3927. 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.
/JIANYE WU/Primary Examiner, Art Unit 2462