WO2001035587A1 - Time frame switching responsive to global common time reference - Google Patents
Time frame switching responsive to global common time reference Download PDFInfo
- Publication number
- WO2001035587A1 WO2001035587A1 PCT/US2000/030390 US0030390W WO0135587A1 WO 2001035587 A1 WO2001035587 A1 WO 2001035587A1 US 0030390 W US0030390 W US 0030390W WO 0135587 A1 WO0135587 A1 WO 0135587A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- time
- channels
- queues
- time frame
- switch
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 36
- 230000001360 synchronised effect Effects 0.000 claims abstract description 15
- 230000000737 periodic effect Effects 0.000 claims abstract description 10
- 230000003287 optical effect Effects 0.000 claims description 101
- 239000004744 fabric Substances 0.000 claims description 86
- 238000004891 communication Methods 0.000 claims description 59
- 238000013507 mapping Methods 0.000 claims description 39
- 238000012546 transfer Methods 0.000 claims description 29
- 239000000872 buffer Substances 0.000 claims description 25
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 claims description 23
- 239000000835 fiber Substances 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 11
- 239000013307 optical fiber Substances 0.000 claims description 11
- 230000008878 coupling Effects 0.000 claims description 8
- 238000010168 coupling process Methods 0.000 claims description 8
- 238000005859 coupling reaction Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 5
- 230000009269 systemic vascular permeability Effects 0.000 claims description 5
- 240000003537 Ficus benghalensis Species 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 claims description 2
- 102100040338 Ubiquitin-associated and SH3 domain-containing protein B Human genes 0.000 claims 2
- 101710143616 Ubiquitin-associated and SH3 domain-containing protein B Proteins 0.000 claims 2
- 238000003491 array Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 31
- 230000005540 biological transmission Effects 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000001052 transient effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 208000031266 Microcystic stromal tumor Diseases 0.000 description 1
- 235000011449 Rosa Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- MRMBZHPJVKCOMA-YJFSRANCSA-N biapenem Chemical compound C1N2C=NC=[N+]2CC1SC([C@@H]1C)=C(C([O-])=O)N2[C@H]1[C@@H]([C@H](O)C)C2=O MRMBZHPJVKCOMA-YJFSRANCSA-N 0.000 description 1
- TVFDJXOCXUVLDH-UHFFFAOYSA-N caesium atom Chemical group [Cs] TVFDJXOCXUVLDH-UHFFFAOYSA-N 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004870 electrical engineering Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 208000030751 ovarian microcystic stromal tumor Diseases 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000001824 photoionisation detection Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0647—Synchronisation among TDM nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
- H04L47/564—Attaching a deadline to packets, e.g. earliest due date first
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
- H04L2012/5604—Medium of transmission, e.g. fibre, cable, radio
- H04L2012/5605—Fibre
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5672—Multiplexing, e.g. coding, scrambling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5679—Arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3063—Pipelined operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
- H04Q2011/0007—Construction
- H04Q2011/0016—Construction using wavelength multiplexing or demultiplexing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
- H04Q2011/0007—Construction
- H04Q2011/0024—Construction using space switching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
- H04Q2011/0037—Operation
- H04Q2011/0039—Electrical control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
- H04Q2011/0037—Operation
- H04Q2011/0045—Synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
- H04Q2011/0037—Operation
- H04Q2011/005—Arbitration and scheduling
Definitions
- This invention relates generally to a method and apparatus for switching of data packets in a communications network in a timely manner while providing low switching complexity and performance guarantees.
- Circuit-switching networks which are still the main carrier for real-time traffic, are designed for telephony service and cannot be easily enhanced to support multiple services or carry multimedia traffic. Its almost synchronous byte switching enables circuit-switching networks to transport data streams at constant rates with little delay or jitter. However, since circuit-switching networks allocate resources exclusively for individual connections, they suffer from low utilization under bursty traffic. Moreover, it is difficult to dynamically allocate circuits of widely different capacities, which makes it a challenge to support multimedia traffic. Finally, the almost synchronous byte switching of SONET, which embodies the Synchronous Digital Hierarchy (SDH), requires increasingly more precise clock synchronization as the lines speed increases [John C. Bellamy, "Digital Network Synchronization", IEEE Communications
- Packet switching networks like IP (Internet Protocol)-based Internet and Intranets handle bursty data more efficiently than circuit switching, due to their statistical multiplexing of the packet streams.
- IP Internet Protocol
- Current packet switches and routers operate asynchronously and provide "best effort" service only, in which end-to-end delay and jitter are neither guaranteed nor bounded.
- statistical variations of traffic intensity often lead to congestion that results in excessive delays and loss of packets, thereby significantly reducing the fidelity of real-time streams at their points of reception.
- One approach to an optical network that uses synchronization was introduced in the synchronous optical hypergraph [Y. Ofek, "The Topology, Algorithms And Analysis Of A Synchronous Optical Hypergraph Architecture", Ph.D.
- RISC-like forwarding in which a packet is forwarded, with little if any delay, one hop every time frame in a manner similar to the execution of instructions in a Reduced Instruction Set Computer (RISC) machine.
- RISC Reduced Instruction Set Computer
- Yemini et al. disclose a switched network architecture with a time reference.
- the time reference is used in order to determine the time in which a multiplicity of nodes can transmit simultaneously over one predefined routing tree to one destination. At every time instance the multiplicity of nodes are transmitting to a different single destination node.
- the patent very briefly mentions the requirement for synchronization among nodes, and does not teach or suggest the means in which it can be provided, or the method in which it can be used.
- Circuit switches exclusively use time for routing.
- a time period is divided into smaller time slices, each possibly containing one byte.
- the absolute position of each time slice within each time period determines where that particular byte is routed.
- time-based routing is supported with more complex periodicity in timing than circuit switching provides for.
- the time frames of the present invention delineate a vastly larger time period than the time slices — and even the time cycle — associated with circuit switching.
- the present invention uses a Common Time Reference (CTR).
- CTR Common Time Reference
- the CTR concept is not used in circuit switching (e.g., Tl, T3, and the SONET circuit switching: OC-3, OC-12, OC-48, OC-192, and OC-768).
- Using or not using CTR has far reaching implications when comparing circuit switching and the current invention. For example, CTR ensures deterministic no slip of time slots or time frames, while enabling deterministic pipeline forwarding of time frames. This is in contrast to circuit switching, where (1) there are time slot slips, and (2) deterministic pipeline forwarding is not possible.
- Optical data communications include single wavelength standards, wherein a single data stream is transmitted into a series of pulses of light carried by an optical fiber from source to destination. These pulses of light are generally of a uniform wavelength. This single wavelength vastly under-utilizes the capacity of the optical fiber, which may reasonably carry a large number of signals each at a unique wavelength. Due to the nature of propagation of light signals, the optical fiber can carry multiple wavelengths simultaneously with no degradation of signal, no interference, and no crosstalk imposed by the optical fiber.
- wavelength division multiplexing The process of carrying multiple discrete signals via separate wavelengths of light on the same optical fiber is known in the art as wavelength division multiplexing (WDM).
- WDM wavelength division multiplexing
- the present invention permits a novel combination of time-based routing, which is similar but not identical to circuit switching, combined with data packet forwarding as in packet switching.
- This combination provides for communication of data via a reserved time frame mechanism, where time frames periods permit communications of a very large number of bytes that are scheduled and switched in a time-based fashion within reserved and scheduled time frames, while simultaneously providing for non- scheduled data packet (NSDP) traffic to be switched and routed via the same WDM (wavelength division multiplexing) optical channels.
- the non-scheduled data packet (NSDP) traffic can be transmitted during empty portions of an otherwise partially reserved and scheduled time frame period.
- the non-scheduled traffic can also be routed during fully reserved and scheduled time frame periods that have no scheduled traffic presently associated with them.
- NSDPs can be routed during unreserved time frames.
- the system can decode and be responsive to the control information in the non- scheduled data packet header.
- the time frame switching in the present invention provides a novel mode of operation where the connection between an input port and an output port is only changed infrequently, such as on a time frame by time frame basis.
- This mode of operation is an enabling technology to utilize purely optical switching apparatus, as it circumvents the problems typically associated with long switching cycle time.
- the present invention enables the utilization of very simple interconnection networks such as Banyan Networks [L. R. Goke, G. J. Lipovski,
- DBTN Dynamic Burst Transfer Time-Slot-Base Network
- DTM deploys a structure of frames and small slots (64 bits) to perform resource allocation and circuit switching. Slots are allocated to the end-systems according to a predefined distribution; a distributed algorithm based on the deployment of control slots is used to reallocate unused slots.
- a fast switching method is disclosed and is tailored to operate responsive to a global common time such that the switching delay from input to output is known in advance and is minimized in a deterministic way. Consequently, such a switch can be employed in the construction of a backbone network using optical fibers with dense wavelength division multiplexing (DWDM).
- DWDM dense wavelength division multiplexing
- Such optical fiber links have a transmission rate, with multiple wavelengths, of a few terabits (1012) per second.
- the design method disclosed in this invention minimizes the time required for the routing decision and switching of every data packet. Consequently, for a given solid state technology, memory access time and memory word width, this method can support the highest speed optical DWDM links. Moreover, the above is independent of the number of switch ports.
- the switching and data packet forwarding method combines the advantages of both circuit and packet switching. It provides for allocation and exclusive use of transmission capacity for predefined connections and for those connections it guarantees loss free transport with low delay and jitter. When predefined connections do not use their allocated resources, other non-reserved data packets can use them without affecting the performance of the predefined connections.
- the present invention provides real-time services by synchronous methods that utilize a time reference that is common to the switches and possibly end stations comprising a wide area network.
- the common time reference can be realized by using UTC (Coordinated Universal Time), which is globally available via, for example, GPS (Global Positioning System -- see, for example: [Peter H. Dana, "Global Positioning System (GPS) Time Dissemination for Real-Time Applications", Real-Time Systems, 12, pp. 9-40, 1997].
- GPS Global Positioning System
- UTC is the scientific name for what is commonly called GMT (Greenwich Mean Time), the time at the 0 (root) line of longitude at Greenwich, England. In 1967, an international agreement established the length of a second as the duration of 9,192,631,770 oscillations of the cesium atom. The adoption of the atomic second led to the coordination of clocks around the world and the establishment of UTC in 1972.
- the Time and Frequency Division of the National Institute of Standards and Technologies (NIST) (see http://www.boulder.nist.gov/timefreq) is responsible for coordinating UTC with the International Bureau of Weights and Measures (BIPM) in Paris.
- UTC timing is readily available to individual PCs through GPS cards.
- TrueTime, Inc. (Santa Rosa, California) offers a product under the trade name PCI-SG, which provides precise time, with zero latency, to computers that have PCI extension slots.
- PCI-SG provides precise time, with zero latency, to computers that have PCI extension slots.
- NTP Network Time Protocol
- routing is not performed only based on timing information: routing can be based also on information contained in the header of data packets. For example, Internet routing can be done using IP addresses or using an IP tag/label when MPLS is deployed.
- One embodiment of the present invention utilizes an alignment feature within an input port for aligning incoming data packets to a time frame boundary prior to entry to a switching fabric. This embodiment has the additional benefit of providing for filtering non-reserved traffic from the data packet stream and routing said traffic to a separate routing controller for best effort transport.
- the system decodes and is responsive to control information in the non-reserved data packet header.
- the remainder of the traffic represents reserved traffic that is first aligned to a time frame boundary and then routed through the switch fabric on a subsequent time frame, thus preserving the synchronous operation of the system.
- the present invention also provides means to reintegrate the filtered non-scheduled traffic into idle portions as may coexist within the scheduled traffic streams.
- One embodiment of the present invention utilizes a deferred alignment feature, which permits the alignment of incoming data packets to be deferred after preliminary routing and queuing has been performed.
- This embodiment trades additional storage required for a larger pluraUty of queues for reduced complexity required in the switch fabric.
- the switch fabric becomes simpler because it is logically divided into a first portion and a second portion, the first portion of which can be relocated upstream of (i.e., before) the alignment buffer queues.
- the first portion of the switch fabric may be implemented as a simple data path expander to fan out the data to a large pluraUty of queues.
- the complexity and throughput requirements of each queue are also reduced as the functionaUty is spread out over a wider number of queues.
- a novel time frame switching fabric control is provided in accordance with an alternate embodiment of the present invention, which stores a predefined sequence of switch fabric configurations, responsive to a high level controUer that coordinates multiple switching systems, and applies the stored predefined sequence of switch fabric configurations on a cycUcal basis having complex periodicity.
- the application of the stored predefined switch fabric configurations permits the switches of the present invention to relay data over predefined, scheduled, and/or reserved data channels without the computational overhead of computing those schedules ad infinitum within each switch.
- the computational requirements of determining a smaU incremental change to a switch fabric are much less than having to re-compute the entire switch fabric configuration. Further, the bookkeeping operations associated with the incremental changes are significantly less time-consuming to track than tracking the entire state of the switch fabric as it changes over time.
- FIG. 1 is a schematic block diagram of one embodiment of a switch connected to a pluraUty of WDM Unks with a switch scheduler in accordance with the present invention
- FIG. 2 is a timing diagram of a common time reference (CTR) that is aligned to the coordinated universal time (UTC) standard, as utilized by the present invention, wherein the CTR is divided into a plurality of contiguous periodic super-cycles each comprised of at least one contiguous time cycle each comprised of at least one contiguous time frame, wherein the super-cycle is equal to and aligned with the UTC second;
- FIG. 3 is a schematic block diagram of a virtual pipe and its timing relationship with a common time reference (CTR) as in the present invention;
- FIG. 4 illustrates the mapping of time frames into and out of a node on a virtual pipe of the present invention
- FTG. 5A is a schematic block diagram illustrating at least one serial transmitter and at least one serial receiver connected with a WDM link, in accordance with the present invention
- FIG. 5B is a table iUustrating a 4B/5B encoding scheme for data
- FIG. 5C is a table illustrating a 4B/5B encoding scheme for control signals
- FIG. 6A is a map of a data packet with a header, as utiUzed in accordance with the present invention.
- FIG. 6B illustrates a mapping of additional details of the encoding of the data packet of FIG. 6A
- FIG. 7 illustrates a wave division multiplexing (WDM) switch that is connected to optical link with multiple wavelengths, wherein each of the wavelengths constitutes a communication channel that has a time division multiplexing (TDM) structure with time frames, time cycles and super-cycles in accordance with the present invention
- FIG. 8 illustrates multi-dimensional mapping with four input variables as an example: p-in - input port #, w-in - input wavelength (color), t-in - time frame # in (within a time cycle), c-in - time cycle # in (within a super-cycle); and four output variables: p-out - output port #, w-out - output wavelength (color), t-out - time frame # out (within a time cycle), c-out - time cycle # out (within a super-cycle) in accordance with the present invention;
- FIG. 9 illustrates an example of mapping time frames, received over the same wavelength received through multiple input ports, to one wavelength (channels) on the same output port, in accordance with the present invention
- FIG. 10 illustrates an example of multi-dimensional mapping for all time-driven optical switching with no wavelength conversion, the optical switching being responsive to the common time reference in accordance with the present invention
- FIG. 11 A is a schematic diagram of an all optical switch with at least one optical switching fabric, which switches a plurality of optical wavelengths, wherein the optical switching matrix (as in FIG. 10, for example) changes every time frame;
- FIG. 1 IB is a timing diagram of the all optical switch operation with two phases: one in which the actual switching is performed and the other in which the current switching matrix is being replaced by a new switching matrix;
- FIG. 12 iUustrates an example of pipeline forwarding of time frames, in accordance with the present invention
- FIG. 13A is a functional description of a switch with 16 ports - each with 16- wavelength division multiplexing optical channels, such that it is possible to transfer: From (any time frame (TF) of any Channel at any Input) To (a predefined time frame (TF) of any Channel at any Output);
- FIG. 13B is a timing diagram of a switching operation that is responsive to the common time reference 002 with two pipeline forwarding phases;
- FIG. 14 is a functional block diagram illustrating a wavelength division multiplexing input port with a pluraUty of serial receivers, serial-to-paraUel conversion and a plurality of aUgnment subsystems;
- FIG. 15 is a functional block diagram of the alignment subsystem that operates responsive to CTR and the serial link relative timing
- FIG. 16 is a timing diagram of the aUgnment subsystem operation responsive to CTR and the serial link relative timing
- FIG. 17 is a block diagram and schematic of the structure of a switch and a fabric controller with memory for a plurality of switching matrices
- FIG. 18 is iUustrates a wavelength division multiplexing output port
- FIG. 19 is a functional block diagram of a wavelength division multiplexing input port with data packet filters for detecting non-scheduled data packets, which are forwarded to a routing module;
- FIG. 20 is a block diagram of a routing module
- FIG. 21 is a block diagram of a data packet filter connected to an alignment subsystem that is connected to a switch fabric and a fabric controller;
- FIG. 22 is a block diagram of a switch design with a 16-to-256 expander, wherein the expander output lines are connected to alignment subsystems;
- FIG. 23 is a more detailed description of the 16-to-256 expander of FIG. 22;
- FIG. 24 is a functional block diagram of the connection from the alignment subsystems to an output port via a plurality of selectors
- FIG. 25 is a functional block diagram of an SVP interface with per time frame queues
- FIG. 26A is a functional block diagram of an SVP interface with per SVP queues
- FIG. 26B is a functional block diagram of multiple SVP interfaces to a multiprotocol time driven SVP switch
- FIG. 27 is a system block diagram of a network with a plurality of multiprotocol time driven SVP switches that are connected to SVP interfaces and other vendors' optical cross connects (OXCs), showing channels, interfaces, and so forth;
- OXCs optical cross connects
- FIG. 28 is a high level diagram of communications layering and a description of a two layer system, wherein the low/inside layer is dense wavelength division multiplexing (DWDM) and the outer layer is IP/MPLS;
- DWDM dense wavelength division multiplexing
- IP/MPLS IP/MPLS
- FIG. 29 is a diagram of an 8-by-8 multi-stage interconnection switch that is constructed of 2-by-2 switching elements
- FIG. 30A is a comparison table of a multi-stage interconnection switch with a crossbar switch.
- FIG. 30B is a block diagram of a 256-by-256 multi-stage interconnection switch that is constructed of 4-by-4 switching elements.
- the present invention relates to a system and method for switching and forwarding data packets over a packet switching network with optical WDM (wavelength division multiplexing) Unks.
- the switches of the network maintain a common time reference (CTR), which is obtained either from an external source (such as GPS ⁇ Global Positioning System) or is generated and distributed internaUy.
- CTR common time reference
- the common time reference is used to define time intervals, which include super-cycles, time cycles, time frames, time slots, and other kinds of time intervals.
- the time intervals are arranged both in simple periodicity and complex periodicity (like seconds and minutes of a clock).
- a packet that arrives to an input port of a switch is switched to an output port based on either specific routing information in the packet's header (e.g., IPv4 destination address in the Internet, VCI/VPI labels in ATM, MPLS-multi-protocol label switching-labels) or arrival time information.
- IPv4 destination address in the Internet e.g., IPv4 destination address in the Internet, VCI/VPI labels in ATM, MPLS-multi-protocol label switching-labels
- arrival time information e.g., IPv4 destination address in the Internet, VCI/VPI labels in ATM, MPLS-multi-protocol label switching-labels
- Each switch along a route from a source to a destination forwards packets in periodic time intervals that are predefined using the common time reference.
- a time interval duration can be longer than the time duration required for communicating a data packet, in which case the exact position of a data packet in the time interval is not predetermined.
- a data packet is defined to be located within the time interval which contains the communication of the first bit of the packet, even if the length of the packet is sufficiently long to require multiple time intervals to communicate the entire data packet.
- Data packets that are forwarded inside the network over the same route and in the same periodic time intervals constitute a virtual pipe and share the same pipe-ID or PID.
- a pipe-ID or PID can be either explicit, such as a tag or a label that is generated inside the network, or implicit such as a group of IP addresses or the combination of fields in the data packet header.
- a virtual pipe can be used to transport data packets from multiple sources and to multiple destinations. The time interval in which a switch forwards a specific packet is determined by the time it reaches the switch, the current - l i vable of the common time reference, and possibly the packet's pipe-ID.
- a virtual pipe can provide deterministic quatity of service guarantees.
- congestion-free packet switching is provided for pipe-IDs in which capacity in their corresponding forwarding Unks and time intervals is reserved in advance. Furthermore, packets that are transferred over a virtual pipe reach their destination in predefined time intervals, which guarantees that the delay jitter is smaller than or equal to one time interval.
- Packets that are forwarded from one source to multiple destinations share the same pipe-ID and the links and time intervals on which they are forwarded comprise a virtual tree. This facilitates congestion-free forwarding from one input port to multiple output ports, and consequently, from one source to a multiplicity of destinations. Packets that are destined to multiple destinations reach all of their destinations in predefined time intervals and with delay jitter that is no larger than one time interval.
- a system for managing data transfer of data packets from a source to a destination.
- the transfer of the data packets is provided during a predefined time interval, comprised of a plurality of predefined time frames.
- the system is further comprised of a pluraUty of switches.
- a virtual pipe is comprised of at least two of the switches interconnected via communication links in a path.
- a common time reference signal is coupled to each of the switches, and a time assignment controller assigns selected predefined time frames for transfer into and out from each of the respective switches responsive to the common time reference signal.
- Each communications tink may use a different time frame duration generated from the common time reference signal.
- first predefined time frame and a first predefined wavelength within which a respective data packet is transferred into the respective switch there is a second predefined time frame and a second predefined wavelength within which the respective data packet is forwarded out of the respective switch, wherein the first and second predefined time frames may have different durations.
- the time assignment provides consistent fixed time intervals between the input to and output from the virtual pipe.
- each of the switches is comprised of one or a plurality of uniquely addressable input and output ports.
- a routing controller maps each of the data packets that arrives at each one of the input ports of the respective switch to a respective one or more of the output ports of the respective switch.
- each input port and each output port is comprised of one or a plurality of uniquely addressable optical WDM (wavelength division multiplexing) channels.
- the virtual pipes comprised of at least one of the switches interconnected via communication links in a path.
- the communication link is a connection between two adjacent switches; and each of the communications links can be used simultaneously by at least two of the virtual pipes. Multiple data packets can be transferred utilizing at least two of the virtual pipes.
- a predefined interval is comprised of a fixed number of contiguous time frames comprising a time cycle.
- Data packets that are forwarded over a given virtual pipe are forwarded from an output port within a predefined subset of time frames in each time cycle.
- the number of data packets that can be forwarded in each of the predefined subset of time frames for a given virtual pipe is also predefined.
- the time frames associated with a particular one of the switches within the virtual pipe are associated with the same switch for all the time cycles, and are also associated with one of input into or output from the particular respective switch.
- a fixed number of contiguous time cycles comprise a super-cycle, which is periodic.
- Data packets that are forwarded over a given virtual pipe are forwarded from an output port within a predefined subset of time frames in each super-cycle.
- the number of data packets that can be forwarded in each of the predefined subset of time frames within a super-cycle for a given virtual pipe is also predefined.
- the common time reference signal is devised from the GPS (Global Positioning System), and is in accordance with the UTC (Coordinated Universal Time) standard.
- the UTC time signal does not have to be received directly from GPS.
- Such signal can be received by using various means, as long as the delay or time uncertainty associated with that UTC time signal docs not exceed half a time frame.
- the super-cycle duration is equal to one second as measured using the UTC (Coordinated Universal Time) standard. In an alternate embodiment the super-cycle duration spans multiple UTC seconds. In another alternate embodiment the super-cycle duration is a fraction of a UTC second. In a preferred embodiment, the super-cycle duration is a small integer number of UTC seconds.
- Data packets can be Internet Protocol (IP) data packets, multi-protocol label switching (MPLS) data packets, Frame Relay frames, fiber channel data units, or asynchronous transfer mode (ATM) ceUs, and can be forwarded over the same virtual pipe having an associated pipe identification (PID).
- IP Internet Protocol
- MPLS multi-protocol label switching
- ATM asynchronous transfer mode
- the PID can be expUcitiy contained in a field of the packet header, or implicitly given by an Internet protocol (IP) address, Internet protocol group multicast address, a combination of values in the IP and/or transport control protocol (TCP) and/or user datagram protocol (UDP) header and/or payload, an MPLS label, an asynchronous transfer mode (ATM) virtual circuit identifier (VCI), and a virtual path identifier (VPI), or used in combination as VCI/VPI.
- IP Internet protocol
- TCP transport control protocol
- UDP user datagram protocol
- MPLS label an MPLS label
- ATM asynchronous transfer mode virtual circuit identifier
- VPNI virtual path identifier
- the routing controller determines two possible associations of an incoming data packet: (i) the output port, and (ii) the time of arrival (ToA).
- the ToA is then used by the scheduUng controller for determining when a data packet should be forwarded by the select buffer controller to the next switch in the virtual pipe.
- the routing controller utilizes at least one of Pipe-ID, Internet protocol version 4 (IPv4), Internet protocol version 6 (IPv6) addresses, Internet protocol group multicast address, Internet MPLS (multi protocol label swapping or tag switching) labels, ATM virtual circuit identifier and virtual path identifier (VCI/VPI), and IEEE 802 MAC (media access control) addresses, for mapping from an input port to an output port.
- IPv4 Internet protocol version 4
- IPv6 Internet protocol version 6
- VCI/VPI virtual path identifier
- IEEE 802 MAC media access control
- the mapping from an input port to an output port can also be determined, solely or in conjunction with the foregoing information, according to the ToA of the data packet.
- Each of the data packets is comprised of a header, which can include an associated time stamp.
- For each of the mappings by the routing controller there is an associated mapping by the scheduling controUer, of each of the data packets between the respective associated time stamp and an associated forwarding time, which is associated with one of the predefined time frames.
- the time stamp can record the time at which a packet was created by its application.
- the time stamp is generated by the Internet real-time protocol (RTP) entity within a predefined one of the sources or switches.
- the time stamp can be used by a scheduling controUer in order to determine the forwarding time of a data packet from an output port.
- Each of the data packets originates from a source or an end station, and the time stamp is generated at the respective end station for inclusion in the respective originated data packet.
- Such generation of a time stamp can be derived from UTC either by receiving it directly from GPS or by using the Internet's Network Time Protocol (NTP).
- NTP Network Time Protocol
- the time stamp can alternatively be generated at the sub-network boundary, which is the point at which the data enters the synchronous virtual pipe.
- a system for transferring data (packets) across a data network whUe maintaining for reserved data traffic constant bounded jitter (or delay uncertainty) and no congestion-induced loss of data (packets).
- data packets
- whUe maintaining for reserved data traffic constant bounded jitter (or delay uncertainty) and no congestion-induced loss of data (packets).
- Such properties are essential for many multimedia applications, such as, telephony and video teleconferencing.
- one or a plurality of virtual pipes 25 are provided, as shown in FIG. 3, over a data network with general topology. Such data network can span the globe.
- Each virtual pipe 25 is constructed over one or more switches 10, shown in FIG. 3, which are interconnected via communication links 41 in a path.
- FIG. 3 is a schematic illustration of a virtual pipe and its timing relationship with a common time reference (CTR), wherein delay is determined by the number of time frames between the forward time out at Node A and the forward time out at Node D.
- CTR common time reference
- Each virtual pipe 25 is constructed over one or more switches 10 which are interconnected via communication Unks 41 in a path.
- FIG. 3 illustrates a virtual pipe 25 from the output port 40 of switch A, through switches B and C.
- the illustrated virtual pipe ends at the output port 40 of node D.
- the virtual pipe 25 transfers data packets from at least one source to at least one destination.
- the data packet transfers over the virtual pipe 25 via switches 10 are designed to occur during a pluraUty of predefined time intervals, wherein each of the predefined time intervals is comprised of a plurality of predefined time frames.
- the timely transfers of data packets are achieved by coupling a common time reference signal (not shown) to each of the switches 10.
- An output port 40 is connected to a next input port 30 via a communication link 41, as shown in FIG. 3.
- the communication link can be realized using various technologies compatible with the present invention including fiber optic conduits with WDM (wavelength division multiplexing) channels, copper and other wired conductors, and wireless communication Unks — including but not limited to, for example, radio frequency (RF) between two ground stations, a ground station and a satellite, and between two satellites orbiting the earth, microwave links, infrared (TR) links, optical communications lasers.
- RF radio frequency
- TR infrared
- the communication link does not have to be a serial communication link.
- a paraUel communication link can be used ⁇ such a parallel Unk can simultaneously carry multiple data bits, associated clock signals, and associated control signals.
- FIG. 1 is a schematic block diagram of one embodiment of a time driven SVP switch with a switch scheduler in accordance with the present invention.
- the SVP switch 10 comprises a common time reference means 20, at least one input port 30, at least one output port 40, a switching fabric 50 with a fabric controller 52, and a switch scheduler 60.
- the common time reference means 20 is a GPS receiver which receives a source of common time reference 001 (e.g., UTC via GPS) via an antenna as iUustrated.
- the common time reference means 20 provides a common time reference signal 002 to all input ports 30, all output ports 40, and the switch scheduler 60.
- GPS time receivers are avaUable from a variety of manufacturers, such as, TrueTime, Inc. (Santa Rosa, CA). With such equipment, it is possible to maintain a local clock with accuracy of ⁇ 1 microsecond from the UTC (Coordinated Universal Time) standard everywhere around the globe.
- Each respective one of the input ports 30 is coupled to the switch scheduler 60 and to the switching fabric 50 with a fabric controller 52.
- Each respective one of the output ports 40 is coupled to the switch scheduler 60 and to the switching fabric 50.
- the fabric controller 52 is additionally coupled to the switch scheduler 60.
- the switch scheduler 60 supplies a slot clock signal 65 to each respective one of the input ports 30 and each respective one of the output ports 40.
- the slot clock is an indication of time slots within a single time frame.
- the switch scheduler 60 also suppUes input schedule messages 62 and input reject messages 63 to each respective one of the input ports 30.
- Each respective one of the input ports 30 supplies input request messages 61 to the switch scheduler 60.
- the switch scheduler 60 also supplies a fabric schedule 64 to the fabric controller 52.
- the switch scheduler 60 is constructed of a central processing unit (CPU), a random access memory (RAM) for storing messages, schedules, parameters, and responses, a read only memory (ROM) for storing the switch scheduler processing program and a table with operation parameters.
- CPU central processing unit
- RAM random access memory
- ROM read only memory
- FIG. 2 is an illustration of a common time reference (CTR) that is aligned to UTC.
- CTR common time reference
- Consecutive time frames are grouped into time cycles. As shown in the example Ulustrated in FIG. 2, there are 100 time frames in each time cycle. For illustration purposes, the time frames within a time cycle are numbered 1 through 100. Consecutive time cycles are grouped together into super-cycles, and as shown in
- FIG. 2 there are 80 time cycles in each super-cycle. For Ulustration purposes, time cycles within a super-cycle are numbered 0 through 79. Super-cycles 0 and m are shown in FIG. 2.
- FIG. 2 is illustrative of the relationship of time frames, time cycles, and super- cycles; in alternate embodiments, the number of time frames within a time cycle may be different than 100, and the number of time cycles within a super-cycle may be different than 80.
- FIG. 2 iUustrates how the common time reference signal can be atigned with the UTC (Coordinated Universal Time) standard.
- the duration of every super-cycle is exactly one second as measured by the UTC standard.
- the beginning of each super-cycle coincides with the beginning of a UTC second. Consequently, when leap seconds are inserted or deleted for UTC corrections (due to changes in the earth rotation period), the cycle and super-cycle periodic scheduUng will not be affected.
- the time frames, time cycles, and super-cycles are associated in the same manner with aU respective switches within the virtual pipe at all times.
- the super-cycle duration is equal to one second as measured using the UTC (Coordinated Universal Time) standard.
- the super-cycle duration spans multiple UTC seconds.
- the super-cycle duration is a fraction of a UTC second.
- the super-cycle duration is a smaU integer number of UTC seconds.
- a time frame may be further divided into time slots in the preferred embodiment, not iUustrated in FIG. 2.
- Pipeline forwarding relates to data packets being forwarded across a virtual pipe 25 (see FIG. 3) with a predefined delay in every stage (either across a communication link 41 or across an SVP switch 10 from input port 30 to output port 40). Data packets enter a virtual pipe 25 from one or more sources and are forwarded to one or more destinations.
- the SVP switch 10 structure as shown in FIG. 3, can also be referred to as a pipeline switch, since it enables a network comprised of such switches to operate as a large distributed pipeline architecture, as it is commonly found inside digital systems and computer architectures.
- a data packet is received by one of the input ports 30 of switch A at time frame 1, and is forwarded along this virtual pipe 25 in the following manner: (i) the data packet 41A is forwarded from the output port 40 of switch A at time frame 2 of time cycle 1, (ii) the data packet 41B is forwarded from the output port 40 of switch B, after 18 time frames, at time frame 10 of time cycle 2, (iii) the data packet 41C is forwarded from the output port 40 of switch C, after 42 time frames, at time frame 2 of time cycle 7, and (iv) the data packet 41D is forwarded from the output port 40 of switch D, after 19 time frames, at time frame 1 of time cycle 9.
- the data packets that exit the virtual pipe 25 i.e., forwarded out of the output port 40 of switch D
- the data packets that exit the virtual pipe 25 can be forwarded simultaneously to multiple destinations, (i.e., multi-cast (one-to-many) data packet forwarding).
- the communication link 41 between two adjacent ones of the switches 10 can be used simultaneously by at least two of the virtual pipes.
- a plurality of virtual pipes can multiplex (i.e., mix their traffic) over the same communication links.
- a pluraUty of virtual pipes can multiplex (i.e., mix their traffic) during the same time frames and in an arbitrary manner.
- the same time frame can be used by multiple data packets from one or more virtual pipes.
- the SVP switch 10 structure can also be referred to as a pipeline switch, since it enables a network comprised of such switches to operate as a large distributed pipeline architecture, as it is commonly found inside digital systems and computer architectures.
- FIG. 4 iUustrates the mapping of the time frames into and out of a node on a virtual pipe, wherein the mapping repeats itself in every time cycle illustrating the time in, which is the time of arrival (ToA), versus the time out, which is the forwarding time out of the output port.
- FIG. 4 shows the periodic scheduling and forwarding timing of a switch of a virtual pipe wherein there are a predefined subset of time frames (/, 75, and 80) of every time cycle, during which data packets are transferred into that switch, and wherein for that virtual pipe there are a predefined subset of time frames (i+3, 1, and 3) of every time cycle, during which the data packets are transferred out of that switch.
- a first data packet 5a arriving at the input port of the switch at time frame / is forwarded out of the output port of the switch at time frame +3.
- the data packet is forwarded out of the output port at a later time frame within the same time cycle in which it arrived.
- the delay in transiting the switch (dts) determines a lower bound on the value ( +dts). In the illustrated example, dts must be less than or equal to 3 time frames.
- a second data packet 5b arriving at the input port of the switch at time frame 75 is forwarded out of the output port of the switch at time frame 1 within the next time cycle.
- the data packet is forwarded out of the output port at a earher numbered time frame but within the next time cycle from which it arrived. Note that data packets in transit may cross time cycle boundaries.
- each of the three data packets has 125 bytes (i.e. 1000 bits), and there are 80 time frames of 125 microseconds in each time cycle (i.e. a time cycle duration of 10 milliseconds), then the bandwidth aUocated to this virtual pipe is 300,000 bits per second.
- the bandwidth or capacity allocated for a virtual pipe is computed by dividing the number of bits transferred during each of the time cycles by the time cycle duration.
- the bandwidth allocated to a virtual pipe is computed by dividing the number of bits transferred during each of the super-cycles by the super-cycle duration.
- FIG. 5A is an illustration of a serial transmitter and a serial receiver.
- FIG. 5B is a table illustrating the 4B/5B encoding scheme for data
- FIG. 5C is a table Ulustrating the 4B/5B encoding scheme for control signals.
- a serial transmitter 49 and serial receiver 31 are illustrated as coupled to each tink 41.
- a variety of encoding schemes can be used for a serial line tink 41 in the context of this invention, such as, SONET/SDH, 8B/10B Fiber Channel, and 4B/5B Fiber Distributed Data Interface (FDDI).
- FDDI Fiber Distributed Data Interface
- the serial transmitter/receiver (49 and 31) sends/receives control words for a variety of in-band control purposes, mostly unrelated to the present invention description.
- time frame dehmiter TFD
- position delimiter PD
- TFD time frame dehmiter
- PD position delimiter
- the TFD marks the boundary between two successive time frames and is sent by a serial transmitter 49 when a CTR 002 clock tick occurs in a way that is described hereafter as part of the output port operation.
- the PD is used to distinguish between multiple positions within a time frame and is sent by a serial transmitter 49 upon receipt of a position delimiter input 47B.
- the serial transmitter 49 and receiver 31 are comprised of AM7968 and AM7969 chip sets, respectively, both manufactured by AND Corporation.
- FIG. 5B Ulustrates an encoding table from 4-bit data to 5-bit serial codeword.
- the 4B/5B is a redundant encoding scheme, which means that there are more codeword than data words. Consequently, some of the unused or redundant serial codeword can be used to convey control information.
- FIG. 5C is a table with 15 possible encoded control codewords, which can be used for transferring the time frame delimiter (TFD) over a serial Unk.
- the TFD transfer is completely transparent to the data transfer, and therefore, it can be sent in the middle of the data packet transmission in a non-destructive manner.
- the time frame detimiter cannot be embedded as redundant serial codeword, since SONET/SDH serial encoding is based on scrambling with no redundancy. Consequently, the TFD is implemented using the SONET/SDH frame control fields: transport overhead (TOH) and path overhead (POH).
- TOH transport overhead
- POH path overhead
- FIG. 6A is an Ulustration of a data packet structure with a header that includes a time stamp, two priority bits, a multi-cast bit, and an attached time of arrival (ToA), port number, and Unk type.
- the packet header together with the attached time of arrival (ToA), port number, and Unk type constitute a scheduUng header.
- the scheduling header is used for scheduling the data packet switching from input to output.
- FIG. 6B is additional detail about the encoding of the priority and multi-cast bits of FIG. 6A.
- an incoming data packet consists of a header and a payload portion.
- the header includes, as shown in FIGS. 6 A and 6B, a time stamp value 35TS, a multi-cast indication 35M, a priority indication 35P, and a virtual PID indication 35C.
- the priority indication 35P may include encoding of a high and a low priority.
- multiple levels of priority are encoded by priority indication 35P.
- the multiple levels of priority include Constant Bit Rate (CBR) priority, Variable Bit Rate (VBR) priority, "best-effort" (BE) priority, and Rescheduled priority.
- CBR Constant Bit Rate
- VBR Variable Bit Rate
- BE best-effort priority
- Rescheduled priority Rescheduled priority.
- the multi-cast indication 35M may include encoding indicating one destination or a plurality of destinations. In the case of a plurality of destinations there can be one or more PIDs.
- the data packet header in FIG. 6A further comprises of a 2-bit, L1/L2, field 35L, which provides information regarding this data packet location within a stream of data packets that are part of the same SVP or the same call connection.
- Ll/L2 00 - first data packet location in the flow (SVP) - compute a schedule
- Ll/L2 01 - middle data packet location in the flow - same as the previous schedule
- Ll/L2 10 - last data packet location in the flow (SVP) - same as the previous schedule
- Ll/L2 l 1 - decode this data packet address and schedule it regardless of its location.
- the main motivation for having the L1/L2 bits in field 35L is for minimizing the scheduling delay.
- a data packet in the middle of a flow of the same SVP/call/connection will use the same schedule to get across the switching fabric as a predecessor data packet in this flow. This implies that only decoding of the PID 35C is needed in order to determine to which output port the incoming data packet should be switched to.
- the ToA 35T and time stamp 35TS can have a plurality of numerical formats.
- One example is the format of the Network Time Protocol [D. MiUs, Network Time Protocol (version 3) IETF RFC 1305] which is in seconds relative to Oh UTC on 1
- the full resolution NTP timestamp is a 64- bit unsigned fixed point number with the integer part in the first 32 bits and the fractional part in the last 32 bits. In some fields where a more compact representation is appropriate, only the middle 32 bits are used; that is, the low 16 bits of the integer part and the high 16 bits of the fractional part. The high 16 bits of the integer part must be determined independently.
- the incoming data packet can have various formats, such as but not limited to Internet protocol version 4 (IPv4), Internet protocol version 6 (IPv6), and asynchronous transfer mode (ATM) cells.
- IPv4 Internet protocol version 4
- IPv6 Internet protocol version 6
- ATM asynchronous transfer mode
- the data packet's PID 35C can be determined by but is not timited to one of the following: an Internet protocol (IP) address, an asynchronous transfer mode (ATM), virtual circuit identifier, a virtual path identifier (VCI/VPI),
- IPv6 Internet protocol version 6
- MPLS Internet Multi Protocol Label Swapping
- IEEE 802 MAC media access control
- FIG. 7 depicts two channels: G or green channel that is connected to 41-1, and R or red channel that is connected to 41-k.
- G or green channel that is connected to 41-1
- R or red channel that is connected to 41-k. The time over each channel is partitioned in accordance to the common time reference
- Time frames are grouped into time cycles (in FIG. 7, time frames G1-G4 are grouped into a time cycle, and time frames R1-R4 are grouped into a time cycle on another channel), and time cycles are grouped into super-cycles, wherein a super-cycle can be aligned with UTC (Coordinated Universal Time), which is globaUy avaUable via, for example, GPS (Global Positioning System).
- UTC Coordinatd Universal Time
- GPS Global Positioning System
- the super-cycle duration is equal to one second as measured using the UTC (Coordinated Universal Time) standard.
- the super- cycle duration spans multiple UTC seconds or is a fraction of one UTC second.
- time frame duration and time cycle duration can be different on different wavelength channels.
- a novel time frame switching fabric control is provided by the present invention which stores a predefined sequence of switch fabric configurations, responsive to a high level controller that coordinates multiple switching systems, and applies the stored predefined sequence of switch fabric configurations on a cyclical basis having complex periodicity.
- the application of the stored predefined switch fabric configurations permits the switches of the present invention to relay data over predefined, scheduled, and/or reserved data channels without the computational overhead of computing those schedules ad infinitum within each switch. This frees the switch computation unit to operate relatively autonomously to handle transient requests for local traffic reservation requests without changing the predefined switch fabric configurations at large, wherein the switch computation unit provides for finding routes for such transient requests by determining how to utilize underused switch bandwidth (i.e., "holes" in the predefined usage).
- FIG. 12 shows an example of time frame (TF) switching and forwarding through a sequence of the switches: Switch A, Switch B, and Switch C.
- TF time frame
- time frame switching is extremely useful in reducing the switching complexity of communications systems with a very high transmission rate (e.g., OC-48, OC-192, OC-768) and/or a plurality of wavelengths (i.e., WDM channels), as shown in FIG. 7.
- a very high transmission rate e.g., OC-48, OC-192, OC-768
- WDM channels i.e., WDM channels
- FIG. 7 there are two channels: G or green channel that is connected to 41-1 and R or red channel that is connected to 41-k.
- the time over each channel is partition in accordance to the common time reference (CTR) - as was depicted in FIG. 2.
- CTR common time reference
- time frames are grouped into time cycles (in FIG. 7, time frames G1-G4 are grouped into a time cycle, and time frames R1-R4 are grouped into a time cycle on another channel), and time cycles are grouped into super- cycles.
- the switching from input to output maps input time frames to output time frames in an arbitrary manner.
- the following mapping is performed for the green channel: Gl to the position of R3, G2 to the position of G4, G3 to the position of Rl, G4 to the position of G2, and the following mapping is performed for the red channel: Rl to the position of G3, R2 to the position of R4, R3 to the position of Gl, R4 to the position of R2.
- FIG. 8 depicts a general mapping format for time frame switching and forwarding over a pluraUty of WDM channels: (p-in, w-in, t-in, c-in) TO (p-out, w-out, t- switch, c-switch, t-out, c-out), wherein p-in - input port #, w-in - input wavelength (color), t-in - time frame # in (within a time cycle), c-in - time cycle # in (within a super-cycle) and p-out - output port #, w-out - output wavelength (color), t-switch - time frame # switch (within a time cycle), c-switch - time cycle # switch (within a super-cycle), t-out - time frame # out (within a time cycle), c-out - time cycle # out (within a super-cycle).
- the table 2700 in FIG. 8 shows time frame switching for a given p-in (input port).
- the rows in table 2700 represent two WDM channels (red and green) with four time frames in every time cycles, which are corresponding to the description in FIG. 7.
- the columns in table 2700 represent 1 time cycles of one super-cycle.
- Each entry in table 2700 represents: p-out or the output port, w-out or the output wavelength, t-switch or the time frame switching time from input to output, c-switch or the cycle time switching time from input to output, t-out or the time frame out of the out put port, c-out or the time cycle out of the output port.
- FIG. 9 depicts the basic WDM time frame switching property: The source of any wavelength (Wl, W2, and W3) in any time frame can come from any input port, 1
- Wl, W2 and W3 with the following time frame mapping: Wl from input i, Wl from input j, Wl from input k, W2 from input 1, W2 from input m, W2 from input n, W3 from input o, W3 from input p, W3 from input q.
- the outgoing content (i.e., data packets) in every time frame on any WDM channel can be the incoming content of any time frame on any WDM channel.
- the delay between the outgoing time frame and the incoming time frame is a predefined number of 1, 2, 3 and so on time frames.
- this input to output delay is not longer than 3-4 time frames.
- each time frame can contain a pluraUty of format types that are scheduled and transferred wftile maintaining individual identity, wherein the possible format types are, but not limited to: a fixed size ATM ceU, a variable sized IP data packet, a frame relay data packet, a fiber channel data packet.
- Method 2 as in the previous method, Method 1 , the content of the whole time frame is switched in the same way - namely, aU the data packets in the time frame are switched to the same output port. Consequently, there is no need to use time slots.
- Method 2 the switching is done optically by an aU-optical time frame switch, as shown in FIGS. 10 and 11. The all optical switching is stiU being controlled by digital electronic circuitry.
- the control function of the all-optical time frame switch operates by the following principle (FIG. 10): In every time frame within a time cycle and within a super-cycle, an input wavelength is switched to a selected defined subset of the out-going optical channels performing the foUowing mapping:
- the above mapping is defined by a switching matrix.
- the switching matrix is defined by a plurality of tables 3000 for w-in and p-in in FIG. 10.
- the rows in this table 3000 are for each of the 4 time frames in a time cycle and the columns are for each of the 4 time cycles in a super-cycle.
- the table 3000 has an entry for each time frame of a super-cycle.
- Each entry in the table 3000 defines p-out, w-out, t- out, and c-out.
- FIG. 12 shows an example of time frame (TF) switching and forwarding through a sequence of the switches: Switch A, Switch B, and Switch C.
- TF time frame
- Switch B switches the content of a TF that was forwarded from Switch A at time frame 2 will reach Switch B at time frame 5, then switched to the output port at time frame 6, then forwarded at time frame 7 and wiU reach Switch C at time frame 9.
- FIG. 11 A shows an example of an optical switch block diagram.
- the incoming optical WDM signal gets through an optical demultiplexer 3120, which separates the multiplexed incoming optical signal, 41-1 to 41-3, into three separate optical signals, la, lb, and lc, which are coupled with the all optical switching fabric 3100.
- the optical demultiplexer may consist of an optical-to-electronic conversion together with an electronic-to-optical conversion in order to restore the optical signal into its original quality.
- the outputs of the optical switching fabric 3100, le, If, and lg, are coupled into an optical multiplexer 3130.
- the optical multiplexer may consist of an optical-to-electronic conversion together with an electronic-to-optical conversion in order to restore the optical signal into its original quahty.
- the output of the optical multiplexer 3130 is coupled to the optical Unk 41-1 to 41-3.
- the optical switching matrix for every time frame is extracted from the pluraUty of tables 3000 for w-in and p-in in FIG. 10.
- the optical transmission and switching have the foUowing temporal pattern, as defined in FIG. 1 IB, with two alternating phases: (1) t-sw - the period of time, responsive to CTR 002, in which the optical switch is switching the optical signals: la, lb, and lc to le, If, and lg, and (2) t-su - the period of time, responsive to CTR 002, in which the optical switching pattern is changed - during this period of time a new optical switching matrix is set-up.
- the time period of t-sw is much larger than t-su.
- Method 1 and Method 2 utilize alignment of time frames as shown in FIGS. 13-18.
- the switch that is described in FIG. 13A operates according to the following switching principle: - From (any TF of any Channel at any Input)
- predefined TF is either an immediate TF- next TF-or a non- immediate TF-after two, three or more TFs.
- the switch in FIG. 13A has 16 input ports 3400 and 16 output ports 3800, wherein each port is connected to 16 WDM optical channels 3420.
- the input ports and output ports are coupled by a switching fabric 50 and the switching operation is controlled by a fabric controUer 52.
- the fabric controller determines the switching pattern through the switching fabric from the plurality of input optical channels 3420 to the pluraUty of output optical channels 3420.
- FIG. 13B presents an example of two-phase switch operation:
- Phase 1 - Receiving & Alignment - in this phase the data packets are received via the optical channels, and stored in the alignment subsystem 3500 in FIG. 14 and ahgned with the CTR 002, which is discussed below.
- Phase 2 - Switching & Transmitting - in this phase the content of a whole time frame is switched and then transmitted to the optical channel responsive to the CTR, which means that the transmission of the content of a time frame starts at the beginning of a time frame as determined by the CTR.
- the input from the optical channel can come either from an output port 3800 of another switch or from an SVP interface 4500 that performs synchronizer/shaper functions, which consist in mapping of asynchronous data packets into time frames. This kind of mapping is typically needed at the network ingress, as shown in FIG. 14.
- the alignment subsystem 3500 receives its data packet input from the l-to-16 Optical DMUX & Serial Receivers (SONET/SDH) &Serial-to-Parallel
- the 3430 connection can be either a serial Unk or a paraUel bus.
- the data packets that output from the aUgnment subsystem 3500 are transferred to out-going optical channels via the switching fabric 50.
- Each of the incoming optical channels (j) has a unique time reference (UTR-j), as shown in FIG. 16, that is independent of the CTR 002, also shown in FIG. 16.
- the (UTR-j) is divided into SCs (super-cycles), TCs (time cycles), and TFs (time frames) of the same durations as the SCs, TCs, and TFs of the CTR used on optical channel (j), as it was shown in FIG. 2.
- Each of the SCs, TCs, and TFs of the (UTR-j) starts and ends at a time different than the respective start and end in time of the SCs, TCs, and TFs of the CTR.
- a plurality of buffer queues 3550 are part of each aUgnment subsystem 3500, wherein each of the respective buffer queues is associated, for each of the TFs, with a unique combination of one of the incoming optical channels and one of the outgoing optical channels.
- TCs, and TFs of the UTR-j can be exphcit or implicit delimiters.
- the explicit delimiters can be realized by one of the control codewords from
- FIG. 5C There can be a different delimiter control word to signal the beginning of a new TF (i.e., a time frame delimiter - TFD), TC (i.e., a time cycle delimiter - TCD) and SC (i.e., a super-cycle delimiter - SCD).
- the explicit delimiter signaUng can be reaUzed by the SONET/SDH path overhead field that was design to carry control, signaling and management information.
- An implicit delimiter can be realized by measuring the UTR-j time with respect to the CTR.
- a mapping controller within the fabric controller 52 system for logically mapping, for each of the (UTR-j) TFs, selected incoming optical channels (j) to selected buffer queues, and for logically mapping, for each of the CTR TFs, selected ones of the pluraUty of buffer queues to selected outgoing channels (1).
- Each aUgnment subsystem 3500 selects which of the buffers 3550 wiU receive data packets from the optical channel (j) at every time frame as it is defined by the (UTR-j).
- the selection process by the alignment subsystem 3500 is responsive to the Select-in signal 3510 received from the fabric controUer 52.
- the Select-in signal 3510 is fed into a l-to-3 DMUX (demultiplexer) 3520 that selects one of 3 queue buffers in 3550: TF Queue 1, TF Queue2, TF Queue3.
- the buffer queues in the aUgnment subsystem for each time frame can be filled with data packets in arbitrary order to an arbitrary level, prior to output.
- the aUgnment subsystem 3500 comprised of a pluraUty of TF queues, wherein each of the time frame queues comprises means to determine that the respective time frame queue is empty, wherein each of the time frame queues further comprises means to determine that the respective time frame queue is not empty.
- the empty (and not empty) signal 3450 is provided to the fabric controller 52.
- the mapping controller further provides for coupling of selected ones of the time frame queues 3550 to respective ones of the outgoing channels (1), for transfer of the respective stored data packets during the respective associated CTR time frames. This operation is performed responsive to the Select-out signal 3530, as shown in FIG. 15.
- FIG. 16 A timing diagram description of the alignment operation is provided in FIG. 16.
- TF queue (TF Queue 1, TF Queue2, TF Queue3 - 3550) is not written into and read from at the same time.
- the Select-in signal 3510 and the Select-out signal 3530 wiU not select the same TF queue at the same time.
- the alignment subsystem 3500 can have more than three TF queues 3550 - this can be used for Non-immediate forwarding method: in this method a data packet is delayed in the input port until there is an available time frame to be switched to the selected one of the outgoing optical channels (1). In this method the delay is increased, Le., more time frames may be needed to get from input to output. The non-immediate forwarding add flexibility to the scheduling process of SVPs.
- the alignment subsystem 3500 comprises only two buffers and an optical delay Une.
- One buffer receives data from the corresponding input link, while data to be transferred through the switching fabric are retrieved from the other buffer.
- the delay line between the input link and the aUgnment subsystem ensures that the UTR of the corresponding link is aligned with the CTR.
- the time a packet takes to travel from the aUgnment subsystem of the upstream time driven switch 10 to the aUgnment subsystem of the considered switch is an integer multiple of a TF.
- the delay element adds a link delay equal to the difference between a beginning of the CTR time frame and a beginning of the UTR-j time frame.
- the optical delay line can have programmable tap points possibly comprised of optical switches.
- the optical delay Une can be external to the switch, internal, or integrated in the optical receiver.
- FIG. 18 shows the output port 3800 for 16 optical channels 3420. The output port performs the Parallel- to- Serial Conversion, the SONET/SDH Transmission, and the 16-to-l Optical MUX into an optical fiber.
- FIG. 17 shows a switching fabric 50 with a fabric controller (FC) 52.
- FC fabric controller
- the switching matrices 3721 follow the following restrictions:
- an input optical channel can be connected to one or more output optical channels (multicast - MCST operation of 1 -to-many is possible)
- an output optical channel can be connected to at most one input optical channel
- the information contained in the switching matrices 3721 is defined in a pluraUty of examples, which were presented in FIG. 8 and FIG. 10.
- the fabric controller 52 is responsive to UTC 002 and provides the foUowing control signals: (1) Select-in signal 3510 and the Select-out signal 3530 to the alignment subsystem 3500, and (2) Read signals 3921 to the Routing Module 4000.
- the switching fabric 50 in FIGS. 1, 13, 17 and 21, as well as the switching expander 4300 in FIGS. 22-23, can be reaUzed in many ways.
- a well known but complex method is a crossbar.
- the crossbar has a switching element between every input and every output. Consequently, the total number of switching elements required to realize the crossbar is the number of inputs (N) times the number of outputs
- switching fabric 50 and switching expander 4300 there are many other ways to realize the switching fabric 50 and switching expander 4300 with fewer switching elements, such as, a generalized multi-stage cube network, a Clos network, a Benes network, an Omega network, a Delta network, a multi- stage shuffle exchange network, a perfect shuffle, a Banyan network, a combination of demultiplexers and multiplexers.
- a generalized multi-stage cube network such as, a Clos network, a Benes network, an Omega network, a Delta network, a multi- stage shuffle exchange network, a perfect shuffle, a Banyan network, a combination of demultiplexers and multiplexers.
- FIGS. 29C- 30B are examples of multi-stage shuffle exchange networks or generaUzed-cube networks that can be used to realized the switching fabric 50 and switching expander 4300 in the context of this invention.
- the shuffle exchange network requires only a*N*lgaN switching elements, where N is the number on inputs and outputs, and a is the number of inputs and outputs of each switching block 4900.
- the number on inputs and outputs of the switching fabric 50 in FIG. 29C is 8
- Method 3 utilizes combined time frame switching with asynchronous packet switching as shown in FIGS. 19-24.
- part of the content of a time frame is routed according to time and part according to information contained in the data packet header.
- Data packets routed according to time have reserved transmission capacity and are forwarded according to a predefined schedule.
- Packets that are routed according to header information do not have reserved capacity and a predefined schedule (non- scheduled data packets or NSDPs).
- NSDP are forwarded during time frames presenting some spared capacity.
- FIG. 19 is the functional architecture of an input port 3900.
- the DWDM optical channels are demultiplexed and each stream of bits converted in an equivalent parallel stream 3430 by an optical demultiplexer module 3410.
- a Filter module 3910 separates data packets that are to be routed according to header information from those that are to be routed according to time information, i.e., based on the time frame in which they have been received.
- the Filter module 3910 sorts out packets based on information contained in their header.
- FIG. 6A shows a sample data packet header; the Filter 3910 sorts data packets based on the content of the priority field 35P.
- Other examples of information that can be used for filtering are the Differentiated Services (DS) Field in the header of an IP packet or the MPLS label of an Multi-Protocol Label Switching frame.
- the Filter module 3910 can operate also based on a single bit contained in the header that differentiates NSDPs from scheduled data packets.
- a control codeword (see FIG. 5) is inserted into the time frame for separating the non-scheduled type of service data packets from the scheduled type of service data packets.
- the Filter module 3910 sorts separates scheduled data packets from NSDP by using the aforementioned control codeword. For example, the Filter module 3910 could take out the data packets that are after the control codeword (or between a pair of control codewords) as non-scheduled type of service.
- the FUter module 3910 features 2 output lines. Scheduled packets are moved through one output line 3914 to the alignment subsystem 3500 of the channel on which they have been received. NSDPs are delivered through another output line 3911 to a Routing Module 4000.
- the block diagram of the alignment subsystems 3500 is shown in FIG. 15; the purpose, the working principles, and the control signals of the alignment subsystems
- the Routing Module 4000 sorts NSDPs in 16 queues 4030, one for each output port. Packets are sorted according to the output port 3800 form which they have to be forwarded in order to reach their final destination. The output port 3800 to which a packet is directed is determined by the
- Routing ControUer 4010 based on the pipe identifier (PID) 35C shown in FIG. 6A.
- PID pipe identifier
- Other examples of information on which the choice of the output port can be based include, but are not timited to, the IP destination address, the MPLS label, the MAC address.
- the Routing Controller 4010 devises the queue 4030 the packet should be stored in from information contained in a routing table 4020.
- the Routing Controller 4010 can use the PID 35C as an index to the routing table 4020.
- the row corresponding to the PID value contains the number of the output port the packet should be forwarded from, i.e., the queue 4030 the packet should be stored in.
- Part of the NSDPs can be directed outside the sub-network in which the technology disclosed in this invention is deployed; the Routing Controller 4010 transmits them over the output port 3912. Analogously, NSDPs can enter the subnetwork through input 3913.
- FIG. 21 shows the connections 3440/4050 between the input port 3900 and the switching fabric 50.
- the switching fabric 50 can connect any one of the alignment subsystem outputs 3440 and of the routing module outputs 4050 to any of the input lines 3810 of any of the output ports 3800.
- the switching fabric 50 has 512 inputs 3440/4050 and 256 outputs 3810.
- a fabric controller 52 establishes the input/output connections through the switching fabric 50. At each time frame the fabric controller 52 connects each line 3440 from the alignment subsystems 3500 to one of the output lines 3810 according to a predefined pattern which repeats itself periodically. The period can be one time cycle, one super-cycle, or any other duration.
- the content of the aUgnment system's queue 3550 (either TF Queue 1, or TF Queue2, or TF Queue3) selected by the fabric controller 52 through the select-out control signal 3530 is switched to a given output channel 3810.
- the fabric controller 52 determines through the select-in control signal 3510 the queue 3550 in which all the scheduled data packets received on an optical channel 3430 should be stored.
- the queue 3550 in which incoming packets are stored is selected according to a predefined pattern that repeats itself periodically. The period can be one time cycle, one super-cycle, or any other duration.
- the time frame in which scheduled packets are received determines the path of such packets through the network.
- the alignment subsystem 3500 uses the empty control signal 3450 to notify the fabric controller 52 when the queue 3550 selected through the select-out 3530 signal is empty.
- the fabric controller 52 programs the switching fabric 50 to connect the idle output channel 3810 to the proper output 4050 of the Routing Module 4000.
- Such proper output 4050 is the one corresponding to the queue 4030 to the output port 3800 to which the idle channel 3810 belongs.
- the NSDP queue 4030 that is connected to the idle channel 3810 can be in either the same input port 3900 as the empty scheduled data packet queue 3550, or another input port 3900.
- the fabric controller 52 knows which NSDP queues 4030 are empty thanks to the full/empty control signals 4040.
- the fabric controller 52 selects an NSDP queue from which NSDPs are to be retrieved through the read 3921 control signal.
- the fabric controller 52 is centtalized; however different implementations are possible, consistent with the present invention, that distribute the fabric controller 52 functionality.
- the switching fabric 50 can be implemented, not excluding other ways, as a crossbar or as a multi-stage network of 2-by-2 or 4-by-4 switching elements, which has lower complexity than a crossbar.
- All the control signals generated or received by the fabric controller 52 (to control the switching fabric 50, to select the alignment system's queue 3550 for input 3510 and for output 3530, to know whether the queues are empty 3450/4040, etc.) need to be varied with a time scale comparable with the time frame duration.
- all the control signals are either predetermined according to a repetitive pattern, or can be devised in advance from the state of the system during the preceding time frame.
- the control signals can be given in the time frame prior the one in which the components are supposed to react to them. This is beneficial when the switch is operated at very high speed and the delay introduced by the control logic and by signal propagation can be limiting.
- FIGS. 22, 23 and 24 show an alternative implementation of a switch that can route scheduled data packets according to time and NSDPs according to information contained in their header.
- the input port 4200 comprises an optical demultiplexer 3410 that separates the 16 WDM optical channels 3420 over 16 separate lines 3430 connected to a switching expander module 4300.
- the purpose of the switching expander module 4300 is to enable the connection of each input channel 3420 to any optical channel 3820 on any output port 4400.
- a filter 3910 inserted on the outputs 3430 of the demultiplexer 3410 separates NSDPs from the scheduled data packets that are the only ones entering the switching expander module 4300.
- the filter 3910 (shown in FIG. 22) directs NSDPs to a
- Routing Module 4000 (not shown in FIG. 22) that routes them according to information contained in the data packet header, as previously described.
- Both scheduled data packets and NSDPs enter the aUgnment subsystems 4260.
- Scheduled data packets enter the alignment subsystems 4260 through lines 4231 from the switching expander module 4300;
- NSDPs enter the alignment subsystems 4260 through lines 4232 from the Routing Module 4000.
- the alignment subsystem 4260 comprises a multiplicity of queues that are managed as described for the alignment subsystem 3500 shown in FIG. 15. However, the alignment subsystem 4260 handles also NSDPs (not only scheduled data packets). Upon exhaustion of the queue from which data packets are being retrieved for transmission over the line 4330 towards the corresponding output channel 3820, the alignment subsystem 4260 can transmit on line 4330 the NSDPs incoming on line 4232.
- the alignment subsystem 4260 could store NSDPs incoming from line 4232 in the same queues as scheduled data packets, or the alignment subsystem 4260 could comprise a separate queue for storing NSDPs, or the Routing Module 4000 could comprise such a queue.
- the switch comprises a distributed Expander Controller that consists of an input part 4210 in each input port 4200 and an output part 4410 in each output port 4400.
- the distributed Expander ControUer determines the output channel 3820 on which packets received from each input channel 3420 are being forwarded. This is achieved by (1) the input part 4210 of the Expander ControUer (la) configuring the input/output connections of the switching expander 4300 and (lb) enabUng the output 4330 of the proper aUgnment subsystem 4260, and (2) the output part 4410 controlling the selectors 4420 of each channel on every output port 4400.
- each input 3430 of the switching expander 4300 is connected with one or more (for multicast support) outputs 4231.
- a subset of the alignment subsystems 4260 is enabled to transmit packets on the lines 4330 towards their correspondent output channel 3820.
- the output part 4410 of the Expander ControUer determines from which input port 4200 packets should be retrieved for forwarding on each output channel 3820. This is achieved by the output part 4410 of the Expander Controller selecting one of the inputs 4330 of the 16 selectors 4420 contained in the output port 4400, as shown in FIG. 24.
- the output 3810 of the selectors 4420 are multiplexed by an Optical Multiplexer 3800 and transmitted on the outgoing fiber as separate WDM channels 3820.
- the control signals generated by the input parts 4210 and the output parts 4410 of the distributed Expander ControUer change with a period comparable to the duration of the time frame.
- the sequence of control signals is predetermined when SVPs are set up and repeats with a period of one time cycle, or one super-cycle, or any other duration. As a consequence, no communication is required among the different parts of the distributed expander controller in order to devise the control signals they generate.
- FIG. 23 shows one realization of the switching expander 4300 as a 16 by 256 crossbar.
- Other topologies including but not limited to, multistage networks of 2-by-2 or 4-by-4 switching elements can be deployed in the realization of the switching expander 4300.
- Method 4 provides an SVP interface to time frame switching from asynchronous packet switching as shown in FIGS. 25-28.
- IP/MPLS Internet protocol/multi-protocol label switching
- SVP Synchronous Virtual Pipe
- An SVP interface module is required to forward over an SVP packets that have traveled over an asynchronous packet network. As shown in FIG. 27, the SVP interface module is required only for the input Unks connecting multi-protocol SVP time driven switches to asynchronous packet switches; the SVP interface module is not required on links connecting multi-protocol SVP time driven switches, i.e., switches that use the technology disclosed in this invention. Moreover, as shown in FIG. 26B, the SVP interface module 4600 is required only in the inbound direction of the interface of the multi-protocol SVP time driven switch 10, not in the outbound direction.
- FIG. 25 shows the block diagram of the SVP interface 4500 according to the first alternative.
- a Packet Scheduling ControUer 4510 processes asynchronous data packets arriving from an input link 4501. Based on information contained in the packet header — such as the PID field 35C (see FIG. 6), or an MPLS label, or the destination address in an IP packet, or the VCI/VPI in an ATM cell, or other header fields — the Packet Scheduling Controller 4510 identifies the SVP to which the asynchronous data packet belongs.
- the relevant header information is used, for example as a lookup key, to retrieve SVP schedule information from a pre-computed table 4511. Typical schedule information include, but are not limited to, the time frames in which packets belonging to each SVP should be forwarded on the link 41 towards a multi-protocol SVP time-driven switch 10.
- the Packet Scheduling Controller 4510 Once processed by the Packet Scheduling Controller 4510, data packets are stored in a per time frame queuing system 4540.
- the per time frame queuing system 4540 comprises a multiplicity of queues 4550. Each queue is associated with one time frame.
- the Forwarding ControUer 4520 retrieves the packets contained in a specific queue 4550 during the time frame associated to that queue.
- the Packet Scheduling Controller 4510 stores an incoming packet in the queue 4550 currently associated to one of the time frames reserved for the SVP to which the packet belongs.
- an SVP interface implementation could feature a per time frame queuing system 4540 that contains one queue for each time frame in the time cycle.
- the Packet ScheduUng Controller 4510 devises the PID 35C from the data packet header and uses it as a key to the SVP Schedules table 4511 to retrieve the pointers to the queues 4550 in which the data packet should be stored.
- the Packet Scheduling ControUer 4510 moves the packets to one of the selected queues 4550.
- the Packet Scheduling ControUer 4510 can choose the specific queue 4550 in which to store the packet.
- One possible implementation consists in choosing the first queue 4550 that will be served, i.e., the one associated to the next time frame to come.
- Each queue 4550 can be organized in 3 sub-queues: CBR (Constant Bit Rate),
- the Packet Scheduling Controller 4510 determines the type of traffic to which incoming data packets belong based on information contained in the header, such as the PID 35C, the Differentiated Services (DS) Field in IP packets, the VPI/VCI fields in ATM cells, or any other (combination of) header fields.
- the PID 35C the Packet Scheduling Controller 4510 determines the type of traffic to which incoming data packets belong based on information contained in the header, such as the PID 35C, the Differentiated Services (DS) Field in IP packets, the VPI/VCI fields in ATM cells, or any other (combination of) header fields.
- DS Differentiated Services
- the Forwarding ControUer 4520 retrieves and forwards on the line 41 towards a multi-protocol SVP time-driven switch data packets stored in the queues 4550 associated to the given time frame.
- a preferred policy for data packets retrieval is presented; other poticies can be appUed.
- Data packets contained in the CBR sub-queue are retrieved first, starting at the beginning of the time frame associated to the queue 4550. If the CBR sub-queue becomes empty before the end of the time frame associated to the selected queue 4550, data packets in the VBR sub-queue are retrieved and forwarded. If the VBR sub-queue becomes empty before the end of the time frame associated to the queue 4550, data packets in the "Best effort" sub-queue are retrieved and forwarded.
- the sub-queues can be ordered in various ways and even logically organized in multiple sub-queues.
- the Forwarding Controller 4520 can apply a variety of packet scheduling algorithms, such as, FIFO, simple priority, round robin, weighted fair queuing. Also the order in which packets are retrieved from the various sub-queues (i.e., the relative priority of the sub- queues) depends on the adopted queue management policy.
- Rescheduling ControUer 4530 sorts packets in the different queues 4550 of the per time frame queuing system 4540 simUarly to the Packet Scheduling ControUer 4510.
- the operation of the Rescheduling Controller 4530 is based (i) on information retrieved from the SVP Schedules table 4511 (for example, using data packet header fields as access key), and/or ( ⁇ ) on the queue in which the packets had been previously stored.
- the SVP interface can have multiple lower capacity input Unes 4501 that are aggregated on the same higher speed output line 41.
- data packets are received from multiple input Unes 4501, sorted in the queues 4550 of the same per time frame queuing system 4540 from which the Forwarding Controller 4520 retrieves data packets for transmission on the output line 41.
- the Forwarding ControUer 4520 can be comprised of a plurality of Forwarding Controllers, each one associated with at least one of the channels 41. There can be a plurality of sets of queues 4540, each set comprising at least one queue 4550, wherein each set 4540 is associated with one of the Forwarding Controllers 4520.
- FIG. 26 shows the block diagram of the SVP interface 4600 implemented according to the second alternative. Incoming packets are stored in a queuing system that comprises multiple queues 4610. Each queue 4610 is associated to a specific SVP 25; data packets are stored in the queue 4610 corresponding to the SVP 25 they belong to.
- the SVP to which data packets belong (i.e., the identity of the queue in which they should be stored) is devised through information contained in their header, such as the PID field 35C, the destination address or the DS field in an IP packet or a combination of the two, the MPLS label, the VPI/NCI of an ATM ceU, or any other (combination of) header fields.
- An SVP Forwarding Controller 4630 retrieves data packets from the queue associated to the SVP 25 for which the current time frame had been reserved.
- the current time frame is identified in accordance to the Common Time Reference 002.
- Retrieved packets are transmitted on an output line 41 towards a Multi-protocol SVP Time-driven Switch 10.
- the SVP Forwarding Controller 4630 possibly changes the queue 4610 from which to retrieve packets.
- the new queue 4610 is identified by consulting the SVP Schedules database 4640 which contains, among other information, the SVP to which each time frame had been reserved.
- the SVP Forwarding ControUer 4630 can retrieve packets from more than one queue 4610 and forward them on more than one output line 41.
- the SVP Schedules database 4640 provides for each time frame, the SVP 25 for which it has been reserved on each of the output Unes 41.
- each time frame can be reserved for zero (not reserved) to as many SVPs 25 as the number of output lines 41.
- the SVP Interface 4600 can comprise a plurality of SVP Forwarding ControUer
- Modules 4620 each associated with at least one of a plurality of asynchronous data streams.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
A time frame switching method and system of data units that utilize a global common time reference (002), which is divided into a plurality of contiguous periodic time frames (G1-G4). The system is designed to operate with high-speed wavelength division multiplexing (WDM) links, i.e., with multiple lambdas. The plurality of data units that are contained in each of the time frames (G1-G4, R1-R4) are forwarded in a pipelined manner through the network switches, and can be switched from any incoming WDM channel (41-l, 41-k) to any subset of outgoing WDM channels (41-1, 41-k) responsive to the global common time reference (002). The outcome of this switching method is called fractional lambda switching. The switching system further comprises an interface system to asynchronous data packet flows. The interface system can aggregate multiple asynchronous data packet flows into a single predefined switching schedule over the synchronized switching system.
Description
TIME FRAME SWITCHING RESPONSIVE TO GLOBAL COMMON TIME REFERENCE
RELATED APPLICATIONS
This application is a continuation of provisional application serial number 60/164,437 filed November 9, 1999.
FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT Not Applicable.
BACKGROUND OF THE INVENTION:
This invention relates generally to a method and apparatus for switching of data packets in a communications network in a timely manner while providing low switching complexity and performance guarantees. Circuit-switching networks, which are still the main carrier for real-time traffic, are designed for telephony service and cannot be easily enhanced to support multiple services or carry multimedia traffic. Its almost synchronous byte switching enables circuit-switching networks to transport data streams at constant rates with little delay or jitter. However, since circuit-switching networks allocate resources exclusively for individual connections, they suffer from low utilization under bursty traffic. Moreover, it is difficult to dynamically allocate circuits of widely different capacities, which makes it a challenge to support multimedia traffic. Finally, the almost synchronous byte switching of SONET, which embodies the Synchronous Digital Hierarchy (SDH), requires increasingly more precise clock synchronization as the lines speed increases [John C. Bellamy, "Digital Network Synchronization", IEEE Communications
Magazine, April 1995, pages 70-83].
Packet switching networks like IP (Internet Protocol)-based Internet and Intranets handle bursty data more efficiently than circuit switching, due to their statistical multiplexing of the packet streams. However, current packet switches and routers operate asynchronously and provide "best effort" service only, in which end-to-end delay and jitter are neither guaranteed nor bounded. Furthermore, statistical variations of traffic intensity often lead to congestion that results in excessive delays and loss of packets, thereby significantly reducing the fidelity of real-time streams at their points of reception. One approach to an optical network that uses synchronization was introduced in the synchronous optical hypergraph [Y. Ofek, "The Topology, Algorithms And Analysis Of A Synchronous Optical Hypergraph Architecture", Ph.D. Dissertation, Electrical Engineering Department, University of Dlinois at Urbana, Report No. UrUCDCS-R-87 1343, May 1987], which also relates to how to integrate packet
telephony using synchronization. In the synchronous optical hypergraph, the forwarding is performed over hyper-edges, which are passive optical stars. In [Li et al, "Pseudo-Isochronous Cell Switching In ATM Networks", IEEE INFOCOM'94, pp. 428-437, 1994; Li et al., 'Time-Driven Priority: Flow Control For Real-Time Heterogeneous Internetworking", IEEE INFOCOM'96, 1996] the synchronous optical hypergraph idea was applied to networks with an arbitrary topology and with point-to point links. The two papers [Li et al., "Pseudo-Isochronous Cell Switching In ATM Networks", IEEE INFOCOM'94, pages 428-437, 1994; Li et al., "Time-Driven Priority: Flow Control For Real-Time Heterogeneous Internetworking", IEEE INFOCOM'96, 1996] provide an abstract (high level) description of what is called
"RISC-like forwarding", in which a packet is forwarded, with little if any delay, one hop every time frame in a manner similar to the execution of instructions in a Reduced Instruction Set Computer (RISC) machine.
Q-STM (Quasi-Synchronous Transfer Mode) [N. Kamiyama, C. Ohta, H. Tode, M. Yamamoto, H. Okada, "Quasi-STM Transmission Method Based on ATM
Network," IEEE GLOBECOM'94, 1994, pages 1808-1814] uses a frame/subframe/slot structure to regulate the forwarding of ATM cells through the network. However, the authors do not suggest or mention the deployment of a common time reference, which is at the base of the invention presented in this disclosure, or the capability to transport variable size data packet, or the ability to combine "best effort" and variable bit rate (VBR) traffic types.
In U.S. Pat. No. 5,418,779 Yemini et al. disclose a switched network architecture with a time reference. The time reference is used in order to determine the time in which a multiplicity of nodes can transmit simultaneously over one predefined routing tree to one destination. At every time instance the multiplicity of nodes are transmitting to a different single destination node. However, the patent very briefly mentions the requirement for synchronization among nodes, and does not teach or suggest the means in which it can be provided, or the method in which it can be used.
In the context of the Highball Project [D. L. Mills, C. G. Boncelet, J. G. Elias, P. A. Schragger, A. W. Jackson, A. Thyagarajan, "Final Report on the Highball Project,"
Technical Report 95-4-1, University of Delaware, April 1995] a network intended for a moderate number of users (10-100) was developed, deployed, and tested. Nodes are synchronized and transmission resources are reserved to flows so that packets always find output links available on every node traversed. No queuing is performed inside nodes; all queuing is done at the periphery of the network. This requires higher accuracy in the synchronization among nodes and affects the robustness of the system.
Architectures for data packet switching have been extensively studied and developed in the past three decades. Surveys of packet switching fabric architectures can
be found in: [A. R. Jacob, "A Survey of Fast Packet Switches", Computer Communications Review, January 1990, pages 54-64, A. Pattavina, "Switching Theory", John Wiley & Sons, 1998].
Circuit switches exclusively use time for routing. A time period is divided into smaller time slices, each possibly containing one byte. The absolute position of each time slice within each time period determines where that particular byte is routed.
In accordance with one aspect of the present invention, time-based routing is supported with more complex periodicity in timing than circuit switching provides for. The time frames of the present invention delineate a vastly larger time period than the time slices — and even the time cycle — associated with circuit switching. Moreover, the present invention uses a Common Time Reference (CTR). The CTR concept is not used in circuit switching (e.g., Tl, T3, and the SONET circuit switching: OC-3, OC-12, OC-48, OC-192, and OC-768). Using or not using CTR has far reaching implications when comparing circuit switching and the current invention. For example, CTR ensures deterministic no slip of time slots or time frames, while enabling deterministic pipeline forwarding of time frames. This is in contrast to circuit switching, where (1) there are time slot slips, and (2) deterministic pipeline forwarding is not possible.
A survey of switching fabric architectures and interconnection networks can be found in: [A. Pattavina, "Switching Theory", John Wiley & Sons, 1998]. Optical data communications include single wavelength standards, wherein a single data stream is transmitted into a series of pulses of light carried by an optical fiber from source to destination. These pulses of light are generally of a uniform wavelength. This single wavelength vastly under-utilizes the capacity of the optical fiber, which may reasonably carry a large number of signals each at a unique wavelength. Due to the nature of propagation of light signals, the optical fiber can carry multiple wavelengths simultaneously with no degradation of signal, no interference, and no crosstalk imposed by the optical fiber. The process of carrying multiple discrete signals via separate wavelengths of light on the same optical fiber is known in the art as wavelength division multiplexing (WDM). Logically, wavelength division multiplexing may be thought of as equivalent to multiple single wavelength communications conducted in parallel, but the physical implementation does not require multiple optical fibers and therefore realizes cost savings.
The present invention permits a novel combination of time-based routing, which is similar but not identical to circuit switching, combined with data packet forwarding as in packet switching. This combination provides for communication of data via a reserved time frame mechanism, where time frames periods permit communications of a very large number of bytes that are scheduled and switched in a time-based fashion within reserved and scheduled time frames, while simultaneously providing for non-
scheduled data packet (NSDP) traffic to be switched and routed via the same WDM (wavelength division multiplexing) optical channels. The non-scheduled data packet (NSDP) traffic can be transmitted during empty portions of an otherwise partially reserved and scheduled time frame period. The non-scheduled traffic can also be routed during fully reserved and scheduled time frame periods that have no scheduled traffic presently associated with them. Finally, NSDPs can be routed during unreserved time frames. The system can decode and be responsive to the control information in the non- scheduled data packet header.
There is a growing disparity between the data transfer speeds and throughput associated with the backbone or core of large networks, which may be in the range of one to tens of gigabits per second, and the data transfer speeds and throughput associated with end-user or node connections, which may be in the range of tens to hundreds of kilobits per second. Switching systems that function efficiently at the slow speeds required by end-user or node connections do not scale linearly or in a cost- effective manner to high speed and high performance variants. Existing circuit switches have additional problems as discussed above, in that with increasing data speeds comes a corresponding requirement for more accurate clocking.
Unlike a circuit switch that might potentially require switching a different route for each byte, the time frame switching in the present invention provides a novel mode of operation where the connection between an input port and an output port is only changed infrequently, such as on a time frame by time frame basis. This mode of operation is an enabling technology to utilize purely optical switching apparatus, as it circumvents the problems typically associated with long switching cycle time. Moreover, the present invention enables the utilization of very simple interconnection networks such as Banyan Networks [L. R. Goke, G. J. Lipovski,
"Banyan Networks for Partitioning Multiprocessor Systems," 1st Annual Symposium on Computer Architecture, December 1973, pages 21-28] whose utilization in other systems may not be advisable due to their blocking features.
The Dynamic Burst Transfer Time-Slot-Base Network (DBTN) [K. Shiomoto, N. Yamanaka, "Dynamic Burst Transfer Time-Slot-Base Network," IEEE
Communications Magazine, October 1999, pages 88-96] is based on circuit switching. A circuit is created on-the-fly when the first packet of a burst is presented to the network; the first and subsequent packets are transported through the network over such circuit. Dynarc and Net Insight, two Sweden based companies, commercialize switches for Metropolitan Area Networks (MANs) based on Dynamic synchronous Transfer Mode (DTM) [C. Bohm, P. Lindgren, L. Ramfelt, P. Sjodin, "The DTM Gigabit Network," Journal of High Speed Networks, Vol. 3, No. 2, 1994. C.Bohm, M. Hidell,
P. Lindgren, L. Ramfelt, P. Sjodin, "Fast Circuit Switching for the Next Generation of High Performance Networks," IEEE Journal on Selected Areas in Communications, Vol. 14, No. 2, pages 298-305, February 1996.] DTM deploys a structure of frames and small slots (64 bits) to perform resource allocation and circuit switching. Slots are allocated to the end-systems according to a predefined distribution; a distributed algorithm based on the deployment of control slots is used to reallocate unused slots.
SUMMARY OF THE INVENTION:
In accordance with the present invention, a fast switching method is disclosed and is tailored to operate responsive to a global common time such that the switching delay from input to output is known in advance and is minimized in a deterministic way. Consequently, such a switch can be employed in the construction of a backbone network using optical fibers with dense wavelength division multiplexing (DWDM). Such optical fiber links have a transmission rate, with multiple wavelengths, of a few terabits (1012) per second.
The design method disclosed in this invention minimizes the time required for the routing decision and switching of every data packet. Consequently, for a given solid state technology, memory access time and memory word width, this method can support the highest speed optical DWDM links. Moreover, the above is independent of the number of switch ports.
The switching and data packet forwarding method combines the advantages of both circuit and packet switching. It provides for allocation and exclusive use of transmission capacity for predefined connections and for those connections it guarantees loss free transport with low delay and jitter. When predefined connections do not use their allocated resources, other non-reserved data packets can use them without affecting the performance of the predefined connections.
Under the aforementioned prior art methods for providing packet switching services, switches and routers operate asynchronously. The present invention provides real-time services by synchronous methods that utilize a time reference that is common to the switches and possibly end stations comprising a wide area network. The common time reference can be realized by using UTC (Coordinated Universal Time), which is globally available via, for example, GPS (Global Positioning System -- see, for example: [Peter H. Dana, "Global Positioning System (GPS) Time Dissemination for Real-Time Applications", Real-Time Systems, 12, pp. 9-40, 1997]. By international agreement, UTC is the same all over the world. UTC is the scientific name for what is commonly called GMT (Greenwich Mean Time), the time at the 0 (root) line of longitude at Greenwich, England. In 1967, an international agreement established the length of a second as the duration of 9,192,631,770 oscillations of the cesium atom. The adoption
of the atomic second led to the coordination of clocks around the world and the establishment of UTC in 1972. The Time and Frequency Division of the National Institute of Standards and Technologies (NIST) (see http://www.boulder.nist.gov/timefreq) is responsible for coordinating UTC with the International Bureau of Weights and Measures (BIPM) in Paris.
UTC timing is readily available to individual PCs through GPS cards. For example, TrueTime, Inc. (Santa Rosa, California) offers a product under the trade name PCI-SG, which provides precise time, with zero latency, to computers that have PCI extension slots. Another way by which UTC can be provided over a network is by using the Network Time Protocol (NTP) [D. Mills, "Network Time Protocol" (version
3) IETF RFC 1305]. However, the clock accuracy of NTP is not adequate for inter- switch coordination, on which this invention is based.
In accordance with the present invention, the synchronization requirements are independent of the physical link transmission speed, while in circuit switching the synchronization becomes more and more difficult as the link speed increases. In accordance with the present invention, routing is not performed only based on timing information: routing can be based also on information contained in the header of data packets. For example, Internet routing can be done using IP addresses or using an IP tag/label when MPLS is deployed. One embodiment of the present invention utilizes an alignment feature within an input port for aligning incoming data packets to a time frame boundary prior to entry to a switching fabric. This embodiment has the additional benefit of providing for filtering non-reserved traffic from the data packet stream and routing said traffic to a separate routing controller for best effort transport. The system decodes and is responsive to control information in the non-reserved data packet header. The remainder of the traffic represents reserved traffic that is first aligned to a time frame boundary and then routed through the switch fabric on a subsequent time frame, thus preserving the synchronous operation of the system. The present invention also provides means to reintegrate the filtered non-scheduled traffic into idle portions as may coexist within the scheduled traffic streams.
One embodiment of the present invention utilizes a deferred alignment feature, which permits the alignment of incoming data packets to be deferred after preliminary routing and queuing has been performed. This embodiment trades additional storage required for a larger pluraUty of queues for reduced complexity required in the switch fabric. The switch fabric becomes simpler because it is logically divided into a first portion and a second portion, the first portion of which can be relocated upstream of (i.e., before) the alignment buffer queues. By relocating the first portion to a position before the alignment buffer queues, the first portion of the switch fabric may be
implemented as a simple data path expander to fan out the data to a large pluraUty of queues. The complexity and throughput requirements of each queue are also reduced as the functionaUty is spread out over a wider number of queues.
A novel time frame switching fabric control is provided in accordance with an alternate embodiment of the present invention, which stores a predefined sequence of switch fabric configurations, responsive to a high level controUer that coordinates multiple switching systems, and applies the stored predefined sequence of switch fabric configurations on a cycUcal basis having complex periodicity. The application of the stored predefined switch fabric configurations permits the switches of the present invention to relay data over predefined, scheduled, and/or reserved data channels without the computational overhead of computing those schedules ad infinitum within each switch. This frees the switch computation unit to operate relatively autonomously to handle transient requests for local traffic reservation requests without changing the predefined switch fabric configurations at large, wherein the switch computation unit provides for finding routes for such transient requests by determining how to utilize underused switch bandwidth (i.e., "holes" in the predefined usage). The computational requirements of determining a smaU incremental change to a switch fabric are much less than having to re-compute the entire switch fabric configuration. Further, the bookkeeping operations associated with the incremental changes are significantly less time-consuming to track than tracking the entire state of the switch fabric as it changes over time.
These and other aspects and attributes of the present invention will be discussed with reference to the following drawings and accompanying specification.
BRIEF DESCRIPTION OF THE DRAWINGS :
FIG. 1 is a schematic block diagram of one embodiment of a switch connected to a pluraUty of WDM Unks with a switch scheduler in accordance with the present invention;
FIG. 2 is a timing diagram of a common time reference (CTR) that is aligned to the coordinated universal time (UTC) standard, as utilized by the present invention, wherein the CTR is divided into a plurality of contiguous periodic super-cycles each comprised of at least one contiguous time cycle each comprised of at least one contiguous time frame, wherein the super-cycle is equal to and aligned with the UTC second; FIG. 3 is a schematic block diagram of a virtual pipe and its timing relationship with a common time reference (CTR) as in the present invention;
FIG. 4 illustrates the mapping of time frames into and out of a node on a virtual pipe of the present invention;
FTG. 5A is a schematic block diagram illustrating at least one serial transmitter and at least one serial receiver connected with a WDM link, in accordance with the present invention;
FIG. 5B is a table iUustrating a 4B/5B encoding scheme for data;
FIG. 5C is a table illustrating a 4B/5B encoding scheme for control signals;
FIG. 6A is a map of a data packet with a header, as utiUzed in accordance with the present invention;
FIG. 6B illustrates a mapping of additional details of the encoding of the data packet of FIG. 6A;
FIG. 7 illustrates a wave division multiplexing (WDM) switch that is connected to optical link with multiple wavelengths, wherein each of the wavelengths constitutes a communication channel that has a time division multiplexing (TDM) structure with time frames, time cycles and super-cycles in accordance with the present invention; FIG. 8 illustrates multi-dimensional mapping with four input variables as an example: p-in - input port #, w-in - input wavelength (color), t-in - time frame # in (within a time cycle), c-in - time cycle # in (within a super-cycle); and four output variables: p-out - output port #, w-out - output wavelength (color), t-out - time frame # out (within a time cycle), c-out - time cycle # out (within a super-cycle) in accordance with the present invention;
FIG. 9 illustrates an example of mapping time frames, received over the same wavelength received through multiple input ports, to one wavelength (channels) on the same output port, in accordance with the present invention;
FIG. 10 illustrates an example of multi-dimensional mapping for all time-driven optical switching with no wavelength conversion, the optical switching being responsive to the common time reference in accordance with the present invention;
FIG. 11 A is a schematic diagram of an all optical switch with at least one optical switching fabric, which switches a plurality of optical wavelengths, wherein the optical switching matrix (as in FIG. 10, for example) changes every time frame; FIG. 1 IB is a timing diagram of the all optical switch operation with two phases: one in which the actual switching is performed and the other in which the current switching matrix is being replaced by a new switching matrix;
FIG. 12 iUustrates an example of pipeline forwarding of time frames, in accordance with the present invention; FIG. 13A is a functional description of a switch with 16 ports - each with 16- wavelength division multiplexing optical channels, such that it is possible to transfer: From (any time frame (TF) of any Channel at any Input) To (a predefined time frame (TF) of any Channel at any Output);
FIG. 13B is a timing diagram of a switching operation that is responsive to the common time reference 002 with two pipeline forwarding phases;
FIG. 14 is a functional block diagram illustrating a wavelength division multiplexing input port with a pluraUty of serial receivers, serial-to-paraUel conversion and a plurality of aUgnment subsystems;
FIG. 15 is a functional block diagram of the alignment subsystem that operates responsive to CTR and the serial link relative timing;
FIG. 16 is a timing diagram of the aUgnment subsystem operation responsive to CTR and the serial link relative timing; FIG. 17 is a block diagram and schematic of the structure of a switch and a fabric controller with memory for a plurality of switching matrices;
FIG. 18 is iUustrates a wavelength division multiplexing output port;
FIG. 19 is a functional block diagram of a wavelength division multiplexing input port with data packet filters for detecting non-scheduled data packets, which are forwarded to a routing module;
FIG. 20 is a block diagram of a routing module;
FIG. 21 is a block diagram of a data packet filter connected to an alignment subsystem that is connected to a switch fabric and a fabric controller;
FIG. 22 is a block diagram of a switch design with a 16-to-256 expander, wherein the expander output lines are connected to alignment subsystems;
FIG. 23 is a more detailed description of the 16-to-256 expander of FIG. 22;
FIG. 24 is a functional block diagram of the connection from the alignment subsystems to an output port via a plurality of selectors;
FIG. 25 is a functional block diagram of an SVP interface with per time frame queues;
FIG. 26A is a functional block diagram of an SVP interface with per SVP queues;
FIG. 26B is a functional block diagram of multiple SVP interfaces to a multiprotocol time driven SVP switch; FIG. 27 is a system block diagram of a network with a plurality of multiprotocol time driven SVP switches that are connected to SVP interfaces and other vendors' optical cross connects (OXCs), showing channels, interfaces, and so forth;
FIG. 28 is a high level diagram of communications layering and a description of a two layer system, wherein the low/inside layer is dense wavelength division multiplexing (DWDM) and the outer layer is IP/MPLS;
FIG. 29 is a diagram of an 8-by-8 multi-stage interconnection switch that is constructed of 2-by-2 switching elements;
FIG. 30A is a comparison table of a multi-stage interconnection switch with a
crossbar switch; and
FIG. 30B is a block diagram of a 256-by-256 multi-stage interconnection switch that is constructed of 4-by-4 switching elements.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT:
While this invention is susceptible of embodiment in many different forms, there is shown in the drawing, and wiU be described herein in detail, specific embodiments thereof with the understanding that the present disclosure is to be considered as an exempUfication of the principles of the invention and is not intended to limit the invention to the specific embodiments illustrated.
The present invention relates to a system and method for switching and forwarding data packets over a packet switching network with optical WDM (wavelength division multiplexing) Unks. The switches of the network maintain a common time reference (CTR), which is obtained either from an external source (such as GPS ~ Global Positioning System) or is generated and distributed internaUy. The common time reference is used to define time intervals, which include super-cycles, time cycles, time frames, time slots, and other kinds of time intervals. The time intervals are arranged both in simple periodicity and complex periodicity (like seconds and minutes of a clock). A packet that arrives to an input port of a switch, is switched to an output port based on either specific routing information in the packet's header (e.g., IPv4 destination address in the Internet, VCI/VPI labels in ATM, MPLS-multi-protocol label switching-labels) or arrival time information. Each switch along a route from a source to a destination forwards packets in periodic time intervals that are predefined using the common time reference.
A time interval duration can be longer than the time duration required for communicating a data packet, in which case the exact position of a data packet in the time interval is not predetermined. A data packet is defined to be located within the time interval which contains the communication of the first bit of the packet, even if the length of the packet is sufficiently long to require multiple time intervals to communicate the entire data packet.
Data packets that are forwarded inside the network over the same route and in the same periodic time intervals constitute a virtual pipe and share the same pipe-ID or PID. A pipe-ID or PID can be either explicit, such as a tag or a label that is generated inside the network, or implicit such as a group of IP addresses or the combination of fields in the data packet header. A virtual pipe can be used to transport data packets from multiple sources and to multiple destinations. The time interval in which a switch forwards a specific packet is determined by the time it reaches the switch, the current
- l i vable of the common time reference, and possibly the packet's pipe-ID.
A virtual pipe can provide deterministic quatity of service guarantees. In accordance with the present invention, congestion-free packet switching is provided for pipe-IDs in which capacity in their corresponding forwarding Unks and time intervals is reserved in advance. Furthermore, packets that are transferred over a virtual pipe reach their destination in predefined time intervals, which guarantees that the delay jitter is smaller than or equal to one time interval.
Packets that are forwarded from one source to multiple destinations share the same pipe-ID and the links and time intervals on which they are forwarded comprise a virtual tree. This facilitates congestion-free forwarding from one input port to multiple output ports, and consequently, from one source to a multiplicity of destinations. Packets that are destined to multiple destinations reach all of their destinations in predefined time intervals and with delay jitter that is no larger than one time interval.
A system is provided for managing data transfer of data packets from a source to a destination. The transfer of the data packets is provided during a predefined time interval, comprised of a plurality of predefined time frames. The system is further comprised of a pluraUty of switches. A virtual pipe is comprised of at least two of the switches interconnected via communication links in a path. A common time reference signal is coupled to each of the switches, and a time assignment controller assigns selected predefined time frames for transfer into and out from each of the respective switches responsive to the common time reference signal. Each communications tink may use a different time frame duration generated from the common time reference signal.
For each switch, there is a first predefined time frame and a first predefined wavelength within which a respective data packet is transferred into the respective switch, and a second predefined time frame and a second predefined wavelength within which the respective data packet is forwarded out of the respective switch, wherein the first and second predefined time frames may have different durations. The time assignment provides consistent fixed time intervals between the input to and output from the virtual pipe.
In a preferred embodiment, there is a predefined subset of the predefined time frames during which the data packets are transferred in the switch, and for each of the respective switches, there are a predefined subset of the predefined time frames during which the data packets are transferred out of the switch. Each of the switches is comprised of one or a plurality of uniquely addressable input and output ports. A routing controller maps each of the data packets that arrives at each one of the input ports of the respective switch to a respective one or more of the output ports of the respective switch. Furthermore, each input port and each output port
is comprised of one or a plurality of uniquely addressable optical WDM (wavelength division multiplexing) channels.
For each of the data packets, there is an associated time of arrival to a respective one of the input ports. The time of arrival is associated with a particular one of the predefined time frames. For each of the mappings by the routing controUer, there is an associated mapping by a scheduUng controller, which maps each of the data packets between the time of arrival and forwarding time out. The forwarding time out is associated with a specified predefined time frame.
In the preferred embodiment, there are a plurality of the virtual pipes comprised of at least one of the switches interconnected via communication links in a path. The communication link is a connection between two adjacent switches; and each of the communications links can be used simultaneously by at least two of the virtual pipes. Multiple data packets can be transferred utilizing at least two of the virtual pipes.
In one embodiment of the present invention, there is a fixed time difference, between the time frames for the associated time of arrival and forwarding time out for each of the data packets. A predefined interval is comprised of a fixed number of contiguous time frames comprising a time cycle. Data packets that are forwarded over a given virtual pipe are forwarded from an output port within a predefined subset of time frames in each time cycle. Furthermore, the number of data packets that can be forwarded in each of the predefined subset of time frames for a given virtual pipe is also predefined.
The time frames associated with a particular one of the switches within the virtual pipe are associated with the same switch for all the time cycles, and are also associated with one of input into or output from the particular respective switch. In one embodiment of the present invention, there is a constant fixed time between the input into and output from a respective one of the switches for each of the time frames within each of the time cycles. A fixed number of contiguous time cycles comprise a super-cycle, which is periodic. Data packets that are forwarded over a given virtual pipe are forwarded from an output port within a predefined subset of time frames in each super-cycle. Furthermore, the number of data packets that can be forwarded in each of the predefined subset of time frames within a super-cycle for a given virtual pipe is also predefined.
In the preferred embodiment, the common time reference signal is devised from the GPS (Global Positioning System), and is in accordance with the UTC (Coordinated Universal Time) standard. The UTC time signal does not have to be received directly from GPS. Such signal can be received by using various means, as long as the delay or time uncertainty associated with that UTC time signal docs not exceed half a time frame.
In one embodiment, the super-cycle duration is equal to one second as measured
using the UTC (Coordinated Universal Time) standard. In an alternate embodiment the super-cycle duration spans multiple UTC seconds. In another alternate embodiment the super-cycle duration is a fraction of a UTC second. In a preferred embodiment, the super-cycle duration is a small integer number of UTC seconds. Data packets can be Internet Protocol (IP) data packets, multi-protocol label switching (MPLS) data packets, Frame Relay frames, fiber channel data units, or asynchronous transfer mode (ATM) ceUs, and can be forwarded over the same virtual pipe having an associated pipe identification (PID). The PID can be expUcitiy contained in a field of the packet header, or implicitly given by an Internet protocol (IP) address, Internet protocol group multicast address, a combination of values in the IP and/or transport control protocol (TCP) and/or user datagram protocol (UDP) header and/or payload, an MPLS label, an asynchronous transfer mode (ATM) virtual circuit identifier (VCI), and a virtual path identifier (VPI), or used in combination as VCI/VPI.
The routing controller determines two possible associations of an incoming data packet: (i) the output port, and (ii) the time of arrival (ToA). The ToA is then used by the scheduUng controller for determining when a data packet should be forwarded by the select buffer controller to the next switch in the virtual pipe. The routing controller utilizes at least one of Pipe-ID, Internet protocol version 4 (IPv4), Internet protocol version 6 (IPv6) addresses, Internet protocol group multicast address, Internet MPLS (multi protocol label swapping or tag switching) labels, ATM virtual circuit identifier and virtual path identifier (VCI/VPI), and IEEE 802 MAC (media access control) addresses, for mapping from an input port to an output port. The mapping from an input port to an output port can also be determined, solely or in conjunction with the foregoing information, according to the ToA of the data packet. Each of the data packets is comprised of a header, which can include an associated time stamp. For each of the mappings by the routing controller, there is an associated mapping by the scheduling controUer, of each of the data packets between the respective associated time stamp and an associated forwarding time, which is associated with one of the predefined time frames. The time stamp can record the time at which a packet was created by its application.
In one embodiment, the time stamp is generated by the Internet real-time protocol (RTP) entity within a predefined one of the sources or switches. The time stamp can be used by a scheduling controUer in order to determine the forwarding time of a data packet from an output port. Each of the data packets originates from a source or an end station, and the time stamp is generated at the respective end station for inclusion in the respective originated data packet. Such generation of a time stamp can be derived from UTC either by receiving it directly from GPS or by using the Internet's Network Time Protocol (NTP).
The time stamp can alternatively be generated at the sub-network boundary, which is the point at which the data enters the synchronous virtual pipe.
In accordance with one aspect of the present invention, a system is provided for transferring data (packets) across a data network whUe maintaining for reserved data traffic constant bounded jitter (or delay uncertainty) and no congestion-induced loss of data (packets). Such properties are essential for many multimedia applications, such as, telephony and video teleconferencing.
In accordance with one aspect of an iUustrated implementation of the present invention, one or a plurality of virtual pipes 25 are provided, as shown in FIG. 3, over a data network with general topology. Such data network can span the globe. Each virtual pipe 25 is constructed over one or more switches 10, shown in FIG. 3, which are interconnected via communication links 41 in a path.
FIG. 3 is a schematic illustration of a virtual pipe and its timing relationship with a common time reference (CTR), wherein delay is determined by the number of time frames between the forward time out at Node A and the forward time out at Node D.
Each virtual pipe 25 is constructed over one or more switches 10 which are interconnected via communication Unks 41 in a path.
FIG. 3 illustrates a virtual pipe 25 from the output port 40 of switch A, through switches B and C. The illustrated virtual pipe ends at the output port 40 of node D. The virtual pipe 25 transfers data packets from at least one source to at least one destination.
The data packet transfers over the virtual pipe 25 via switches 10 are designed to occur during a pluraUty of predefined time intervals, wherein each of the predefined time intervals is comprised of a plurality of predefined time frames. The timely transfers of data packets are achieved by coupling a common time reference signal (not shown) to each of the switches 10.
An output port 40 is connected to a next input port 30 via a communication link 41, as shown in FIG. 3. The communication link can be realized using various technologies compatible with the present invention including fiber optic conduits with WDM (wavelength division multiplexing) channels, copper and other wired conductors, and wireless communication Unks — including but not limited to, for example, radio frequency (RF) between two ground stations, a ground station and a satellite, and between two satellites orbiting the earth, microwave links, infrared (TR) links, optical communications lasers. The communication link does not have to be a serial communication link. A paraUel communication link can be used ~ such a parallel Unk can simultaneously carry multiple data bits, associated clock signals, and associated control signals.
FIG. 1 is a schematic block diagram of one embodiment of a time driven SVP switch with a switch scheduler in accordance with the present invention. The SVP
switch 10 comprises a common time reference means 20, at least one input port 30, at least one output port 40, a switching fabric 50 with a fabric controller 52, and a switch scheduler 60. In the preferred embodiment, the common time reference means 20 is a GPS receiver which receives a source of common time reference 001 (e.g., UTC via GPS) via an antenna as iUustrated. The common time reference means 20 provides a common time reference signal 002 to all input ports 30, all output ports 40, and the switch scheduler 60. GPS time receivers are avaUable from a variety of manufacturers, such as, TrueTime, Inc. (Santa Rosa, CA). With such equipment, it is possible to maintain a local clock with accuracy of ±1 microsecond from the UTC (Coordinated Universal Time) standard everywhere around the globe.
Each respective one of the input ports 30 is coupled to the switch scheduler 60 and to the switching fabric 50 with a fabric controller 52. Each respective one of the output ports 40 is coupled to the switch scheduler 60 and to the switching fabric 50. The fabric controller 52 is additionally coupled to the switch scheduler 60. The switch scheduler 60 supplies a slot clock signal 65 to each respective one of the input ports 30 and each respective one of the output ports 40. The slot clock is an indication of time slots within a single time frame. The switch scheduler 60 also suppUes input schedule messages 62 and input reject messages 63 to each respective one of the input ports 30. Each respective one of the input ports 30 supplies input request messages 61 to the switch scheduler 60. The switch scheduler 60 also supplies a fabric schedule 64 to the fabric controller 52.
The switch scheduler 60 is constructed of a central processing unit (CPU), a random access memory (RAM) for storing messages, schedules, parameters, and responses, a read only memory (ROM) for storing the switch scheduler processing program and a table with operation parameters.
FIG. 2 is an illustration of a common time reference (CTR) that is aligned to UTC. Consecutive time frames are grouped into time cycles. As shown in the example Ulustrated in FIG. 2, there are 100 time frames in each time cycle. For illustration purposes, the time frames within a time cycle are numbered 1 through 100. Consecutive time cycles are grouped together into super-cycles, and as shown in
FIG. 2, there are 80 time cycles in each super-cycle. For Ulustration purposes, time cycles within a super-cycle are numbered 0 through 79. Super-cycles 0 and m are shown in FIG. 2.
FIG. 2 is illustrative of the relationship of time frames, time cycles, and super- cycles; in alternate embodiments, the number of time frames within a time cycle may be different than 100, and the number of time cycles within a super-cycle may be different than 80.
FIG. 2 iUustrates how the common time reference signal can be atigned with the
UTC (Coordinated Universal Time) standard. In this illustrated example, the duration of every super-cycle is exactly one second as measured by the UTC standard. Moreover, as shown in FIG. 2, the beginning of each super-cycle coincides with the beginning of a UTC second. Consequently, when leap seconds are inserted or deleted for UTC corrections (due to changes in the earth rotation period), the cycle and super-cycle periodic scheduUng will not be affected. The time frames, time cycles, and super-cycles are associated in the same manner with aU respective switches within the virtual pipe at all times.
In the embodiment illustrated in FIG. 2, the super-cycle duration is equal to one second as measured using the UTC (Coordinated Universal Time) standard. In an alternate embodiment the super-cycle duration spans multiple UTC seconds. In another alternate embodiment the super-cycle duration is a fraction of a UTC second. In another embodiment, the super-cycle duration is a smaU integer number of UTC seconds. A time frame may be further divided into time slots in the preferred embodiment, not iUustrated in FIG. 2.
Pipeline forwarding relates to data packets being forwarded across a virtual pipe 25 (see FIG. 3) with a predefined delay in every stage (either across a communication link 41 or across an SVP switch 10 from input port 30 to output port 40). Data packets enter a virtual pipe 25 from one or more sources and are forwarded to one or more destinations. The SVP switch 10 structure, as shown in FIG. 3, can also be referred to as a pipeline switch, since it enables a network comprised of such switches to operate as a large distributed pipeline architecture, as it is commonly found inside digital systems and computer architectures.
Referring again to FIG. 3, the timely pipeline forwarding of data packets over the virtual pipe 25 is Ulustrated. As shown in FIG. 3, time cycles each contain 10 time frames, and for clarity the super-cycles are not shown. A data packet is received by one of the input ports 30 of switch A at time frame 1, and is forwarded along this virtual pipe 25 in the following manner: (i) the data packet 41A is forwarded from the output port 40 of switch A at time frame 2 of time cycle 1, (ii) the data packet 41B is forwarded from the output port 40 of switch B, after 18 time frames, at time frame 10 of time cycle 2, (iii) the data packet 41C is forwarded from the output port 40 of switch C, after 42 time frames, at time frame 2 of time cycle 7, and (iv) the data packet 41D is forwarded from the output port 40 of switch D, after 19 time frames, at time frame 1 of time cycle 9. As illustrated in FIG. 3, • AU data packets enter this virtual pipe 25 (i.e., are forwarded out of the output port 40 of switch A) periodically at the second time frame of a time cycle and are output from this virtual pipe 25 (i.e., are forwarded out of the output port 40 of switch D) after 79 time frames.
• The data packets that enter the virtual pipe 25 (i.e., are forwarded out of the output port 40 of switch A) can come from one or more sources and can reach switch A over one or more input links 41.
• The data packets that exit the virtual pipe 25 (i.e., forwarded out of the output port 40 of switch D) can be forwarded over plurality of output Unks 41 to one of plurality of destinations.
• The data packets that exit the virtual pipe 25 (i.e., forwarded out of the output port 40 of switch D) can be forwarded simultaneously to multiple destinations, (i.e., multi-cast (one-to-many) data packet forwarding). • The communication link 41 between two adjacent ones of the switches 10 can be used simultaneously by at least two of the virtual pipes.
• A plurality of virtual pipes can multiplex (i.e., mix their traffic) over the same communication links.
• A pluraUty of virtual pipes can multiplex (i.e., mix their traffic) during the same time frames and in an arbitrary manner.
• The same time frame can be used by multiple data packets from one or more virtual pipes.
For each virtual pipe there are predefined time frames within which respective data packets are transferred into its respective switches, and separate predefined time frames within which the respective data packets are transferred out of its respective switches. Though the time frames of each virtual pipe on each of its switches can be assigned in an arbitrary manner along the common time reference, it is convenient and practical to assign time frames in a periodic manner in time cycles and super-cycles. The SVP switch 10 structure, as shown in FIG. 3, can also be referred to as a pipeline switch, since it enables a network comprised of such switches to operate as a large distributed pipeline architecture, as it is commonly found inside digital systems and computer architectures.
FIG. 4 iUustrates the mapping of the time frames into and out of a node on a virtual pipe, wherein the mapping repeats itself in every time cycle illustrating the time in, which is the time of arrival (ToA), versus the time out, which is the forwarding time out of the output port. FIG. 4 shows the periodic scheduling and forwarding timing of a switch of a virtual pipe wherein there are a predefined subset of time frames (/, 75, and 80) of every time cycle, during which data packets are transferred into that switch, and wherein for that virtual pipe there are a predefined subset of time frames (i+3, 1, and 3) of every time cycle, during which the data packets are transferred out of that switch.
In the illustrated example of FIG.4, a first data packet 5a arriving at the input port of the switch at time frame / is forwarded out of the output port of the switch at time frame +3. In this example, the data packet is forwarded out of the output port at a later time frame
within the same time cycle in which it arrived. The delay in transiting the switch (dts) determines a lower bound on the value ( +dts). In the illustrated example, dts must be less than or equal to 3 time frames.
Also as shown in FIG. 4, a second data packet 5b arriving at the input port of the switch at time frame 75 is forwarded out of the output port of the switch at time frame 1 within the next time cycle. In this example the data packet is forwarded out of the output port at a earher numbered time frame but within the next time cycle from which it arrived. Note that data packets in transit may cross time cycle boundaries.
If, for example, each of the three data packets has 125 bytes (i.e. 1000 bits), and there are 80 time frames of 125 microseconds in each time cycle (i.e. a time cycle duration of 10 milliseconds), then the bandwidth aUocated to this virtual pipe is 300,000 bits per second. In general, the bandwidth or capacity allocated for a virtual pipe is computed by dividing the number of bits transferred during each of the time cycles by the time cycle duration. In the case of a bandwidth in a super-cycle, the bandwidth allocated to a virtual pipe is computed by dividing the number of bits transferred during each of the super-cycles by the super-cycle duration.
FIG. 5A is an illustration of a serial transmitter and a serial receiver. FIG. 5B is a table illustrating the 4B/5B encoding scheme for data, and FIG. 5C is a table Ulustrating the 4B/5B encoding scheme for control signals. Referring to FIG. 5A, a serial transmitter 49 and serial receiver 31 are illustrated as coupled to each tink 41. A variety of encoding schemes can be used for a serial line tink 41 in the context of this invention, such as, SONET/SDH, 8B/10B Fiber Channel, and 4B/5B Fiber Distributed Data Interface (FDDI). In addition to the encoding and decoding of the data transmitted over the serial link, the serial transmitter/receiver (49 and 31) sends/receives control words for a variety of in-band control purposes, mostly unrelated to the present invention description.
However, two control words, time frame dehmiter (TFD) and position delimiter (PD) are used in accordance with the present invention. The TFD marks the boundary between two successive time frames and is sent by a serial transmitter 49 when a CTR 002 clock tick occurs in a way that is described hereafter as part of the output port operation. The PD is used to distinguish between multiple positions within a time frame and is sent by a serial transmitter 49 upon receipt of a position delimiter input 47B.
It is necessary to distinguish in an unambiguous manner between the data words, which carry the information, and the control signal or words (e.g., the TFD is a control signal) over the serial tink 41. There are many ways to do this. One way is to use the known 4B/5B encoding scheme (used in FDDI). In this scheme, every 8-bit character is divided into two 4-bit parts and then each part is encoded into a 5-bit codeword that is transmitted over the serial tink 41.
In a preferred embodiment, the serial transmitter 49 and receiver 31 are comprised of AM7968 and AM7969 chip sets, respectively, both manufactured by AND Corporation.
FIG. 5B Ulustrates an encoding table from 4-bit data to 5-bit serial codeword. The 4B/5B is a redundant encoding scheme, which means that there are more codeword than data words. Consequently, some of the unused or redundant serial codeword can be used to convey control information.
FIG. 5C is a table with 15 possible encoded control codewords, which can be used for transferring the time frame delimiter (TFD) over a serial Unk. The TFD transfer is completely transparent to the data transfer, and therefore, it can be sent in the middle of the data packet transmission in a non-destructive manner.
When the communication Unks 41 are SONET/SDH, the time frame detimiter cannot be embedded as redundant serial codeword, since SONET/SDH serial encoding is based on scrambling with no redundancy. Consequently, the TFD is implemented using the SONET/SDH frame control fields: transport overhead (TOH) and path overhead (POH). Note that although SONET/SDH uses a 125 microseconds frame, it cannot be used directly in accordance with the present invention, at the moment, since SONET/SDH frames are not globally aligned and are also not aligned to UTC. However, if SONET/SDH frames are globally aligned, SONET/SDH can be used compatibly with the present invention.
FIG. 6A is an Ulustration of a data packet structure with a header that includes a time stamp, two priority bits, a multi-cast bit, and an attached time of arrival (ToA), port number, and Unk type. As shown in FIG. 6A, the packet header together with the attached time of arrival (ToA), port number, and Unk type constitute a scheduUng header. The scheduling header is used for scheduling the data packet switching from input to output. FIG. 6B is additional detail about the encoding of the priority and multi-cast bits of FIG. 6A.
In one embodiment, an incoming data packet consists of a header and a payload portion. The header includes, as shown in FIGS. 6 A and 6B, a time stamp value 35TS, a multi-cast indication 35M, a priority indication 35P, and a virtual PID indication 35C.
The priority indication 35P may include encoding of a high and a low priority. In an alternate embodiment, multiple levels of priority are encoded by priority indication 35P. In a preferred embodiment, the multiple levels of priority include Constant Bit Rate (CBR) priority, Variable Bit Rate (VBR) priority, "best-effort" (BE) priority, and Rescheduled priority. The multi-cast indication 35M may include encoding indicating one destination or a plurality of destinations. In the case of a plurality of destinations there can be one or more PIDs.
The data packet header in FIG. 6A further comprises of a 2-bit, L1/L2, field 35L,
which provides information regarding this data packet location within a stream of data packets that are part of the same SVP or the same call connection. As shown in FIG. 6B, the meaning of this field is as follows: Ll/L2=00 - first data packet location in the flow (SVP) - compute a schedule; Ll/L2=01 - middle data packet location in the flow - same as the previous schedule; Ll/L2=10 - last data packet location in the flow (SVP) - same as the previous schedule; Ll/L2=l 1 - decode this data packet address and schedule it regardless of its location.
The main motivation for having the L1/L2 bits in field 35L is for minimizing the scheduling delay. A data packet in the middle of a flow of the same SVP/call/connection will use the same schedule to get across the switching fabric as a predecessor data packet in this flow. This implies that only decoding of the PID 35C is needed in order to determine to which output port the incoming data packet should be switched to.
The ToA 35T and time stamp 35TS can have a plurality of numerical formats. One example is the format of the Network Time Protocol [D. MiUs, Network Time Protocol (version 3) IETF RFC 1305] which is in seconds relative to Oh UTC on 1
January 1900. The full resolution NTP timestamp is a 64- bit unsigned fixed point number with the integer part in the first 32 bits and the fractional part in the last 32 bits. In some fields where a more compact representation is appropriate, only the middle 32 bits are used; that is, the low 16 bits of the integer part and the high 16 bits of the fractional part. The high 16 bits of the integer part must be determined independently.
The incoming data packet can have various formats, such as but not limited to Internet protocol version 4 (IPv4), Internet protocol version 6 (IPv6), and asynchronous transfer mode (ATM) cells. The data packet's PID 35C can be determined by but is not timited to one of the following: an Internet protocol (IP) address, an asynchronous transfer mode (ATM), virtual circuit identifier, a virtual path identifier (VCI/VPI),
Internet protocol version 6 (IPv6) addresses, Internet Multi Protocol Label Swapping (MPLS) or tag switching labels, and an IEEE 802 MAC (media access control) address. In the following the configuration in which the communication link has multiple wavelength channels or wavelength division multiplexing (WDM) is specified. This configuration is caUed WDM-switching. Many aspects of WDM-switching remain the same as was specified before, and therefore, wiU not be specified again.
As shown in FIGS. 1 and 7, the input ports and output ports of a switch are connected to a plurality of wavelength channels. FIG. 7 depicts two channels: G or green channel that is connected to 41-1, and R or red channel that is connected to 41-k. The time over each channel is partitioned in accordance to the common time reference
(CTR) - as iUustrated in FIG. 2. Time frames are grouped into time cycles (in FIG. 7, time frames G1-G4 are grouped into a time cycle, and time frames R1-R4 are grouped into a time cycle on another channel), and time cycles are grouped into super-cycles,
wherein a super-cycle can be aligned with UTC (Coordinated Universal Time), which is globaUy avaUable via, for example, GPS (Global Positioning System). In practical environments the super-cycle duration is equal to one second as measured using the UTC (Coordinated Universal Time) standard. In an alternate embodiment the super- cycle duration spans multiple UTC seconds or is a fraction of one UTC second.
Note that in a different embodiment the time frame duration and time cycle duration can be different on different wavelength channels.
In WDM-switching one of the main objectives is to reduce the switching and scheduUng complexities. Several methods for doing it are specified. Method 1: Time frame switching and forwarding (FIGS. 7-9)
A novel time frame switching fabric control is provided by the present invention which stores a predefined sequence of switch fabric configurations, responsive to a high level controller that coordinates multiple switching systems, and applies the stored predefined sequence of switch fabric configurations on a cyclical basis having complex periodicity. The application of the stored predefined switch fabric configurations permits the switches of the present invention to relay data over predefined, scheduled, and/or reserved data channels without the computational overhead of computing those schedules ad infinitum within each switch. This frees the switch computation unit to operate relatively autonomously to handle transient requests for local traffic reservation requests without changing the predefined switch fabric configurations at large, wherein the switch computation unit provides for finding routes for such transient requests by determining how to utilize underused switch bandwidth (i.e., "holes" in the predefined usage). The computational requirements of determining a smaU incremental change to a switch fabric are much less than having to re-compute the entire switch fabric configuration. Further, the bookkeeping operations associated with the incremental changes are significantly less time-consuming to track than tracking the entire state of the switch fabric as it changes over time.
In this method 1, the content of the whole time frame is switched in the same way - namely, aU the data packets in the time frame are switched to the same output port. Consequently, there is no need to use time slots. FIG. 12 shows an example of time frame (TF) switching and forwarding through a sequence of the switches: Switch A, Switch B, and Switch C. According to this specific example, the content of a TF that was forwarded from Switch A at time frame 2 will reach Switch B at time frame 5, then switched to the output port at time 6, then forwarded at time frame 7 and will reach Switch C at time frame 9.
The method of time frame switching is extremely useful in reducing the switching complexity of communications systems with a very high transmission rate (e.g., OC-48, OC-192, OC-768) and/or a plurality of wavelengths (i.e., WDM channels),
as shown in FIG. 7. In this example (FIG. 7) there are two channels: G or green channel that is connected to 41-1 and R or red channel that is connected to 41-k. The time over each channel is partition in accordance to the common time reference (CTR) - as was depicted in FIG. 2. In this case time frames are grouped into time cycles (in FIG. 7, time frames G1-G4 are grouped into a time cycle, and time frames R1-R4 are grouped into a time cycle on another channel), and time cycles are grouped into super- cycles.
As shown in FIG. 4, the switching from input to output maps input time frames to output time frames in an arbitrary manner. In the example in FIG. 7, the following mapping is performed for the green channel: Gl to the position of R3, G2 to the position of G4, G3 to the position of Rl, G4 to the position of G2, and the following mapping is performed for the red channel: Rl to the position of G3, R2 to the position of R4, R3 to the position of Gl, R4 to the position of R2.
FIG. 8 depicts a general mapping format for time frame switching and forwarding over a pluraUty of WDM channels: (p-in, w-in, t-in, c-in) TO (p-out, w-out, t- switch, c-switch, t-out, c-out), wherein p-in - input port #, w-in - input wavelength (color), t-in - time frame # in (within a time cycle), c-in - time cycle # in (within a super-cycle) and p-out - output port #, w-out - output wavelength (color), t-switch - time frame # switch (within a time cycle), c-switch - time cycle # switch (within a super-cycle), t-out - time frame # out (within a time cycle), c-out - time cycle # out (within a super-cycle).
The table 2700 in FIG. 8 shows time frame switching for a given p-in (input port). The rows in table 2700 represent two WDM channels (red and green) with four time frames in every time cycles, which are corresponding to the description in FIG. 7. The columns in table 2700 represent 1 time cycles of one super-cycle. Each entry in table 2700 represents: p-out or the output port, w-out or the output wavelength, t-switch or the time frame switching time from input to output, c-switch or the cycle time switching time from input to output, t-out or the time frame out of the out put port, c-out or the time cycle out of the output port.
FIG. 9 depicts the basic WDM time frame switching property: The source of any wavelength (Wl, W2, and W3) in any time frame can come from any input port, 1
<= i,j,k,l,m,n,o,p,q <= N, of a switch with N input ports, where i,j,k,l,m,n,o,p,q are input port indices. In the example in FIG. 9 there are three optical channels (or three distinct wavelengths) Wl, W2 and W3, with the following time frame mapping: Wl from input i, Wl from input j, Wl from input k, W2 from input 1, W2 from input m, W2 from input n, W3 from input o, W3 from input p, W3 from input q. In summary, the outgoing content (i.e., data packets) in every time frame on any WDM channel can be the incoming content of any time frame on any WDM channel. The delay between the outgoing time frame and the incoming time frame is a predefined number of 1, 2, 3 and so
on time frames. TypicaUy, this input to output delay is not longer than 3-4 time frames. In the context of this invention each time frame can contain a pluraUty of format types that are scheduled and transferred wftile maintaining individual identity, wherein the possible format types are, but not limited to: a fixed size ATM ceU, a variable sized IP data packet, a frame relay data packet, a fiber channel data packet.
Method 2: optical time frame switching (FIGS. 10 and 11)
In Method 2, as in the previous method, Method 1 , the content of the whole time frame is switched in the same way - namely, aU the data packets in the time frame are switched to the same output port. Consequently, there is no need to use time slots. However, in this method, Method 2, the switching is done optically by an aU-optical time frame switch, as shown in FIGS. 10 and 11. The all optical switching is stiU being controlled by digital electronic circuitry.
The control function of the all-optical time frame switch operates by the following principle (FIG. 10): In every time frame within a time cycle and within a super-cycle, an input wavelength is switched to a selected defined subset of the out-going optical channels performing the foUowing mapping:
(p-in,w-in,t-in,c-in) TO (p-out,w-out,t-out,c-out), wherein p-in - input port #, w-in
- input wavelength (color), t-in - time frame # in (within a time cycle), and c-in - time cycle # in (within a super-cycle), are the input variables, and p-out - output port #, w-out
- output wavelength (color), t-out - time frame # out (within a time cycle), and c-out - time cycle # out (within a super-cycle), are the output variables.
The above mapping is defined by a switching matrix. The switching matrix is defined by a plurality of tables 3000 for w-in and p-in in FIG. 10. The rows in this table 3000 are for each of the 4 time frames in a time cycle and the columns are for each of the 4 time cycles in a super-cycle. In other words, the table 3000 has an entry for each time frame of a super-cycle. Each entry in the table 3000 defines p-out, w-out, t- out, and c-out.
A sequence of all optical switches operates as was shown in FIG. 12, which shows an example of time frame (TF) switching and forwarding through a sequence of the switches: Switch A, Switch B, and Switch C. According to this specific example the content of a TF that was forwarded from Switch A at time frame 2 will reach Switch B at time frame 5, then switched to the output port at time frame 6, then forwarded at time frame 7 and wiU reach Switch C at time frame 9. FIG. 11 A shows an example of an optical switch block diagram. The incoming optical WDM signal gets through an optical demultiplexer 3120, which separates the multiplexed incoming optical signal, 41-1 to 41-3, into three separate optical signals, la, lb, and lc, which are coupled with the all optical switching fabric 3100. Note that the
optical demultiplexer may consist of an optical-to-electronic conversion together with an electronic-to-optical conversion in order to restore the optical signal into its original quality. The outputs of the optical switching fabric 3100, le, If, and lg, are coupled into an optical multiplexer 3130. Note again that since the optical switching fabric 3100 may degrade the optical signals the optical multiplexer may consist of an optical-to-electronic conversion together with an electronic-to-optical conversion in order to restore the optical signal into its original quahty. The output of the optical multiplexer 3130 is coupled to the optical Unk 41-1 to 41-3.
The optical switching matrix for every time frame is extracted from the pluraUty of tables 3000 for w-in and p-in in FIG. 10. The optical transmission and switching have the foUowing temporal pattern, as defined in FIG. 1 IB, with two alternating phases: (1) t-sw - the period of time, responsive to CTR 002, in which the optical switch is switching the optical signals: la, lb, and lc to le, If, and lg, and (2) t-su - the period of time, responsive to CTR 002, in which the optical switching pattern is changed - during this period of time a new optical switching matrix is set-up. Typically, the time period of t-sw is much larger than t-su.
Method 1 and Method 2 utilize alignment of time frames as shown in FIGS. 13-18. The switch that is described in FIG. 13A operates according to the following switching principle: - From (any TF of any Channel at any Input)
- To (predefined TF of any Channel at any Output) Note that the predefined TF is either an immediate TF- next TF-or a non- immediate TF-after two, three or more TFs.
The switch in FIG. 13A has 16 input ports 3400 and 16 output ports 3800, wherein each port is connected to 16 WDM optical channels 3420. The input ports and output ports are coupled by a switching fabric 50 and the switching operation is controlled by a fabric controUer 52. The fabric controller determines the switching pattern through the switching fabric from the plurality of input optical channels 3420 to the pluraUty of output optical channels 3420. FIG. 13B presents an example of two-phase switch operation:
Phase 1 - Receiving & Alignment - in this phase the data packets are received via the optical channels, and stored in the alignment subsystem 3500 in FIG. 14 and ahgned with the CTR 002, which is discussed below.
Phase 2 - Switching & Transmitting - in this phase the content of a whole time frame is switched and then transmitted to the optical channel responsive to the CTR, which means that the transmission of the content of a time frame starts at the beginning of a time frame as determined by the CTR.
The input from the optical channel can come either from an output port 3800 of
another switch or from an SVP interface 4500 that performs synchronizer/shaper functions, which consist in mapping of asynchronous data packets into time frames. This kind of mapping is typically needed at the network ingress, as shown in FIG. 14. The alignment subsystem 3500, in FIG. 15, receives its data packet input from the l-to-16 Optical DMUX & Serial Receivers (SONET/SDH) &Serial-to-Parallel
Conversion 3410 via the 3430 connection, as shown in FIG. 14. The 3430 connection can be either a serial Unk or a paraUel bus. For each WDM optical channel (j) there is one alignment subsystem 3500. The data packets that output from the aUgnment subsystem 3500 are transferred to out-going optical channels via the switching fabric 50.
There is a plurality of selectable input ports (i) 3400 each receiving data packets over a pluraUty of incoming optical channels (j) and a plurality of output ports (k) 3800 each sending data packets over a plurality of outgoing optical channels (1). Each of the incoming optical channels (j) has a unique time reference (UTR-j), as shown in FIG. 16, that is independent of the CTR 002, also shown in FIG. 16.
The (UTR-j) is divided into SCs (super-cycles), TCs (time cycles), and TFs (time frames) of the same durations as the SCs, TCs, and TFs of the CTR used on optical channel (j), as it was shown in FIG. 2. Each of the SCs, TCs, and TFs of the (UTR-j) starts and ends at a time different than the respective start and end in time of the SCs, TCs, and TFs of the CTR. A plurality of buffer queues 3550 are part of each aUgnment subsystem 3500, wherein each of the respective buffer queues is associated, for each of the TFs, with a unique combination of one of the incoming optical channels and one of the outgoing optical channels.
Between successive SCs, TCs, and TFs of the UTR-j can be exphcit or implicit delimiters. The explicit delimiters can be realized by one of the control codewords from
FIG. 5C. There can be a different delimiter control word to signal the beginning of a new TF (i.e., a time frame delimiter - TFD), TC (i.e., a time cycle delimiter - TCD) and SC (i.e., a super-cycle delimiter - SCD). The explicit delimiter signaUng can be reaUzed by the SONET/SDH path overhead field that was design to carry control, signaling and management information. An implicit delimiter can be realized by measuring the UTR-j time with respect to the CTR.
A mapping controller within the fabric controller 52 system for logically mapping, for each of the (UTR-j) TFs, selected incoming optical channels (j) to selected buffer queues, and for logically mapping, for each of the CTR TFs, selected ones of the pluraUty of buffer queues to selected outgoing channels (1).
Each aUgnment subsystem 3500 selects which of the buffers 3550 wiU receive data packets from the optical channel (j) at every time frame as it is defined by the (UTR-j). The selection process by the alignment subsystem 3500 is responsive to the
Select-in signal 3510 received from the fabric controUer 52. The Select-in signal 3510 is fed into a l-to-3 DMUX (demultiplexer) 3520 that selects one of 3 queue buffers in 3550: TF Queue 1, TF Queue2, TF Queue3. The buffer queues in the aUgnment subsystem for each time frame can be filled with data packets in arbitrary order to an arbitrary level, prior to output.
The aUgnment subsystem 3500 comprised of a pluraUty of TF queues, wherein each of the time frame queues comprises means to determine that the respective time frame queue is empty, wherein each of the time frame queues further comprises means to determine that the respective time frame queue is not empty. The empty (and not empty) signal 3450 is provided to the fabric controller 52.
The mapping controller further provides for coupling of selected ones of the time frame queues 3550 to respective ones of the outgoing channels (1), for transfer of the respective stored data packets during the respective associated CTR time frames. This operation is performed responsive to the Select-out signal 3530, as shown in FIG. 15.
A timing diagram description of the alignment operation is provided in FIG. 16. The operation foUows this principle of operations:
TF Alignment of UTR(j) to UTC - with three input queues - principle of operation: The same queue is not used simultaneously for: 1. Receiving data packets from the serial link - responsive to Select-in signal
3510 received from the fabric controUer 52, and
2. Forwarding data packets to the switch - responsive to Select-out signal 3530 received from the fabric controller 52.
In the timing diagram example of FIG. 16 it is shown than a TF queue (TF Queue 1, TF Queue2, TF Queue3 - 3550) is not written into and read from at the same time. In other words, the Select-in signal 3510 and the Select-out signal 3530 wiU not select the same TF queue at the same time.
The alignment subsystem 3500 can have more than three TF queues 3550 - this can be used for Non-immediate forwarding method: in this method a data packet is delayed in the input port until there is an available time frame to be switched to the selected one of the outgoing optical channels (1). In this method the delay is increased, Le., more time frames may be needed to get from input to output. The non-immediate forwarding add flexibility to the scheduling process of SVPs.
In an alternative embodiment, the alignment subsystem 3500 comprises only two buffers and an optical delay Une. One buffer receives data from the corresponding input link, while data to be transferred through the switching fabric are retrieved from the other buffer. The delay line between the input link and the aUgnment subsystem ensures that the UTR of the corresponding link is aligned with the CTR. In other words, the time a
packet takes to travel from the aUgnment subsystem of the upstream time driven switch 10 to the aUgnment subsystem of the considered switch (including the propagation delay through the switching fabric, the fiber channel link connecting the two switches, and the optical delay Une) is an integer multiple of a TF. In order to achieve this the delay element adds a link delay equal to the difference between a beginning of the CTR time frame and a beginning of the UTR-j time frame.
The optical delay line can have programmable tap points possibly comprised of optical switches. The optical delay Une can be external to the switch, internal, or integrated in the optical receiver. FIG. 18 shows the output port 3800 for 16 optical channels 3420. The output port performs the Parallel- to- Serial Conversion, the SONET/SDH Transmission, and the 16-to-l Optical MUX into an optical fiber.
The output port shown in FIG. 18 has no buffers, and consequently, data packets are forwarded from the switching fabric to the network with minimum delay. FIG. 17 shows a switching fabric 50 with a fabric controller (FC) 52. The fabric controller operates in the following way:
S((i,j),(k,l),t) - is a switching matrix 3721 for every time frame in each time cycle and super-cycle, the switching matrix defines which input i,j should be connected to output k,l - in time frame t, where when S((i,j),(k,l),t)=l there is a connection, when S((i,j),(k,l),t)=0 there is no connection.
The switching matrices 3721 follow the following restrictions:
1. At every time frame an input optical channel can be connected to one or more output optical channels (multicast - MCST operation of 1 -to-many is possible)
2. At every time frame an output optical channel can be connected to at most one input optical channel
The information contained in the switching matrices 3721 is defined in a pluraUty of examples, which were presented in FIG. 8 and FIG. 10.
The fabric controller 52 is responsive to UTC 002 and provides the foUowing control signals: (1) Select-in signal 3510 and the Select-out signal 3530 to the alignment subsystem 3500, and (2) Read signals 3921 to the Routing Module 4000.
The switching fabric 50 in FIGS. 1, 13, 17 and 21, as well as the switching expander 4300 in FIGS. 22-23, can be reaUzed in many ways. A well known but complex method is a crossbar. The crossbar has a switching element between every input and every output. Consequently, the total number of switching elements required to realize the crossbar is the number of inputs (N) times the number of outputs
(M). There are many other ways to realize the switching fabric 50 and switching expander 4300 with fewer switching elements, such as, a generalized multi-stage cube network, a Clos network, a Benes network, an Omega network, a Delta network, a multi-
stage shuffle exchange network, a perfect shuffle, a Banyan network, a combination of demultiplexers and multiplexers.
FIGS. 29C- 30B are examples of multi-stage shuffle exchange networks or generaUzed-cube networks that can be used to realized the switching fabric 50 and switching expander 4300 in the context of this invention. The shuffle exchange network requires only a*N*lgaN switching elements, where N is the number on inputs and outputs, and a is the number of inputs and outputs of each switching block 4900. In FIG. -29C the switching block size is 2 (i.e., a=2), such that each switching block can be configured either as Straight Connection (FIG. 29 A) or as a Cross Connection (FIG. 29B). The number on inputs and outputs of the switching fabric 50 in FIG. 29C is 8
(i.e., N=M=8); consequently, the number of switching blocks 4900 is 12 and the number of switching elements is 48. Note that the number of switching elements in each switching block 4900 is a*a.
FIG. 30B shows a larger shuffle network with N=M=256 inputs and outputs. Each switching block has 4 inputs and 4 output, and therefore, it has 16 switching elements. The total number of switching elements in the example in FIG. 30B is 4,096, as shown in FIG. 30A. Note that a crossbar with N=M=256 requires 65,536 switching elements.
Method 3 utilizes combined time frame switching with asynchronous packet switching as shown in FIGS. 19-24.
In the following Method 3, part of the content of a time frame is routed according to time and part according to information contained in the data packet header. Data packets routed according to time have reserved transmission capacity and are forwarded according to a predefined schedule. Packets that are routed according to header information do not have reserved capacity and a predefined schedule (non- scheduled data packets or NSDPs). NSDP are forwarded during time frames presenting some spared capacity.
FIG. 19 is the functional architecture of an input port 3900. The DWDM optical channels are demultiplexed and each stream of bits converted in an equivalent parallel stream 3430 by an optical demultiplexer module 3410.
A Filter module 3910 separates data packets that are to be routed according to header information from those that are to be routed according to time information, i.e., based on the time frame in which they have been received. The Filter module 3910 sorts out packets based on information contained in their header. FIG. 6A shows a sample data packet header; the Filter 3910 sorts data packets based on the content of the priority field 35P. Other examples of information that can be used for filtering are the Differentiated Services (DS) Field in the header of an IP packet or the MPLS label of an Multi-Protocol Label Switching frame. The Filter module 3910 can operate also based
on a single bit contained in the header that differentiates NSDPs from scheduled data packets.
In an alternative embodiment of this invention, a control codeword (see FIG. 5) is inserted into the time frame for separating the non-scheduled type of service data packets from the scheduled type of service data packets. The Filter module 3910 sorts separates scheduled data packets from NSDP by using the aforementioned control codeword. For example, the Filter module 3910 could take out the data packets that are after the control codeword (or between a pair of control codewords) as non-scheduled type of service. The FUter module 3910 features 2 output lines. Scheduled packets are moved through one output line 3914 to the alignment subsystem 3500 of the channel on which they have been received. NSDPs are delivered through another output line 3911 to a Routing Module 4000.
The block diagram of the alignment subsystems 3500 is shown in FIG. 15; the purpose, the working principles, and the control signals of the alignment subsystems
3500 have been explained previously.
The Routing Module 4000 whose block diagram is depicted in FIG. 20 sorts NSDPs in 16 queues 4030, one for each output port. Packets are sorted according to the output port 3800 form which they have to be forwarded in order to reach their final destination. The output port 3800 to which a packet is directed is determined by the
Routing ControUer 4010 based on the pipe identifier (PID) 35C shown in FIG. 6A. Other examples of information on which the choice of the output port can be based include, but are not timited to, the IP destination address, the MPLS label, the MAC address. The Routing Controller 4010 devises the queue 4030 the packet should be stored in from information contained in a routing table 4020. For example, the Routing Controller 4010 can use the PID 35C as an index to the routing table 4020. The row corresponding to the PID value contains the number of the output port the packet should be forwarded from, i.e., the queue 4030 the packet should be stored in. Part of the NSDPs can be directed outside the sub-network in which the technology disclosed in this invention is deployed; the Routing Controller 4010 transmits them over the output port 3912. Analogously, NSDPs can enter the subnetwork through input 3913.
FIG. 21 shows the connections 3440/4050 between the input port 3900 and the switching fabric 50. The switching fabric 50 can connect any one of the alignment subsystem outputs 3440 and of the routing module outputs 4050 to any of the input lines 3810 of any of the output ports 3800. Thus, the switching fabric 50 has 512 inputs 3440/4050 and 256 outputs 3810.
A fabric controller 52 establishes the input/output connections through the switching fabric 50. At each time frame the fabric controller 52 connects each line 3440 from the alignment subsystems 3500 to one of the output lines 3810 according to a predefined pattern which repeats itself periodically. The period can be one time cycle, one super-cycle, or any other duration. Thus, in each time frame the content of the aUgnment system's queue 3550 (either TF Queue 1, or TF Queue2, or TF Queue3) selected by the fabric controller 52 through the select-out control signal 3530 is switched to a given output channel 3810.
In each time frame, the fabric controller 52 also determines through the select-in control signal 3510 the queue 3550 in which all the scheduled data packets received on an optical channel 3430 should be stored. The queue 3550 in which incoming packets are stored is selected according to a predefined pattern that repeats itself periodically. The period can be one time cycle, one super-cycle, or any other duration. In a subsequent time frame that one queue 3550 is going to be selected through the select- out 3530 control signal for switching to an output channel 3810. Thus, the time frame in which scheduled packets are received determines the path of such packets through the network.
The alignment subsystem 3500 uses the empty control signal 3450 to notify the fabric controller 52 when the queue 3550 selected through the select-out 3530 signal is empty. When a queue 3550 is empty, the output channel 3810 to which the queue is supposed to be connected would be idle during the corresponding (preset) time frame. Thus, the fabric controller 52 programs the switching fabric 50 to connect the idle output channel 3810 to the proper output 4050 of the Routing Module 4000. Such proper output 4050 is the one corresponding to the queue 4030 to the output port 3800 to which the idle channel 3810 belongs.
The NSDP queue 4030 that is connected to the idle channel 3810 can be in either the same input port 3900 as the empty scheduled data packet queue 3550, or another input port 3900. The fabric controller 52 knows which NSDP queues 4030 are empty thanks to the full/empty control signals 4040. The fabric controller 52 selects an NSDP queue from which NSDPs are to be retrieved through the read 3921 control signal.
In one implementation of the switch, the fabric controller 52 is centtalized; however different implementations are possible, consistent with the present invention, that distribute the fabric controller 52 functionality. The switching fabric 50 can be implemented, not excluding other ways, as a crossbar or as a multi-stage network of 2-by-2 or 4-by-4 switching elements, which has lower complexity than a crossbar.
All the control signals generated or received by the fabric controller 52 (to
control the switching fabric 50, to select the alignment system's queue 3550 for input 3510 and for output 3530, to know whether the queues are empty 3450/4040, etc.) need to be varied with a time scale comparable with the time frame duration. Moreover, all the control signals are either predetermined according to a repetitive pattern, or can be devised in advance from the state of the system during the preceding time frame. Thus, the control signals can be given in the time frame prior the one in which the components are supposed to react to them. This is beneficial when the switch is operated at very high speed and the delay introduced by the control logic and by signal propagation can be limiting. FIGS. 22, 23 and 24 show an alternative implementation of a switch that can route scheduled data packets according to time and NSDPs according to information contained in their header.
As shown in FIG. 22, the input port 4200 comprises an optical demultiplexer 3410 that separates the 16 WDM optical channels 3420 over 16 separate lines 3430 connected to a switching expander module 4300. The purpose of the switching expander module 4300 is to enable the connection of each input channel 3420 to any optical channel 3820 on any output port 4400.
A filter 3910 inserted on the outputs 3430 of the demultiplexer 3410 separates NSDPs from the scheduled data packets that are the only ones entering the switching expander module 4300. The filter 3910 (shown in FIG. 22) directs NSDPs to a
Routing Module 4000 (not shown in FIG. 22) that routes them according to information contained in the data packet header, as previously described.
Both scheduled data packets and NSDPs enter the aUgnment subsystems 4260. Scheduled data packets enter the alignment subsystems 4260 through lines 4231 from the switching expander module 4300; NSDPs enter the alignment subsystems 4260 through lines 4232 from the Routing Module 4000.
The alignment subsystem 4260 comprises a multiplicity of queues that are managed as described for the alignment subsystem 3500 shown in FIG. 15. However, the alignment subsystem 4260 handles also NSDPs (not only scheduled data packets). Upon exhaustion of the queue from which data packets are being retrieved for transmission over the line 4330 towards the corresponding output channel 3820, the alignment subsystem 4260 can transmit on line 4330 the NSDPs incoming on line 4232. The alignment subsystem 4260 could store NSDPs incoming from line 4232 in the same queues as scheduled data packets, or the alignment subsystem 4260 could comprise a separate queue for storing NSDPs, or the Routing Module 4000 could comprise such a queue.
The switch comprises a distributed Expander Controller that consists of an input part 4210 in each input port 4200 and an output part 4410 in each output port 4400.
For each time frame, the distributed Expander ControUer determines the output channel 3820 on which packets received from each input channel 3420 are being forwarded. This is achieved by (1) the input part 4210 of the Expander ControUer (la) configuring the input/output connections of the switching expander 4300 and (lb) enabUng the output 4330 of the proper aUgnment subsystem 4260, and (2) the output part 4410 controlling the selectors 4420 of each channel on every output port 4400.
At each time frame each input 3430 of the switching expander 4300 is connected with one or more (for multicast support) outputs 4231. At each time frame a subset of the alignment subsystems 4260 is enabled to transmit packets on the lines 4330 towards their correspondent output channel 3820.
At each time frame, the output part 4410 of the Expander ControUer determines from which input port 4200 packets should be retrieved for forwarding on each output channel 3820. This is achieved by the output part 4410 of the Expander Controller selecting one of the inputs 4330 of the 16 selectors 4420 contained in the output port 4400, as shown in FIG. 24. The output 3810 of the selectors 4420 are multiplexed by an Optical Multiplexer 3800 and transmitted on the outgoing fiber as separate WDM channels 3820.
The control signals generated by the input parts 4210 and the output parts 4410 of the distributed Expander ControUer change with a period comparable to the duration of the time frame. The sequence of control signals is predetermined when SVPs are set up and repeats with a period of one time cycle, or one super-cycle, or any other duration. As a consequence, no communication is required among the different parts of the distributed expander controller in order to devise the control signals they generate.
FIG. 23 shows one realization of the switching expander 4300 as a 16 by 256 crossbar. Other topologies, including but not limited to, multistage networks of 2-by-2 or 4-by-4 switching elements can be deployed in the realization of the switching expander 4300.
Method 4 provides an SVP interface to time frame switching from asynchronous packet switching as shown in FIGS. 25-28. An overall view of a WDM network that combines asynchronous IP/MPLS
(Internet protocol/multi-protocol label switching) data packet switching with time frame switching and forwarding is shown in FIG. 28. Such network has two basic layers, the inner one is the optical switching and forwarding and the outer one is the IP/MPLS access interfaces. The IP/MPLS interfaces transform the asynchronous data packet flows into Synchronous Virtual Pipe (SVP) flows.
An SVP interface module is required to forward over an SVP packets that have traveled over an asynchronous packet network. As shown in FIG. 27, the SVP interface module is required only for the input Unks connecting multi-protocol SVP time driven
switches to asynchronous packet switches; the SVP interface module is not required on links connecting multi-protocol SVP time driven switches, i.e., switches that use the technology disclosed in this invention. Moreover, as shown in FIG. 26B, the SVP interface module 4600 is required only in the inbound direction of the interface of the multi-protocol SVP time driven switch 10, not in the outbound direction.
Two alternatives for reaUzing the SVP interface module will be presented in the foUowing. FIG. 25 shows the block diagram of the SVP interface 4500 according to the first alternative. A Packet Scheduling ControUer 4510 processes asynchronous data packets arriving from an input link 4501. Based on information contained in the packet header — such as the PID field 35C (see FIG. 6), or an MPLS label, or the destination address in an IP packet, or the VCI/VPI in an ATM cell, or other header fields — the Packet Scheduling Controller 4510 identifies the SVP to which the asynchronous data packet belongs. The relevant header information is used, for example as a lookup key, to retrieve SVP schedule information from a pre-computed table 4511. Typical schedule information include, but are not limited to, the time frames in which packets belonging to each SVP should be forwarded on the link 41 towards a multi-protocol SVP time-driven switch 10.
Once processed by the Packet Scheduling Controller 4510, data packets are stored in a per time frame queuing system 4540. The per time frame queuing system 4540 comprises a multiplicity of queues 4550. Each queue is associated with one time frame. The Forwarding ControUer 4520 retrieves the packets contained in a specific queue 4550 during the time frame associated to that queue. The Packet Scheduling Controller 4510 stores an incoming packet in the queue 4550 currently associated to one of the time frames reserved for the SVP to which the packet belongs. For example, an SVP interface implementation could feature a per time frame queuing system 4540 that contains one queue for each time frame in the time cycle. For each data packet, the Packet ScheduUng Controller 4510 devises the PID 35C from the data packet header and uses it as a key to the SVP Schedules table 4511 to retrieve the pointers to the queues 4550 in which the data packet should be stored. The Packet Scheduling ControUer 4510 moves the packets to one of the selected queues 4550.
Multiple ways exist according to which the Packet Scheduling ControUer 4510 can choose the specific queue 4550 in which to store the packet. One possible implementation consists in choosing the first queue 4550 that will be served, i.e., the one associated to the next time frame to come. Each queue 4550 can be organized in 3 sub-queues: CBR (Constant Bit Rate),
VBR (Variable Bit Rate) and "Best Effort" traffic. The Packet Scheduling Controller 4510 determines the type of traffic to which incoming data packets belong based on information contained in the header, such as the PID 35C, the Differentiated Services
(DS) Field in IP packets, the VPI/VCI fields in ATM cells, or any other (combination of) header fields.
At each time frame, the Forwarding ControUer 4520 retrieves and forwards on the line 41 towards a multi-protocol SVP time-driven switch data packets stored in the queues 4550 associated to the given time frame. In the foUowing a preferred policy for data packets retrieval is presented; other poticies can be appUed.
Data packets contained in the CBR sub-queue are retrieved first, starting at the beginning of the time frame associated to the queue 4550. If the CBR sub-queue becomes empty before the end of the time frame associated to the selected queue 4550, data packets in the VBR sub-queue are retrieved and forwarded. If the VBR sub-queue becomes empty before the end of the time frame associated to the queue 4550, data packets in the "Best effort" sub-queue are retrieved and forwarded.
The sub-queues can be ordered in various ways and even logically organized in multiple sub-queues. When retrieving packets from each the queues 4550 the Forwarding Controller 4520 can apply a variety of packet scheduling algorithms, such as, FIFO, simple priority, round robin, weighted fair queuing. Also the order in which packets are retrieved from the various sub-queues (i.e., the relative priority of the sub- queues) depends on the adopted queue management policy.
AU the data packets that happen to be remaining in a queue 4550 by the end of the associated time frame are transferred to the Rescheduling Controller 4530. The
Rescheduling ControUer 4530 sorts packets in the different queues 4550 of the per time frame queuing system 4540 simUarly to the Packet Scheduling ControUer 4510. The operation of the Rescheduling Controller 4530 is based (i) on information retrieved from the SVP Schedules table 4511 (for example, using data packet header fields as access key), and/or (ϋ) on the queue in which the packets had been previously stored.
The SVP interface can have multiple lower capacity input Unes 4501 that are aggregated on the same higher speed output line 41. In other words, data packets are received from multiple input Unes 4501, sorted in the queues 4550 of the same per time frame queuing system 4540 from which the Forwarding Controller 4520 retrieves data packets for transmission on the output line 41.
The Forwarding ControUer 4520 can be comprised of a plurality of Forwarding Controllers, each one associated with at least one of the channels 41. There can be a plurality of sets of queues 4540, each set comprising at least one queue 4550, wherein each set 4540 is associated with one of the Forwarding Controllers 4520. FIG. 26 shows the block diagram of the SVP interface 4600 implemented according to the second alternative. Incoming packets are stored in a queuing system that comprises multiple queues 4610. Each queue 4610 is associated to a specific SVP 25; data packets are stored in the queue 4610 corresponding to the SVP 25 they belong
to. The SVP to which data packets belong (i.e., the identity of the queue in which they should be stored) is devised through information contained in their header, such as the PID field 35C, the destination address or the DS field in an IP packet or a combination of the two, the MPLS label, the VPI/NCI of an ATM ceU, or any other (combination of) header fields.
An SVP Forwarding Controller 4630 retrieves data packets from the queue associated to the SVP 25 for which the current time frame had been reserved. The current time frame is identified in accordance to the Common Time Reference 002. Retrieved packets are transmitted on an output line 41 towards a Multi-protocol SVP Time-driven Switch 10.
At the beginning of a new time frame the SVP Forwarding Controller 4630 possibly changes the queue 4610 from which to retrieve packets. The new queue 4610 is identified by consulting the SVP Schedules database 4640 which contains, among other information, the SVP to which each time frame had been reserved. The SVP Forwarding ControUer 4630 can retrieve packets from more than one queue 4610 and forward them on more than one output line 41. In this case the SVP Schedules database 4640 provides for each time frame, the SVP 25 for which it has been reserved on each of the output Unes 41. Thus, each time frame can be reserved for zero (not reserved) to as many SVPs 25 as the number of output lines 41. The SVP Interface 4600 can comprise a plurality of SVP Forwarding ControUer
Modules 4620 each associated with at least one of a plurality of asynchronous data streams.
From the foregoing, it will be observed that numerous variations and modifications may be effected without departing from the spirit and scope of the invention. It is to be understood that no Umitation with respect to the specific apparatus
Ulustrated herein is intended or should be inferred. It is, of course, intended to cover by the appended claims all such modifications as fall within the scope of the claims. From the foregoing, it will be observed that numerous variations and modifications may be effected without departing from the spirit and scope of the invention. It is to be understood that no Umitation with respect to the specific apparatus illustrated herein is intended or should be inferred. It is, of course, intended to cover by the appended claims all such modifications as fall within the scope of the claims.
Claims
1. A switching system having an input and an output, the switching system further comprising: a first communications switch and a second communications switch connected by at least one communications Unk, comprising at least one channel, for transmitting a pluraUty of data units from said communications Unk to the output of the switching system; a Common Time Reference (CTR); wherein each of the communications switches is further comprised of a pluraUty of input ports and a pluraUty of output ports, each of the input ports connected to and receiving data units from the communications Unk over at least one of the channels, and each of the output ports connected to and transmitting data units to the communications Unk over at least one of the channels; wherein each of the communications switches has a switch controUer, coupled to the CTR, the respective input ports, and the respective output ports; wherein each of the communications switches has a switch fabric coupled to the respective switch controUer, the respective input ports, and the respective output ports; wherein each of the switch controllers is responsive to the CTR for scheduling connections to the switch fabric from a respective one of the input ports, on a respective one of the input channels during predefined time intervals.
2. The system as in claim 1, wherein the CTR is divided into a plurality of contiguous periodic super cycles (SCs) each comprised of at least one contiguous time cycle (TC) each comprised of at least one contiguous time frame (TF); and wherein each of the switch controUers defines the coupling from each one of the respective input ports for data units received during any one of the time frames, on a respective one of the channels, for output during a predefined time frame to at least one selected one of the respective output ports on at least one selected respective one of the channels.
3. The system as in claim 2, wherein the data units that are output during a first predefined time frame on a selected respective one of the channels from the respective output port of the first communications switch are forwarded from the respective output port of the second communications switch during a second predefined time frame on a selected respective one of the channels responsive to the CTR.
4. The system as in claim 1, wherein each of the communications Unks is connected between a respective one of the output ports on the first communications switch and a respective one of the input ports on the second communications switch;
5. The system as in claim 2, wherein each of the plurality of input ports receives data units over at least one of a plurality of incoming channels (j), and wherein each of the plurality of output ports sends data units over at least one of a plurality of outgoing channels (/); and wherein each of the incoming channels (j) has a unique time reference (UTR-j) that is independent of the CTR.
6. The system as in claim 5, wherein the (UTR-j) is divided into super cycles, time cycles, and time frames of the same durations as the super cycles, time cycles, and time frames of the CTR.
7. The system as in claim 6, further comprising: a pluraUty of buffer queues, wherein each of the respective buffer queues is associated, for each of the time frames, with a combination of one of the incoming channels and one of the outgoing channels; and a mapping controller within the switch controller system for logically mapping, for each of the (UTR-j) time frames, selected incoming channels j) to selected buffer queues, and for logically mapping, for each of the CTR time frames, selected ones of the plurality of buffer queues to selected outgoing channels (0 through the switch fabric; wherein the mapping controller further provides for coupling of selected ones of the time frame queues to respective ones of the outgoing channels (/), for transfer of the respective stored data units during the respective associated CTR time frames.
8. The system as in claim 7, wherein each of the buffer queues is further comprised of an alignment subsystem comprised of a plurality of time frame queues, wherein each of the time frame queues comprises means to determine that the respective time frame queue is empty, wherein each of the time frame queues further comprises means to determine that the respective time frame queue is not empty; wherein the data units that arrive via the incoming channel (/') are stored in the respective (UTR-j) time frame queue of the alignment subsystem responsive to the mapping controller.
9. The system as in claim 8, wherein the alignment subsystem, responsive to the mapping controller, transfers all of the data units associated with a respective first time frame as defined by the UTR-j into an empty first time frame queue from incoming channel j), during the respective selected first time frame of the time frames (TFs) as defined by UTR-j, wherein the respective time frame queue is designated as not empty; and wherein the alignment subsystem, responsive to the mapping controUer, transfers data units out of a not empty second time frame queue to outgoing channel (/), during a selected one of the time frames (TFs) as defined by CTR, wherein the second time frame queue is designated as empty.
10. The system as in claim 9, wherein the first time frame queue and the second time frame queue are mutuaUy exclusive at aU times;
11. The system as in claim 10, wherein the buffer queues are comprised of at least three time frame queues.
12. The system as in claim 6, wherein the communications link is an optical Unk with a pluraUty of optical channels, the system further comprising: means for adding a delay element to a selected one of the input ports.
13. The system as in claim 12, wherein the delay element provides for phase aUgning the UTR-j with the CTR by adding a link delay equal to the difference between a beginning of the respective CTR time frame and a beginning of the respective UTR-j time frame.
14. The system as in claim 12, wherein the delay element provides phase aUgnment of a start of a respective one of the CTR time cycles relative to a start of a respective one of the UTR-j time cycles.
15. The system as in claim 12, wherein the delay element provides phase aUgnment of a defined point in a respective one of the CTR time cycles to a defined point in a respective one of the UTR-j time cycles.
16. The system as in claim 12, wherein the delay element is further comprised of a passive optical fiber.
17. The system as in claim 12, wherein the delay element is further comprised of an optical fiber having programmable tap points.
18. The system as in claim 17, wherein the programmable tap points are further comprised of optical switches.
19. The system as in claim 12, wherein each of the input ports is further comprised of an optical receiver, wherein the delay element is a part of the optical receiver.
20. The system as in claim 1, wherein the switch fabric is at least one of the following: a crossbar, a generaUzed multi-stage cube network, a Clos network, a Benes network, an Omega network, a Delta network, a multi-stage shuffle exchange network, a Banyan network, a combination of demultiplexers and multiplexers, a passive optical star, a plurality of passive optical stars, a pluraUty of tunable lasers, a plurality of tunable lasers connected to at least one passive optical star, a pluraUty of optical tunable receivers connected to at least one passive optical star, and an optical switch.
21. The system as in claim 1, wherein there are a pluraUty of the first communication switches; wherein there are a plurality of the communications Unks; where each of the communications Unks has a plurality of channels, wherein each of the channels is associated with a respective wavelength.
22. The system as in claim 21, further comprising means for coupling a first predefined subset of the channels for each respective one of the communications links from the respective communications Unk to a second defined one of the communications links.
23. The system as in claim 22, wherein the respective communications Unk is the same as the second defined one of the communications links.
24. The system as in claim 22, wherein the means for coupling is an optical switch.
25. The system as in claim 24, wherein the optical switch demultiplexes the first predefined subset of the respective channels into a predefined respective second predefined subset of the respective channels.
26. The system as in claim 2, wherein the data units transferred during each time frame are at least one of the foUowing format types: a fixed size ATM cell, a variable sized IP data packet, a variable sized Ethernet data packet, variable sized MPLS data packet, a frame relay data packet, a fiber channel data packet, a SONET frame, an STS-1 SONET frame, an STS-3 SONET frame, an STS-12 SONET frame, and an STS-48
SONET frame.
27. The system as in claim 26, wherein during each of the time frames more than one of the format types is transferred.
28. The system as in claim 26, wherein during each of the time frames only one of the format types is transferred.
29. The system as in claim 26, wherein during each time frame a pluraUty of the data units of a plurality of the format types is scheduled and transferred whUe maintaining individual identity of the data units.
30. The system as in claim 2, further comprising means for deriving the CTR from a Coordinated Universal Time (UTC) standard, wherein the super cycle is one of a single
UTC second, a predefined integer number of UTC seconds, and a fraction of one UTC second.
31. The system as in claim 30, further comprising means for obtaining the UTC via a Global Positioning System (GPS).
32. The system as in claim 5, wherein the switch fabric is comprised of a plurality of switching fabrics; wherein each of the switching fabrics is connected to a subset of the incoming channels (j) of each of the input ports; and is also connected to a subset of the outgoing channels (/) of each of the output ports.
33. The system as in claim 32, wherein the subset of the incoming channels j) on at least one of the input ports is an empty set.
34. The system as in claim 32, wherein the subset of the outgoing channels (I) on at least one of the output ports is an empty set.
35. The system as in claim 5, wherein the switch controUer is used for logically mapping selected incoming channels to selected outgoing channels for each of the time frames, and for storing the mapping; wherein for each of the time frames a respective logical mapping is provided for at least one selected one of the outgoing channels to be connected to at most one of the incoming channels; means to provide control signals responsive to the CTR and the logical mapping for each of the time frames within each of the time cycles and within each of the super cycles; and means for scheduling the transfer of data units, wherein during each of the time frames, each of the outgoing channels is connectable to at most one of the incoming channels, responsive to control signals.
36. The system as in claim 35, wherein the mapping controUer is further comprised of a memory organized as a plurality of defined arrays representative of a pluraUty of respective switching matrices; wherein the switch fabric connects selected ones of the incoming channels to selected ones of the outgoing channels responsive to the memory; wherein each of the switching matrices specifies which of the incoming channels is to be connected to which of the outgoing channels; and wherein a selected one switching matrix of the plurality of switching matrices is used in each of the time frames within each of the time cycles and within each of the super cycles.
37. The system as in claim 36, wherein a plurality of separate ones of the switching matrices are used in a cyclically recurring manner in at least one of: every super cycle, every time cycle.
38. The system as in claim 36, wherein the selected one switching matrix is used in a cyclically recurring manner in a subset of the time cycles within every super cycle.
39. The system as in claim 5, further comprising: a routing controUer; a filter controller for every incoming channel (j); wherein the data units are data packets; wherein the filter controUer filters out selected ones of the data packets that are non-scheduled data packets (NSDPs); wherein each NSDP comprises of a header and a payload; and wherein the NSDPs are transferred to the routing controUer.
40. The system as in claim 39, wherein the routing controUer decodes the header of the NSDP to determine the output port the NSDP is to be forwarded to.
41. The system as in claim 39, wherein the routing controUer decodes the header of the NSDP in order to determine the outgoing channel (/) the NSDP should be forward to.
42. The system as in claim 39, wherein the NSDP is at least one of a fixed size ATM (Asynchronous Transfer Mode) cell, a variable sized IP data packet, a variable sized MPLS (Multi Protocol Label Switching) data packet, a frame relay data packet, and a fiber channel data packet.
43. The system as in claim 39, wherein the filter controUer filters out NSDP based on at least one of the foUowing: a Type of Service (ToS) field in the IP data packet header, an ATM (Asynchronous Transfer Mode) cell header, a variable sized IP data packet header, a variable sized MPLS (Multi Protocol Label Switching) data packet header, a frame relay data packet header, and a fiber channel data packet header.
44. The system as in claim 44, wherein the ToS field foUows a Differentiated Services (DiffServ) protocol definition.
45. The system as in claim 39, wherein the routing controUer can process NSDP of at least one of the following: a fixed size ATM (Asynchronous Transfer Mode) cell header, a variable sized IP data packet header, a variable sized MPLS (Multi Protocol Label Switching) data packet header, a frame relay data packet header, and a fiber channel data packet header.
46. The system as in claim 1, wherein the Common Time Reference (CTR), divided into a pluraUty of contiguous periodic super cycles each comprised of at least one contiguous time cycle each comprised of at least one contiguous time frame (TF); wherein said data units are data packets; said system further comprising: means for mapping an asynchronous stream of data packets, each comprising a header portion and a payload portion, from at least one source to at least one destination; at least one synchronous virtual pipe (SVP) having a subset of predefined time frames uniquely associated therewith; at least one queue; means for analyzing the header potions of the asynchronous data packets; means for storing the analyzed data packets in respective queues responsive to the means for analyzing; a communications link coupled to the destination; and an SVP Forwarding Controller, comprising a second memory for storing SVP schedules, and for forwarding respective ones of the asynchronous data packets from respective ones of the queues to the communications Unk responsive to the respective SVP schedule and the CTR.
47. The system as in claim 46, wherein there are a pluraUty of SVPs; wherein there are a pluraUty of queues; wherein each queue is associated with a respective one of the SVPs;
48. The system as in claim 46, wherein there is a pluraUty of queues; wherein each time frame is associated with a respective one of the pluraUty of queues.
49. The system as in claim 46, wherein the data packets are forwarded out of the respective one of the queues during predefined time frames in a cycUcaUy recurring order.
50. The system as in claim 49, wherein the cyclically recurring order is at least one of a predefined number of at least one time cycle, a predefined number of at least one super cycle, and a summation of a predefined number of time frames plus a predefined number of time cycles plus a predefined number of super cycles.
51. The system as in claim 49, wherein the recurring order starts at an arbitrary point of time in the CTR.
52. The system as in claim 46, wherein the communications link is comprised of at least one of a plurality of channels; wherein the SVP Forwarding ControUer provides mapping for forwarding of the respective data packets from a respective one of the queues to a respective one of the channels during selected respective ones of the time frames, responsive to the SVP schedules and the CTR.
53. The system as in claim 52, wherein the SVP Forwarding Controller is comprised of a plurality of SVP forwarding controUers.
54. The system as in claim 53, wherein each of the pluraUty of SVP Forwarding ControUers is associated with at least one of the channels.
55. The system as in claim 53, wherein there are a plurality of sets of queues, each of the set of queues comprising at least one queue, wherein each set is associated with one respective one of the SVP Forwarding ControUers.
56. The system as in claim 46, wherein there are a pluraUty of separate and independent streams of asynchronous data packets; and wherein there are a pluraUty of SVP Forwarding Controllers each associated with at least one of the pluraUty of asynchronous data streams.
57. The system as in claim 56, wherein there are a plurality of sets of queues, each set comprising at least one queue, wherein each of the sets of queues is associated with one respective one of the SVP Forwarding ControUers.
58. The system as in claim 56, wherein there is a plurality of the means for analyzing; wherein each of the means for analyzing provides analysis of at least one of the pluraUty of streams of asynchronous data packets.
59. The system as in claim 56, wherein there is a pluraUty of means for analyzing; wherein each of the pluraUty of streams is associated with at least one of the means for analyzing.
60. The system as in claim 47, wherein each of the queues is subdivided into at least two of: a Constant Bit Rate (CBR) queue, a Variable Bit Rate (VBR) queue, and a best efforts (BE) queue; wherein the means for analyzing is further comprised of a controller and a scheduling table, and provides for identifying respective ones of the data packets as CBR, VBR, and BE; wherein the means for storing provides for storage, responsive to the means for analyzing, of the respective data packets in the respective CBR, VBR, and BE queues for an associated respective one of the queues associated with an associated respective one of the time frames.
61. The system as in claim 60, wherein the output from the respective ones of the queues is prioritized to provide first for output from the respective one of the queue's CBR queue, then from the respective one of the queue's VBR queue, and then from the respective one of the queue's BE queue.
62. The system as in claim 61, wherein in one operational mode, certain ones of the data packets from the CBR, VBR, and BE queues for the respective one of the time frames are not output during a respective associated one of the time frames, the system further comprising: a rescheduling controller for detecting the one operational mode and for rescheduling the certain ones of the data packets; wherein the rescheduling is provided responsive to the controller in the means for analyzing.
63. The system as in claim 60, wherein in one operational mode during at least one given time frame, certain ones of the data packets from the respective SVP are not output, the system further comprising: a rescheduling controUer for detecting said one operational mode, and providing for rescheduhng of the certain ones of the data packets for a next avaUable one of the subset of time frames associated with the respective SVP.
64. The system as in claim 46, wherein each of the time frames is associated with at least one data packet format; and wherein the at least one data packet format is at least one of an Internet Protocol
(IP) data packet, a plurality of IP data packets, an Multi-Protocol Label Switching
(MPLS) data packet, a pluraUty of MPLS data packets, a frame relay (FR) data packet, a pluraUty of FR data packets, a Fiber Channel (FC) data packet, a pluraUty of FC data packets, an Asynchronous Transfer Mode (ATM) ceU, a plurality of ATM cells, a pluraUty of SONET frames, a plurality of STS-1 SONET frames, a plurality of STS-3
SONET frames, a pluraUty of STS-12 SONET frames, and a plurality of STS-48
SONET frames.
65. The system as in claim 2, wherein said data units are data packets, the system further comprising: a plurality of aUgnment subsystems each comprised of a buffer queue, wherein each of the buffer queues is associated with a specific defined one of the channels on a specific defined one of the output ports; wherein the buffer queues are each comprised of at least two time frame queues; means for associating a specific one of the time frames with each of the data packets and each of the time frame queues; a switch expander, coupled to receive the data packets from each of the channels for the input port, for selective output to a respective one of the buffer queues; a switch expander controUer, responsive to the associated specific one of the time frames for each respective one of the data packets from the input port, for determining a coupUng structure defining the coupling of the respective data packets for each one of the input port channels to a respective one of the buffer queues.
66. The system as in claim 65, further comprising: a filter controUer for every output of the switch expander and every input of the switch expander; wherein the filter controUer filters out non-scheduled data packets (NSDPs); wherein each NSDP comprises of a header and a payload; and wherein the NSDPs are transferred to a routing controller.
67. The system as in claim 66, wherein the routing controUer decodes the header of the NSDP in order to determine a specific defined one of the channels on a specific defined one of the output ports that the NSDP should be forwarded to.
68. The system as in claim 67, wherein the routing controUer transfers the NSDP to a specific defined one of the channels on a specific defined one of the output ports.
69. The system as in claim 67, wherein the routing controUer transfers the NSDP to a specific defined one of the aUgnment subsystems that is associated with a specific defined one of the channels on a specific defined one of the output ports.
70. The system as in claim 65, wherein there are a plurality of the input ports, each having a pluraUty of input channels and an associated pluraUty of the aUgnment subsystems; wherein each of the input channels for each of the input ports is associated with a respective one of the alignment subsystems.
71. The system as in claim 70, further comprising : a selector subsystem, comprising a pluraUty of selectors, coupled to the time frame queues and to the CTR, for selecting one of the pluraUty of queues; wherein each one of the time frame queues for each of the input ports is associated with a selected one of the channels on a selected one of the output ports, wherein for all the input ports, the respective time frame queues for a selected one of the output ports are coupled to a respective common one of the selectors; wherein for each time frame, the selector subsystem is responsive to the switch expander controUer for selecting one of the time frame queue outputs for coupling to the respective channel for the respective output port for the respective time frame.
72. The system as in claim 65, further comprising: a routing controUer; an external traffic input source of data packets, wherein the data packets from the external traffic input source are forwarded to the routing controUer; wherein the routing controller determines specific defined one of the channels on a specific defined one of the output ports that the data packet are to be forwarded to, responsive to decoding a header of the external traffic data packets.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU14626/01A AU1462601A (en) | 1999-11-09 | 2000-11-03 | Time frame switching responsive to global common time reference |
Applications Claiming Priority (10)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16443799P | 1999-11-09 | 1999-11-09 | |
| US60/164,437 | 1999-11-09 | ||
| US09/536,811 US6735199B1 (en) | 1999-11-09 | 2000-03-28 | Time frame switching responsive to global common time reference |
| US09/536,948 US6778536B1 (en) | 1999-11-09 | 2000-03-28 | Combined wavelength division multiplexing, time division multiplexing, and asynchronous packet switching with common time reference |
| US09/535,831 US7426206B1 (en) | 1998-06-11 | 2000-03-28 | Switching system and methodology having scheduled connection on input and output ports responsive to common time reference |
| US09/536,708 US6674754B1 (en) | 1999-11-09 | 2000-03-28 | Wavelength division multiplexing combined with time division multiplexing using a common time reference |
| US09/536,811 | 2000-03-28 | ||
| US09/536,708 | 2000-03-28 | ||
| US09/536,948 | 2000-03-28 | ||
| US09/535,831 | 2000-03-28 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2001035587A1 true WO2001035587A1 (en) | 2001-05-17 |
Family
ID=27538708
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2000/030390 WO2001035587A1 (en) | 1999-11-09 | 2000-11-03 | Time frame switching responsive to global common time reference |
Country Status (2)
| Country | Link |
|---|---|
| AU (1) | AU1462601A (en) |
| WO (1) | WO2001035587A1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1271888A1 (en) * | 2001-06-27 | 2003-01-02 | Siemens Aktiengesellschaft | Method for transferring of Internet protocol based communication data |
| US8059686B2 (en) | 2004-03-10 | 2011-11-15 | Alcatel Lucent | Method, apparatus and system for guaranteed packet delivery times in asynchronous networks |
| CN113112028A (en) * | 2021-04-06 | 2021-07-13 | 西华大学 | Machine learning time synchronization method based on label design |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5251206A (en) * | 1990-05-15 | 1993-10-05 | International Business Machines Corp. | Hybrid switching system for a communication node |
| US5418779A (en) * | 1994-03-16 | 1995-05-23 | The Trustee Of Columbia University Of New York | High-speed switched network architecture |
| US5610745A (en) * | 1995-10-26 | 1997-03-11 | Hewlett-Packard Co. | Method and apparatus for tracking buffer availability |
-
2000
- 2000-11-03 WO PCT/US2000/030390 patent/WO2001035587A1/en active Application Filing
- 2000-11-03 AU AU14626/01A patent/AU1462601A/en not_active Abandoned
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5251206A (en) * | 1990-05-15 | 1993-10-05 | International Business Machines Corp. | Hybrid switching system for a communication node |
| US5418779A (en) * | 1994-03-16 | 1995-05-23 | The Trustee Of Columbia University Of New York | High-speed switched network architecture |
| US5610745A (en) * | 1995-10-26 | 1997-03-11 | Hewlett-Packard Co. | Method and apparatus for tracking buffer availability |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1271888A1 (en) * | 2001-06-27 | 2003-01-02 | Siemens Aktiengesellschaft | Method for transferring of Internet protocol based communication data |
| US7436847B2 (en) | 2001-06-27 | 2008-10-14 | Siemens Aktiengesellschaft | Method for internet-protocol-based transmission of communication data |
| US8059686B2 (en) | 2004-03-10 | 2011-11-15 | Alcatel Lucent | Method, apparatus and system for guaranteed packet delivery times in asynchronous networks |
| KR101106941B1 (en) * | 2004-03-10 | 2012-01-19 | 알카텔-루센트 유에스에이 인코포레이티드 | Method, apparatus and system for guaranteed packet delivery times in asynchronous networks |
| CN113112028A (en) * | 2021-04-06 | 2021-07-13 | 西华大学 | Machine learning time synchronization method based on label design |
| CN113112028B (en) * | 2021-04-06 | 2022-07-01 | 西华大学 | A Machine Learning Time Synchronization Method Based on Label Design |
Also Published As
| Publication number | Publication date |
|---|---|
| AU1462601A (en) | 2001-06-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6778536B1 (en) | Combined wavelength division multiplexing, time division multiplexing, and asynchronous packet switching with common time reference | |
| US7801132B2 (en) | Interface system and methodology having scheduled connection responsive to common time reference | |
| US6674754B1 (en) | Wavelength division multiplexing combined with time division multiplexing using a common time reference | |
| US6757282B1 (en) | Fast switching of data packet with common time reference | |
| US7426206B1 (en) | Switching system and methodology having scheduled connection on input and output ports responsive to common time reference | |
| US6735199B1 (en) | Time frame switching responsive to global common time reference | |
| US7170906B2 (en) | Time-based grooming and degrooming methods with common time reference for optical networks | |
| US7139277B2 (en) | Multi-terabit SONET switching with common time reference | |
| US6760328B1 (en) | Scheduling with different time intervals | |
| US6885664B2 (en) | Distributed switching system and method with time-based routing | |
| US7230952B2 (en) | Self-configuring distributed switch | |
| US6982979B2 (en) | Time frame switching method using time frame labels and a common time reference | |
| US6330236B1 (en) | Packet switching method with time-based routing | |
| US6272131B1 (en) | Integrated data packet network using a common time reference | |
| US6731638B1 (en) | Switch scheduling with common time reference | |
| US7110669B2 (en) | Time driven wavelength conversion-based switching with common time reference | |
| US6718080B2 (en) | Optical programmable delay system | |
| KR20080009057A (en) | Optical reservation based network switch fabric | |
| US7117257B2 (en) | Multi-phase adaptive network configuration | |
| US7177308B2 (en) | Switching methods with common time reference and plurality of time frame durations | |
| US6970648B2 (en) | Time driven tunable laser based switching with common time reference | |
| US7139253B2 (en) | Packet switches | |
| EP1004189B1 (en) | Packet switching with common time reference | |
| Baldi et al. | Fractional lambda switching principles of operation and performance issues | |
| WO2001035587A1 (en) | Time frame switching responsive to global common time reference |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): AU CA CN IL IN JP |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| 122 | Ep: pct application non-entry in european phase |