US11678093B2ActiveUtilityA1

Networking hardware and software and data center topologies leveraging same

84
Assignee: IBMPriority: Jun 10, 2017Filed: Jun 13, 2022Granted: Jun 13, 2023
Est. expiryJun 10, 2037(~10.9 yrs left)· nominal 20-yr term from priority
H04Q 2011/0058H04L 67/1097H04Q 2011/0086H04Q 11/0071H04Q 11/0062H04Q 2011/0041H04Q 2213/1301H04Q 2011/0096
84
PatentIndex Score
1
Cited by
26
References
11
Claims

Abstract

A network interface card (NIC) and a method for stablishing a connection between virtual machines of a network. The NIC includes: a programmable switching ASIC (application-specific integrated circuit), a central processing unit (CPU), multiple Ethernet controllers, and multiple on-board transceivers functioning as external ports. The switching ASIC functions as a switch that manipulates data traffic within the NIC including by switching the data traffic between and among the CPU, the Ethernet controllers, and the on-board transceivers. The method includes: installing rules that route a Synchronize (SYN) packet from a source virtual machine (VM) through a software engine, appending a signed cookie to the SYN packet; verifying that a policy represented by the signed cookie appended to the SYN packet matches a policy of a destination VM; and returning the SYN packet to the source VM which establishes a connection between the source VM and the destination VM.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A network interface card (NIC), comprising:
 a programmable switching ASIC (application-specific integrated circuit), 
 wherein the switching ASIC functions as a switch that manipulates data traffic within the NIC, 
 wherein the NIC is configured to route a Synchronize (SYN) packet to a destination virtual machine (VM) and to return the SYN packet to a first software engine, 
 wherein the NIC operates a software engine configured to: (i) install rules that route the SYN packet from a source VM through the software engine, (ii) append a signed cookie to the SYN packet, (iii) verify that a policy represented by the signed cookie appended to the SYN packet matches a policy of a destination VM, and (iv) return the SYN packet to the source VM which establishes a connection between the source VM and the destination VM, and 
 wherein verification that the policy represented by the signed cookie appended to the SYN packet matches the policy of the destination VM occurs after: the SYN packet with the appended cookie (i) is routed by the NIC to the destination VM, (ii) examined in hardware of the destination VM, and (iii) returned by the NIC to the software engine. 
 
     
     
       2. The NIC of  claim 1 , wherein the software engine is external to, and is directly connected to, the NIC. 
     
     
       3. The NIC of  claim 1 , wherein the source VM is a server and the destination VM is a client. 
     
     
       4. The NIC of  claim 1 , wherein the NIC comprises a peripheral component interconnect express (PCIe) card. 
     
     
       5. The NIC of  claim 4 , wherein the PCIe card comprises up to 36 external ports configured to handle 10 to 25 GB of data providing a maximum of 200 GB/sec of traffic to a server central processing unit (CPU) in a server. 
     
     
       6. The NIC of  claim 1 , wherein the switching ASIC comprises an embedded smart switch or a programmable gate array (FPGA). 
     
     
       7. The NIC of  claim 1 , wherein the NIC comprises a plurality of on-board transceivers directly coupled to the switching ASIC and functioning as external ports, wherein the plurality of on-board transceivers comprises 12 transmit channels and 12 receive channels, wherein the transmit channels are configured to collectively transmit data at a rate of up to 300 GB/sec, and wherein the receive channels are configured to collectively receive data at a rate of up to 300 GB/sec. 
     
     
       8. The NIC of  claim 7 , wherein the NIC comprises a plurality of multi-fiber push on (MPO) connectors, and wherein the MPOs comprise dynamic cables that dynamically connect one or more of the MPOs to one of the on-board transceivers. 
     
     
       9. A method for establishing a connection between virtual machines of a network, said method comprising:
 installing, by a software program being operated by a network interface card (NIC), rules that route a Synchronize (SYN) packet from a source virtual machine (VM) through a software engine; 
 appending, by the software program, a signed cookie to the SYN packet; 
 verifying, by the software program, that a policy represented by the signed cookie appended to the SYN packet matches a policy of a destination VM; 
 returning, by the software program, the SYN packet to a source VM which establishes a connection between the source VM and the destination VM, and 
 wherein said verifying is performed after the SYN packet with the appended cookie (i) is routed by the NIC to the destination VM, (ii) examined in hardware of the destination VM, and (iii) returned by the NIC to the software engine. 
 
     
     
       10. The method of  claim 9 , wherein the software engine is external to, and is directly connected to, the NIC. 
     
     
       11. The method of  claim 9 , wherein the source VM is a server and the destination VM is a client.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.