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 .
This action is responsive to communication received on 12/30/2025. Claims 1, 4, 6-8, 10-12, 14, 16-17 and 19-20.
The Examiner recommends filing a written authorization for Internet communication in response to the present action. Doing so permits the USPTO to communicate with Applicant using Internet email to schedule interviews or discuss other aspects of the application. Without a written authorization in place, the USPTO cannot respond to Internet correspondence received from Applicant. The preferred method of providing authorization is by filing form PTO/SB/439, available at: https://www.uspto.gov/patent/forms/forms. See MPEP § 502.03 for other methods of providing written authorization.
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, 4, 6-8, 10-12, 14, 16-17 and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Pianigiani US 2020/0344120 and further in view of Ganesan US 2024/0267332
Regarding claims 1, and 12, Pianigiani teaches a method and non-transitory CRM comprising: obtaining internet (IP) protocol addresses for each of a plurality of spine switches in a spine layer and for each of a plurality of servers in a server layer(first the SDN controller via management switch obtains switch configuration information from one or more fabric switches, second step the system obtains server configuration information ¶12, fabric switches can be spine switches , ¶32, switch configuration information include IP address from assigned DHCP protocol, ¶64)
obtaining connectivity information for the spine layer(SDN controller obtain information of fabric switch i.e. spine switches, ¶12)
obtaining connectivity information for a plurality of ports in the server layer(SDN obtain information via management switch regarding the configuration of servers include the interfaces/ports that the server and fabric switches are connected, such is used to generate switch port configuration information(i.e. mapping of switch ports to server ports/interfaces) ¶12)
[0012] In another example aspect, a system includes a fabric management server having a first management port; a physical server having a second management port; a management switch communicably coupled to the first and second management ports; and one or more Internet Protocol (IP) fabric switches communicably coupled to the physical server; wherein the fabric management server comprises a first Software Defined Networking (SDN) controller configured to: receive switch configuration information for the one or more IP fabric switches communicably via the management switch, discover a physical server communicably coupled to the management switch, receive, from the physical server via the management switch, server configuration information associated with one or more network interfaces coupling the physical server to an IP fabric switch of the one or more IP fabric switches, determine, based at least in part on the server configuration information and the switch configuration information, an IP fabric configuration, provide switch port configuration information to the one or more switches, wherein the switch port configuration information is based, at least in part, on the IP fabric configuration, and provide server network interface configuration information to the physical server, wherein the server network interface configuration information is based, at least in part, on the IP fabric configuration.
[0032] Switch fabric 20 may include top-of-rack (TOR) switches 16A-16N coupled to a distribution layer of chassis switches 18A-18M, and data center 10A may include one or more non-edge switches, routers, hubs, gateways, security devices such as firewalls, intrusion detection, and/or intrusion prevention devices, servers, computer terminals, laptops, printers, databases, wireless mobile devices such as cellular phones or personal digital assistants, wireless access points, bridges, cable modems, application accelerators, or other network devices. Data center 10A includes servers 12A-12X interconnected via the high-speed switch fabric 20 provided by one or more tiers of physical network switches and routers. Switch fabric 20 is provided by the set of interconnected top-of-rack (TOR) switches 16A-16N (collectively, “TOR switches 16”) coupled to the distribution layer of chassis switches 18A-18M (collectively, “chassis switches 18”). In some examples, chassis switches 18 may operate as spine nodes and TOR switches 16 may operate as leaf nodes in data center 10A. Although not shown, data center 10A may also include, for example, one or more non-edge switches, routers, hubs, gateways, security devices such as firewalls, intrusion detection, and/or intrusion prevention devices, servers, computer terminals, laptops, printers, databases, wireless mobile devices such as cellular phones or personal digital assistants, wireless access points, bridges, cable modems, application accelerators, or other network devices.
[0064] A virtual_network data structure 418A and 418B can include data describing virtual networks that are configured for the data center 10A. In the example illustrated in FIGS. 4C and 4D, the virtual_network data structure 418A identifies a virtual_network labeled “PROVISIONING_NW” and virtual_network data structure 418B identifies a virtual network labeled “TENANT_NW.” In addition, IP Address Management (IPAM) data can be stored for the virtual networks. In the example illustrated in FIGS. 4C and 4D, a network_IPAM data structure 420A stores IPAM data associated with the provisioning virtual network and network_IPAM data structure 420B stores IPAM data associated with the tenant virtual network. The IPAM data can include IP addresses for gateways and Dynamic Host Configuration Protocol (DHCP) relays for the network, and can include VLAN configuration data.
wherein each of the ports is a processing units, wherein each of the ports is located on one of a plurality of processing units in the server layer(ports are connected to servers via fabric/spine switch switch, ¶s 12, 32)
[0012] In another example aspect, a system includes a fabric management server having a first management port; a physical server having a second management port; a management switch communicably coupled to the first and second management ports; and one or more Internet Protocol (IP) fabric switches communicably coupled to the physical server; wherein the fabric management server comprises a first Software Defined Networking (SDN) controller configured to: receive switch configuration information for the one or more IP fabric switches communicably via the management switch, discover a physical server communicably coupled to the management switch, receive, from the physical server via the management switch, server configuration information associated with one or more network interfaces coupling the physical server to an IP fabric switch of the one or more IP fabric switches, determine, based at least in part on the server configuration information and the switch configuration information, an IP fabric configuration, provide switch port configuration information to the one or more switches, wherein the switch port configuration information is based, at least in part, on the IP fabric configuration, and provide server network interface configuration information to the physical server, wherein the server network interface configuration information is based, at least in part, on the IP fabric configuration.
[0032] Switch fabric 20 may include top-of-rack (TOR) switches 16A-16N coupled to a distribution layer of chassis switches 18A-18M, and data center 10A may include one or more non-edge switches, routers, hubs, gateways, security devices such as firewalls, intrusion detection, and/or intrusion prevention devices, servers, computer terminals, laptops, printers, databases, wireless mobile devices such as cellular phones or personal digital assistants, wireless access points, bridges, cable modems, application accelerators, or other network devices. Data center 10A includes servers 12A-12X interconnected via the high-speed switch fabric 20 provided by one or more tiers of physical network switches and routers. Switch fabric 20 is provided by the set of interconnected top-of-rack (TOR) switches 16A-16N (collectively, “TOR switches 16”) coupled to the distribution layer of chassis switches 18A-18M (collectively, “chassis switches 18”). In some examples, chassis switches 18 may operate as spine nodes and TOR switches 16 may operate as leaf nodes in data center 10A. Although not shown, data center 10A may also include, for example, one or more non-edge switches, routers, hubs, gateways, security devices such as firewalls, intrusion detection, and/or intrusion prevention devices, servers, computer terminals, laptops, printers, databases, wireless mobile devices such as cellular phones or personal digital assistants, wireless access points, bridges, cable modems, application accelerators, or other network devices.
generating, by a virtual Top Of Rack (ToR) switch (VTS), a port mapping using the connectivity information for the spine layer, the connectivity information for the plurality of ports, and the IP addresses(SDN controller using switch configuration and server configuration info obtained in discovery process generates switch port configuration that is used to manage and monitor the network, ¶12, 34)
[0034] Switch fabric 20 may perform layer 3 routing to route network traffic between data center 10A and customers 11 by service provider network 7. Gateway 108 acts to forward and receive packets between switch fabric 20 and service provider network 7. Data center 10A includes an overlay network that extends switch fabric 20 from physical switches 18, 16 to software or “virtual” switches. For example, virtual routers 30A-30X located in servers 12A-12X, respectively, may extend the switch fabric 20 by communicatively coupling with one or more of the physical switches located within the switch fabric 20. Virtual switches may dynamically create and manage one or more virtual networks usable for communication between application instances. In one example, virtual routers 30A-30X execute the virtual network as an overlay network, which provides the capability to decouple an application's virtual address from a physical address (e.g., IP address) of the one of servers 12A-12X on which the application is executing. Each virtual network may use its own addressing and security scheme and may be viewed as orthogonal from the physical network and its addressing scheme. Various techniques may be used to transport packets within and across virtual network(s) over the physical network.
wherein the VTS is executing on a management server that is operatively connected to the server layer, wherein the management server is not directly connected to the spine layer(SDN controller performs discovery protocol using LLDP request via management switch to servers to interrogate and discover ports and interfaces connections between servers and fabric switches, ¶71 SDN connects via management interface(ipmi/bmc) via management to management port of servers to obtain interface information, thus the SDN(i.e.VTS) is not directly connected to spine layer)
[0071] After being power cycled (or rebooted), the server boots from a Pre-Boot eXecution Environment (PXE) interface. In some aspects, the PXE interface is communicably coupled to provisioning VLAN 306 (FIG. 3). The PXE interface can obtain an introspector 330 (FIG. 3C) from provisioning server 210 that performs an introspection of the server (610). The introspection can include obtaining a list of network interfaces on the server, and a mapping of the server network interfaces to switch ports based on Link Layer Discover Protocol (LLDP) data produced as a result of the introspection. An example of the data returned as a result of the introspection is provided in Table 1 of FIG. 7. In the example illustrated in FIG. 7, the introspector found four network interfaces (en01, en02, ens2f0 and ens2f1), their respective Media Access Control (MAC) addresses, and the corresponding switch and switch ports connected to the respective network interfaces. After the introspector performs the introspection, the introspector can send the resultant server configuration data to the provisional SDN controller 142 (612). As an example, in conjunction with the server discovery process discussed above, the provisional SDN controller 142 can add data structures such as the example data structures 408 and 410, illustrated in FIG. 4B to the configuration data 216. The network configuration state can be similar to the example discussed above with respect to FIG. 3C.
and configuring, using the VTS and the port mapping, the plurality of ports(orchestration server via the SDN controller(i.e. virtual tor switch) relays commands to configure servers and switches, ¶37)
[0037] In some examples, SDN controller 132 manages the network and networking services such load balancing, security, and allocate resources from servers 12 to various applications via southbound API 133. That is, southbound API 133 represents a set of communication protocols utilized by SDN controller 132 to make the actual state of the network equal to the desired state as specified by orchestration engine 130. One such communication protocol may include a messaging communications protocol such as XMPP, for example. For example, SDN controller 132 implements high-level requests from orchestration engine 130 by configuring physical switches, e.g. TOR switches 16, chassis switches 18, and switch fabric 20; physical routers; physical service nodes such as firewalls and load balancers; and virtual services such as virtual firewalls in a virtualized environment. SDN controller 132 maintains routing, networking, and configuration information within a state database. SDN controller 132 communicates a suitable subset of the routing information and configuration information from the state database to virtual router (VR) 30A-30X or agents 35A-35X (“AGENT” in FIG. 1) on each of servers 12A-12X.
Pianigiani teaches the servers ports are connected to (CPUs) but does not teach the servers/host include DPUs thus Pianigiani does not teach a server layer with plurality of DPUs and DPU ports. Ganesan in the same as the invention teaches a system for control and management of DPU processing systems. Ganesan teaches a server layer with plurality of DPUs and DPU ports( managing DPU include identifying the addresses of DPU ports and interfaces the ports are connected to using LLDP discovery, ¶27,29)
[0027] The method 400 begins at block 402 where a networking device identifies a DPU. In an embodiment, at block 402, the TOR switch sub-engine 304a in the DPU control/management offload engine 304 of each of the TOR switch devices 210a/300 and 210b/300 may identify each of the DPUs 204a-208a in the DPU node devices 202-208. For example, with reference to FIGS. 5A and 5B, the TOR switch sub-engine 304a in the DPU control/management offload engine 304 of each of the TOR switch devices 210a/300 and 210b/300 may perform DPU discovery operations 500 via their communication systems 308 and with the agents 202b-208b provided on each of the DPUs 202a. In a specific example, the DPU discovery operations 500 may include the TOR switch sub-engine 304a in the DPU control/management offload engine 304 of each of the TOR switch devices 210a/300 and 210b/300 exchanging Link Layer Discovery Protocol (LLDP) communications via their communication systems 308 and with each of the agents 202b-208b provided on each of the DPUs 202a, which one of skill in the art in possession of the present disclosure will appreciate may provide for the discovery of each of the DPUs 202a-208a provided with those agents 202b-208b, as well as the retrieval of any of a variety of DPU information that would be apparent to one of skill in the art in possession of the present disclosure. As discussed above, in some embodiments the agents 202b-208b may initially be configured with limited functionality that allows for the DPU discovery operations 500, and as discussed below those agents 202b-208b may subsequently be configured with other functionality required to perform the method 400 subsequent to the discovery of their corresponding DPU. However, as discussed above, the provisioning of “fully functional” agents on the DPUs prior to DPU discovery is envisioned as falling within the scope of the present disclosure as well.
[0029] The method 400 then proceeds to block 404 where the networking device generates a virtual networking device in the networking device for the DPU. In an embodiment, at block 404 and in response to identifying the DPUs at block 402, the TOR switch sub-engine 304a in the DPU control/management offload engine 304 of each of the TOR switch devices 210a/300 and 210b/300 may generate a virtual networking device (also referred to as a “switch instance”) for each of the DPUs identified at block 402. For example, each virtual networking device generated for a respective DPU may be generated using DPU information that was retrieved via the discovery of that DPU, that was included in the DPU control/management offload database 306 in association with the identification of that DPU, and/or that is available via other techniques that would be apparent to one of skill in the art in possession of the present disclosure. As discussed below, any virtual networking device generated for a DPU identified at block 402 may include a virtual interface for each physical interface included on that DPU, with the virtual interface derived based on outgoing interface metadata, connectivity information, and/or other information that would be apparent to one of skill in the art in possession of the present disclosure. To provide a specific example, if an outgoing physical port or other interface on a TOR switch device identified by “port 1/25” is connected to an incoming physical port or other interface on the DPU identified by “1/1”, the virtual networking device generated for that DPU may be provided a virtual interface identified by “vEth1”.
It would have been obvious to a person of ordinary skill in the art at the time of the effective filing of the instant application to modify Pianigiani’s server CPU with DPUs as taught by Ganesan. The reason for this modification would be implement a simple substitution of a server/CPU with known equivalents of DPU for implantation of networking stowage and data movement networks.
Regarding claim 20, Kommula teaches a method for managing servers, comprising: obtaining connectivity information for a plurality of ports and the plurality of switches, wherein each of the ports is a CPU, and wherein each of the ports is located on one of a plurality of CPUs on one of a plurality of servers (SDN obtain information via management switch regarding the configuration of servers include the interfaces/ports that the server and fabric switches are connected, such is used to generate switch port configuration information(i.e. mapping of switch ports to server ports/interfaces) ¶12)
[0012] In another example aspect, a system includes a fabric management server having a first management port; a physical server having a second management port; a management switch communicably coupled to the first and second management ports; and one or more Internet Protocol (IP) fabric switches communicably coupled to the physical server; wherein the fabric management server comprises a first Software Defined Networking (SDN) controller configured to: receive switch configuration information for the one or more IP fabric switches communicably via the management switch, discover a physical server communicably coupled to the management switch, receive, from the physical server via the management switch, server configuration information associated with one or more network interfaces coupling the physical server to an IP fabric switch of the one or more IP fabric switches, determine, based at least in part on the server configuration information and the switch configuration information, an IP fabric configuration, provide switch port configuration information to the one or more switches, wherein the switch port configuration information is based, at least in part, on the IP fabric configuration, and provide server network interface configuration information to the physical server, wherein the server network interface configuration information is based, at least in part, on the IP fabric configuration.
[0032] Switch fabric 20 may include top-of-rack (TOR) switches 16A-16N coupled to a distribution layer of chassis switches 18A-18M, and data center 10A may include one or more non-edge switches, routers, hubs, gateways, security devices such as firewalls, intrusion detection, and/or intrusion prevention devices, servers, computer terminals, laptops, printers, databases, wireless mobile devices such as cellular phones or personal digital assistants, wireless access points, bridges, cable modems, application accelerators, or other network devices. Data center 10A includes servers 12A-12X interconnected via the high-speed switch fabric 20 provided by one or more tiers of physical network switches and routers. Switch fabric 20 is provided by the set of interconnected top-of-rack (TOR) switches 16A-16N (collectively, “TOR switches 16”) coupled to the distribution layer of chassis switches 18A-18M (collectively, “chassis switches 18”). In some examples, chassis switches 18 may operate as spine nodes and TOR switches 16 may operate as leaf nodes in data center 10A. Although not shown, data center 10A may also include, for example, one or more non-edge switches, routers, hubs, gateways, security devices such as firewalls, intrusion detection, and/or intrusion prevention devices, servers, computer terminals, laptops, printers, databases, wireless mobile devices such as cellular phones or personal digital assistants, wireless access points, bridges, cable modems, application accelerators, or other network devices.
[0064] A virtual_network data structure 418A and 418B can include data describing virtual networks that are configured for the data center 10A. In the example illustrated in FIGS. 4C and 4D, the virtual_network data structure 418A identifies a virtual_network labeled “PROVISIONING_NW” and virtual_network data structure 418B identifies a virtual network labeled “TENANT_NW.” In addition, IP Address Management (IPAM) data can be stored for the virtual networks. In the example illustrated in FIGS. 4C and 4D, a network_IPAM data structure 420A stores IPAM data associated with the provisioning virtual network and network_IPAM data structure 420B stores IPAM data associated with the tenant virtual network. The IPAM data can include IP addresses for gateways and Dynamic Host Configuration Protocol (DHCP) relays for the network, and can include VLAN configuration data.
generating, by a virtual Top Of Rack (ToR) switch (VTS) executing on a management server, a port mapping using the connectivity information(SDN controller using switch configuration and server configuration info obtained in discovery process generates switch port configuration that is used to manage and monitor the network, ¶12, 34)
[0034] Switch fabric 20 may perform layer 3 routing to route network traffic between data center 10A and customers 11 by service provider network 7. Gateway 108 acts to forward and receive packets between switch fabric 20 and service provider network 7. Data center 10A includes an overlay network that extends switch fabric 20 from physical switches 18, 16 to software or “virtual” switches. For example, virtual routers 30A-30X located in servers 12A-12X, respectively, may extend the switch fabric 20 by communicatively coupling with one or more of the physical switches located within the switch fabric 20. Virtual switches may dynamically create and manage one or more virtual networks usable for communication between application instances. In one example, virtual routers 30A-30X execute the virtual network as an overlay network, which provides the capability to decouple an application's virtual address from a physical address (e.g., IP address) of the one of servers 12A-12X on which the application is executing. Each virtual network may use its own addressing and security scheme and may be viewed as orthogonal from the physical network and its addressing scheme. Various techniques may be used to transport packets within and across virtual network(s) over the physical network.
wherein the management server is not directly connected to the plurality of switches (¶71 SDN connects via management interface(ipmi/bmc) via management to management port of servers to obtain interface information, thus the SDN(i.e.VTS) is not directly connected to spine layer)
[0071] After being power cycled (or rebooted), the server boots from a Pre-Boot eXecution Environment (PXE) interface. In some aspects, the PXE interface is communicably coupled to provisioning VLAN 306 (FIG. 3). The PXE interface can obtain an introspector 330 (FIG. 3C) from provisioning server 210 that performs an introspection of the server (610). The introspection can include obtaining a list of network interfaces on the server, and a mapping of the server network interfaces to switch ports based on Link Layer Discover Protocol (LLDP) data produced as a result of the introspection. An example of the data returned as a result of the introspection is provided in Table 1 of FIG. 7. In the example illustrated in FIG. 7, the introspector found four network interfaces (en01, en02, ens2f0 and ens2f1), their respective Media Access Control (MAC) addresses, and the corresponding switch and switch ports connected to the respective network interfaces. After the introspector performs the introspection, the introspector can send the resultant server configuration data to the provisional SDN controller 142 (612). As an example, in conjunction with the server discovery process discussed above, the provisional SDN controller 142 can add data structures such as the example data structures 408 and 410, illustrated in FIG. 4B to the configuration data 216. The network configuration state can be similar to the example discussed above with respect to FIG. 3C.
and configuring, using the VTS and the port mapping, a port of the plurality of ports(orchestration server via the SDN controller(i.e. virtual tor switch) relays commands to configure servers and switches, ¶37)
[0037] In some examples, SDN controller 132 manages the network and networking services such load balancing, security, and allocate resources from servers 12 to various applications via southbound API 133. That is, southbound API 133 represents a set of communication protocols utilized by SDN controller 132 to make the actual state of the network equal to the desired state as specified by orchestration engine 130. One such communication protocol may include a messaging communications protocol such as XMPP, for example. For example, SDN controller 132 implements high-level requests from orchestration engine 130 by configuring physical switches, e.g. TOR switches 16, chassis switches 18, and switch fabric 20; physical routers; physical service nodes such as firewalls and load balancers; and virtual services such as virtual firewalls in a virtualized environment. SDN controller 132 maintains routing, networking, and configuration information within a state database. SDN controller 132 communicates a suitable subset of the routing information and configuration information from the state database to virtual router (VR) 30A-30X or agents 35A-35X (“AGENT” in FIG. 1) on each of servers 12A-12X.
Pianigiani teaches the servers ports are connected to (CPUs) but does not teach the servers/host include DPUs thus Pianigiani does not teach a server layer with plurality of DPUs and DPU ports. Ganesan in the same as the invention teaches a system for control and management of DPU processing systems. Ganesan teaches a server layer with plurality of DPUs and DPU ports( managing DPU include identifying the addresses of DPU ports and interfaces the ports are connected to using LLDP discovery, ¶27,29)
[0027] The method 400 begins at block 402 where a networking device identifies a DPU. In an embodiment, at block 402, the TOR switch sub-engine 304a in the DPU control/management offload engine 304 of each of the TOR switch devices 210a/300 and 210b/300 may identify each of the DPUs 204a-208a in the DPU node devices 202-208. For example, with reference to FIGS. 5A and 5B, the TOR switch sub-engine 304a in the DPU control/management offload engine 304 of each of the TOR switch devices 210a/300 and 210b/300 may perform DPU discovery operations 500 via their communication systems 308 and with the agents 202b-208b provided on each of the DPUs 202a. In a specific example, the DPU discovery operations 500 may include the TOR switch sub-engine 304a in the DPU control/management offload engine 304 of each of the TOR switch devices 210a/300 and 210b/300 exchanging Link Layer Discovery Protocol (LLDP) communications via their communication systems 308 and with each of the agents 202b-208b provided on each of the DPUs 202a, which one of skill in the art in possession of the present disclosure will appreciate may provide for the discovery of each of the DPUs 202a-208a provided with those agents 202b-208b, as well as the retrieval of any of a variety of DPU information that would be apparent to one of skill in the art in possession of the present disclosure. As discussed above, in some embodiments the agents 202b-208b may initially be configured with limited functionality that allows for the DPU discovery operations 500, and as discussed below those agents 202b-208b may subsequently be configured with other functionality required to perform the method 400 subsequent to the discovery of their corresponding DPU. However, as discussed above, the provisioning of “fully functional” agents on the DPUs prior to DPU discovery is envisioned as falling within the scope of the present disclosure as well.
[0029] The method 400 then proceeds to block 404 where the networking device generates a virtual networking device in the networking device for the DPU. In an embodiment, at block 404 and in response to identifying the DPUs at block 402, the TOR switch sub-engine 304a in the DPU control/management offload engine 304 of each of the TOR switch devices 210a/300 and 210b/300 may generate a virtual networking device (also referred to as a “switch instance”) for each of the DPUs identified at block 402. For example, each virtual networking device generated for a respective DPU may be generated using DPU information that was retrieved via the discovery of that DPU, that was included in the DPU control/management offload database 306 in association with the identification of that DPU, and/or that is available via other techniques that would be apparent to one of skill in the art in possession of the present disclosure. As discussed below, any virtual networking device generated for a DPU identified at block 402 may include a virtual interface for each physical interface included on that DPU, with the virtual interface derived based on outgoing interface metadata, connectivity information, and/or other information that would be apparent to one of skill in the art in possession of the present disclosure. To provide a specific example, if an outgoing physical port or other interface on a TOR switch device identified by “port 1/25” is connected to an incoming physical port or other interface on the DPU identified by “1/1”, the virtual networking device generated for that DPU may be provided a virtual interface identified by “vEth1”.
It would have been obvious to a person of ordinary skill in the art at the time of the effective filing of the instant application to modify Pianigiani’s server CPU with DPUs as taught by Ganesan. The reason for this modification would be implement a simple substitution of a server/CPU with known equivalents of DPU for implantation of networking stowage and data movement networks.
Regarding claim 4, Pianigiani teaches wherein the management server is operatively connected to the server layer using a management switch, wherein the management switch is connected to each of the plurality of servers in the server layer via an out-of-band (OOB) management network(SDN controller connected via management switch using out-of-band management interface, in this particular case using IPMI protocol).
[0047] FIG. 2 is a block diagram illustrating an example implementation of a data center in the example computer network system of FIG. 1 in further detail. In the example of FIG. 2, data center 10A includes a fabric management server 140 and a provisioning server 210 communicably coupled to a management switch 202. Servers 12, chassis switches 18 and TOR switches 16 are also communicably coupled to the management switch 202. The management switch and the server connections and switch connections to the management switch form an out-of-band management network.
Regarding claims 6, Pianigiani teaches wherein the connectivity information for the spine layer is determined using link layer discovery protocol (LLDP)(LLDP based probe messages used for device information discovery, of switches/servers, ¶71).
[0071] After being power cycled (or rebooted), the server boots from a Pre-Boot eXecution Environment (PXE) interface. In some aspects, the PXE interface is communicably coupled to provisioning VLAN 306 (FIG. 3). The PXE interface can obtain an introspector 330 (FIG. 3C) from provisioning server 210 that performs an introspection of the server (610). The introspection can include obtaining a list of network interfaces on the server, and a mapping of the server network interfaces to switch ports based on Link Layer Discover Protocol (LLDP) data produced as a result of the introspection. An example of the data returned as a result of the introspection is provided in Table 1 of FIG. 7. In the example illustrated in FIG. 7, the introspector found four network interfaces (en01, en02, ens2f0 and ens2f1), their respective Media Access Control (MAC) addresses, and the corresponding switch and switch ports connected to the respective network interfaces. After the introspector performs the introspection, the introspector can send the resultant server configuration data to the provisional SDN controller 142 (612). As an example, in conjunction with the server discovery process discussed above, the provisional SDN controller 142 can add data structures such as the example data structures 408 and 410, illustrated in FIG. 4B to the configuration data 216. The network configuration state can be similar to the example discussed above with respect to FIG. 3C.
Regarding claim 7, Pianigiani/Ganesan teaches wherein the connectivity information for the plurality of DPU ports is determined using link layer discovery protocol (LLDP) (Oianigiani ¶71,LLDP based probe messages used for device information discovery, of switches/servers and ports there where port are DPU port as taught by Ganesan (¶27) ).
Regarding claim 8, Pianigiani/Ganesan teaches wherein the VTS comprises a plurality of virtual interfaces, wherein the port mapping associates each of the plurality of virtual interfaces to one of the plurality of DPU ports(Pianigiani, ¶71 teaches generation of a mapping of CPU port to server network interfaces, where the CPU ports are DPU ports as taught by Ganesan(¶27))
Regarding claim 10, combination of Pianigiani/Ganesan teaches wherein configuring the plurality of DPU ports further comprises: obtaining, from a user, a configuration request specifying a virtual interface of the plurality of virtual interfaces( Pianigiani ¶s 42,43 teach the SDN controller allows administrators to orchestrate the network(,i.e. configure ports , deploy services), where the CPU are DPUs of Ganesan(, ¶27)
generating, based on the configuration request and the port mapping, a DPU configuration request specifying a DPU port of the plurality of DPU ports that corresponds to the virtual interface(Pianigiani, ¶71 teaches generation of a mapping of CPU port to server network interfaces, where the CPU ports are DPU ports as taught by Ganesan(¶27))
[0071] After being power cycled (or rebooted), the server boots from a Pre-Boot eXecution Environment (PXE) interface. In some aspects, the PXE interface is communicably coupled to provisioning VLAN 306 (FIG. 3). The PXE interface can obtain an introspector 330 (FIG. 3C) from provisioning server 210 that performs an introspection of the server (610). The introspection can include obtaining a list of network interfaces on the server, and a mapping of the server network interfaces to switch ports based on Link Layer Discover Protocol (LLDP) data produced as a result of the introspection. An example of the data returned as a result of the introspection is provided in Table 1 of FIG. 7. In the example illustrated in FIG. 7, the introspector found four network interfaces (en01, en02, ens2f0 and ens2f1), their respective Media Access Control (MAC) addresses, and the corresponding switch and switch ports connected to the respective network interfaces. After the introspector performs the introspection, the introspector can send the resultant server configuration data to the provisional SDN controller 142 (612). As an example, in conjunction with the server discovery process discussed above, the provisional SDN controller 142 can add data structures such as the example data structures 408 and 410, illustrated in FIG. 4B to the configuration data 216. The network configuration state can be similar to the example discussed above with respect to FIG. 3C.
and issuing the DPU configuration request to a server of the plurality of servers, wherein the server comprises the DPU port specified by the DPU configuration request(configuring DPUs Ganesan ¶40).
[0040] In some embodiments, following the configuration of the virtual networking devices provided by the TOR switch devices 210a and 210b, the agents 202b-208b running on the DPUs 202a-208a may be configured to operate with the virtual networking devices generated for them. For example, as discussed above, in some embodiments the agents 202b-208b running on the DPUs 202a-208a may initially be provided with relatively limited functionality that is configured to, for example, allow the DPUs 202a-208a to be discovered and configured as discussed above, and may be provided with any additional functionality after the discovery of their corresponding DPU 202a-208a and configuration of the virtual networking devices generated for those DPUs 202a-208a. As such, one of skill in the art in possession of the present disclosure will appreciate how any of a variety of configurations may be applied to the agents 202b-208b running on the DPUs 202a-208a following the configuration of their corresponding virtual networking devices in order to enable the functionality discussed below. However, as also discussed above, the provisioning of “fully functional” agents 202b-208b on the DPUs 202a-208a prior to DPU discovery and/or virtual networking device configuration is envisioned as falling within the scope of the present disclosure as well.
Regarding claim 11, the combination of PIanigiani/Ganesan teaches wherein configuring the plurality of DPU port further comprises: after issuing the DPU configuration request, receiving status information from the server, wherein the status information specifies the DPU port(Pianigiani, ¶65 teaches administrator can configure ports such bonding two ports and receive the results of the configuration, where the ports are DPU ports of Ganesan (¶27) )
translating the status information into a configuration response, wherein the configuration response specifies the virtual interface(Pianigiani, ¶65 teaches administrator can configure ports such bonding two ports and receive the results of the configuration, where the ports are DPU ports of Ganesan (¶27) )
and issuing the configuration response to the user(Pianigiani ¶112 teaches information on the cluster displayed for the user ).
[0065] FIG. 4D illustrates the above-described configuration data structures after the provisional SDN controller 142 has linked the data structures to reflect the physical and virtual network configuration of the devices in network data center 10A. In addition to linking the data structures, the provisional SDN controller 142 can identify port groups from data stored in the data structures. In the example illustrated in FIG. 4D, the provisional SDN controller 142 has discovered via the node profile data that ports ETH2 and ETH3 are part of a port group labeled “BOND_0”, and in response, has created a port_group data structure 422 to indicate the port grouping.
[0112] FIG. 10L illustrates an example user interface screen to display a cluster overview (also referred to as a cluster summary). The cluster overview can include various configuration details regarding the selected cluster. The example user interface screen can show parameters that apply to the cluster as a whole (screen region 1002) or parameters that apply to specific selected nodes (screen region 1004).
Regarding claim 14, the combination of PIanigiani teaches wherein the management server is operatively connected to the server layer using a management switch, wherein the management switch is connected to each of the plurality of servers in the server layer via a virtual routing function(management switch provide connectivity to server layer implementing virtual network routing, ¶48) .
[0048] Each of the servers 12 can include a management network interface 204, an IP fabric switch interface 206, and an Intelligent Platform Management Interface (IPMI) 212. Management network interface 204 provides a hardware and/or software interface that provides for communicating data between a server 12A-12X to the management switch 202. IP fabric switch interface 206 provides a hardware and/or software interface that provides for communicating data between a server 12A-12X to a TOR switch 16A-16N.
Regarding claim 16, the combination of Pianigiani/Ganesan teaches wherein the connectivity information for the spine layer is determined using link layer discovery protocol (LLDP) and wherein the connectivity information for the plurality of DPU ports is determined using the LLDP(Pianigiani, ¶s 32 71 LLDP based probe messages used for device information discovery, of switches/servers and ports connection fabric switches including spine switches , where port are DPU ports as taught by Ganesan).
Regarding claim 17, the combination of Pianigiani/Ganesan teaches wherein the VTS comprises a plurality of virtual interfaces, wherein the port mapping associates each of the plurality of virtual interfaces to one of the plurality of DPU ports Pianigiani, ¶71 teaches generation of a mapping of CPU port to server network interfaces, where the CPU ports are DPU ports as taught by Ganesan(¶27))
Regarding claim 19, the combination of Pianigiani/Ganesan teaches wherein configuring the plurality of DPU ports further comprises: obtaining, from a user, a configuration request specifying a virtual interface of the plurality of virtual interfaces(,i.e. configure ports , deploy services), where the CPU are DPUs of Ganesan(, ¶27)
generating, based on the configuration request and the port mapping, a DPU configuration request specifying a DPU port of the plurality of DPU ports that corresponds to the virtual interface(Pianigiani, ¶71 teaches generation of a mapping of CPU port to server network interfaces, where the CPU ports are DPU ports as taught by Ganesan(¶27))
issuing the DPU configuration request to a server of the plurality of servers, wherein the server comprises the DPU port specified by the DPU configuration request(Pianigiani, ¶65 teaches administrator can configure ports such bonding two ports and receive the results of the configuration, where the ports are DPU ports of Ganesan (¶27) )
after issuing the DPU configuration request, receiving status information from the server ,wherein the status information specifies the DPU port(Pianigiani, ¶65 teaches administrator can configure ports such bonding two ports and receive the results of the configuration, where the ports are DPU ports of Ganesan (¶27) )
;translating the status information into a configuration response, wherein the configuration response specifies the virtual interface (Pianigiani, ¶65 teaches administrator can configure ports such bonding two ports and receive the results of the configuration, where the ports are DPU ports of Ganesan (¶27) )
and issuing the configuration response to the user Pianigiani ¶112 teaches information on the cluster displayed for the user ).
Applicant Remarks
Applicant’s arguments with respect to claims 1, 4, 6-8, 10-12, 14, 16-17 and 19-20have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
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 Tom Y. Chang whose telephone number is 571-270-5938. The examiner can normally be reached on Monday-Friday from 9am to 5pm.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Emmanuel Moise, can be reached on (571)272-3865. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from Patent Center. Status information for published applications may be obtained from Patent Center. Status information for unpublished applications is available through Patent Center for authorized users only. Should you have questions about access to Patent Center, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free).
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) Form at https://www.uspto.gov/patents/uspto-automated- interview-request-air-form.
/TOM Y CHANG/
Primary Examiner, Art Unit 2455