IP Library › Granted Patent US 12,255,824
Granted Patent B2
US 12,255,824 · App. 18/508,137 · Granted Mar 18, 2025

Recycled entropies packet spraying

Inventors: Abdul Kabbani (Redmond, WA); Torsten Hoefler (Pfaeffikon, CH)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
H04L47/24H04L47/12H04L47/6225H04L47/6245
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,255,824
App. No.
18/508,137
Granted
Mar 18, 2025
Kind
B2
Abstract

An entropy value is generated for a data packet to be transmitted on a computing network. The entropy value is usable to select or change a network path for the data packet. In response to receiving an acknowledgement message for the data packet, the entropy value is saved in a storage structure if the entropy value is acknowledged as not congested. When transmitting an additional data packet, the oldest saved entropy from the storage structure is reused and the oldest saved entropy value is invalidated.

Claims (29)

1. A method for managing a computing network implementing packet delivery contexts (PDCs), the method comprising:

generating an entropy value for a data packet to be transmitted on the computing network, the entropy value usable to select or change a network path for the data packet;

in response to receiving an acknowledgement message for the data packet, determining that the entropy value is acknowledged as not congested and saving the entropy value in a storage structure; and

reusing an oldest saved entropy value from the storage structure to transmit an additional data packet and invalidating the oldest saved entropy value.

2. The method of claim 1 , wherein the entropy value is a bit, value, or signal that corresponds to a network route and is usable to select or change a network path as indicated to a device on the computing network.

3. The method of claim 1 , wherein packets with a same entropy value take a same path, and packets with different entropy values take different paths.

4. The method of claim 1 , wherein the entropy value is generated randomly or using round-robin across a list or range of entropies.

5. The method of claim 4 , wherein a new entropy value is a next one in the list or deterministically changed or incremented.

6. The method of claim 1 , wherein the storage structure is a circular FIFO buffer.

7. The method of claim 1 , wherein when there are no valid entropy values to reuse, a different entropy value is used.

8. The method of claim 1 , wherein when there are no more transmissions for a connection, good entropies observed per the last batch of ACKs are buffered.

9. The method of claim 1 , wherein saved entropy values are used when a connection is flagged as recurrent, wherein good entropy values are valid for same connections at a later time when the same connections resume transmission along a same set of other recurrent connections.

10. The method of claim 6 , wherein the circular FIFO buffer is dynamically allocated within a data structure and shared across all or a subset of connections on a NIC.

11. A system for managing a computing network implementing packet delivery contexts (PDCs), the system comprising a network device and computing node, the system configured to perform operations comprising:

generating an entropy value for a data packet to be transmitted on the computing network, the entropy value usable to select or change a network path for the data packet;

in response to receiving an acknowledgement message for the data packet, determining that the entropy value is acknowledged as not congested and saving the entropy value in a storage structure; and

reusing an oldest saved entropy value from the storage structure to transmit an additional data packet and invalidating the oldest saved entropy value.

12. The system of claim 11 , wherein the entropy value is a bit, value, or signal that corresponds to a network route and is usable to select or change a network path as indicated to a device on the computing network, and packets with a same entropy take a same path, and packets with different entropies take different paths.

13. The system of claim 11 , wherein the entropy value is generated randomly or using round-robin across a list or range of entropies.

14. The system of claim 13 , wherein a new entropy value is a next one in the list or deterministically changed or incremented.

15. The system of claim 11 , wherein the storage structure is a circular FIFO buffer.

16. The system of claim 11 , wherein when there are no valid entropy values to reuse, a different entropy value is used.

17. The system of claim 11 , wherein when there are no more transmissions for a connection, good entropies observed per the last batch of ACKs are buffered.

18. The system of claim 11 , wherein saved entropy values are used when a connection is flagged as recurrent, wherein good entropy values are valid for same connections at a later time when the same connections resume transmission along a same set of other recurrent connections.

