IP Library Granted Patent US 12,278,763
Granted Patent B2
US 12,278,763 · App. 17/303,901 · Granted Apr 15, 2025

Fabric control protocol with congestion control for data center networks

Inventors: Srihari Raju Vegesna (San Jose, CA); Narendra Jayawant Gathoo (San Jose, CA); Pradeep Sindhu (Los Altos Hills, CA); Jean-Marc Frailong (Rancho Mirage, CA); Gopesh Goyal (Cupertino, CA); Suresh Vemula (Milpitas, CA); John David Huber (San Diego, CA); Chetan Ambalal Shah (Milpitas, CA)
Assignee: Microsoft Technology Licensing, LLC
H04L47/12H04L47/11H04L47/27H04L49/90
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,278,763
App. No.
17/303,901
Granted
Apr 15, 2025
Kind
B2
Abstract

A fabric control protocol (FCP) is a data transmission protocol that enables spraying of individual packets for a given packet flow across a data center from an ingress interface of the source data processing unit (DPU) across a plurality of parallel data paths of a logical tunnel in the network fabric to the egress interface of the destination DPU. The FCP has congestion control mechanisms used to determine a degree of congestion at the egress interface of the destination DPU and to modify a send window size at the source DPU based on the degree of congestion. Reliable FCP (rFCP) extensions provide reliability enhancements and improved failure resilience within the data center. The rFCP extensions provide an unsolicited mode for low latency operation with enhanced reliability mechanisms. The rFCP extensions provide failure resilience mechanisms to identify and avoid failed paths among multiple parallel data paths within the logical tunnel.

Claims (65)

1. A network system comprising:

a plurality of servers including a source server and a destination server;

a network fabric comprising a plurality of core switches; and

a plurality of data processing units (DPUs) including a source DPU coupled to the source server and a destination DPU coupled to the destination server, wherein the source DPU and the destination DPU are configured to establish a logical tunnel over a plurality of parallel data paths across the core switches included within the network fabric between the source DPU and the destination DPU,

wherein a sender node of the source DPU is configured to:

spray packets of a packet flow from an ingress interface of the source DPU across the plurality of parallel data paths of the logical tunnel to an egress interface of the destination DPU by directing each of the packets to one of the parallel data paths, and

modify a send window size based on a degree of congestion at the egress interface of the destination DPU, wherein one or more of the plurality of parallel data paths are identified as failed paths, and wherein the degree of congestion is determined based on a number of the one or more failed paths.

2. The network system of claim 1 , wherein the sender node of the source DPU is configured to spray the packets of the packet flow to the receiver node of the destination DPU until an amount of data in flight is equal to the send window size.

3. The network system of claim 1 , wherein the sender node of the source DPU is configured to determine the degree of congestion at the egress interface of the destination DPU.

4. The network system of claim 3 , wherein to determine the degree of congestion, the sender node of the source DPU is configured to:

measure round-trip latency from the source DPU to the destination DPU and back to the source DPU; and

determine the degree of congestion at the egress interface of the destination DPU based on the round-trip latency or round-trip latency variation.

5. The network system of claim 3 , wherein to determine the degree of congestion, the sender node of the source DPU is configured to receive a message from a receiver node of the destination DPU indicating the degree of congestion at the egress interface of the destination DPU.

6. The network system of claim 1 , wherein a receiver node of the destination DPU is configured to:

determine the degree of congestion at the egress interface of the destination DPU; and

send a message to the sender node indicating the degree of congestion at the egress interface.

7. The network system of claim 6 , wherein to determine the degree of congestion, the receiver node of the destination DPU is configured to:

measure an amount of bandwidth at the egress interface of the destination DPU; and

determine the degree of congestion at the egress interface based on a comparison of the measured amount of bandwidth to a maximum bandwidth for the egress interface of the destination DPU.

8. The network system of claim 6 , wherein to determine the degree of congestion, the receiver node of the destination DPU is configured to:

measure a length of a queue maintained at the receiver node of the destination DPU to receive the packets from the sender node of the source DPU; and

determine the degree of congestion at the egress interface of the destination DPU based on the length of the queue increasing.

9. The network system of claim 6 , wherein to determine the degree of congestion, the receiver node of the destination DPU is configured to:

measure one-way latency from the source DPU to the destination DPU; and

determine the degree of congestion at the egress interface of the destination DPU based on the one-way latency or one-way latency variation.

10. The network system of claim 6 , wherein the source DPU and the destination DPU are each executing one of a fabric control protocol (FCP) or a reliable fabric control protocol (rFCP) extension, and

wherein, to send the message indicating the degree of congestion at the egress interface, the receiver node of the destination DPU is configured to send an FCP grant message or an rFCP grant/ACK message to the sender node including congestion control information.

11. The network system of claim 1 , wherein, in response to an indication of packet loss, the sender node sets the send window size equal to a loss window size and sets a configurable threshold to be less than a maximum send window size, and wherein the indication of packet loss comprises one of a negative acknowledgment (NACK) from a receiver node of the destination DPU or a retransmit timeout at the sender node.

12. The network system of claim 1 , wherein the degree of congestion is indicated by an amount of explicit congestion notification (ECN) marked bytes received by a receiver node of the destination DPU, and wherein the sender node of the source DPU reduces the send window size based on a ratio of the amount of ECN marked bytes to a total amount of bytes acknowledged by the receiver node of the destination DPU.

13. The network system of claim 1 ,

wherein the sender node of the source DPU includes a transmit queue length value in each packet of the packet flow that is sprayed to a receiver node of the destination DPU;

wherein the receiver node computes a window scale down factor based on a ratio of a total sender transmit queue length of all sender nodes and the transmit queue length received from the sender node; and

wherein the degree of congestion is indicated by the window scale down factor, and wherein the sender node reduces its maximum send window size based on the window scale down factor.

14. The network system of claim 1 , wherein a receiver node of the destination DPU sets a congestion status flag included in a message sent to the sender node of the source DPU based on one or more of a receiver buffer limit being reached, a receiver reorder table limit being reached, a detection of loss of multiple packets in a given window, or a total sender transmit queue length being greater than a threshold.

