Burst switching in a high capacity network
First Claim
1. A method of controlling a space switch to establish time-varying connections, said method comprising:
- receiving a stream of burst transfer requests from a source node, each of said burst transfer requests including parameters specifying a requested connection and a duration for said requested connection;
generating scheduling information for each of said burst transfer requests based on said parameters;
transmitting said scheduling information to said source node; and
transmitting instructions to a slave controller for said space switch, where said instructions are based on said scheduling information and instruct said space switch to establish said requested connection.
8 Assignments
0 Petitions
Accused Products
Abstract
At a master controller of a space switch in a node in a data network, a request is received from a source node that requests a connection to be established through the space switch. This request is compared to other such requests so that a schedule may be established for access to the space switch. The schedule is then sent to the source nodes as well as to a slave controller of the space switch. The source nodes send data bursts which are received at the space switch during a short guard time between successive reconfigurations of the space switch. Data bursts are received at the space switch at a precisely determined instant of time that ensures that the space switch has already reconfigured to provide requested paths for the individual bursts. The scheduling is pipelined and performed in a manner that attempts to reduce mismatch intervals of the occupancy states of input and output ports of the space switch. The method thus allows efficient utilization of the data network resources while ensuring virtually no data loss.
45 Citations
21 Claims
-
1. A method of controlling a space switch to establish time-varying connections, said method comprising:
-
receiving a stream of burst transfer requests from a source node, each of said burst transfer requests including parameters specifying a requested connection and a duration for said requested connection;
generating scheduling information for each of said burst transfer requests based on said parameters;
transmitting said scheduling information to said source node; and
transmitting instructions to a slave controller for said space switch, where said instructions are based on said scheduling information and instruct said space switch to establish said requested connection. - View Dependent Claims (2)
-
-
3. A space switch master controller comprising:
-
a source interface for;
receiving a stream of burst transfer requests from a source node, each of said burst transfer request including parameters specifying a requested connection and a duration for said requested connection;
transmitting scheduling information for each of said burst transfer requests to said source node;
a burst scheduler for generating said scheduling information for each of said burst transfer requests in said stream based on said parameters; and
a slave controller interface for transmitting instructions to a slave controller for said space switch, where said instructions are based on said scheduling information and instruct said space switch to establish said requested connection.
-
-
4. A computer readable medium containing computer-executable instructions which, when performed by a processor in a space switch master controller, cause the processor to:
-
receive a stream of burst transfer requests from a source node, each of said burst transfer requests including parameters specifying a requested connection and a duration for said requested connection;
generate scheduling information for each of said burst transfer requests based on said parameters;
transmit said scheduling information to said source node; and
transmit instructions to a slave controller for said space switch, where said instructions are based on said scheduling information and instruct said space switch to establish said requested connection.
-
-
5. A method of generating scheduling information comprising:
-
determining a next-available input port among a plurality of input ports and a time index at which said next-available input port will become available;
for each burst transfer request of a plurality of burst transfer requests received in relation to said next-available input port, and where each said each burst transfer request includes an identity of a burst and a destination for said burst;
determining, from said destination for said burst, a corresponding output port among a plurality of output ports;
determining a time gap, where said time gap is a difference between;
said time index at which said next-available input port will become available; and
a time index at which said corresponding output port will become available;
selecting one of said plurality of burst transfer requests as a selected burst transfer request, where said selected burst transfer request has a minimum time gap of said plurality of burst transfer requests;
selecting a scheduled time index, where said scheduled time index is one of said time index at which said next-available input port is available and said time index at which said corresponding output port is available; and
transmitting scheduling information for a burst identified by said selected burst transfer request, said scheduling information based on said scheduled time index. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20)
-
-
17. A burst scheduler comprising a processor operable to:
-
determine a next-available input port among a plurality of input ports and a time index at which said next-available input port will become available;
for each burst transfer request of a plurality of burst transfer requests received in relation to said next-available input port, and where each said each burst transfer request includes an identity of a burst and a destination for said burst;
determine, from said destination for said burst, a corresponding output port among a plurality of output ports;
determine a time gap, where said time gap is a difference between;
said time index at which said next-available input port will become available; and
a time index at which said corresponding output port will become available;
select one of said plurality of burst transfer requests as a selected burst transfer request, where said selected burst transfer request has a minimum time gap of said plurality of burst transfer requests;
select a scheduled time index, where said scheduled time index is one of said time index at which said next-available input port is available and said time index at which said corresponding output port is available; and
generate scheduling information for a burst identified by said selected burst transfer request, said scheduling information based on said scheduled time index.
-
-
18. A computer readable medium containing computer-executable instructions which, when performed by a processor in a burst scheduler, cause the processor to:
-
determine a next-available input port among a plurality of input ports and a time index at which said next-available input port will become available;
for each burst transfer request of a plurality of burst transfer requests received in relation to said next-available input port, and where each said each burst transfer request includes an identity of a burst and a destination for said burst;
determine, from said destination for said burst, a corresponding output port among a plurality of output ports;
determine a time gap, where said time gap is a difference between;
said time index at which said next-available input port will become available; and
a time index at which said corresponding output port will become available;
select one of said plurality of burst transfer requests as a selected burst transfer request, where said selected burst transfer request has a minimum time gap of said plurality of burst transfer requests;
select a scheduled time index, where said scheduled time index is one of said time index at which said next-available input port is available and said time index at which said corresponding output port is available; and
generate scheduling information for a burst identified by said selected burst transfer request, said scheduling information based on said scheduled time index.
-
-
19. A core node in a data network comprising:
-
a space switch;
a plurality of input ports;
a plurality of output ports; and
a slave controller for said space switch for receiving instructions from a master controller of said space switch, said instructions including specifications of temporary connections to establish between said plurality of input ports and said plurality of output ports and indications of timing with which to establish said connections.
-
-
21. A data network comprising:
-
a plurality of edge nodes;
a plurality of core nodes, each core node of said plurality of core nodes including a space switch; and
a master controller for one said space switch in one said core node for;
receiving a stream of burst transfer requests from one of said plurality of edge nodes, each of said burst transfer requests including parameters specifying a requested connection and a duration for said requested connection;
generating scheduling information for each of said burst transfer requests based on said parameters;
transmitting said scheduling information to said one of said plurality of edge nodes; and
transmitting said instructions to a slave controller for said one said space switch, where said instructions are based on said scheduling information.
-
Specification