IP Library Granted Patent US 11,777,839
Granted Patent B2
US 11,777,839 · App. 16/901,991 · Granted Oct 3, 2023

Data center network with packet spraying

Inventors: Pradeep Sindhu (Los Altos Hills, CA); Deepak Goel (San Jose, CA); Jean-Marc Frailong (Rancho Mirage, CA); Srihari Raju Vegesna (San Jose, CA); Wael Noureddine (Santa Clara, CA); Philip A. Thomas (San Jose, CA); Satish Deo (Cupertino, CA); Sunil Mekad (Bangalore, IN); Ayaskant Pani (Fremont, CA)
Assignee: Microsoft Technology Licensing, LLC
H04L45/24H04L12/4633H04L47/125H04L47/34H04L45/22H04L45/64H04L49/10H04L49/1515H04L49/1584H04L49/25H04L49/70H04Q11/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,777,839
App. No.
16/901,991
Granted
Oct 3, 2023
Kind
B2
Abstract

A network system for a data center is described in which an access node sprays a data flow of packets over a logical tunnel to another access node. In one example, a method comprises establishing, by a plurality of access nodes, a logical tunnel over a plurality of data paths across a switch fabric between a source access node and a destination access node included within the plurality of access nodes, wherein the source access node is coupled to a source network device; and spraying, by the source access node, a data flow of packets over the logical tunnel to the destination access node, wherein the source access node receives the data flow of packets from the source network device, and wherein spraying the data flow of packets includes directing each of the packets within the data flow to a least loaded data path.

Claims (35)

1. A system comprising:

a plurality of network devices, including a source network device and a destination network device;

a switch fabric comprising a plurality of core switches;

a destination access node coupled to the switch fabric and at least the destination network device; and

a source access node coupled to the switch fabric and at least the source network device, wherein the source access node includes a storage device configured to provide network accessible storage for use by an application executing on the destination network device, and wherein the source access node is configured to:

enable establishment of a logical tunnel over a plurality of data paths across the switch fabric between the source access node and the destination access node, and

spray packets in a data flow of packets, received from the source network device, over the logical tunnel to the destination access node, wherein to spray the packets in the data flow of packets, the source access node tracks a number of bytes transmitted on each of the plurality of data paths, and directs each of the packets within the data flow to one of the plurality of data paths based on the number of bytes transmitted on each of the plurality of data paths.

2. The system of claim 1 , wherein the plurality of data paths includes a plurality of active links, and wherein to spray the packets in the data flow of packets, the source access node is further configured to:

spray each of the packets within the data flow in proportion to a bandwidth weight of each of the active links.

3. The system of claim 1 , further comprising:

a plurality of access nodes, each coupled to the switch fabric, wherein the plurality of access nodes includes the source access node and the destination access node, and wherein each of the plurality of access nodes is coupled to the switch fabric so that any pairwise combination of the access nodes is connected by at most a single layer three (L3) hop.

4. The system of claim 3 ,

wherein each of the plurality of access nodes is coupled to at least one of the plurality of network devices, and wherein the plurality of access nodes are coupled to the switch fabric to provide full mesh connectivity between any pairwise combination of the network devices.

5. A method comprising:

establishing, by a plurality of access nodes, a logical tunnel over a plurality of data paths across a switch fabric between a source access node and a destination access node included within the plurality of access nodes, wherein the source access node is coupled to a source network device, and wherein the source access node includes a storage device configured to provide network accessible storage for use by an application executing on a destination network device coupled to the destination access node; and

spraying, by the source access node, packets in a data flow of packets over the logical tunnel to the destination access node, wherein the source access node receives the data flow of packets from the source network device, and wherein spraying the packets in the data flow of packets includes tracking a number of bytes transmitted on each of the plurality of data paths, and directing each of the packets within the data flow to one of the plurality of data paths based on the number of bytes transmitted on each of the plurality of data paths.

6. The method of claim 5 , wherein the plurality of data paths includes a plurality of active links, and wherein spraying the packets in the data flow of packets over the logical tunnel includes:

spraying each of the packets within the data flow in proportion to a bandwidth weight of each of the active links.

