Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim 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 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Thakkar et al (US 2015/0063364) (hereinafter Thakkar) in view of Sun et al (US 2015/0295813) (hereinafter Sun).
Regarding claim 1, Thakkar discloses a method comprising:
providing a distributed routing component spanning multiple managed forwarding elements (MFEs) on host machines (see Thakkar, Fig. 2, p. [0040], e.g., each of the hosts 205-220 operates a managed forwarding element (MFE) 235-250 , and Fig. 3, p. [0043], e.g., the managed forwarding elements 320-330 that operate on the hosts 305-315);
providing centralized routing components on gateway host machines (see Thakkar, Fig. 3, p. [0044], e.g., two gateway host machines 345 and 350 that host L3 gateways 335 and 340);
operating a routing protocol control plane on one of the gateway host machines (see Thakkar, Fig. 3, p. [0045-0046], e.g., The MFE then sends this traffic to one of the gateways 345 or 350 on which the L3 gateway is implemented);
forwarding packets from the centralized routing components to the control plane via network interfaces of the gateway host machines (see Thakkar, Fig. 7, p. [0096], e.g., The process 700 also generates (at 725) flow entries (or data tuples defining flow entries) for the MFEs on the selected gateway host machines to forward packets to the logical router implementation on the host, and p. [0174]); and
updating routing tables stored in the memory of the centralized routing components (see Thakkar, p. [0049], e.g., One or more daemons operating on the gateway (e.g., in the virtualization software of the gateway) receive data tuples that define the routing tables and convert these data tuples into the routing table for a particular logical router, then provision the appropriate namespace with the routing table in some embodiments).
However, Thakkar does not expressly disclose forwarding routing protocol packets from the centralized routing components to the control plane via network interfaces of the gateway host machines; updating routing tables stored in the memory of the centralized routing components based on the processed dynamic routing protocol packets by the control plane.
Sun discloses the above recited limitations (see Sun, p.[0119], e.g., When the dynamic link quality index of the link used by the first network node to forward traffic is detected by the neighboring node of the first network node, the neighboring node of the first network node may send, to the first network node by using an existing routing protocol packet, and p. [0297], e.g., a dynamic routing protocol used in the apparatus may be the BGP protocol is used to describe an apparatus for determining a traffic forwarding path).
It would have been obvious to a person of ordinary skilled in the art before the effective filing date of the claimed invention to incorporate Sun’s teachings into Thakkar. The suggestion/motivation would have been to use dynamic routing protocol to determine a traffic paths as suggested by Sun.
Regarding claim 2, the combined teachings of Thakkar and Sun disclose the method of claim 1, wherein the managed forwarding elements (MFEs) are implemented as software virtual switches operating within hypervisors on the gateway host machines (see Thakkar, p. [0044], e.g., the managed forwarding elements 320-330 that operate on the hosts 305-315 (e.g., within the virtualization software of these hosts) not only implement the logical switches 105 and 110, but also the logical router 115a).
Regarding claim 3, the combined teachings of Thakkar and Sun disclose the method of claim 1, wherein the centralized routing components are implemented as virtual machines on the gateway host machine (see Thakkar, p. [0044], e.g., the managed network 300 that implements the logical network 100 includes three host machines 305 for hosting virtual machines and two gateway host machines 345 and 350 that host L3 gateways 335 and 340).
Regarding claim 4, the combined teachings of Thakkar and Sun disclose the method of claim 1, wherein the dynamic routing protocol comprises border gateway protocol (BGP) (see Sun, p. [0096], e.g., the Border Gateway Protocol (BGP) may be used to determine a traffic forwarding path for network nodes between different Ass, and p. [0104], e.g., a dynamic routing protocol used in the method may further be the BGP protocol).
Regarding claim 5, the combined teachings of Thakkar and Sun disclose the method of claim 1, wherein the centralized routing components correspond to an uplink port of a logical router (see Thakkar, p. [0036], e.g., the logical router may have several uplink ports to connect to the external networks).
Regarding claim 6, the combined teachings of Thakkar and Sun disclose the method of claim 1, wherein the routing protocol control plane communicates with external routers to exchange routing information (see Thakkar, Fig. 2, p. [0038], e.g., the gateway hosts have connections outside the managed network to at least one physical router 275 that is part of the external network 120).
Regarding claim 7, the combined teachings of Thakkar and Sun disclose the method of claim 1, further comprising selecting a gateway host machine to operate the routing protocol control plane based on load balancing criteria (see Thakkar, p. [0064], e.g., The logical controller 510 that manages the logical network selects the active and standby hosts for the logical router (e.g., using a load balancing algorithm that spreads the logical routers for various logical networks across a set of hosts), and p.[0163], e.g., analyze the number of L3 gateways on each gateway host and the operational load of the gateway host).
Regarding claim 8, the combined teachings of Thakkar and Sun disclose the method of claim 1, further comprising using equal-cost multi-path (ECMP) principles for route selection among the centralized routing components (see Thakkar, p. [0154-0156], e.g., the MFE at the VM host may use equal-cost multi-path (ECMP) type algorithms to determine to which L3 gateway to send a particular packet).
Regarding claim 9, the combined teachings of Thakkar and Sun disclose the method of claim 1, further comprising synchronizing the routing tables with a central network management system (see Thakkar, Fig. 6, p. [0066], e.g., The left side of this figure shows the data flow to the managed forwarding elements to implement the logical forwarding elements of the logical network, while the right side of the figure shows the propagation of routing table data to the gateway hosts in order to provision the logical routers).
Regarding claim 10, the combined teachings of Thakkar and Sun disclose the method of claim 1, further comprising generating routing information bases (RIBs) for each of the centralized routing components (see Thakkar, Fig. 6, p. [0071], e.g., the logical controller 510 receives a set of routes, and generates a set of routing data tuples from these routes).
Regarding claim 11, the combined teachings of Thakkar and Sun disclose a non-transitory machine readable medium storing a program which when executed by at least one processing unit configures a router that interfaces (see Thakkar, p. [0231]), the program comprising sets of instructions for:
providing a distributed routing component spanning multiple managed forwarding elements (MFEs) on host machines (see Thakkar, Fig. 2, p. [0040], e.g., each of the hosts 205-220 operates a managed forwarding element (MFE) 235-250 , and Fig. 3, p. [0043], e.g., the managed forwarding elements 320-330 that operate on the hosts 305-315);
providing centralized routing components on gateway host machines (see Thakkar, Fig. 3, p. [0044], e.g., two gateway host machines 345 and 350 that host L3 gateways 335 and 340);
operating a dynamic routing protocol control plane on one of the gateway host machines (see Thakkar, Fig. 3, p. [0045-0046], e.g., The MFE then sends this traffic to one of the gateways 345 or 350 on which the L3 gateway is implemented);
forwarding packets from the centralized routing components to the control plane via network interfaces of the gateway host machines (see Thakkar, Fig. 7, p. [0096], e.g., The process 700 also generates (at 725) flow entries (or data tuples defining flow entries) for the MFEs on the selected gateway host machines to forward packets to the logical router implementation on the host, and p. [0174]); and
updating routing tables stored in the memory of the centralized routing components (see Thakkar, p. [0049], e.g., One or more daemons operating on the gateway (e.g., in the virtualization software of the gateway) receive data tuples that define the routing tables and convert these data tuples into the routing table for a particular logical router, then provision the appropriate namespace with the routing table in some embodiments).
However, Thakkar does not expressly disclose forwarding routing protocol packets from the centralized routing components to the control plane via network interfaces of the gateway host machines; updating routing tables stored in the memory of the centralized routing components based on the processed dynamic routing protocol packets by the control plane.
Sun discloses the above recited limitations (see Sun, p.[0119], e.g., When the dynamic link quality index of the link used by the first network node to forward traffic is detected by the neighboring node of the first network node, the neighboring node of the first network node may send, to the first network node by using an existing routing protocol packet, and p. [0297], e.g., a dynamic routing protocol used in the apparatus may be the BGP protocol is used to describe an apparatus for determining a traffic forwarding path).
It would have been obvious to a person of ordinary skilled in the art before the effective filing date of the claimed invention to incorporate Sun’s teachings into Thakkar. The suggestion/motivation would have been to use dynamic routing protocol to determine a traffic paths as suggested by Sun.
Regarding claim 12, the combined teachings of Thakkar and Sun disclose the non-transitory machine readable medium of claim 11, wherein the managed forwarding elements (MFEs) are implemented as software virtual switches operating within hypervisors on the gateway host machines (see Thakkar, p. [0044], e.g., the managed forwarding elements 320-330 that operate on the hosts 305-315 (e.g., within the virtualization software of these hosts) not only implement the logical switches 105 and 110, but also the logical router 115a).
Regarding claim 13, the combined teachings of Thakkar and Sun disclose the non-transitory machine readable medium of claim 11, wherein the centralized routing components are implemented as virtual machines on the gateway host machine (see Thakkar, p. [0044], e.g., the managed network 300 that implements the logical network 100 includes three host machines 305 for hosting virtual machines and two gateway host machines 345 and 350 that host L3 gateways 335 and 340).
Regarding claim 14, the combined teachings of Thakkar and Sun disclose the non-transitory machine readable medium of claim 11, wherein the dynamic routing protocol comprises border gateway protocol (BGP) (see Sun, p. [0096], e.g., the Border Gateway Protocol (BGP) may be used to determine a traffic forwarding path for network nodes between different Ass, and p. [0104], e.g., a dynamic routing protocol used in the method may further be the BGP protocol).
Regarding claim 15, the combined teachings of Thakkar and Sun disclose the non-transitory machine readable medium of claim 11, wherein the centralized routing components correspond to an uplink port of a logical router (see Thakkar, p. [0036], e.g., the logical router may have several uplink ports to connect to the external networks).
Regarding claim 16, the combined teachings of Thakkar and Sun disclose the non-transitory machine readable medium of claim 11, wherein the routing protocol control plane communicates with external routers to exchange routing information (see Thakkar, Fig. 2, p. [0038], e.g., the gateway hosts have connections outside the managed network to at least one physical router 275 that is part of the external network 120).
Regarding claim 17, the combined teachings of Thakkar and Sun disclose the non-transitory machine readable medium of claim 11, wherein the program further comprises sets of instructions for selecting a gateway host machine to operate the routing protocol control plane based on load balancing criteria (see Thakkar, p. [0064], e.g., The logical controller 510 that manages the logical network selects the active and standby hosts for the logical router (e.g., using a load balancing algorithm that spreads the logical routers for various logical networks across a set of hosts), and p.[0163], e.g., analyze the number of L3 gateways on each gateway host and the operational load of the gateway host).
Regarding claim 18, the combined teachings of Thakkar and Sun disclose the non-transitory machine readable medium of claim 11, wherein the program further comprises sets of instructions for using equal-cost multi-path (ECMP) principles for route selection among the centralized routing components (see Thakkar, p. [0154-0156], e.g., the MFE at the VM host may use equal-cost multi-path (ECMP) type algorithms to determine to which L3 gateway to send a particular packet).
Regarding claim 19, the combined teachings of Thakkar and Sun disclose the non-transitory machine readable medium of claim 11, wherein the program further comprises sets of instructions for synchronizing the routing tables with a central network management system (see Thakkar, Fig. 6, p. [0066], e.g., The left side of this figure shows the data flow to the managed forwarding elements to implement the logical forwarding elements of the logical network, while the right side of the figure shows the propagation of routing table data to the gateway hosts in order to provision the logical routers).
Regarding claim 20, the combined teachings of Thakkar and Sun disclose the non-transitory machine readable medium of claim 11, wherein the program further comprises sets of instructions for generating routing information bases (RIBs) for each of the centralized routing components (see Thakkar, Fig. 6, p. [0071], e.g., the logical controller 510 receives a set of routes, and generates a set of routing data tuples from these routes).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MINH TRANG T NGUYEN whose telephone number is (571)270-5248. The examiner can normally be reached M-F 8:30am-6:00pm.
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, Chirag C Shah can be reached at 571-272-3144. 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.
/MINH TRANG T NGUYEN/Primary Examiner, Art Unit 2477