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 .
Claims 1, 11, 19 have been amended.
Claim Rejections - 35 USC § 103
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 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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-3, 7,9-12, 15,16, 17, 19, 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Lang et al. (US 20180034916 herein after Lang) in view of Koerner et al.(“Multiple Service Load-Balancing with OpenFlow” herein after Koerner) further in view of Koganti (US 20130250951 herein after Koganti) further in view of Kolesnik et al. (US20160248726)
Regarding claim 1, 11, Lang teaches a network device for managing transmissions between hypervisors and network switches comprising:a non-transitory machine-readable storage medium having stored therein a management server; and a processor coupled to the non-transitory machine-readable storage medium, the processor configured to execute the management server ([0045] “The components of computer system/server 212 may include, but are not limited to, one or more processors or processing units 216, a system memory 228, and a bus 218 that couples various system components including system memory 228 to processor 216”),
wherein the management server (Fig. 4 “External Dynamic network Address Management Server 26”, “Internal Dynamic Network Address Management Server 28”, (Examiner’s Note: The management server is the combination of External Dynamic network Address Management Server 26 and Internal Dynamic Network Address Management Server 28) is configured to: receive one or more messages from one or more network switches ([0027] “the routers 18, 20 are requesting new network addresses 54, 56 from the external dynamic network address management server 26”, [0017] “The virtual machines 10, 12 are connected over a network 36 via the hypervisors 14, 16 to routers 18, 20, respectively, which are able to perform network address translation (NAT), so that the virtual machines 10, 12 are connected via the routers 18, 20 to the external network 24”),
static Internet Protocol (IP) addresses ([0003] “his enables a network administrator to manage all of the addresses for all networked machines through the centralized DHCP server, and in particular, allows the network administrator to reclaim a permanent or static network address from a machine without having to physically go to the machine”, [0023] “Further static routing for calls to the old network address 50, 52 from the other virtual machine 10, 12 to the new address 54, 56 is established”);
transmit a first translation instruction, (Fig. 4 “Router/NAT”, [0027] “The routers 18, 20 are mapping network addresses 50, 52 used before suspending the virtual machines 10, 12 to the new network addresses 54, 56. The internal dynamic network address management server 28 is set up to assign the network addresses 50, 52 to MAC addresses of network interfaces of the virtual machines 10, 12”),
wherein the first translation instruction indicates to the network address translation device to forward traffic from the network switch to the first hypervisor ([0024] “VM2 calls VM1 10 by the old network address 50, IP1, the router 20 translates this address 50 to the new address 54, IP3, which is used for communication over the network 24. The first router 18 translates this address 54, IP3, back to the old address 50, IP1, being used in the network 36 between the router 18, the hypervisor 14 and the VM1 10”) a static IP addressstatic IP addresses ([0003] “his enables a network administrator to manage all of the addresses for all networked machines through the centralized DHCP server, and in particular, allows the network administrator to reclaim a permanent or static network address from a machine without having to physically go to the machine”, [0023] “Further static routing for calls to the old network address 50, 52 from the other virtual machine 10, 12 to the new address 54, 56 is established”)
Although Lang teaches wherein the first translation instruction indicates to the network address translation device to forward traffic from the network switch to the first hypervisor([0024] “VM2 calls VM1 10 by the old network address 50, IP1, the router 20 translates this address 50 to the new address 54, IP3, which is used for communication over the network 24. The first router 18 translates this address 54, IP3, back to the old address 50, IP1, being used in the network 36 between the router 18, the hypervisor 14 and the VM1 10”).
Lang does not specifically teach wherein the one or more network switches are configured with a set of fixed outgoing Internet Protocol (IP) address;
including a first hypervisor address, wherein the first translation instruction indicates to the network address translation device to forward traffic from the network switch to the first hypervisor address that is associated with a first hypervisor to communicate with a controller,
the controller is to use the first hypervisor to manage resources of the network switch to form a first network slice of the plurality of network slices,
wherein the first translation instruction causes establishment of an entry in a data structure in the network switch that indicates a mapping of an IP address of the set of fixed outgoing IP addresses for the network switch to the first hypervisor address,
the first hypervisor address comprising and IP address of the first hypervisor;
detect a change to status information for the network based on the one or more messages from the one or more network switches;
wherein the change to status information comprises a change to a policy of a network slice of the plurality of network slices;
and select, in response to detecting the change to the status information for the network, a second hypervisor for use by the network switch to communicate with the controller,
without reconfiguring the one or more network switches.
However, Koerner teaches including a first hypervisor address (page 212 Table I “New Dst. IP 10.0.0.10.80),
wherein the first translation instruction indicates to the network address translation device to forward traffic from the network switch (page 212 [002] “If a new service connection request is detected by e.g. the ingress port of the top of rack switch or main router … the FlowVisor decides depending on the header information of the packet and his slice policies to which controller it has to be forwarded to”, (Examiner Note: The FlowVisor in Koerner is the controller) to the first hypervisor address that is associated with a first hypervisor to communicate with a controller (page 212 [003] “For Example, an incoming packet with the destination port 80 is forwarded to the controller which handles the HTTP load balancing, page 212 Table I “New Dst. IP 10.0.0.10.80, (Examiner Note: The Controller in Koerner is the hypervisor))
the controller is to use the first hypervisor to manage resources of the network switch to form a first network slice of the plurality of network slices (page 212 [002] “If a new service connection request is detected by e.g. the ingress port of the top of rack switch or main router … the FlowVisor decides depending on the header information of the packet and his slice policies to which controller it has to be forwarded to”),
wherein the first translation instruction causes establishment of an entry in a data structure in the network switch (page 212 [002] “If a new service connection request is detected by e.g. the ingress port of the top of rack switch or main router … the FlowVisor decides depending on the header information of the packet and his slice policies to which controller it has to be forwarded to”) that indicates a mapping of an IP address (page 212 Table I, Table II “Generally, new services request respectively flow request is delegated by Flow Visor to the corresponding controller. The controller sends the indication of the FlowTable entries back to FlowVisor where they are forwarded to the corresponding switches in the OpenFlow network”),
the first hypervisor address comprising and IP address of the first hypervisor (page 212 Table I “New Dst. IP 10.0.0.10.80);
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Lang to incorporate the teachings of Koerner. One of ordinary skill in the art would have been motivated to allow for increase in scalability of network.
Koerner does not teach wherein the one or more network switches are configured with a set of fixed outgoing Internet Protocol (IP) address; a mapping of an IP address of the set of fixed outgoing IP addresses for the network switch to the first hypervisor address;
detect a change to status information for the network based on the one or more messages from the one or more network switches;
and select, in response to detecting the change to the status information for the network,
a second hypervisor for use by the network switch to communicate with the controller,
wherein the change to status information comprises a change to a policy of a network slice of the plurality of network slices;
without reconfiguring the one or more network switches.
However, Koganti teaches detect a change to status information for the network based on the one or more messages from the one or more network switches ([0056] “Host machines 112 and 114 are coupled to switches 103 and 105, respectively. During operation, switch 103 discovers the hypervisor of host machine 112. Switch 103 then sends a configuration message to the hypervisor with the virtual IP address, and optionally, the virtual MAC address associated with virtual member tunnel gateway 150. In some embodiments, switch 103 forwards the hypervisor information toward virtual gateway switch 150. Switch 101 or 102 receives the information and sends the configuration message to the hypervisor via switch 103”, Examiner’s Note: “the change to status information is the additional hypervisor”));
and select, in response to detecting the change to the status information for the network, a second hypervisor for use by the network switch to communicate with the controller ([0056] “In some embodiments, switch 103 forwards the hypervisor information toward virtual gateway switch 150. Switch 101 or 102 receives the information and sends the configuration message to the hypervisor via switch 103. Upon receiving the configuration message, the hypervisor is dynamically configured with the virtual IP address as the tunnel gateway address. In the same way, the hypervisor in host machine 114 is also configured with the virtual IP address as the tunnel gateway address. This allows fabric switch 100 to act as a distributed tunnel gateway represented by virtual member tunnel gateway 150”, [0065] “RBridge 202 discovers hypervisor 252. RBridge 202 then sends a configuration message to hypervisor 252 comprising virtual IP address 236 … RBridge 202 forwards the hypervisor information toward virtual RBridge 230, and, in response, RBridge 222 or 224 sends the configuration message to hypervisor 252 via switch 202”, [0069] “RBridge 222 can also learn other associated information, such as the MAC and IP addresses of hypervisor 252”). ”),
without reconfiguring the one or more network switches ([0039] “the problem of facilitating overlay tunneling in a fabric switch is solved by operating one or more member switches of the fabric switch as tunnel gateways (which can be referred to as member tunnel gateways) virtualized as one virtual tunnel gateway”, [0056] “Switch 101 or 102 receives the information and sends the configuration message to the hypervisor via switch 103. Upon receiving the configuration message, the hypervisor is dynamically configured with the virtual IP address as the tunnel gateway address. In the same way, the hypervisor in host machine 114 is also configured with the virtual IP address as the tunnel gateway address. This allows fabric switch 100 to act as a distributed tunnel gateway represented by virtual member tunnel gateway 150”).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combination of Lang, Koerner to incorporate the teachings of Koganti. One of ordinary skill in the art would have been motivated to increase scalability of network.
Koganti does not explicitly teach wherein the one or more network switches are configured with a set of fixed outgoing Internet Protocol (IP) address, a mapping of an IP address of the set of fixed outgoing IP addresses for the network switch to the first hypervisor address; wherein the change to status information comprises a change to a policy of a network slice of the plurality of network slices.
However, Kolesnik teaches wherein the one or more network switches are configured with a fixed set of outgoing Internet Protocol (IP) address ([0014] network 140 may include a public network (e.g., the Internet), a private network (e.g., a local area network (LAN) or wide area network (WAN)), a wired network (e.g., an Ethernet network), a wireless network (e.g., an 802.11 network or a Wi-Fi network), a cellular network (e.g., a Long Term Evolution (LTE) network), routers, hubs, switches, server computers, and/or a combination thereof.”, [0019] “Network address pool 122 may be a set of network address and the set may be associated with one or more groups of machines. Network address pool 122 may be stored in data store 120 and may include multiple network addresses within one or more ranges of network addresses. Each range of network addresses may have a start network address and an end network address and may include at least some network addresses there between, [0032] “ In other examples, the network address may be any network identifier at any networking layer, such as an IP address or network port number”), a mapping of an IP address ([0017] “ Each of virtual network interfaces 111A-Z may be associated with one or more network addresses of one or more ISO model layers, for example, a virtual network interface may be associated with an OSI layer two 2 address, which may be represented by a link layer address (e.g., a MAC address). In another example, a virtual network interface may be further associated with one or more network addresses at different OSI layers, such as one or more ISO layer 3 addresses (e.g., Internet Protocol (IP) addresses)”) of the set of fixed outgoing IP addresses ( [0019] “Network address pool 122 may be a set of network address and the set may be associated with one or more groups of machines. Network address pool 122 may be stored in data store 120 and may include multiple network addresses within one or more ranges of network addresses. Each range of network addresses may have a start network address and an end network address and may include at least some network addresses there between, [0032] “ In other examples, the network address may be any network identifier at any networking layer, such as an IP address or network port number”) for the network switch to the first hypervisor address ([0015] “Virtualization may be achieved by running a software layer, often referred to as “hypervisor,” above the hardware and below the virtual machines. A hypervisor may run directly on the server hardware without an operating system beneath it or as an application running under a traditional operating system. A hypervisor may abstract the physical layer and present this abstraction to virtual machines to use, by providing interfaces between the underlying hardware and virtual devices of virtual machines. Network interface virtualization may be implemented by the hypervisor and may provide virtual machines 112A-Z access to physical network interfaces 111A-Z via virtual network interfaces 114A-Z);
wherein the change to status information comprises a change to a policy of a network slice of the plurality of network slices ([0014] “may receive a request for a network address to be associated with a network interface of a machine. The request for a network address may be initiated in response to a request to create or modify a virtual machine. The request to create or modify a virtual machine may have been initiated by a user (e.g., IT administrator, cloud consumer) or another component of the data center, such as a load balancing or provisioning or other similar component, [0036] “In one example, the hierarchy of groups may include at least three groups corresponding respectively to a data center, a cluster and a pool of virtual machines””, (Examiner’s Note: groups is equivalent to slices);
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combination of Lang, Koerner, Koganti to incorporate the teachings of Kolesnik. One of ordinary skill in the art would have been motivated enhance performance because, for example, it may reduce the pool of available addresses and therefore reduce the quantity of network interfaces on a network [0012].
Regarding claim 19, Lang teaches a non-transitory machine-readable medium containing instructions that, when performed by a processor in a computing device ([0045] “The components of computer system/server 212 may include, but are not limited to, one or more processors or processing units 216, a system memory 228, and a bus 218 that couples various system components including system memory 228 to processor 216”), cause the computing device to:
receive one or more message from one or more network switches ([0027] “the routers 18, 20 are requesting new network addresses 54, 56 from the external dynamic network address management server 26”) including a control message from a network switch of the one or more network switches operating in a network comprising a plurality of network slices ([0027] “the routers 18, 20 are requesting new network addresses 54, 56 from the external dynamic network address management server 26”, [0017] “The virtual machines 10, 12 are connected over a network 36 via the hypervisors 14, 16 to routers 18, 20, respectively, which are able to perform network address translation (NAT), so that the virtual machines 10, 12 are connected via the routers 18, 20 to the external network 24”), a set of static Internet Protocol (IP) addresses ([0003] “his enables a network administrator to manage all of the addresses for all networked machines through the centralized DHCP server, and in particular, allows the network administrator to reclaim a permanent or static network address from a machine without having to physically go to the machine”, [0023] “Further static routing for calls to the old network address 50, 52 from the other virtual machine 10, 12 to the new address 54, 56 is established”);
and transmit a first translation instruction, to a network address translation device in response to message of the one or more messages (Fig. 4 “Router/NAT”, [0027] “The routers 18, 20 are mapping network addresses 50, 52 used before suspending the virtual machines 10, 12 to the new network addresses 54, 56. The internal dynamic network address management server 28 is set up to assign the network addresses 50, 52 to MAC addresses of network interfaces of the virtual machines 10, 12”),
wherein the first translation instruction indicates to the network address translation device to forward traffic from a network switch of the one or more network switches to the first hypervisor address ([0024] “VM2 calls VM1 10 by the old network address 50, IP1, the router 20 translates this address 50 to the new address 54, IP3, which is used for communication over the network 24. The first router 18 translates this address 54, IP3, back to the old address 50, IP1, being used in the network 36 between the router 18, the hypervisor 14 and the VM1 10”).
a static IP address of the set of static IP addresses ([0003] “his enables a network administrator to manage all of the addresses for all networked machines through the centralized DHCP server, and in particular, allows the network administrator to reclaim a permanent or static network address from a machine without having to physically go to the machine”, [0023] “Further static routing for calls to the old network address 50, 52 from the other virtual machine 10, 12 to the new address 54, 56 is established”).
Lang does not specifically teach wherein the one or more network switches are configured with a set of fixed outgoing Internet Protocol (IP) address, including a first hypervisor address, that is associated with a first hypervisor to communicate with a controller, the controller is to use the first hypervisor to manage resources of the network switch to form a first network slice of the plurality of network slices, wherein the first translation instruction causes establishment of an entry in a data structure in the network address translation device that indicates a mapping of an IP address of the set of fixed outgoing IP addresses for the network switch to the first hypervisor address, the first hypervisor address comprising an IP address of the first hypervisor, detect a change to status information for the network based on the one or more messages from the one or more network switches; wherein the change to status information comprises a change to a policy of a network slice of the plurality of network slices; and select, in response to detecting the change to the status information for the network, a second hypervisor for use by the network switch to communicate with the controller, without reconfiguring the one or more network switches.
However, Koerner teaches including a first hypervisor address (page 212 Table I “New Dst. IP 10.0.0.10.80),
that is associated with a first hypervisor to communicate with a controller (page 212 [002] “If a new service connection request is detected by e.g. the ingress port of the top of rack switch or main router … the FlowVisor decides depending on the header information of the packet and his slice policies to which controller it has to be forwarded to”, (Examiner Note: The FlowVisor in Koerner is the controller), the controller is to use the first hypervisor to manage resources of the network switch to form a first network slice of the plurality of network slices(page 212 [003] “For Example, an incoming packet with the destination port 80 is forwarded to the controller which handles the HTTP load balancing, page 212 Table I “New Dst. IP 10.0.0.10.80, (Examiner Note: The Controller in Koerner is the hypervisor),
wherein the first translation instruction causes establishment of an entry in a data structure in the network address translation device (page 212 [002] “If a new service connection request is detected by e.g. the ingress port of the top of rack switch or main router … the FlowVisor decides depending on the header information of the packet and his slice policies to which controller it has to be forwarded to”) that indicates a mapping of an IP address (page 212 Table I, Table II “Generally, new services request respectively flow request is delegated by Flow Visor to the corresponding controller. The controller sends the indication of the FlowTable entries back to FlowVisor where they are forwarded to the corresponding switches in the OpenFlow network”),
the first hypervisor address comprising an IP address of the first hypervisor (page 212 Table I “New Dst. IP 10.0.0.10.80).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Lang to incorporate the teachings of Koerner. One of ordinary skill in the art would have been motivated to allow for increase in scalability of network.
Koerner does not explicitly teach wherein the one or more network switches are configured with a set of fixed outgoing Internet Protocol (IP) address, of the set of fixed outgoing IP addresses; detect a change to status information for the network based on the one or more messages from the one or more network switches; wherein the change to status information comprises a change to a policy of a network slice of the plurality of network slices; and select, in response to detecting the change to the status information for the network, a second hypervisor for use by the network switch to communicate with the controller, without reconfiguring the one or more network switches, wherein the status information comprises topology information of the one or more network switches and one or more hypervisors active in the network.
However, teaches Koganti teaches detect a change to status information for the network based on the one or more messages from the one or more network switches ([0056] “Host machines 112 and 114 are coupled to switches 103 and 105, respectively. During operation, switch 103 discovers the hypervisor of host machine 112. Switch 103 then sends a configuration message to the hypervisor with the virtual IP address, and optionally, the virtual MAC address associated with virtual member tunnel gateway 150. In some embodiments, switch 103 forwards the hypervisor information toward virtual gateway switch 150. Switch 101 or 102 receives the information and sends the configuration message to the hypervisor via switch 103”, Examiner’s Note: “the change to status information is the additional hypervisor”));
and select, in response to detecting the change to the status information for the network, a second hypervisor for use by the network switch to communicate with the controller ([0056] “In some embodiments, switch 103 forwards the hypervisor information toward virtual gateway switch 150. Switch 101 or 102 receives the information and sends the configuration message to the hypervisor via switch 103. Upon receiving the configuration message, the hypervisor is dynamically configured with the virtual IP address as the tunnel gateway address. In the same way, the hypervisor in host machine 114 is also configured with the virtual IP address as the tunnel gateway address. This allows fabric switch 100 to act as a distributed tunnel gateway represented by virtual member tunnel gateway 150”, [0065] “RBridge 202 discovers hypervisor 252. RBridge 202 then sends a configuration message to hypervisor 252 comprising virtual IP address 236 … RBridge 202 forwards the hypervisor information toward virtual RBridge 230, and, in response, RBridge 222 or 224 sends the configuration message to hypervisor 252 via switch 202”, [0069] “RBridge 222 can also learn other associated information, such as the MAC and IP addresses of hypervisor 252”). ”),
without reconfiguring the one or more network switches ([0039] “the problem of facilitating overlay tunneling in a fabric switch is solved by operating one or more member switches of the fabric switch as tunnel gateways (which can be referred to as member tunnel gateways) virtualized as one virtual tunnel gateway”, [0056] “Switch 101 or 102 receives the information and sends the configuration message to the hypervisor via switch 103. Upon receiving the configuration message, the hypervisor is dynamically configured with the virtual IP address as the tunnel gateway address. In the same way, the hypervisor in host machine 114 is also configured with the virtual IP address as the tunnel gateway address. This allows fabric switch 100 to act as a distributed tunnel gateway represented by virtual member tunnel gateway 150”)
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combination of Lang, Koerner to incorporate the teachings of Koganti. One of ordinary skill in the art would have been motivated to increase scalability of network.
However, Kolesnik teaches wherein the one or more network switches are configured with a set of fixed outgoing Internet Protocol (IP) address ([0014] network 140 may include a public network (e.g., the Internet), a private network (e.g., a local area network (LAN) or wide area network (WAN)), a wired network (e.g., an Ethernet network), a wireless network (e.g., an 802.11 network or a Wi-Fi network), a cellular network (e.g., a Long Term Evolution (LTE) network), routers, hubs, switches, server computers, and/or a combination thereof.”, [0019] “Network address pool 122 may be a set of network address and the set may be associated with one or more groups of machines. Network address pool 122 may be stored in data store 120 and may include multiple network addresses within one or more ranges of network addresses. Each range of network addresses may have a start network address and an end network address and may include at least some network addresses there between, [0032] “ In other examples, the network address may be any network identifier at any networking layer, such as an IP address or network port number”),
a mapping of an IP address ([0017] “ Each of virtual network interfaces 111A-Z may be associated with one or more network addresses of one or more ISO model layers, for example, a virtual network interface may be associated with an OSI layer two 2 address, which may be represented by a link layer address (e.g., a MAC address). In another example, a virtual network interface may be further associated with one or more network addresses at different OSI layers, such as one or more ISO layer 3 addresses (e.g., Internet Protocol (IP) addresses)”) of the set of fixed outgoing IP addresses ( [0019] “Network address pool 122 may be a set of network address and the set may be associated with one or more groups of machines. Network address pool 122 may be stored in data store 120 and may include multiple network addresses within one or more ranges of network addresses. Each range of network addresses may have a start network address and an end network address and may include at least some network addresses there between, [0032] “ In other examples, the network address may be any network identifier at any networking layer, such as an IP address or network port number”) for the network switch to the first hypervisor address ([0015] “Virtualization may be achieved by running a software layer, often referred to as “hypervisor,” above the hardware and below the virtual machines. A hypervisor may run directly on the server hardware without an operating system beneath it or as an application running under a traditional operating system. A hypervisor may abstract the physical layer and present this abstraction to virtual machines to use, by providing interfaces between the underlying hardware and virtual devices of virtual machines. Network interface virtualization may be implemented by the hypervisor and may provide virtual machines 112A-Z access to physical network interfaces 111A-Z via virtual network interfaces 114A-Z);
wherein the change to status information comprises a change to a policy of a network slice of the plurality of network slices ([0014] “may receive a request for a network address to be associated with a network interface of a machine. The request for a network address may be initiated in response to a request to create or modify a virtual machine. The request to create or modify a virtual machine may have been initiated by a user (e.g., IT administrator, cloud consumer) or another component of the data center, such as a load balancing or provisioning or other similar component, [0036] “In one example, the hierarchy of groups may include at least three groups corresponding respectively to a data center, a cluster and a pool of virtual machines””, (Examiner’s Note: groups is equivalent to slices);
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combination of Lang, Koerner, Koganti to incorporate the teachings of Kolesnik. One of ordinary skill in the art would have been motivated enhance performance because, for example, it may reduce the pool of available addresses and therefore reduce the quantity of network interfaces on a network [0012].
Regarding claims 2, 12, Lang teaches wherein the management server is further configured the first hypervisor for use by the network switch to communicate ([0027] “the routers 18, 20 are requesting new network addresses 54, 56 from the external dynamic network address management server 26”),
and to configure the first hypervisor prior to transmitting the first translation instruction (Fig. 4 “Router/NAT”, [0027] “The routers 18, 20 are mapping network addresses 50, 52 used before suspending the virtual machines 10, 12 to the new network addresses 54, 56. The internal dynamic network address management server 28 is set up to assign the network addresses 50, 52 to MAC addresses of network interfaces of the virtual machines 10, 12”, [0024] “VM2 calls VM1 10 by the old network address 50, IP1, the router 20 translates this address 50 to the new address 54, IP3, which is used for communication over the network 24. The first router 18 translates this address 54, IP3, back to the old address 50, IP1, being used in the network 36 between the router 18, the hypervisor 14 and the VM1 10”).
Lang does not teach to select the hypervisor, with the controller, is associated with the first hypervisor address.
However, Koerner teaches to select the hypervisor, with the controller (page 212 [002] “If a new service connection request is detected by e.g. the ingress port of the top of rack switch or main router … the FlowVisor decides depending on the header information of the packet and his slice policies to which controller it has to be forwarded to”, (Examiner Note: The FlowVisor in Koerner is the controller, The controller in Koerner is the hypervisor).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Lang to incorporate the teachings of Koerner. One of ordinary skill in the art would have been motivated to allow for increase in scalability of network.
Regarding claim 3, Lang teaches wherein the first hypervisor manages communications the network switch ([0024] “VM2 calls VM1 10 by the old network address 50, IP1, the router 20 translates this address 50 to the new address 54, IP3, which is used for communication over the network 24. The first router 18 translates this address 54, IP3, back to the old address 50, IP1, being used in the network 36 between the router 18, the hypervisor 14 and the VM1 10”).
Lang does not teach between the controller.
However, Koerner teaches between the controller (page 212 [002] “If a new service connection request is detected by e.g. the ingress port of the top of rack switch or main router … the FlowVisor decides depending on the header information of the packet and his slice policies to which controller it has to be forwarded to”).
Regarding claim 7, 15, Lang does not teach indicating to the first hypervisor to connect with the controller and access control settings for the controller.
However, Koerner teaches indicating to the first hypervisor to connect with the controller and access control settings for the controller (page 212 [002] “This controller works on a network slice defined by FlowVisor).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Lang to incorporate the teachings of Koerner. One of ordinary skill in the art would have been motivated to allow for increase in scalability of network.
Regarding claim 9, 17, Lang teaches herein the management server is further configured to, transmit a translation instruction, to the network address translation device (Fig. 4 “Router/NAT”, [0027] “The routers 18, 20 are mapping network addresses 50, 52 used before suspending the virtual machines 10, 12 to the new network addresses 54, 56. The internal dynamic network address management server 28 is set up to assign the network addresses 50, 52 to MAC addresses of network interfaces of the virtual machines 10, 12”),
wherein the translation instruction indicates to the network address translation device to forward traffic from the network switch to the second hypervisor address, which is associated with the hypervisor ([0024] “VM2 calls VM1 10 by the old network address 50, IP1, the router 20 translates this address 50 to the new address 54, IP3, which is used for communication over the network 24. The first router 18 translates this address 54, IP3, back to the old address 50, IP1, being used in the network 36 between the router 18, the hypervisor 14 and the VM1 10”).
Lang does not teach second, a second hypervisor address.
Koerner teaches teach second, a second hypervisor address.
([0014] “such as hypervisor system name, hypervisor address (e.g., Internet Protocol (IP) address)”.
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Lang to incorporate the teachings of Koerner. One of ordinary skill in the art would have been motivated to allow for increase in scalability of network.
Regarding claims 16, Lang and Koerner does not teach wherein the management server is further configured to detect a change to status information for the network and select, in response to detecting the change to the status information for the network, a second hypervisor for use by the network switch to communicate with the controller.
However, Koganti teaches wherein the management server is further configured to detect a change to status information for the network ([0091] “fabric switch 500 operates as an ARP server. When virtual machine 534 sends an ARP request, instead of broadcasting (i.e., unicasting multiple copies), hypervisor 532 tunnels a single copy of the request toward virtual member tunnel gateway 510. Switch 505, which is also a member tunnel gateway, receives and decapsulates the request, as described in conjunction with FIGS. 2A and 2B. Switch 505 then distributes the request in fabric switch 500 via multicast tree 592. Similarly, when virtual machine 574 sends an ARP request, hypervisor 572 tunnels a single copy of the request toward virtual member tunnel gateway 510, [0056] “Host machines 112 and 114 are coupled to switches 103 and 105, respectively. During operation, switch 103 discovers the hypervisor of host machine 112. Switch 103 then sends a configuration message to the hypervisor with the virtual IP address, and optionally, the virtual MAC address associated with virtual member tunnel gateway 150”).”)
and select, in response to detecting the change to the status information for the network, a second hypervisor for use by the network switch to communicate with the controller ([0056] “In some embodiments, switch 103 forwards the hypervisor information toward virtual gateway switch 150. Switch 101 or 102 receives the information and sends the configuration message to the hypervisor via switch 103. Upon receiving the configuration message, the hypervisor is dynamically configured with the virtual IP address as the tunnel gateway address. In the same way, the hypervisor in host machine 114 is also configured with the virtual IP address as the tunnel gateway address. This allows fabric switch 100 to act as a distributed tunnel gateway represented by virtual member tunnel gateway 150”, [0065] “RBridge 202 discovers hypervisor 252. RBridge 202 then sends a configuration message to hypervisor 252 comprising virtual IP address 236 … RBridge 202 forwards the hypervisor information toward virtual RBridge 230, and, in response, RBridge 222 or 224 sends the configuration message to hypervisor 252 via switch 202”, [0069] “RBridge 222 can also learn other associated information, such as the MAC and IP addresses of hypervisor 252”). ”).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combination of Lang, Koerner to incorporate the teachings of Koganti. One of ordinary skill in the art would have been motivated to increase scalability of network.
Regarding claim 10, Lang teaches wherein the message is a forwarding plane control message intended for a controller or an initialization message for establishing a connection between the network switch and the management server ([0027] “the routers 18, 20 are requesting new network addresses 54, 56 from the external dynamic network address management server 26”).
Regarding claim 20, Lang teaches wherein the instructions further cause the computing device to: for use by the network switch to communicate ([0027] “the routers 18, 20 are requesting new network addresses 54, 56 from the external dynamic network address management server 26”);
and configure the first hypervisor prior to transmitting the first translation instruction instruction (Fig. 4 “Router/NAT”, [0027] “The routers 18, 20 are mapping network addresses 50, 52 used before suspending the virtual machines 10, 12 to the new network addresses 54, 56. The internal dynamic network address management server 28 is set up to assign the network addresses 50, 52 to MAC addresses of network interfaces of the virtual machines 10, 12”, [0024] “VM2 calls VM1 10 by the old network address 50, IP1, the router 20 translates this address 50 to the new address 54, IP3, which is used for communication over the network 24. The first router 18 translates this address 54, IP3, back to the old address 50, IP1, being used in the network 36 between the router 18, the hypervisor 14 and the VM1 10”).
Lang does not teach select the first hypervisor, with the controller, associated with the first hypervisor address.
Koerner teaches select the first hypervisor, with the controller (page 212 [002] “If a new service connection request is detected by e.g. the ingress port of the top of rack switch or main router … the FlowVisor decides depending on the header information of the packet and his slice policies to which controller it has to be forwarded to”, (Examiner Note: The FlowVisor in Koerner is the controller).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Lang to incorporate the teachings of Koerner. One of ordinary skill in the art would have been motivated to allow for increase in scalability of network.
Claims 6, 14, 22 is/are rejected under 35 U.S.C. 103 as being unpatentable over Lang in view of Koerner in view of Koganti further in view of Kolesnik as applied to claim 1-3, 7,9-12, 15,16, 17, 19, 20 above, and further in view of Bansal et al.(US 20180176255 herein after Bansal).
Regarding claim 6, 14, 22 Lang teaches wherein the hypervisor instance is the first hypervisor ([0024] “VM2 calls VM1 10 by the old network address 50, IP1, the router 20 translates this address 50 to the new address 54, IP3, which is used for communication over the network 24. The first router 18 translates this address 54, IP3, back to the old address 50, IP1, being used in the network 36 between the router 18, the hypervisor 14 and the VM1 10”).
Lang, Koerner, Koganti, Kolesnik does not explicitly teach creating a hypervisor instance.
However, Bansal teaches creating a hypervisor instance ([0014] “In addition, a hypervisor 140 is installed in host machine 130 as virtualization software to support the execution of VMs, e.g., VMs 160, 170”).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combination of Lang, Koerner, Koganti, Kolesnik to incorporate the teachings of Bansal. One of ordinary skill in the art would have been motivated to increase the performance of the system.
Claims 5, 13, 21 is/are rejected under 35 U.S.C. 103 as being unpatentable over Lang in view of Koerner further in view of Koganti further in view of Kolesnik as applied to claims 1-3, 7,9-12, 15,16, 17, 19, 20 above, and further in view of Feng et al.( US 20180165111 herein after Feng).
Regarding claim 5, 13, 21, Lang, Koerner, Koganti, Kolesnik does not teaches receiving, by the management server, registration messages from the one or more hypervisors active in the network, wherein the registration messages indicate one or more of hypervisor availability and capacity, wherein the first hypervisor is selected based on a registration message from the first hypervisor.
However, Feng teaches receiving, by the management server, registration messages from the one or more hypervisors active in the network ([0069] “a hypervisor resource optimizer module can be installed on each hypervisor to collect dynamic consumable resource usage data including available CPU capacity by importance level and periodically report metrics to the scheduler”), wherein the registration messages indicate one or more of hypervisor availability and capacity ([0069] “a hypervisor resource optimizer module can be installed on each hypervisor to collect dynamic consumable resource usage data including available CPU capacity by importance level and periodically report metrics to the scheduler”), wherein the first hypervisor is selected based on a registration message from the first hypervisor ([0059] “The selection of the target hypervisor relies on the projection of the available CPU capacity at a given business importance level on a given hypervisor”).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combination of Lang, Koerner, Koganti, Kolesnik to incorporate the teachings of Feng. One of ordinary skill in the art would have been motivated to increase the performance of the system.
Claim 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Lang in view of Koerner further in view of Koganti, Kolesnik as applied to claims 1-3, 7,9-12, 15,16, 17, 19, 20 above, and further in view of Sathyanarayana et al.(US 20180352038 herein after Sathyanarayana).
Regarding claim 18, Lang teaches wherein the network device is a computing device configured to execute a plurality of virtual machines, the plurality of virtual machines (Fig. 3 “VM 1 VM n”, [0023] “depicts the computer system 212 of FIG. 1 after resuming the virtual machines 10, 12. On resuming, both virtual machines 10, 12 require the previously used network addresses 50, 52 to establish connections between the virtual machines 10, 12 again”).
Koerner, Koganti, Kolesnik does not teach implementing network function virtualization (NFV) or the network device is a control plane device configured to implement a control plane of a software defined network (SDN).
However, Sathyanarayana teaches implementing network function virtualization (NFV) ([0061] “An NFVI 304 may also include the software architecture that enables hypervisors to run and be managed by NFV orchestrator 302.Running on NFVI 304 are a number of virtual machines, each of which in this example is a VNF providing a virtual service appliance”) or the network device is a control plane device configured to implement a control plane of a software defined network (SDN).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combination of Lang, Koerner, Koganti, Kolesnik to incorporate the teachings of Sathyanarayana. One of ordinary skill in the art would have been motivated to create a more dynamic system.
Response to Arguments
Applicant's arguments filed 12/08/2025 have been fully considered but they are not persuasive.
Applicant’s Argument
Applicant submits, While the Kolesnik reference may disclose a pool of IP addresses, it does not teach or suggest the one or more network switches are configured with a set of fixed outgoing static IP addresses, or the first translation instruction causes establishment of an entry in a data structure in the network address translation device that indicates a mapping of a static IP address of the set of fixed outgoing static IP addresses for the network switch to the first hypervisor address, as claimed.
Examiner’s Response
Examiner respectfully disagrees. See updated rejection. The combination of Lang et al. in view of Koerner et al further in view of Koganti further in view of Kolesnik teaches the claimed limitation “the one or more network switches are configured with a set of fixed outgoing static IP addresses, or the first translation instruction causes establishment of an entry in a data structure in the network address translation device that indicates a mapping of a static IP address of the set of fixed outgoing static IP addresses for the network switch to the first hypervisor address, as claimed”.
More specifically, in regards to the amended “static IP address”. Lang is now relied upon to specially show the static IP address in ([0003] “his enables a network administrator to manage all of the addresses for all networked machines through the centralized DHCP server, and in particular, allows the network administrator to reclaim a permanent or static network address from a machine without having to physically go to the machine”, [0023] “Further static routing for calls to the old network address 50, 52 from the other virtual machine 10, 12 to the new address 54, 56 is established”).
Furthermore, Kolesnick which does not utilize the word “static,” it does provide a pool of addresses that does not appear to be changed throughout. The base reference, Lang, does teach the use of static network addresses (Lang: Paragraph [0003]). In view of the lack of disclosure of Kolesnick of changing the addresses and the use of static addresses in Lang the combination of shows the one or more network switches are configured with a set of fixed outgoing static IP addresses.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Kolesnik et al. (US 20180341506) provide the set of configuration settings to a hypervisor that is configuring a corresponding network connection on a host machine from the cluster.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KEITH TRAN-DANH FOLLANSBEE whose telephone number is (571)272-3071. The examiner can normally be reached 10am -6 pm M-Th.
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, Derrick Ferris can be reached on 571-272-3123. 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.
/K.T.F./ Examiner, Art Unit 2411
/DERRICK W FERRIS/ Supervisory Patent Examiner, Art Unit 2411