IP Library Granted Patent US 12,143,296
Granted Patent B2
US 12,143,296 · App. 18/446,876 · Granted Nov 12, 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,143,296
App. No.
18/446,876
Granted
Nov 12, 2024
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 (28)

1. A network device comprising:

a source access node coupled to a switch fabric and a destination access node through the switch fabric, 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 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 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 network device of claim 1 , wherein the packets in the data flow of packets are sprayed non-uniformly across the plurality of data paths.

3. The network device of claim 1 , wherein the source access node is further configured to assign a packet sequence number to each packet in the data flow of packets.

4. The network device 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 network device of claim 1 , wherein the source access node is further coupled to a plurality of access nodes through the switch fabric such that any pairwise combination between the source access node and any of the plurality of access nodes is connected by at most a single layer three (L3) hop.

6. The network device of claim 1 , wherein the packets in the data flow of packets are sprayed while taking into account link failures.

7. A method comprising:

establishing a logical tunnel over a plurality of data paths across a switch fabric between a source access node and a destination access node, 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 wherein the source access node is coupled to a source network device; and

spraying, by the source access node, packets in a data flow of packets over the logical tunnel to the destination access node, wherein spraying 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.

8. The method of claim 7 , wherein the packets in the data flow of packets are sprayed non-uniformly across the plurality of data paths.

9. The method of claim 7 , further comprising assigning a packet sequence number to each packet in the data flow of packets.

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

11. The method of claim 7 , wherein the source access node is further coupled to a plurality of access nodes through the switch fabric such that any pairwise combination between the source access node and any of the plurality of access nodes is connected by at most a single layer three (L3) hop.

12. The method of claim 7 , wherein the packets in the data flow of packets are sprayed while taking into account link failures.

13. A network device comprising:

a source access node coupled to a switch fabric and a plurality of destination network devices, wherein the source access node includes a storage device configured to provide network accessible storage for use by an application executing on one of the plurality of destination network devices, 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 a destination access node coupled to one of the plurality of destination network devices, and

spray packets in a data flow of packets 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.

14. The network device of claim 13 , wherein the packets in the data flow of packets are sprayed non-uniformly across the plurality of data paths.

15. The network device of claim 13 , wherein the source access node is further configured to assign a packet sequence number to each packet in the data flow of packets.

16. The network device of claim 13 , 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.

17. The network device of claim 13 , wherein the source access node is coupled to a plurality of access nodes through the switch fabric, each access node coupled to one of the plurality of destination network devices, and wherein any pairwise combination between the source access node and any of the plurality of access nodes is connected by at most a single layer three (L3) hop.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2023
From: FUNGIBLE, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 064548/0246 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 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 064538/0867 →
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 20230388222A1 · Nov 30, 2023