IP Library Granted Patent US 11,165,749
Granted Patent B2
US 11,165,749 · App. 15/043,212 · Granted Nov 2, 2021

Assigning variable length address identifiers to packets in a processing system

Inventor: David A. Roberts (Boxborough, MA)
Assignee: Advanced Micro Devices, Inc.
H04L61/6072H04L45/48H04L45/745H04L61/2007H04L69/22H04L61/6068
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,165,749
App. No.
15/043,212
Granted
Nov 2, 2021
Kind
B2
Abstract

A controller assigns variable length addresses to addressable elements that are connected to a network. The variable length addresses are determined based on probabilities that packets are addressed to the corresponding addressable element. The controller transmits, to the addressable elements via the network, a routing table indicating the variable length addresses assigned to the addressable elements. Routers or addressable elements receive the routing table and route one or more packets over the network to an addressable element using variable length addresses included in a header of the one or more packets.

Claims (47)

1. A method for assigning addresses to addressable elements connected to a network, the network including at least one router, the method comprising:

assigning variable length addresses to the addressable elements, wherein the variable length addresses are determined based on probabilities that packets are addressed to the addressable elements, wherein the probabilities are based on counts of a number of times each of the variable length addresses is identified in a set of packets; and

transmitting, to the at least one router, a routing table indicating the variable length addresses assigned to the addressable elements, the at least one router to route packets based on the routing table.

2. The method of claim 1 , wherein:

assigning the variable length addresses to the addressable elements comprises encoding fixed length addresses of the addressable elements as the variable length addresses, and

the variable length addresses are represented by values associated with branches of a code tree and the fixed length addresses are leaves of the code tree.

3. The method of claim 2 , wherein the fixed length addresses of the addressable elements are encoded as the variable length addresses according to an instantaneous code so that concatenated variable length addresses are not separated by delimiters.

4. The method of claim 3 , wherein encoding the fixed length addresses of the addressable elements as variable length addresses comprises Huffman encoding the fixed length addresses as variable length addresses.

5. The method of claim 2 , further comprising:

receiving information indicating frequencies that packets are addressed to the addressable elements; and

determining the probabilities that packets are addressed to the corresponding addressable elements based on the frequencies.

6. The method of claim 5 , wherein the information indicating the frequencies is received from counters associated with the addressable elements.

7. The method of claim 6 , wherein assigning the variable length addresses comprises modifying previously assigned variable length addresses in response to receiving the information indicating the frequencies.

8. The method of claim 7 , further comprising:

transmitting a request to pause transmission of packets to the addressable elements over the network;

transmitting a modified routing table indicating the modified variable length addresses;

receiving at least one acknowledgment from the at least one router in response to transmitting the modified routing table; and

transmitting instructions to begin transmitting packets to the addressable elements according to the modified routing table after a time interval to allow in-flight packets to reach their destination addressable elements.

9. An apparatus to assign addresses to addressable elements connected to a network, the network including at least one router, the apparatus comprising:

a processor to assign variable length addresses to the addressable elements, wherein the variable length addresses are determined based on probabilities that packets are addressed to the addressable elements, wherein the probabilities are based on counts of a number of times each of the variable length addresses is identified in a set of packets; and

a transceiver to transmit, to the at least one router, a routing table indicating the variable length addresses assigned to the addressable elements, the at least one router to route packets based on the routing table.

10. The apparatus of claim 9 , wherein:

the processor is to encode fixed length addresses of the addressable elements as the variable length addresses, and

the variable length addresses are represented by values associated with branches of a code tree and the fixed length addresses are leaves of the code tree.

11. The apparatus of claim 10 , wherein the processor is to encode the fixed length addresses as variable length addresses according to an instantaneous code so that concatenated variable length addresses are not separated by delimiters.

12. The apparatus of claim 11 , wherein the processor is to perform Huffman encoding to encode the fixed length addresses as variable length addresses.

13. The apparatus of claim 10 , wherein:

the transceiver is to receive information indicating frequencies that packets are addressed to the addressable elements; and

the processor is to determine the probabilities that packets are addressed to the corresponding addressable elements based on the frequencies.

14. The apparatus of claim 13 , wherein the transceiver is to receive the information indicating the frequencies from counters associated with the addressable elements.

15. The apparatus of claim 14 , wherein the processor is to modify previously assigned variable length addresses in response to the transceiver receiving the information indicating the frequencies.

16. The apparatus of claim 15 , wherein the transceiver is to:

transmit a request to pause transmission of packets to the addressable elements over the network,

transmit a modified routing table indicating the modified variable length addresses, and

receive at least one acknowledgment from the at least one router in response to transmitting the modified routing table.

17. The apparatus of claim 16 , wherein the transceiver is to transmit instructions to begin transmitting packets to the addressable elements according to the modified routing table after a time interval to allow in-flight packets to reach their destination addressable elements.

18. A non-transitory computer readable medium embodying a set of executable instructions for assigning addresses to addressable elements connected to a network, the network including at least one router, the set of executable instructions to manipulate a processor to:

assign variable length addresses to the addressable elements, wherein the variable length addresses are determined based on probabilities that packets are addressed to the corresponding addressable element, wherein the probabilities are based on counts of a number of times each of the variable length addresses is identified in a set of packets; and

transmit, to the at least one router, a routing table indicating the variable length addresses assigned to the addressable elements, the at least one router to route packets based on the routing table.

19. The non-transitory computer readable medium of claim 18 , wherein the set of executable instructions is to manipulate the processor to:

receive information indicating frequencies that packets are addressed to the addressable elements;

determine the probabilities that packets are addressed to the corresponding addressable elements based on the frequencies; and

modify previously assigned variable length addresses in response to receiving the information indicating the frequencies.

20. The non-transitory computer readable medium of claim 19 , wherein the set of executable instructions is to manipulate the processor to:

transmit a request to pause transmission of packets to the addressable elements over the network;

transmit a modified routing table indicating the modified variable length addresses; and

transmit instructions to begin transmitting packets to the addressable elements according to the modified routing table after a time interval to allow in-flight packets to reach their destination addressable elements.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2016
From: ROBERTS, DAVID A.
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 037748/0291 →
Continuity (1)
Related Publication 20170237658A1 · Aug 17, 2017