15. The network system of claim 14 , wherein, in response to receipt of the set congestion status flag, the sender node of the source DPU sets the send window size to an initial window size, and transitions from an unsolicited mode to a request-grant mode of data transmission.

16. The network system of claim 1 , wherein a receiver node of the destination DPU reorders the packets of the packet flow, and wherein the receiver node drops out of order packets once a reorder database utilization level reaches a deadlock avoidance threshold.

17. The network system of claim 1 ,

wherein the sender node of the source DPU has full mesh connectivity to a subset of DPUs included in a logical rack as a first-level network fanout, and wherein the sender node is configured to spray the packets of the packet flow across the first-level network fanout to the subset of the DPUs included in the logical rack; and

wherein each of the DPUs has full mesh connectivity to a subset of the core switches as a multi-level network fanout, and wherein each of the subset of the DPUs included in the logical rack is configured to spray the packets of the packet flow across the multi-level network fanout to the subset of the core switches.

18. A method comprising:

establishing a logical tunnel over a plurality of parallel data paths between a source data processing unit (DPU) and a destination DPU connected by a network fabric having a plurality of core switches, wherein the source DPU is coupled to a source server and the destination DPU is coupled to a destination server;

spraying, by a sender node of the source DPU, packets of a packet flow from an ingress interface of the source DPU across the plurality of parallel data paths of the logical tunnel to an egress interface of the destination DPU by directing each of the packets to one of the parallel data paths; and

modifying, by the sender node of the source DPU, a send window size based on a degree of congestion at the egress interface of the destination DPU, wherein one or more of the plurality of parallel data paths are identified as failed paths, and wherein the degree of congestion is determined based on a number of the one or more failed paths.

19. The method of claim 18 , further comprising determining, by the sender node of the source DPU, the degree of congestion at the egress interface of the destination DPU.

20. The method of claim 19 , wherein determining the degree of congestion comprises:

measuring, by the sender node of the source DPU, round-trip latency from the source DPU to the destination DPU and back to the source DPU; and

determining the degree of congestion at the egress interface of the destination DPU based on the round-trip latency or round-trip latency variation.

21. The method of claim 19 , wherein determining the degree of congestion comprises receiving, by the sender node of the source DPU, a message from a receiver node of the destination DPU indicating the degree of congestion at the egress interface of the destination DPU.

22. The method of claim 18 , further comprising:

determining, by a receiver node of the destination DPU, the degree of congestion at the egress interface of the destination DPU; and

sending, by the receiver node of the destination DPU, a message to the sender node of the source DPU indicating the degree of congestion at the egress interface.

23. The method of claim 22 , wherein determining the degree of congestion comprises:

measuring, by the receiver node of the destination DPU, an amount of bandwidth at the egress interface of the destination DPU; and

determining the degree of congestion at the egress interface based on a comparison of the measured amount of bandwidth to a maximum bandwidth for the egress interface of the destination DPU.

24. The method of claim 22 , wherein determining the degree of congestion comprises:

measuring, by the receiver node of the destination DPU, a length of a queue maintained at the receiver node of the destination DPU to receive the packets from the sender node of the source DPU; and

determining the degree of congestion at the egress interface of the destination DPU based on the length of the queue increasing.

25. The method of claim 22 , wherein determining the degree of congestion comprises:

measuring, by the receiver node of the destination DPU, one-way latency from the source DPU to the destination DPU; and

determining the degree of congestion at the egress interface of the destination DPU based on the one-way latency or one-way latency variation.

26. The method of claim 22 , wherein the source DPU and the destination DPU are each executing one of a fabric control protocol (FCP) or a reliable fabric control protocol (rFCP) extension, and wherein sending the message indicating the degree of congestion at the egress interface comprises sending, by the receiver node of the destination DPU, an FCP grant message or an rFCP grant/ACK message to the sender node of the source DPU including congestion control information.

27. A computing system configured to:

establish a logical tunnel over a plurality of parallel data paths between a source data processing unit (DPU) and a destination DPU connected by a network fabric having a plurality of core switches, wherein the source DPU is coupled to a source server and the destination DPU is coupled to a destination server;

spray, by a sender node of the source DPU, packets of a packet flow from an ingress interface of the source DPU across the plurality of parallel data paths of the logical tunnel to an egress interface of the destination DPU by directing each of the packets to one of the parallel data paths; and

