Ultra-low latency multi-protocol optical routers for the next generation internet
First Claim
1. An optical router, comprising:
- (a) an optical wavelength router having an input and output;
(b) an input optical wavelength converter stage having an input and an output; and
(c) an output optical wavelength converter stage having an input and an output;
(d) wherein said output of said input wavelength converter stage is connected to said input of said wavelength router;
(e) wherein said input of said output wavelength converter stage is connected to said output of said wavelength router;
(f) a programmable data processor; and
(g) programming executable on said data processor for resolving switching conflicts by carrying out the operations of;
(i) receiving a data packet having an optical wavelength and a destination;
(ii) determining the preferred path to the destination from a routing table;
(iii) testing the packet to determine if the wavelength is available on the preferred path;
(iv) routing the packet on the preferred path if the wavelength is available on the preferred path;
(v) if the wavelength was not available on the preferred path, determining if the wavelength can be converted to a wavelength available on the preferred path;
(vi) if the wavelength can be converted to a wavelength available on the preferred path, converting the wavelength and routing the packet on the preferred path;
(vii) if the wavelength of the packet cannot be converted to a wavelength available on the preferred path at step (vi), determining if any wavelength is free on a loop back port;
(viii) determining if wavelength conversion is needed;
(ix) if wavelength conversion is needed, converting the wavelength, sending the packet on the loop back port, and repeating steps (iii) through (vi); and
(x) if wavelength conversion is not needed, repeating steps (iii) through (vi).
1 Assignment
0 Petitions
Accused Products
Abstract
An ultra-low latency optical router with a peta-bit-per-second total aggregate switching bandwidth, that will scale to a total connectivity of 1000 by 1000, and beyond by modular upgrades, that utilizes advanced optical technologies to achieve such high capacity with two to three orders of magnitude less volume and power requirements than the electrical router counter part, that serves as a universal engine to other optical routers being developed by vendors and researchers today, that can function in the context of circuit-switching, flow-switching, burst-switching, and packet-switching, that uses advanced wavelength conversion technology to effectively achieve three methods of contention resolution in the router: deflection in wavelength, deflection in space, and buffering in time, and that interfaces a local network to the Supernet.
-
Citations
39 Claims
-
1. An optical router, comprising:
-
(a) an optical wavelength router having an input and output;
(b) an input optical wavelength converter stage having an input and an output; and
(c) an output optical wavelength converter stage having an input and an output;
(d) wherein said output of said input wavelength converter stage is connected to said input of said wavelength router;
(e) wherein said input of said output wavelength converter stage is connected to said output of said wavelength router;
(f) a programmable data processor; and
(g) programming executable on said data processor for resolving switching conflicts by carrying out the operations of;
(i) receiving a data packet having an optical wavelength and a destination;
(ii) determining the preferred path to the destination from a routing table;
(iii) testing the packet to determine if the wavelength is available on the preferred path;
(iv) routing the packet on the preferred path if the wavelength is available on the preferred path;
(v) if the wavelength was not available on the preferred path, determining if the wavelength can be converted to a wavelength available on the preferred path;
(vi) if the wavelength can be converted to a wavelength available on the preferred path, converting the wavelength and routing the packet on the preferred path;
(vii) if the wavelength of the packet cannot be converted to a wavelength available on the preferred path at step (vi), determining if any wavelength is free on a loop back port;
(viii) determining if wavelength conversion is needed;
(ix) if wavelength conversion is needed, converting the wavelength, sending the packet on the loop back port, and repeating steps (iii) through (vi); and
(x) if wavelength conversion is not needed, repeating steps (iii) through (vi). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
programming executable on said data processor for resolving switching conflicts by routing according to one or a combination of the operations of;
(xi) optical wavelength conversion;
(xii) optical time-buffering; and
(xiii) path deflection routing.
-
-
11. An optical router as recited in claim 1, wherein said programming further carries out the operations of:
-
(xi) if no wavelength was available at step (vii), determining a second preferred path from the routing table;
(xii) determining if a wavelength is available on the second preferred path;
(xiii) routing the packet on the second preferred path if the wavelength is available on the second preferred path;
(xiv) if the wavelength was not available on the second preferred path, determining if the wavelength can be converted to a wavelength available on the second preferred path; and
(xviii) if the wavelength can be converted to a wavelength available on the second preferred path, converting the wavelength and routing the packet on the second preferred path.
-
-
12. An optical router, comprising:
-
(a) an optical wavelength router having an input and output;
(b) an input optical wavelength converter stage having an input and an output; and
(c) an output optical wavelength converter stage having an input and an output;
(d) wherein said output of said input wavelength converter stage is connected to said input of said wavelength router;
(e) wherein said input of said output wavelength converter stage is connected to said output of said wavelength router;
(f) a programmable data processor; and
(g) programming executable on said data processor for resolving switching conflicts by carrying out the operations of;
(i) receiving a data packet having an optical wavelength and a destination;
(ii) determining the preferred path to the destination from a routing table;
(iii) testing the packet to determine if the wavelength is available on the preferred path;
(iv) routing the packet on the preferred path if the wavelength is available on the preferred path;
(v) if the wavelength was not available on the preferred path, determining if the wavelength can be converted to a wavelength available on the preferred path;
(vi) if the wavelength can be converted to a wavelength available on the preferred path, converting the wavelength and routing the packet on the preferred path;
(vii) if the wavelength of the packet cannot be converted to a wavelength available on the preferred path at step (vi), determining if any wavelength is free on a loop back port;
(viii) determining if wavelength conversion is needed;
(ix) if wavelength conversion is needed, converting the wavelength, sending the packet on the loop back port, and repeating steps (iii) through (vi); and
(x) if wavelength conversion is not needed, repeating steps (iii) through (vi);
(xi) if no wavelength was available at step (vii), determining a second preferred path from the routing table;
(xii) determining if a wavelength is available on the second preferred path;
(xiii) routing the packet on the second preferred path if the wavelength is available on the second preferred path;
(xiv) if the wavelength was not available on the second preferred path, determining if the wavelength can be converted to a wavelength available on the second preferred path; and
(xviii) if the wavelength can be converted to a wavelength available on the second preferred path, converting the wavelength and routing the packet on the second preferred path. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
programming executable on said data processor for resolving switching conflicts by routing according to one or a combination of the operations of;
(xix) optical wavelength conversion;
(xx) optical time-buffering; and
(xxi) path deflection routing.
-
-
22. An optical router, comprising:
-
(a) an input port;
(b) a first plurality of optical wavelength converters having inputs connected to said input port;
(c) an output port;
(d) a second plurality of optical wavelength converters having outputs connected to said output port;
(e) an optical wavelength router connected between said first plurality of wavelength converters and said second plurality of wavelength converters;
(f) a programmable data processor; and
(g) programming executable on said data processor for resolving switching conflicts by carrying out the operations of;
(i) receiving a data packet having an optical wavelength and a destination;
(ii) determining a preferred path to the destination from a routing table;
(iii) testing the packet to determine if the wavelength is available on the preferred path;
(iv) routing the packet on the preferred path if the wavelength is available on the preferred path;
(v) if the wavelength was not available on the preferred path, determining if the wavelength can be converted to a wavelength available on the preferred path;
(vi) if the wavelength can be converted to a wavelength available on the preferred path, converting the wavelength and routing the packet on the preferred path;
(vii) if the wavelength of the packet cannot be converted to a wavelength available on the preferred path at step (vi), determining if any wavelength is free on a loop back port;
(viii) if a wavelength is free on the loop back port, determining if wavelength conversion is needed;
(ix) if wavelength conversion is needed, converting the wavelength, sending the packet on the loop back port, and repeating steps (iii) through (vi); and
(x) if wavelength conversion is not needed, sending the packet on the loop back port, and repeating steps (iii) through (vi). - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
programming executable on said data processor for resolving switching conflicts by routing according to one or a combination of the operations of;
(xi) optical wavelength conversion;
(xii) optical time-buffering; and
(xiii) path deflection routing.
-
-
30. An optical router as recited in claim 22, wherein said programming further carries out the operations of:
-
(xi) if no wavelength was available on the loop back port at step (vii), determining a second preferred path from the routing table;
(xii) determining if a wavelength is available on the second preferred path;
(xiii) routing the packet on the second preferred path if the wavelength is available on the second preferred path;
(xiv) if the wavelength was not available on the second preferred path, determining if the wavelength can be converted to a wavelength available on the second preferred path; and
(xv) if the wavelength can be converted to a wavelength available on the second preferred path, converting the wavelength and routing the packet on the second preferred path.
-
-
31. An optical router, comprising:
-
(a) an input port;
(b) a first plurality of optical wavelength converters having inputs connected to said input port;
(c) an output port;
(d) a second plurality of optical wavelength converters having outputs connected to said output port;
(e) an optical wavelength router connected between said first plurality of wavelength converters and said second plurality of wavelength converters;
(f) a programmable data processor; and
(g) programming executable on said data processor for resolving switching conflicts by carrying out the operations of;
(i) receiving a data packet having an optical wavelength and a destination;
(ii) determining a preferred path to the destination from a routing table;
(iii) testing the packet to determine if the wavelength is available on the preferred path;
(iv) routing the packet on the preferred path if the wavelength is available on the preferred path;
(v) if the wavelength was not available on the preferred path, determining if the wavelength can be converted to a wavelength available on the preferred path;
(vi) if the wavelength can be converted to a wavelength available on the preferred path, converting the wavelength and routing the packet on the preferred path;
(vii) if the wavelength of the packet cannot be converted to a wavelength available on the preferred path at step (vi), determining if any wavelength is free on a loop back port;
(viii) if a wavelength is free on the loop back port, determining if wavelength conversion is needed;
(ix) if wavelength conversion is needed, converting the wavelength, sending the packet on the loop back port, and repeating steps (iii) through (vi);
(x) if wavelength conversion is not needed, sending the packet on the loop back port, and repeating steps (iii) through (vi);
(xi) if no wavelength was available on the loop back port at step (vii), determining a second preferred path from the routing table;
(xii) determining if a wavelength is available on the second preferred path;
(xiii) routing the packet on the second preferred path if the wavelength is available on the second preferred path;
(xiv) if the wavelength was not available on the second preferred path, determining if the wavelength can be converted to a wavelength available on the second preferred path; and
(xv) if the wavelength can be converted to a wavelength available on the second preferred path, converting the wavelength and muting the packet on the second preferred path. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38)
programming executable on said data processor for resolving switching conflicts by routing according to one or a combination of the operations of;
(xvi) optical wavelength conversion;
(xvii) optical time-buffering; and
(xviii) path deflection routing.
-
-
39. A method for resolving switching conflicts in an optical router, comprising:
-
(a) receiving a data packet having an optical wavelength and a destination;
(b) determining a preferred path to the destination from a routing table;
(c) testing the packet to determine if the wavelength is available on the preferred path;
(d) routing the packet on the preferred path if the wavelength is available on the preferred path;
(e) if the wavelength was not available on the preferred path, determining if the wavelength can be converted to a wavelength available on the preferred path;
(f) if the wavelength can be converted to a wavelength available on the preferred path, converting the wavelength and routing the packet on the preferred path. (g) if the wavelength of the packet cannot be converted to a wavelength available on the preferred path at step (f), determining if any wavelength is free on a loop back port;
(h) if a wavelength is free on the loop back port, determining if wavelength conversion is needed;
(i) if wavelength conversion is needed, converting the wavelength, sending the packet on the loop back port, and repeating steps (c) through (f);
(j) if wavelength conversion is not needed, sending the packet on the loop back port, and repeating steps (c) through (f);
(k) if no wavelength was available on a loop back port at step (g), determining a second preferred path from the routing table;
(l) determining if the wavelength is available on the second preferred path;
(m) routing the packet on the second preferred path if the wavelength is available on the second preferred path;
(n) if the wavelength was not available on the second preferred path, determining if the wavelength can be converted to a wavelength available on the second preferred path;
(o) if the wavelength can be converted to a wavelength available on the second preferred path, converting the wavelength and routing the packet on the second preferred path.
-
Specification