IP Library Granted Patent US 12,120,016
Granted Patent B2
US 12,120,016 · App. 18/173,841 · Granted Oct 15, 2024

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 12,120,016
App. No.
18/173,841
Granted
Oct 15, 2024
Kind
B2
Abstract

A network system for a data center. 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 one of the data paths based on an amount of data previously transmitted on each of the plurality of data paths.

Claims (43)

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 is configured to provide network accessible storage for use by an application executing on one of the plurality of network devices, 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 a data flow of packets, received from the source network device, over the logical tunnel to the destination access node, wherein to spray the data flow of packets, the source access node directs each of the packets within the data flow to one of the data paths based on an amount of data previously transmitted on each of the plurality of data paths.

2. The system of claim 1 , wherein to spray the data flow of packets, the source access node is further configured to:

track a number of bytes transmitted on each of the plurality of data paths.

3. The system of claim 2 , wherein to direct each of the packets within the data flow, the source access node is further configured to:

direct each of the packets within the data flow to a least loaded data path selected based the number of bytes transmitted on each of the plurality of data paths.

4. The system of claim 1 , wherein the plurality of data paths includes a plurality of active links, and wherein to spray 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.

5. The system of claim 1 , wherein the application is executing on the source network device.

6. 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.

7. The system of claim 6 , 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.

8. A method comprising:

establishing, by a plurality of access nodes, a logical tunnel over a plurality of data paths across a switch fabric in a network 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 is configured to provide network accessible storage for use by an application executing on one of a plurality of devices on the network; 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 one of the data paths based on an amount of data previously transmitted on each of the plurality of data paths.

9. The method of claim 8 , wherein spraying the data flow of packets includes:

tracking a number of bytes transmitted on each of the plurality of data paths.

10. The method of claim 9 , wherein directing each of the packets within the data flow includes:

directing each of the packets within the data flow to a least loaded data path selected based the number of bytes transmitted on each of the plurality of data paths.

11. The method of claim 8 , wherein the plurality of data paths includes a plurality of active links, and wherein spraying 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.

12. The method of claim 8 , wherein the application is executing on the source network device.

13. The method of claim 8 , 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.

14. The method of claim 13 , 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.

15. A system comprising:

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

a source access node coupled to the switch fabric and a source network device, wherein the source access node is configured to provide network accessible storage for use by an application executing on a device on the network, and wherein the source network device 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 a data flow of packets received from the source network device over the logical tunnel to the destination access node, wherein to spray the data flow of packets, the source access node directs each of the packets within the data flow to one of the data paths based on an amount of data previously transmitted on each of the plurality of data paths.

16. The system of claim 15 , wherein to spray the data flow of packets, the source access node is further configured to:

track a number of bytes transmitted on each of the plurality of data paths.

17. The system of claim 16 , wherein to direct each of the packets within the data flow, the source access node is further configured to:

direct each of the packets within the data flow to a least loaded data path selected based the number of bytes transmitted on each of the plurality of data paths.

18. The system of claim 15 , wherein the plurality of data paths includes a plurality of active links, and wherein to spray 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.

19. The system of claim 15 , wherein the application is executing on the source network device.

20. The system of claim 15 , 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.

Assignments (2)
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 Jun 27, 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 064087/0567 →
Continuity (5)
Continuation 16901991 · Jun 15, 2020
Continuation 15939227 · Mar 28, 2018
Provisional Application 62514583 · Jun 2, 2017
Provisional Application 62478414 · Mar 29, 2017
Related Publication 20230231799A1 · Jul 20, 2023