modify, by the sender node of the source DPU, a send window size based on a degree of congestion at the egress interface of the destination DPU, wherein one or more of the plurality of parallel data paths are identified as failed paths, and wherein the degree of congestion is determined based on a number of the one or more failed paths.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2023
From: FUNGIBLE, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 064434/0430 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2021
From: VEGESNA, SRIHARI RAJU; GATHOO, NARENDRA JAYAWANT; SINDHU, PRADEEP; FRAILONG, JEAN-MARC; GOYAL, GOPESH; VEMULA, SURESH; HUBER, JOHN DAVID; SHAH, CHETAN AMBALAL
To: FUNGIBLE, INC.
Reel/Frame 057360/0805 →
Continuity (6)
Continuation In Part 16147070 · Sep 28, 2018
Provisional Application 63070114 · Aug 25, 2020
Provisional Application 63037404 · Jun 10, 2020
Provisional Application 62638788 · Mar 5, 2018
Provisional Application 62566060 · Sep 29, 2017
Related Publication 20210297351A1 · Sep 23, 2021
References Cited (400)
US 4872157A · Hemmady et al. · 1989 [cited by applicant]
US 4872159A · Hemmady et al. · 1989 [cited by applicant]
US 5301324A · Dewey et al. · 1994 [cited by applicant]
US 5812549A · Sethu · 1998 [cited by applicant]
US 5828860A · Miyaoku et al. · 1998 [cited by applicant]
US 6021473A · Davis et al. · 2000 [cited by applicant]
US 6055579A · Goyal et al. · 2000 [cited by applicant]
US 6314491B1 · Freerksen et al. · 2001 [cited by applicant]
US 6526022B1 · Chiu · 2003 [cited by examiner]
US 6553030B2 · Ku et al. · 2003 [cited by applicant]
US 6842906B1 · Bowman-Amuah · 2005 [cited by applicant]
US 6901451B1 · Miyoshi et al. · 2005 [cited by applicant]
US 6901500B1 · Hussain · 2005 [cited by applicant]
US 6990063B1 · Lenoski et al. · 2006 [cited by applicant]
US 6993630B1 · Williams et al. · 2006 [cited by applicant]
US 7035914B1 · Payne et al. · 2006 [cited by applicant]
US 7058009B1 · Skirmont et al. · 2006 [cited by applicant]
US 7102999B1 · Sindhu et al. · 2006 [cited by applicant]
US 7275103B1 · Thrasher et al. · 2007 [cited by applicant]
US 7289436B2 · Schaller et al. · 2007 [cited by applicant]
US 7289513B1 · Medved et al. · 2007 [cited by applicant]
US 7289964B1 · Bowman-Amuah et al. · 2007 [cited by applicant]
US 7342887B1 · Sindhu · 2008 [cited by applicant]
US 7480304B2 · Yeh et al. · 2009 [cited by applicant]
US 7483370B1 · Dayal et al. · 2009 [cited by applicant]
US 7486678B1 · Devanagondi et al. · 2009 [cited by applicant]
US 7623524B2 · Muthukrishnan et al. · 2009 [cited by applicant]
US 7633861B2 · Willhite et al. · 2009 [cited by applicant]
US 7664110B1 · Lovett et al. · 2010 [cited by applicant]
US 7733781B2 · Petersen · 2010 [cited by applicant]
US 7738452B1 · O'Rourke et al. · 2010 [cited by applicant]
US 7802001B1 · Petry et al. · 2010 [cited by applicant]
US 7822731B1 · Yu et al. · 2010 [cited by applicant]
US 7843907B1 · Abou-Emara et al. · 2010 [cited by applicant]
US 7965624B2 · Ripa et al. · 2011 [cited by applicant]
US 8345675B1 · Raghunath · 2013 [cited by applicant]
US 8386540B1 · McAlister et al. · 2013 [cited by applicant]
US 8560757B2 · Pangborn et al. · 2013 [cited by applicant]
US 8565218B2 · Sharma · 2013 [cited by applicant]
US 8582440B2 · Ofelt et al. · 2013 [cited by applicant]
US 8599863B2 · Davis · 2013 [cited by applicant]
US 8625427B1 · Terry et al. · 2014 [cited by applicant]
US 8689049B2 · Ziegler et al. · 2014 [cited by applicant]
US 8737410B2 · Davis et al. · 2014 [cited by applicant]
US 8798077B2 · Mehra et al. · 2014 [cited by applicant]
US 8811183B1 · Anand · 2014 [cited by applicant]
US 8848728B1 · Revah et al. · 2014 [cited by applicant]
US 8850101B2 · Pangborn et al. · 2014 [cited by applicant]
US 8850125B2 · Pangborn et al. · 2014 [cited by applicant]
US 8854953B2 · Enyedi · 2014 [cited by applicant]
US 8918631B1 · Kumar et al. · 2014 [cited by applicant]
US 8937865B1 · Kumar et al. · 2015 [cited by applicant]
US 8953441B2 · Nakil · 2015 [cited by applicant]
US 8966152B2 · Bouchard et al. · 2015 [cited by applicant]
US 9065860B2 · Pangborn et al. · 2015 [cited by applicant]
US 9118984B2 · DeCusatis et al. · 2015 [cited by applicant]
US 9154376B2 · Aziz et al. · 2015 [cited by applicant]
US 9225628B2 · Zahavi · 2015 [cited by applicant]
US 9262225B2 · Davis et al. · 2016 [cited by applicant]
US 9282384B1 · Graves · 2016 [cited by applicant]
US 9294304B2 · Sindhu · 2016 [cited by applicant]
US 9294398B2 · DeCusatis et al. · 2016 [cited by applicant]
US 9369408B1 · Raghavan et al. · 2016 [cited by applicant]
US 9405550B2 · Biran et al. · 2016 [cited by applicant]
US 9565114B1 · Kabbani et al. · 2017 [cited by applicant]
US 9569366B2 · Pangborn et al. · 2017 [cited by applicant]
US 9632936B1 · Zuckerman et al. · 2017 [cited by applicant]
US 9660897B1 · Gredler · 2017 [cited by applicant]
US 9800495B2 · Lu et al. · 2017 [cited by applicant]
US 9853901B2 · Kampmann et al. · 2017 [cited by applicant]
US 9866427B2 · Yadav et al. · 2018 [cited by applicant]
US 9876735B2 · Davis et al. · 2018 [cited by applicant]
US 9946671B1 · Tawri et al. · 2018 [cited by applicant]
US 10003552B2 · Kumar et al. · 2018 [cited by applicant]
US 10135731B2 · Davis et al. · 2018 [cited by applicant]
US 10140245B2 · Davis et al. · 2018 [cited by applicant]
US 10218629B1 · An et al. · 2019 [cited by applicant]
US 10304154B2 · Appu et al. · 2019 [cited by applicant]
US 10387179B1 · Hildebrant et al. · 2019 [cited by applicant]
US 10425707B2 · Sindhu et al. · 2019 [cited by applicant]
US 10540288B2 · Noureddine et al. · 2020 [cited by applicant]
US 10565112B2 · Noureddine et al. · 2020 [cited by applicant]
US 10637685B2 · Goel et al. · 2020 [cited by applicant]
US 10645187B2 · Goyal et al. · 2020 [cited by applicant]
US 10659254B2 · Pradeep Sindhu et al. · 2020 [cited by applicant]
US 10686729B2 · Sindhu et al. · 2020 [cited by applicant]
US 10725825B2 · Sindhu et al. · 2020 [cited by applicant]
US 10841245B2 · Gray et al. · 2020 [cited by applicant]
US 10904367B2 · Goel et al. · 2021 [cited by applicant]
US 10929175B2 · Goyal et al. · 2021 [cited by applicant]
US 10965586B2 · Goel et al. · 2021 [cited by applicant]
US 11048634B2 · Noureddine et al. · 2021 [cited by applicant]
US 11070474B1 · Jain · 2021 [cited by applicant]
US 11165691B1 · Kompella · 2021 [cited by applicant]
US 11178262B2 · Goel et al. · 2021 [cited by applicant]
US 11412076B2 · Goel et al. · 2022 [cited by applicant]
US 11601359B2 · Goel et al. · 2023 [cited by applicant]
US 11934964B2 · Goyal · 2024 [cited by applicant]
US 20020015387A1 · Houh · 2002 [cited by applicant]
US 20020049859A1 · Bruckert et al. · 2002 [cited by applicant]
US 20020075862A1 · Mayes · 2002 [cited by applicant]
US 20020094151A1 · Li et al. · 2002 [cited by applicant]
US 20020118415A1 · Dasylva et al. · 2002 [cited by applicant]
US 20020126634A1 · Mansharamani et al. · 2002 [cited by applicant]
US 20020126671A1 · Ellis et al. · 2002 [cited by applicant]
US 20030043798A1 · Pugel · 2003 [cited by applicant]
US 20030091271A1 · Dragone · 2003 [cited by applicant]
US 20030229839A1 · Wang et al. · 2003 [cited by applicant]
US 20040236912A1 · Glasco · 2004 [cited by applicant]
US 20050013311A1 · Samudrala et al. · 2005 [cited by applicant]
US 20050073963A1 · Goodfellow et al. · 2005 [cited by applicant]
US 20050100035A1 · Chiou et al. · 2005 [cited by applicant]
US 20050108444A1 · Flauaus et al. · 2005 [cited by applicant]
US 20050166086A1 · Watanabe · 2005 [cited by applicant]
US 20050259632A1 · Malpani et al. · 2005 [cited by applicant]
US 20060029323A1 · Nikonov et al. · 2006 [cited by applicant]
US 20060056406A1 · Bouchard et al. · 2006 [cited by applicant]
US 20060067273A1 · Suman · 2006 [cited by applicant]
US 20060112226A1 · Hady et al. · 2006 [cited by applicant]
US 20060277421A1 · Balestriere · 2006 [cited by applicant]
US 20070030807A1 · Gummalla · 2007 [cited by applicant]
US 20070036072A1 · Raj et al. · 2007 [cited by applicant]
US 20070073966A1 · Corbin · 2007 [cited by applicant]
US 20070172235A1 · Snider et al. · 2007 [cited by applicant]
US 20070192545A1 · Gara et al. · 2007 [cited by applicant]
US 20070198656A1 · Mazzaferri et al. · 2007 [cited by applicant]
US 20070255906A1 · Handgen et al. · 2007 [cited by applicant]
US 20080002702A1 · Bajic · 2008 [cited by applicant]
US 20080138067A1 · Beshai · 2008 [cited by applicant]
US 20080244231A1 · Kunze et al. · 2008 [cited by applicant]
US 20080253294A1 · Ripa et al. · 2008 [cited by applicant]
US 20090024836A1 · Shen et al. · 2009 [cited by applicant]
US 20090046576A1 · Shand et al. · 2009 [cited by applicant]
US 20090046587A1 · Kothari · 2009 [cited by applicant]
US 20090083263A1 · Felch et al. · 2009 [cited by applicant]
US 20090135739A1 · Hoover et al. · 2009 [cited by applicant]
US 20090135832A1 · Fan et al. · 2009 [cited by applicant]
US 20090154391A1 · Wittenschlaeger · 2009 [cited by applicant]
US 20090228690A1 · Muff · 2009 [cited by applicant]
US 20090228890A1 · Vaitovirta et al. · 2009 [cited by applicant]
US 20090234987A1 · Lee et al. · 2009 [cited by applicant]
US 20090285228A1 · Bagepalli et al. · 2009 [cited by applicant]
US 20090303880A1 · Maltz et al. · 2009 [cited by applicant]
US 20090310610A1 · Sandstrom · 2009 [cited by applicant]
US 20100061257A1 · Kitawaki · 2010 [cited by applicant]
US 20100061391A1 · Sindhu et al. · 2010 [cited by applicant]
US 20100125903A1 · Devarajan et al. · 2010 [cited by applicant]
US 20100318725A1 · Kwon · 2010 [cited by applicant]
US 20110289179A1 · Pekcan et al. · 2011 [cited by applicant]
US 20110055827A1 · Lin et al. · 2011 [cited by applicant]
US 20110113184A1 · Chu · 2011 [cited by applicant]
US 20110170553A1 · Beecroft et al. · 2011 [cited by applicant]
US 20110173392A1 · Gara et al. · 2011 [cited by applicant]
US 20110202658A1 · Okuno et al. · 2011 [cited by applicant]
US 20110225594A1 · Iyengar et al. · 2011 [cited by applicant]
US 20110228783A1 · Flynn et al. · 2011 [cited by applicant]
US 20110238816A1 · Vohra et al. · 2011 [cited by applicant]
US 20110238923A1 · Hooker et al. · 2011 [cited by applicant]
US 20110289180A1 · Sonnier et al. · 2011 [cited by applicant]
US 20110289279A1 · Sonnier et al. · 2011 [cited by applicant]
US 20120030431A1 · Anderson et al. · 2012 [cited by applicant]
US 20120036178A1 · Gavini et al. · 2012 [cited by applicant]
US 20120076153A1 · Manzella et al. · 2012 [cited by applicant]
US 20120096211A1 · Davis et al. · 2012 [cited by applicant]
US 20120163375A1 · Sindhu · 2012 [cited by applicant]
US 20120176890A1 · Balus et al. · 2012 [cited by applicant]
US 20120177047A1 · Roitshtein · 2012 [cited by applicant]
US 20120207165A1 · Davis · 2012 [cited by applicant]
US 20120254587A1 · Biran et al. · 2012 [cited by applicant]
US 20120314710A1 · Shikano · 2012 [cited by applicant]
US 20130003725A1 · Hendel et al. · 2013 [cited by applicant]
US 20130010636A1 · Regula · 2013 [cited by applicant]
US 20130024875A1 · Wang et al. · 2013 [cited by applicant]
US 20130028083A1 · Yoshida et al. · 2013 [cited by applicant]
US 20130060940A1 · Koponen et al. · 2013 [cited by applicant]
US 20130088971A1 · Anantharam et al. · 2013 [cited by applicant]
US 20130145375A1 · Kang · 2013 [cited by applicant]
US 20130191443A1 · Gan et al. · 2013 [cited by applicant]
US 20130258912A1 · Zimmerman · 2013 [cited by examiner]
US 20130308597A1 · Murphy · 2013 [cited by examiner]
US 20130330076A1 · Liboiron-Ladouceur et al. · 2013 [cited by applicant]
US 20130346789A1 · Brunel et al. · 2013 [cited by applicant]
US 20140023080A1 · Zhang et al. · 2014 [cited by applicant]
US 20140040909A1 · Winser et al. · 2014 [cited by applicant]
US 20140044128A1 · Suresh et al. · 2014 [cited by applicant]
US 20140059537A1 · Kamble et al. · 2014 [cited by applicant]
US 20140075085A1 · Schroder et al. · 2014 [cited by applicant]
US 20140161450A1 · Graves et al. · 2014 [cited by applicant]
US 20140187317A1 · Kohler et al. · 2014 [cited by applicant]
US 20140237156A1 · Regula et al. · 2014 [cited by applicant]
US 20140258479A1 · Tenginakai et al. · 2014 [cited by applicant]
US 20140269261A1 · D'souza et al. · 2014 [cited by applicant]
US 20140269351A1 · Graves et al. · 2014 [cited by applicant]
US 20140310467A1 · Shalf et al. · 2014 [cited by applicant]
US 20140359044A1 · Davis et al. · 2014 [cited by applicant]
US 20150019702A1 · Kancherla · 2015 [cited by applicant]
US 20150037032A1 · Xu et al. · 2015 [cited by applicant]
US 20150043330A1 · Hu et al. · 2015 [cited by applicant]
US 20150117860A1 · Braun · 2015 [cited by applicant]
US 20150124826A1 · Edsall et al. · 2015 [cited by applicant]
US 20150143045A1 · Han et al. · 2015 [cited by applicant]
US 20150143073A1 · Winser et al. · 2015 [cited by applicant]
US 20150146526A1 · Kulkarni · 2015 [cited by applicant]
US 20150163171A1 · Sindhu et al. · 2015 [cited by applicant]
US 20150180603A1 · Darling et al. · 2015 [cited by applicant]
US 20150186313A1 · Sodhi et al. · 2015 [cited by applicant]
US 20150222533A1 · Birrittella et al. · 2015 [cited by applicant]
US 20150244617A1 · Nakil et al. · 2015 [cited by applicant]
US 20150256405A1 · Janardhanan et al. · 2015 [cited by applicant]
US 20150278148A1 · Sindhu · 2015 [cited by applicant]
US 20150278984A1 · Koker et al. · 2015 [cited by applicant]
US 20150280939A1 · Sindhu · 2015 [cited by applicant]
US 20150281128A1 · Sindhu · 2015 [cited by applicant]
US 20150324205A1 · Eisen et al. · 2015 [cited by applicant]
US 20150325272A1 · Murphy · 2015 [cited by applicant]
US 20150334034A1 · Smedley et al. · 2015 [cited by applicant]
US 20150334202A1 · Frydman et al. · 2015 [cited by applicant]
US 20150378776A1 · Lippett · 2015 [cited by applicant]
US 20150381528A9 · Davis et al. · 2015 [cited by applicant]
US 20160056911A1 · Ye et al. · 2016 [cited by applicant]
US 20160062800A1 · Stanfill et al. · 2016 [cited by applicant]
US 20160087885A1 · Tripathi · 2016 [cited by applicant]
US 20160092362A1 · Barron et al. · 2016 [cited by applicant]
US 20160154756A1 · Dodson · 2016 [cited by examiner]
US 20160164625A1 · Gronvall et al. · 2016 [cited by applicant]
US 20160210159A1 · Wilson et al. · 2016 [cited by applicant]
US 20160212038A1 · Musiol · 2016 [cited by applicant]
US 20160239415A1 · Davis et al. · 2016 [cited by applicant]
US 20160241430A1 · Yadav et al. · 2016 [cited by applicant]
US 20160269278A1 · Gopalarathnam · 2016 [cited by applicant]
US 20160337723A1 · Graves · 2016 [cited by applicant]
US 20160364333A1 · Brown et al. · 2016 [cited by applicant]
US 20160364334A1 · Asaro et al. · 2016 [cited by applicant]
US 20160380885A1 · Jani et al. · 2016 [cited by applicant]
US 20170005921A1 · Liu et al. · 2017 [cited by applicant]
US 20170031719A1 · Clark et al. · 2017 [cited by applicant]
US 20170032011A1 · Song et al. · 2017 [cited by applicant]
US 20170060615A1 · Thakkar et al. · 2017 [cited by applicant]
US 20170061566A1 · Min et al. · 2017 [cited by applicant]
US 20170068639A1 · Davis et al. · 2017 [cited by applicant]
US 20170163569A1 · Koganti · 2017 [cited by applicant]
US 20170187632A1 · Ko et al. · 2017 [cited by applicant]
US 20170235581A1 · Nickolls et al. · 2017 [cited by applicant]
US 20170265220A1 · Andreoli-Fang et al. · 2017 [cited by applicant]
US 20170279708A1 · Liu · 2017 [cited by applicant]
US 20170286143A1 · Wagner et al. · 2017 [cited by applicant]
US 20170286157A1 · Hasting et al. · 2017 [cited by applicant]
US 20170346766A1 · Dutta · 2017 [cited by applicant]
US 20180011739A1 · Pothula et al. · 2018 [cited by applicant]
US 20180024771A1 · Miller et al. · 2018 [cited by applicant]
US 20180026901A1 · Sugunadass · 2018 [cited by applicant]
US 20180053591A1 · Haruna · 2018 [cited by applicant]
US 20180115494A1 · Bhatia et al. · 2018 [cited by applicant]
US 20180152317A1 · Chang et al. · 2018 [cited by applicant]
US 20180183673A1 · Iyengar · 2018 [cited by applicant]
US 20180234300A1 · Mayya et al. · 2018 [cited by applicant]
US 20180239702A1 · Farmahini Farahani et al. · 2018 [cited by applicant]
US 20180241688A1 · Williams, Jr. · 2018 [cited by applicant]
US 20180262392A1 · White et al. · 2018 [cited by applicant]
US 20180287818A1 · Goel et al. · 2018 [cited by applicant]
US 20180287858A1 · Flajslik · 2018 [cited by applicant]
US 20180287965A1 · Sindhu et al. · 2018 [cited by applicant]
US 20180288505A1 · Sindhu et al. · 2018 [cited by applicant]
US 20180293168A1 · Noureddine et al. · 2018 [cited by applicant]
US 20180300928A1 · Koker et al. · 2018 [cited by applicant]
US 20180307494A1 · Ould-Ahmed-Vall et al. · 2018 [cited by applicant]
US 20180307535A1 · Suzuki et al. · 2018 [cited by applicant]
US 20180322386A1 · Sridharan et al. · 2018 [cited by applicant]
US 20180357169A1 · Lai · 2018 [cited by applicant]
US 20190005176A1 · Illikkal et al. · 2019 [cited by applicant]
US 20190012278A1 · Sindhu et al. · 2019 [cited by applicant]
US 20190012350A1 · Sindhu et al. · 2019 [cited by applicant]
US 20190013965A1 · Sindhu et al. · 2019 [cited by applicant]
US 20190018806A1 · Koufaty et al. · 2019 [cited by applicant]
US 20190042292A1 · Palermo et al. · 2019 [cited by applicant]
US 20190042518A1 · Marolia et al. · 2019 [cited by applicant]
US 20190095333A1 · Heirman et al. · 2019 [cited by applicant]
US 20190102311A1 · Gupta et al. · 2019 [cited by applicant]
US 20190104057A1 · Goel et al. · 2019 [cited by applicant]
US 20190104206A1 · Goel et al. · 2019 [cited by applicant]
US 20190104207A1 · Goel et al. · 2019 [cited by applicant]
US 20190158428A1 · Gray et al. · 2019 [cited by applicant]
US 20190188079A1 · Kohli · 2019 [cited by applicant]
US 20190243765A1 · Sindhu et al. · 2019 [cited by applicant]
US 20190319871A1 · Indiresan et al. · 2019 [cited by applicant]
US 20190363989A1 · Shalev et al. · 2019 [cited by applicant]
US 20200021664A1 · Goyal et al. · 2020 [cited by applicant]
US 20200021898A1 · Sindhu et al. · 2020 [cited by applicant]
US 20200067839A1 · Iny et al. · 2020 [cited by applicant]
US 20200084155A1 · Song · 2020 [cited by examiner]
US 20200119903A1 · Thomas et al. · 2020 [cited by applicant]
US 20200133771A1 · Goyal et al. · 2020 [cited by applicant]
US 20200145680A1 · Dikshit et al. · 2020 [cited by applicant]
US 20200151101A1 · Noureddine et al. · 2020 [cited by applicant]
US 20200159568A1 · Goyal et al. · 2020 [cited by applicant]
US 20200159859A1 · Beckman et al. · 2020 [cited by applicant]
US 20200162282A1 · Ashtaputre et al. · 2020 [cited by applicant]
US 20200169513A1 · Goel et al. · 2020 [cited by applicant]
US 20200183841A1 · Noureddine et al. · 2020 [cited by applicant]
US 20200236052A1 · Srinivasan · 2020 [cited by applicant]
US 20200259682A1 · Goel et al. · 2020 [cited by applicant]
US 20200280462A1 · Sindhu et al. · 2020 [cited by applicant]
US 20200314026A1 · Sindhu et al. · 2020 [cited by applicant]
US 20200356414A1 · Sindhu et al. · 2020 [cited by applicant]
US 20210097108A1 · Goyal et al. · 2021 [cited by applicant]
US 20210176347A1 · Goel et al. · 2021 [cited by applicant]
US 20210218665A1 · Goel et al. · 2021 [cited by applicant]
US 20210297343A1 · Vegesna et al. · 2021 [cited by applicant]
US 20210297350A1 · Vegesna et al. · 2021 [cited by applicant]
US 20210320820A1 · Ruan et al. · 2021 [cited by applicant]
US 20210399941A1 · Fang · 2021 [cited by applicant]
US 20220103661A1 · Goel et al. · 2022 [cited by applicant]
US 20230208748A1 · Goel et al. · 2023 [cited by applicant]
US 20230269184A1 · Zemach · 2023 [cited by applicant]
US 20230388222A1 · Sindhu · 2023 [cited by applicant]
US 20240250919A1 · Goel · 2024 [cited by applicant]
CN 102123052A · 2011 [cited by applicant]
CN 103067291A · 2013 [cited by applicant]
CN 104052618A · 2014 [cited by applicant]
CN 104521196A · 2015 [cited by applicant]
CN 104937892A · 2015 [cited by applicant]
CN 104954251A · 2015 [cited by applicant]
CN 105024844A · 2015 [cited by applicant]
CN 105814848A · 2016 [cited by applicant]
CN 107196854A · 2017 [cited by applicant]
EP 1079571A2 · 2001 [cited by applicant]
EP 1489796A2 · 2004 [cited by applicant]
EP 1501246A2 · 2005 [cited by applicant]
EP 2289206A2 · 2011 [cited by applicant]
EP 2928134A2 · 2015 [cited by applicant]
WO 2009114554A2 · 2009 [cited by applicant]
WO 2013184846A1 · 2013 [cited by applicant]
WO 2014178854 · 2014 [cited by applicant]
WO 2015087474A1 · 2015 [cited by applicant]
WO 2016037262A1 · 2016 [cited by applicant]
WO 2019014268A1 · 2019 [cited by applicant]
“Non-Final Office Action Issued in U.S. Appl. No. 17/454,731”, Mailed Date: Jul. 20, 2023, 39 Pages. [cited by applicant]
“Non-Final Office Action Issued in U.S. Appl. No. 18/175,376”, Mailed Date: Aug. 3, 2023, 22 Pages. [cited by applicant]
Office Action from U.S. Appl. No. 17/248,354, dated Dec. 9, 2021, 11 pp. [cited by applicant]
Prosecution History from U.S. Appl. No. 16/147,099, dated Jan. 8, 2020 through Dec. 30, 2020, 41 pp. [cited by applicant]
Response to Office Action dated Dec. 9, 2021, from U.S. Appl. No. 17/248,354, filed Mar. 4, 2022, 3 pp. [cited by applicant]
U.S. Appl. No. 17/454,731, filed Nov. 12, 2021, naming inventors Goel et al. [cited by applicant]
Notice of Allowance from U.S. Appl. No. 17/248,354, dated Apr. 12, 2022, 9 pp. [cited by applicant]
Zhang et al., “A LDP Fast Protection Switching Scheme for Concurrent Multiple Failures in MPLS Network,” IEEE, 2009 International Conference on Multimedia Information Networking and Security, Nov. 18-20, 2009, pp. 259-2… [cited by applicant]
“QFX10000 Switches System Architecture,” White Paper, Juniper Networks, Apr. 2015, 15 pp. [cited by applicant]
Adya et al., “Cooperative Task Management without Manual Stack Management,” Proceedings of the 2002 Usenix Annual Technical Conference, Jun. 2002, 14 pp. [cited by applicant]
Al-Fares et al., “Hedera: Dynamic Flow Scheduling for Data Center Networks,” NSDI'10 Proceedings of the 7th USENIX Conference on Networked Systems Design and Implementation, Apr. 28-30, 2010, 15 pp. [cited by applicant]
Alizadeh et al., “CONGA: Distributed Congestion-Aware Load Balancing for Datacenters,” SIGCOMM '14 Proceedings of the 2014 ACM Conference on SIGCOMM, Aug. 17-22, 2014, pp. 503-514. [cited by applicant]
Bakkum et al., “Accelerating SQL Database Operations on a GPU with CUDA,” Proceedings of the 3rd Workshop on Genral-Purpose Computation on Graphics Processing Units, Mar. 14, 2010, 10 pp. [cited by applicant]
Banga et al., “Better operating system features for faster network servers,” ACM Sigmetrics Performance Evaluation Review, vol. 26, Issue 3, Dec. 1998, 11 pp. [cited by applicant]
Barroso et al., “Attack of the killer Microseconds,” Communications of the ACM, vol. 60, No. 4, Apr. 2017, 7 pp. [cited by applicant]
Benson et al., “MicroTE: Fine Grained Traffic Engineering for Data Centers,” CoNEXT '11 Proceedings of the Seventh Conference on emerging Networking EXperiments and Technologies Article No. 8, Dec. 6-9, 2011, 12 pp. [cited by applicant]
Benson et al., “Network Traffic Characteristics of Data Centers in the Wild,” IMC '10 Proceedings of the 10th ACM SIGCOMM Conference on Internet Measurement, Nov. 1-30, 2010, pp. 267-280. [cited by applicant]
Deutsch, “Deflate Compressed Data Format Specification version 1.3,” IETF Network Working Group, RFC 1951, May 1996, 15 pp. [cited by applicant]
Ford et al., “TCP Extensions for Multipath Operation with Multiple Addresses,” Internet Engineering Task Force (IETF), RFC 6824, Jan. 2013, 64 pp. [cited by applicant]
Friedman et al., “Programming with Continuations,” Technical Report 151, Nov. 1983, 14 pp. [cited by applicant]
Gay et al., “The nesC Language: A Holistic Approach to Networked Embedded Systems,” accessed from http://nescc.sourceforge.net, last updated Dec. 14, 2004, 11 pp. [cited by applicant]
Halbwachs et al., “The Synchronous Data Flow Programming Language LUSTRE,” Proceedings of the IEEE, vol. 79, No. 9, Sep. 1991, 16 pp. [cited by applicant]
Haynes et al., “Continuations and Coroutines,” Technical Report No. 158, Jun. 1984, 19 pp. [cited by applicant]
Hewitt, “Viewing Control Structures as Patterns of Passing Messages,” Massachusetts Institute of Technology, Artificial Intelligence Laboratory, Dec. 1976, 61 pp. [cited by applicant]
Hseush et al., Data Path Debugging: Data-Oriented Debugging for a Concurrent Programming Language, PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging, May 5-6, 1988, 1… [cited by applicant]
Huang et al., “Erasure Coding in Windows Azure Storage,” 2012 USENIX Annual Technical Conference, Jun. 13-15, 2012, 12 pp. [cited by applicant]
Hurson, “Advances in Computers, vol. 92,” Jan. 13, 2014, Academic Press, XP055510879, 94-95 pp. [cited by applicant]
Isen et al., “ESKIMO—Energy Savings using Semantic Knowledge of Inconsequential Memory Occupancy for DRAM subsystem,” 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), Dec. 12-16, 2009, 10 pp. [cited by applicant]
Kahn et al., “Actors as a Special Case of Concurrent Constraint Programming,” ECOOP/OOPSLA '90 Proceedings, Oct. 21-25, 1990, 10 pp. [cited by applicant]
Kaminow, “Optical Integrated Circuits: A Personal Perspective,” Journal of Lightwave Technology, vol. 26, No. 9, May 1, 2008, pp. 994-1004. [cited by applicant]
Kandula et al., “Dynamic Load Balancing Without Packet Reordering,” SIGCOMM Computer Communication Review, vol. 37, No. 2, Apr. 2007, pp. 53-62. [cited by applicant]
Kandula et al., “The Nature of Datacenter Traffic: Measurements & Analysis,” IMC '09 Proceedings of the 9th ACM SIGCOMM conference on Internet measurement, Nov. 4-6, 2009, pp. 202-208. [cited by applicant]
Kelly et al., A Block Diagram Compiler, The Bell System Technical Journal, Dec. 7, 1960, 10 pp. [cited by applicant]
Kounavis et al., “Programming the data path in network processor-based routers,” Software-Practice and Experience, Oct. 21, 2003, 38 pp. [cited by applicant]
Larus et al., “Using Cohort Scheduling to Enhance Server Performance,” Usenix Annual Technical Conference, Jun. 2002, 12 pp. [cited by applicant]
Levis et al., “Tiny OS: An Operating System for Sensor Networks,” Ambient Intelligence, Jan. 2005, 34 pp. [cited by applicant]
Lin et al., A Parameterized Dataflow Language Extension for Embedded Streaming Systems, 2008 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation, Jul. 21-24, 2008, 8 pp. [cited by applicant]
Mishra et al., “Thread-based vs Event-based Implementation of a Group Communication Service,” Proceedings of the First Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Process… [cited by applicant]
Raiciu et al., “Improving Datacenter Performance and Robustness with Multipath TCP,” ACM SIGCOMM Computer Communication Review—SIGCOMM '11, vol. 41, No. 4, Aug. 2011, pp. 266-277. [cited by applicant]
Schroeder et al., “Flash Reliability in Production: The Expected and the Unexpected,” 14th USENIX Conference on File and Storage Technologies (FAST '16), Feb. 22-25, 2016, 15 pp. [cited by applicant]
U.S. Appl. No. 16/774,941, by Deepak Goel et al., filed Jan. 28, 2020. [cited by applicant]
U.S. Appl. No. 17/303,900, filed Jun. 10, 2021, naming inventors Vegesna et al. [cited by applicant]
U.S. Appl. No. 17/303,887, filed Jun. 9, 2021, naming inventors Vegesna et al. [cited by applicant]
U.S. Appl. No. 17/304,654, filed Jun. 24, 2021, naming inventors Ruan et al. [cited by applicant]
Varela et al., “The Salsa Programming Language 2.0.0alpha Release Tutorial,” Tensselaer Polytechnic Institute, Nov. 2009, 52 pp. [cited by applicant]
Von Behren et al., “Why Events Are A Bad Idea (for high-concurrency servers),” Proceedings of HotOS IX, May 2003, 6 pp. [cited by applicant]
Wang et al., “A Spatial and Temporal Locality-Aware Adaptive Cache Design with Network Optimization for Tiled Many-Core Architectures,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 25. No. 9, S… [cited by applicant]
Welsh et al., “SEDA: An Architecture for Well-Conditioned, Scalable Internet Services,” Eighteenth Symposium on Operating Systems Principles, Oct. 21-24, 2001, 14 pp. [cited by applicant]
Zhu et al., “Congestion Control for Large-Scale RDMA Deployments,” SIGCOMM '15 Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication, Aug. 17-21, 2015, pp. 523-536. [cited by applicant]
Prosecution History from U.S. Appl. No. 16/774,941, dated May 28, 2020 through Dec. 30, 2020, 41 pp. [cited by applicant]
Prosecution History from U.S. Appl. No. 16/147,070 dated Dec. 31, 2019 through Jul. 26, 2021, 271 pp. [cited by applicant]
Oh et al., “Feedback-Based Path Failure Detection and Buffer Blocking Protection for MPTCP,” IEEE/ACM Transactions on Networking, vol. 24, No. 6, Dec. 2016, 12 pp. [cited by applicant]
Chen et al., “Data Center Congestion Management requirements; draft-yueven-tsvwg-dccm-requirements-01,” TSVWG, Internet-Draft, Retrieved Jul. 7, 2021 from: https://tools.ietf.org/id/draft-yueven-tsvwg-dccm-requirements-… [cited by applicant]
U.S. Appl. No. 17/301,185, filed Mar. 2021, naming inventors Goel et al. [cited by applicant]
Allman et al., “TCP Congestion Control”, IETF Network Working Group, RFC 5681, Sep. 2009, 18 pp. [cited by applicant]
Bensley et al., “Data Center TCP (DCTCP): TCP Congestion Control for Data Centers”, IETF, RFC 8257, Oct. 2017, 17 pp. [cited by applicant]
“Transmission Control Protocol,” Darpa Internet Program Protocol Specification, Information Sciences Institute, RFC 793, Sep. 1981, 91 pp. [cited by applicant]
Jacobson et al., “TCP Extensions for High Performance”, IETF Network Working Group, RFC 1323, May 1992, 37 pp. [cited by applicant]
Stevens, “TCP Slow Start, Congestion Avoidance, Fast Retransmit and Fast Recovery Algorithms”, IETF Network Working Group, RFC 2001, Jan. 1997, 6 pp. [cited by applicant]
Mathis et al., “TCP Selective Acknowledgment Options”, IETF Network Working Group, RFC 2018, Oct. 1996, 12 pp. [cited by applicant]
Paxson et al.., “Known TCP Implementation Problems”, IETF Network Working Group, RFC 2525, Mar. 1999, 61 pp. [cited by applicant]
Alizadeh et al., “Analysis of DCTCP: Stability, Convergence, and Fairness,” Department of Electrical Engineering, Standford University, SIGMETRICS'11, Jun. 7-11, 2011, 14 pp. [cited by applicant]
Mittal et al., “Revisiting Network Support for RDMA”, Department of Electrical Engineering, Standford University, SIGMETRICS, Jun. 21, 2018, 18 pp. [cited by applicant]
Cardwell et al., “BBR Congestion Control”, IETF Draft, Jul. 3, 2017, 34 pp. [cited by applicant]
Cited By (3)
US 12,556,474 US 12,669,943 US 12,712,805