Methods and apparatus for simulating random connections
First Claim
1. A method of generating random connections for testing a network element for blocking operation comprising:
- (a) generating an ordered list of input identifiers for the input ports of the network element, (b) generating an ordered list of output identifiers for the output ports of the network element, (c) randomly assigning bandwidth resolutions according to desired proportions to each identifier in the lists, (d) separating the lists into bandwidth resolution categories as well as any other required categories, (e) shuffling the identifiers within each category, (f) forming a connection list of notional connections by traversing each of the lists in a predetermined order and recording pairs of respective input and output identifiers each pair representing a notional connection, and (g) shuffling the connection list.
1 Assignment
0 Petitions
Accused Products
Abstract
Blocking of a network element such as the switch occurs when there is remaining capacity in the switch in terms of available connections but some other problem occurs in the switch (such as lack of processing power) which causes a connection to be refused. Switches use increasingly complex algorithms to carry out switching operations, in part to optimise blocking performance, however, this makes estimation of real capacity in a switch difficult. Generating random connections for sampling purposes from the space of fully provisioned connections based on sensible estimates of bandwidth granularity, allows accurate estimates to be carried out. Appropriate shuffling and correlation techniques further enhance the real-world performance of such simulations.
6 Citations
18 Claims
-
1. A method of generating random connections for testing a network element for blocking operation comprising:
-
(a) generating an ordered list of input identifiers for the input ports of the network element, (b) generating an ordered list of output identifiers for the output ports of the network element, (c) randomly assigning bandwidth resolutions according to desired proportions to each identifier in the lists, (d) separating the lists into bandwidth resolution categories as well as any other required categories, (e) shuffling the identifiers within each category, (f) forming a connection list of notional connections by traversing each of the lists in a predetermined order and recording pairs of respective input and output identifiers each pair representing a notional connection, and (g) shuffling the connection list. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of generating random connections for testing a network element for blocking operation comprising:
-
(a) generating an ordered list of identifiers for the ports of the network element, (b) randomly assigning bandwidth resolutions according to desired proportions to each identifier in the list, (c) separating the lists into bandwidth resolution categories as well as any other required categories, (d) generating an input list and an output list by dividing the list into an equal number of input and output identifiers in each category, (e) shuffling the identifiers within each category, (f) forming a connection list of notional connections by traversing the input list and the output list in a predetermined order and recording pairs of respective input and output identifiers each pair representing a notional connection, (g) forming the inverse connections to produce the counterpart required or bidirectionality and add these to the connection list, and (h) shuffling the connection list. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A method of estimating capacity in a network element comprising:
-
(a) generating an ordered list of input identifiers for the input ports of the network element, (b) generating an ordered list of output identifiers for the output ports of the network element, (c) randomly assigning bandwidth resolutions according to desired proportions to each identifier in the lists, (d) separating the lists into bandwidth resolution categories as well as any other required categories, (e) shuffling the identifiers within each category, (f) forming a connection list of notional connections by traversing each of the lists in a predetermined order and recording pairs of respective input and output identifiers each pair representing a notional connection, (g) shuffling the connection list, and (h) applying the connections to the network element until blocking occurs or the connection list is exhausted and reporting the number of connections successfully made as an estimate of capacity in the network element.
-
-
14. A method of estimating bidirectional capacity in a network element comprising:
-
(a) generating an ordered list of identifiers for the ports of the network element, (b) randomly assigning bandwidth resolutions according to desired proportions to each identifier in the list, (c) separating the lists into bandwidth resolution categories as well as any other required categories, (d) generating an input list and an output list by dividing the list into an equal number of input and output identifiers in each category, (e) shuffling the identifiers within each category, (f) forming a connection list of notional connections by traversing the input list and the output list in a predetermined order and recording pairs of respective input and output identifiers each pair representing a notional connection, (g) forming the inverse connections to produce the counterpart required for bidirectionality and add these to the connection list, (h) shuffling the connection list, and (i) applying the connections to the network element until blocking occurs or the connection list is exhausted and reporting the number of connections successfully made as an estimate of capacity in the network element.
-
-
15. A network element including a processor operable to estimate capacity in the network element and arranged to:
-
(a) generate an ordered list of input identifiers for the input ports of the network element, (b) generate an ordered list of output identifiers for the output ports of the network element, (c) randomly assign bandwidth resolutions according to desired proportions to each identifier in the lists, (d) separate the lists into bandwidth resolution categories as well as any other required categories, (e) shuffle the identifiers within each category, (f) form a connection list of notional connections by traversing each of the lists in a predetermined order and recording pairs of respective input and output identifiers each pair representing a notional connection, (g) shuffle the connection list, and (h) apply the connections to the network element until blocking occurs or the connection list is exhausted and reporting the number of connections successfully made as an estimate of capacity in the network element.
-
-
16. A network element including a processor operable to estimate bidirectional capacity in the network element and arranged to:
-
(a) generate an ordered list of identifiers for the ports of the network element, (b) randomly assign bandwidth resolutions according to desired proportions to each identifier in the list, (c) separate the lists into bandwidth resolution categories as well as any other required categories, (d) generate an input list and an output list by dividing the list into an equal number of input and output identifiers in each category, (e) shuffle the identifiers within each category, (f) form a connection list of notional connections by traversing the input list and the output list in a predetermined order and recording pairs of respective input and output identifiers each pair representing a notional connection, (g) form the inverse connections to produce the counterpart required for bidirectionality and add these to the connection list, (h) shuffle the connection list, and (i) apply the connections to the network element until blocking occurs or the connection list is exhausted and reporting the number of connections successfully made as an estimate of capacity in the network element.
-
-
17. A computer program on computer readable medium which when executed on a processor associated with a switching algorithm of a network element, is operable to cause the algorithm to respond to notional connections generated by:
-
(a) generating an ordered list of input identifiers for the input ports of the network element, (b) generating an ordered list of output identifiers for the output ports of the network element, (c) randomly assigning bandwidth resolutions according to desired proportions to each identifier in the lists, (d) separating the lists into bandwidth resolution categories as well as any other required categories, (e) shuffling the identifiers within each category, (f) forming a connection list of notional connections by traversing each of the lists in a predetermined order and recording pairs of respective input and output identifiers each pair representing a notional connection, and (g) shuffling the connection list.
-
-
18. A computer program on computer readable medium which when executed on a processor associated with a switching algorithm of a network element, is operable to cause the algorithm to respond to notional connections generated by:
-
(a) generating an ordered list of identifiers for the ports of the network element, (b) randomly assigning bandwidth resolutions according to desired proportions to each identifier in the list, (c) separating the lists into bandwidth resolution categories as well as any other required categories, (d) generating an input list and an output list by dividing the list into an equal number of input and output identifiers in each category, (e) shuffling the identifiers within each category, (f) forming a connection list of notional connections by traversing the input list and the output list in a predetermined order and recording pairs of respective input and output identifiers each pair representing a notional connection, (g) forming the inverse connections to produce the counterpart required for bidirectionality and add these to the connection list, and (h) shuffling the connection list.
-
Specification