19. The system of claim 15 , wherein the circular FIFO buffer is dynamically allocated within a data structure and shared across all or a subset of connections on a NIC.

20. A computer readable storage medium comprising computer readable instructions for managing a computing network implementing packet delivery contexts (PDCs), the computer readable instructions operable, when executed by a computing node, to perform operations comprising:

generating an entropy value for a data packet to be transmitted on the computing network, the entropy value usable to select or change a network path for the data packet;

in response to receiving an acknowledgement message for the data packet, determining that the entropy value is acknowledged as not congested and saving the entropy value in a storage structure; and

reusing an oldest saved entropy value from the storage structure to transmit an additional data packet and invalidating the oldest saved entropy value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2024
From: KABBANI, ABDUL; HOEFLER, TORSTEN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 066114/0017 →
Continuity (8)
Provisional Application 63517918 · Aug 6, 2023
Provisional Application 63517919 · Aug 6, 2023
Provisional Application 63530991 · Aug 6, 2023
Provisional Application 63530992 · Aug 6, 2023
Provisional Application 63517917 · Aug 6, 2023
Provisional Application 63531000 · Aug 6, 2023
Provisional Application 63530997 · Aug 6, 2023
Related Publication 20250047610A1 · Feb 6, 2025
References Cited (65)
US 6105064A · Davis · 2000 [cited by applicant]
US 6614755B1 · Dote · 2003 [cited by applicant]
US 7092357B1 · Ye · 2006 [cited by examiner]
US 9473408B1 · Kabbani · 2016 [cited by applicant]
US 20020141341A1 · Haggar · 2002 [cited by applicant]
US 20040109443A1 · Gai · 2004 [cited by applicant]
US 20060203728A1 · Kwan · 2006 [cited by applicant]
US 20060203730A1 · Zur · 2006 [cited by examiner]
US 20060256784A1 · Feng · 2006 [cited by applicant]
US 20080037420A1 · Tang · 2008 [cited by applicant]
US 20080239948A1 · Bai · 2008 [cited by applicant]
US 20090310610A1 · Sandstrom · 2009 [cited by applicant]
US 20110205898A1 · Ichiki · 2011 [cited by applicant]
US 20120120801A1 · Ramakrishnan · 2012 [cited by examiner]
US 20130232228A1 · Ramamurthy · 2013 [cited by applicant]
US 20140226473A1 · Jin · 2014 [cited by applicant]
US 20150029849A1 · Frost · 2015 [cited by applicant]
US 20170019803A1 · Nguyen · 2017 [cited by applicant]
US 20170324629A1 · Iyer · 2017 [cited by applicant]
US 20190044861A1 · Wandler · 2019 [cited by applicant]
US 20200236052A1 · Srinivasan · 2020 [cited by examiner]
US 20200366608A1 · Pan · 2020 [cited by applicant]
US 20210119930A1 · Debbage et al. · 2021 [cited by applicant]
US 20210297350A1 · Vegesna et al. · 2021 [cited by applicant]
US 20210297351A1 · Vegesna · 2021 [cited by examiner]
US 20210320820A1 · Ruan et al. · 2021 [cited by applicant]
US 20210328930A1 · Nikolaidis · 2021 [cited by applicant]
US 20210344782A1 · Shpigelman · 2021 [cited by examiner]
US 20220078118A1 · Ao · 2022 [cited by applicant]
US 20220085916A1 · Debbage · 2022 [cited by applicant]
US 20220210097A1 · Yang · 2022 [cited by applicant]
US 20220311711A1 · Jepsen · 2022 [cited by applicant]
US 20230198895A1 · Baniamerian · 2023 [cited by applicant]
US 20230246966A1 · Sun · 2023 [cited by applicant]
US 20240396839A1 · Friedman · 2024 [cited by applicant]
CN 113411264A · 2021 [cited by applicant]
CN 115314442A · 2022 [cited by applicant]
CN 117527698A · 2024 [cited by applicant]
CN 117692396A · 2024 [cited by applicant]
WO WO0189160A1 · 2001 [cited by examiner]
WO WO2020236297A1 · 2020 [cited by examiner]
WO WO2021238799A1 · 2021 [cited by examiner]
Gilad, et al., “MPCC Online Learning Multipath Transport”, Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops, ACMPUB27, New York, NY, USA, Nov. 23, 2020, pp. 121-135. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/039450, Oct. 14, 2024, 17 pages. [cited by applicant]
Tang, et al., “Tuning Target Delay for RTT-based Congestion Control”, 2022 IEEE 30th International Conference on Network Protocols (ICNP), IEEE, Oct. 30, 2022, pp. 1-11. [cited by applicant]
Adams, et al., “Active Queue Management: A Survey”, IEEE Communications Surveys & Tutorials, vol. 15, No. 3, 2013, pp. 1425-1476. [cited by applicant]
Choi, et al., “On Fair Window Control For TCP With ECN Using Congestion Level”, IEICE Transaction On Communication, vol. E68-B, No. 12, Dec. 2003, pp. 3651-3654. [cited by applicant]
Floyd, Sally, “TCP and Explicit Congestion Notification”, ACM SIGCOMM—Computer Communication Review, 1994, pp. 8-23. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/039448, mailed on Oct. 10, 2024, 18 pages. [cited by applicant]
Karandikar, et al., “TCP rate control”, ACM SIGCOMM—Computer Communication Review, 2000, pp. 45-58. [cited by applicant]
Karnik, et al., “Performance of TCP congestion control with explicit rate feedback”, IEEE /ACM Transactions On Networking, vol. 13, No. 1, Feb. 2005, pp. 108-120. [cited by applicant]
Alibaba, et al., “MPLS Segment Routing Over IP; rfc8663.txt”, Internet Engineering Task Force, IETF; Standard, Internet Society (ISOC) 4, Rue Des Falaises Ch- 1205 Geneva, Switzerland, Dec. 6, 2019, Retrieved from URL: … [cited by applicant]
Alipio, et al., “TCP incast solutions in data center networks: A classification and survey”, Journal of network and computer applications, vol. no. 146, Aug. 8, 2019, 28 Pages. [cited by applicant]
Hu, et al., “Coding-Based Distributed Congestion-Aware Packet Spraying to Avoid Reordering in Data Center Networks”, IEEE Access, vol. 9, Mar. 1, 2021, pp. 35539-35548. [cited by applicant]
International Search Report and Written Opinion Issued in PCT Application No. PCT/US2024/039446, Mailed on Nov. 14, 2024, 13 Pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/039444, Nov. 13, 2024, 13 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/039445, Nov. 12, 2024, 16 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/039447, Nov. 18, 2024, 16 pages. [cited by applicant]
Invitation To Pay Additional Fees received for PCT Application No. PCT/US2024/039449, Nov. 13, 2024, 12 pages. [cited by applicant]
Key, et al., “Combining Multipath Routing and Congestion Control for Robustness”, 40th Annual Conference on Information Sciences and Systems- IEEE, Mar. 22, 2006, 07 pages. [cited by applicant]
Kabbani et al., “AF-QCN: Approximate Fairness With Quantized Congestion Notification for Multi-tenanted Data Centers,” 2010 18th IEEE Symposium on High Performance Interconnects. IEEE, 2010, pp. 58-65. [cited by applicant]
Non-Final Office Action mailed on Dec. 2, 2024, in U.S. Appl. No. 18/507,707, 14 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/039449, Jan. 9, 2025, 20 pages. [cited by applicant]
Non- Final Office Action mailed on Dec. 16, 2024, in U.S. Appl. No. 18/507,788, 12 pages. [cited by applicant]
Non-Final Office Action mailed on Jan. 8, 2025, in U.S. Appl. No. 18/507,831, 14 pages. [cited by applicant]