Crosspoint switch bandwidth allocation management
First Claim
1. A method for allocating bandwidth in a switch, comprising:
- determining whether a bandwidth allocation request is associated with a delay sensitive connection type;
selecting, in the event that said bandwidth allocation request is associated with said delay sensitive connection type, at least one of a first set of bandwidth allocation algorithms;
selecting, in the event that said bandwidth allocation request is not associated with said delay sensitive connection type, at least one of a second set of bandwidth allocation algorithms; and
responsive to a selected bandwidth allocation algorithm, reserving slots for a connection associated with said allocation request in a bandwidth allocation table, wherein said bandwidth allocation table includes a plurality of slots, each of said slots representing a time at which a predetermined number of data units may be transmitted across a switch fabric, wherein said predetermined number of data units is the same for each of said slots in said bandwidth allocation table, and wherein said at least one of said first set of bandwidth allocation algorithms allocates slots in said bandwidth allocation table that are spaced substantially equally from each other within said bandwidth allocation table.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for allocating bandwidth in a network element. The system determines whether a bandwidth allocation request is associated with a delay sensitive connection type. If so, the system selects a bandwidth allocation algorithm from a first set of bandwidth allocation algorithms. Otherwise, the system selects a bandwidth allocation algorithm from a second set of bandwidth allocation algorithms. The size of the bandwidth allocation request may be examined when selecting which bandwidth allocation algorithm to use. The system may round up the size of the bandwidth allocation request to a predetermined value. The selected bandwidth allocation algorithm may reserve slots in a bandwidth allocation table. Reserved slots that are equally spaced in the bandwidth allocation table avoid undue delays in servicing an associated connection. A binary tree representation of the table is described, wherein leaves of the binary tree correspond to individual table slots. Specific bandwidth allocation algorithms are described which are advantageously applicable when allocating bandwidth to delay sensitive or relatively delay insensitive connection types.
89 Citations
25 Claims
-
1. A method for allocating bandwidth in a switch, comprising:
-
determining whether a bandwidth allocation request is associated with a delay sensitive connection type;
selecting, in the event that said bandwidth allocation request is associated with said delay sensitive connection type, at least one of a first set of bandwidth allocation algorithms;
selecting, in the event that said bandwidth allocation request is not associated with said delay sensitive connection type, at least one of a second set of bandwidth allocation algorithms; and
responsive to a selected bandwidth allocation algorithm, reserving slots for a connection associated with said allocation request in a bandwidth allocation table, wherein said bandwidth allocation table includes a plurality of slots, each of said slots representing a time at which a predetermined number of data units may be transmitted across a switch fabric, wherein said predetermined number of data units is the same for each of said slots in said bandwidth allocation table, and wherein said at least one of said first set of bandwidth allocation algorithms allocates slots in said bandwidth allocation table that are spaced substantially equally from each other within said bandwidth allocation table. - View Dependent Claims (2, 3, 4, 5, 8, 9, 10)
-
-
6. A method for allocating bandwidth in a switch, comprising:
-
determining whether a bandwidth allocation request is associated with a delay sensitive connection type;
selecting, in the event that said bandwidth allocation request is associated with said delay sensitive connection type, at least one of a first set of bandwidth allocation algorithms;
selecting, in the event that said bandwidth allocation request is not associated with said delay sensitive connection type, at least one of a second set of bandwidth allocation algorithms;
wherein said selecting at least one of said first set of bandwidth allocation algorithms further comprises selecting a first one of said first set of bandwidth allocation algorithms in the event that a size of said bandwidth allocation request falls within a first range; and
further comprising rounding said size of said bandwidth allocation request up to a predetermined value responsive to said selecting said first one of said first set of bandwidth allocation algorithms. - View Dependent Claims (7)
-
-
11. A method for allocating bandwidth in a switch, comprising:
-
determining whether a bandwidth allocation request is associated with a delay sensitive connection type;
selecting, in the event that said bandwidth allocation request is associated with said delay sensitive connection type, at least one of a first set of bandwidth allocation algorithms;
selecting, in the event that said bandwidth allocation request is not associated with said delay sensitive connection type, at least one of a second set of bandwidth allocation algorithms; and
wherein said at least one of said first set of bandwidth allocation algorithms reserves a number of said slots in said bandwidth allocation table equal to a power of two greater than a size of said bandwidth allocation request. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method for allocating bandwidth in a switch, comprising:
-
determining whether a bandwidth allocation request is associated with a delay sensitive connection type;
selecting, in the event that said bandwidth allocation request is associated with said delay sensitive connection type, at least one of a first set of bandwidth allocation algorithms;
selecting, in the event that said bandwidth allocation request is not associated with said delay sensitive connection type, at least one of a second set of bandwidth allocation algorithms; and
wherein said at least one of said first set of bandwidth allocation algorithms allocates a number of slots in a bandwidth allocation table equal to a power of two multiplied by an integer, wherein said number of slots is greater than or equal to a size of said bandwidth allocation request.
-
-
17. A method for allocating bandwidth in a switch, comprising:
-
determining whether a bandwidth allocation request is associated with a delay sensitive connection type;
selecting, in the event that said bandwidth allocation request is associated with said delay sensitive connection type, at least one of a first set of bandwidth allocation algorithms;
selecting, in the event that said bandwidth allocation request is not associated with said delay sensitive connection type, at least one of a second set of bandwidth allocation algorithms, and wherein said at least one of said second set of bandwidth allocation algorithms allocates a number of said slots in said bandwidth allocation table equal to a sum of powers of two, wherein said number of slots is equal to or greater than a size of said bandwidth allocation request. - View Dependent Claims (18, 19, 20)
-
-
21. A method for allocating bandwidth in a switch, comprising:
-
determining whether a bandwidth allocation request is associated with a delay sensitive connection type;
selecting, in the event that said bandwidth allocation request is associated with said delay sensitive connection type, at least one of a first set of bandwidth allocation algorithms;
selecting, in the event that said bandwidth allocation request is not associated with said delay sensitive connection type, at least one of a second set of bandwidth allocation algorithms, and wherein said at least one of said second set of bandwidth allocation algorithms allocates a number of said slots in said bandwidth allocation table equal to a power of two multiplied by an integer and incremented by a remainder value, wherein said remainder value is equal to a size of said bandwidth allocation request minus said power of two multiplied by said integer.
-
-
22. A method for allocating bandwidth in a switch, comprising:
-
determining whether a bandwidth allocation request is associated with a delay sensitive connection type;
selecting, in the event that said bandwidth allocation request is associated with said delay sensitive connection type, at least one of a first set of bandwidth allocation algorithms;
selecting, in the event that said bandwidth allocation request is not associated with said delay sensitive connection type, at least one of a second set of bandwidth allocation algorithms, and wherein said at least one of said first set of bandwidth allocation algorithms allocates a number of said slots in said bandwidth allocation table equal to a sum of powers of two, wherein said number of slots is equal to or greater than a size of said bandwidth allocation request.
-
-
23. A method for allocating bandwidth in a switch, comprising:
-
determining whether a bandwidth allocation request is associated with a delay sensitive connection type;
selecting, in the event that said bandwidth allocation request is associated with said delay sensitive connection type, at least one of a first set of bandwidth allocation algorithms;
selecting, in the event that said bandwidth allocation request is not associated with said delay sensitive connection type, at least one of a second set of bandwidth allocation algorithms; and
wherein said at least one of said first set of bandwidth allocation algorithms reserves a number of a plurality of slots in a bandwidth allocation table equal to a power of two equal to a size of said bandwidth allocation request. - View Dependent Claims (24, 25)
-
Specification