Switched channel-band network
First Claim
1. A method of switching data comprising:
- receiving a wavelength division multiplexed channel frame of data segments from a source node, where said frame is arranged such that a given time slot has a group of data segments, each from a different wavelength channel and all having the same destination; and
switching said group toward said destination.
9 Assignments
0 Petitions
Accused Products
Abstract
Rather than restricting a stream of data to a single channel within a multi-channel link between a source node and a core node, each channel is divided into time slots and the stream of data is distributed among these time slots in several channels. However, to ease the management of switching the stream of data at the core node, simultaneous time slots in each channel may be arranged into “stripes,” such that a particular stripe may only include data segments having a common destination. Switching these stripes of data at the core node requires that the source of such a stripe arrange the frame according to a frame structure provided by the core node. Advantageously, where the frame is striped across an entire link, the present invention provides for a variation on link switching that approaches the topological reach of TDM switching while maintaining relatively straightforward operation at the core node. As the switching scheme requires time-locking between the core node and the source node, methods are provided for initializing, maintaining and recovering this time-locking while offsetting the effect of optical signal dispersion in multi-wavelength fiber links.
42 Citations
24 Claims
-
1. A method of switching data comprising:
-
receiving a wavelength division multiplexed channel frame of data segments from a source node, where said frame is arranged such that a given time slot has a group of data segments, each from a different wavelength channel and all having the same destination; and
switching said group toward said destination. - View Dependent Claims (2)
-
-
3. A core node comprising:
-
a plurality of input ports for collectively receiving a wavelength division multiplexed channel frame of data segments from a source node, where said frame is arranged such that a given time slot has a group of data segments, each from a different wavelength channel and all having the same destination; and
at least one space switch for switching said group toward said destination.
-
-
4. A method for facilitating routing of wavelength division multiplexed (WDM) channels, each channel emanating from a core-interface output port, comprising:
-
taking time slices of said WDM channels to form data segments;
transmitting said data segments in time slots such that in one time slot, one data segment is transmitted from each core-interface output port; and
prior to said transmitting, re-organizing data segments such that a plurality of data segments destined to one sink node is presented at a like plurality of said core-interface output ports so that said plurality of data segments destined to said one sink node is transmitted in one time slot. - View Dependent Claims (5)
-
-
6. An edge node facilitating routing of wavelength division multiplexed (WDM) channels, each channel associated with a core-interface output port, comprising:
-
means for taking time slices of said WDM channels to form data segments;
means for transmitting said data segments in time slots such that in one time slot, one data segment is transmitted from each core-interface output port; and
means for re-organizing data segments such that a plurality of data segments destined to one sink node is presented at a like plurality of said core-interface output ports so that said plurality of data segments destined to said one sink node is transmitted in one time slot.
-
-
7. A method of facilitating, at an edge node that includes a time-counter, the alignment of arrival, at a core node, of corresponding data segments from a plurality of core-interface output ports of said edge node, where each of said plurality of core-interface output ports starts sending a set of data segments when a respective core-interface output port time-counter takes on a cyclic zero value, each said respective core-interface output port time-counter taking on said cyclic zero value when said edge node time-counter takes on an core-interface output port-specific start time, and where, said plurality of core-interface output ports collectively sends a timing message comprising a locking data segment from each of said plurality of core-interface output ports, each said locking data segment sent from a given one of plurality of said core-interface output ports when a corresponding core-interface output port time-counter takes on a first time value associated with said given one of plurality of said core-interface output ports, said method comprising:
-
receiving a reply message from said core node, in response to said timing message;
extracting, from said reply message, a second time value, for each said core-interface output port, corresponding to a value on a time-counter at said core node when each said locking data segment was received;
determining, for each said core-interface output port, an update to said core-interface output port-specific start time, based on a difference between said first time value and said second time value; and
instructing each of said plurality of core-interface output ports to adjust said cyclic zero value of said respective core-interface output port time-counter to occur at said update to said core-interface output port-specific start time. - View Dependent Claims (8)
-
-
9. An edge node comprising:
-
an edge node time-counter;
a plurality of core-interface output ports;
a plurality of core-interface output port time-counters, each of said plurality of core-interface output port time-counters associated with one of said plurality of core-interface output ports, where each of said plurality of core-interface output ports starts sending a set of data segments when a respective core-interface output port time-counter takes on a cyclic zero value, each said respective core-interface output port time-counter taking on said cyclic zero value when said edge node time-counter takes on a core-interface output port-specific start time, and where, said plurality of core-interface output ports collectively sends a timing message, comprising a locking data segment from each of said plurality of core-interface output ports, each said locking data segment sent from a given one of plurality of said core-interface output ports when a corresponding core-interface output port time-counter takes on a first time value associated with said given one of plurality of said core-interface output ports;
an edge-node controller operable to;
receive a reply message from said core node, in response to said timing message;
extract, from said reply message, a second time value, for each said core-interface output port, corresponding to a value on a time-counter at said core node when each said locking data segment was received;
determine, for each said core-interface output port, an update to said core-interface output port-specific start time, based on a difference between said first time value and said second time value; and
instruct each of said plurality of core-interface output ports to adjust said cyclic zero value of said respective core-interface output port time-counter to occur at said update to said core-interface output port-specific start time.
-
-
10. A method of time-lock recovery at a core node in a composite-star network, said method comprising:
-
instructing a switch to connect a link from a source node to a selector;
instructing said selector to select input received from said switch;
sending instructions to a sink node associated with said source node, said instructions including a request to send a timing message;
continuously reading data received from said source node via said selector and said switch; and
if said timing message is received, replying to said timing message with timing information. - View Dependent Claims (11, 12, 13, 14, 18)
-
-
15. A core node in a composite-star network comprising:
-
a space switch having a plurality of input ports and a plurality of output ports;
a master controller for controlling operation of said space switch;
a selector having a plurality of selector inputs and a single selector output, said selector output communicatively connected to said master controller;
a plurality of input switches, each of said plurality of input switches having a switch input and at least two switch outputs, where one of said switch outputs is communicatively connected to one said selector input and another one of said switch outputs is communicatively connected to one of said input ports of said space switch;
where said master controller is operable to;
instruct a given one of said plurality of input switches to connect a link from a source node to said selector;
instruct said selector to select input received from said given one of said plurality of input switches for transmitting to said master controller;
send instructions to a sink node associated with said source node, said instructions including a request to send a timing message;
continuously read data received from said source node via said selector and said switch; and
reply to said timing message with timing information.
-
-
16. A master controller comprising:
-
an input interface for receiving control data from a source node;
a scheduler for generating a schedule for operation of a space switch based on said control data, said schedule associating a plurality of time slots, within a multi-channel time division multiplexed frame of data segments, with a destination;
an output interface for communicating said schedule to a sink node associated with said source node;
a switch control interface for transmitting instructions to a slave switch control unit for said space switch, where said instructions are based on said schedule; and
a selector interface for instructing redirection of input from a given link away from a space switch input port and toward said master controller.
-
-
17. A network comprising:
-
a plurality of source nodes;
a plurality of outbound links communicatively coupled to said plurality of source nodes;
a plurality of sink nodes;
a plurality of inbound links communicatively coupled to said plurality of sink nodes;
a plurality of core nodes, each having a space switch, wherein at least a given one of said plurality of core nodes is communicatively coupled to a subset of said plurality of outbound links and a subset of said plurality of inbound links;
a plurality of master controllers, one said master controller associated with each of said plurality of core nodes, each said master controller for controlling a space switch in said associated core node, each controller operable to;
receive control data from at least one of said plurality of source nodes;
generate a schedule for operation of a given one of said space switches based on said control data, said schedule associating each of a plurality of time slots, within a multi-channel time division multiplexed frame of data segments, with a destination;
communicate said schedule to at least one of said plurality of sink nodes; and
transmit instructions to a slave switch control unit for said space switch, where said instructions are based on said schedule.
-
-
19. 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 control data from a source node;
generate a schedule for operation of a space switch based on said control data, said schedule associating each of a plurality of time slots, within a multi-channel time division multiplexed frame of data segments, with a destination;
communicate said schedule to a sink nodes; and
transmit instructions to a slave switch control unit for said space switch, where said instructions are based on said schedule.
-
- 20. A timing message transmitted from an edge node to a core node, carried in a link having a plurality of channels, said timing message carried in a plurality of locking data segments received at said core node, each of said plurality of locking data segments embodied in a distinct carrier wave corresponding to one of said plurality of channels, said timing message comprising a first field containing timing data, where said timing data comprises an identity of an output port of said edge node and an indication of a reading of an output port time-counter.
- 22. A reply message carried in a link having a plurality of channels, said reply message carried in a plurality of data segments, each of said plurality of data segments embodied in a distinct carrier wave corresponding to one of said plurality of channels, said reply message comprising a first field containing timing data, where said timing data comprises an identifier of an output port, an identifier of frame associated with the timing message and the time at which a timing message was received at a core node.
-
24. A method of facilitating, at an edge node that includes a time counter, the alignment of arrival at a core node of corresponding data segments from a plurality of core-interface output ports at said edge node, where each of said plurality of core-interface output ports starts sending a set of data segments when the edge node time-counter takes on a core-interface output port-specific start time, and where said plurality of core-interface output ports collectively sends a timing message comprising a locking data segment from each of said plurality of said core-interface output ports sent a predetermined length of time after said core-interface output port-specific start time, said predetermined length of time associated with said core-interface output port, said method comprising:
-
receiving a reply message from said core node, in response to said timing message;
extracting, from said reply message, a time value, for each said core-interface output port, corresponding to a value on a time-counter at said core node when each said locking data segment was received;
determining, for each said core-interface output port, an update to said core-interface output port-specific start time, based on a difference between said predetermined length of time and said time value; and
instructing each of said plurality of core-interface output ports to start sending said set of data segments when said edge node time-counter takes on said update to said core-interface output port-specific start time.
-
Specification