7. The method of claim 5 , wherein each of the plurality of access nodes is coupled to the switch fabric so that any pairwise combination of the access nodes is connected by at most a single layer three (L3) hop.

8. The method of claim 7 , wherein each of the plurality of access nodes is coupled to at least one of a plurality of network devices, and wherein the plurality of access nodes are coupled to the switch fabric to provide full mesh connectivity between any pairwise combination of the network devices.

9. A system comprising:

a destination access node coupled to a switch fabric and a destination network device; and

a source access node coupled to the switch fabric and a source network device, wherein the source access node includes a storage device configured to provide network accessible storage for use by an application executing on the destination network device, and wherein the source access node is configured to:

establish a logical tunnel over a plurality of data paths across the switch fabric between the source access node and the destination access node, and

spray packets in a data flow of packets received from the source network device over the logical tunnel to the destination access node, wherein to spray the packets in the data flow of packets, the source access node tracks a number of bytes transmitted on each of the plurality of data paths, and directs each of the packets within the data flow to one of the plurality of data paths based on the number of bytes transmitted on each of the plurality of data paths.

10. The system of claim 9 , wherein the plurality of data paths includes a plurality of active links, and wherein to spray the packets in the data flow of packets, the source access node is further configured to:

spray each of the packets within the data flow in proportion to a bandwidth weight of each of the active links.

11. The system of claim 9 , further comprising:

a plurality of access nodes, each coupled to the switch fabric, wherein the plurality of access nodes includes the source access node and the destination access node, and wherein each of the plurality of access nodes is coupled to the switch fabric so that any pairwise combination of the access nodes is connected by at most a single layer three (L3) hop.

12. The system of claim 1 , wherein to spray packets in the data flow of packets, the source access node receives the packets in an original sequence, and enables reordering of the packets into the original sequence; and wherein to enable reordering of the packets, the source access node is configured to:

assign a sequence number to each of the packets in the data flow of packets.

13. The method of claim 5 , wherein spraying packets in the data flow of packets includes receiving the packets in an original sequence, and enabling reordering of the packets into the original sequence; and wherein enabling reordering of the packets includes:

assigning a sequence number to each of the packets in the data flow of packets.

14. The system of claim 9 , wherein to spray packets in the data flow of packets, the source access node receives the packets in an original sequence, and enables reordering of the packets into the original sequence; and wherein to enable reordering of the packets, the source access node is configured to:

assign a sequence number to each of the packets in the data flow of packets.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2023
From: FUNGIBLE, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 064434/0430 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2023
From: SINDHU, PRADEEP; GOEL, DEEPAK; FRAILONG, JEAN-MARC; VEGESNA, SRIHARI RAJU; NOUREDDINE, WAEL; THOMAS, PHILIP A.; DEO, SATISH; MEKAD, SUNIL; PANI, AYASKANT
To: FUNGIBLE, INC.
Reel/Frame 063774/0350 →
RELEASE OF SECURITY INTEREST Recorded Jan 9, 2023
From: HERCULES CAPITAL, INC., AS AGENT
To: FUNGIBLE, INC.
Reel/Frame 062335/0803 →
RELEASE OF SECURITY INTEREST Recorded Jan 5, 2023
From: SILICON VALLEY BANK
To: FUNGIBLE, INC.
Reel/Frame 062308/0191 →
SECURITY INTEREST Recorded Dec 16, 2021
From: FUNGIBLE, INC.
To: SILICON VALLEY BANK
Reel/Frame 058523/0960 →
SECURITY INTEREST Recorded Dec 16, 2021
From: FUNGIBLE, INC.
To: HERCULES CAPITAL, INC., AS AGENT
Reel/Frame 058533/0429 →
Continuity (4)
Continuation 15939227 · Mar 28, 2018
Provisional Application 62514583 · Jun 2, 2017
Provisional Application 62478414 · Mar 29, 2017
Related Publication 20200314026A1 · Oct 1, 2020
Cited By (7)
US 12,335,160 US 12,432,042 US 12,519,631 US 12,519,755 US 12,567,966 US 12,615,284 US 12,701,101