Packet switch with dynamic allocation of inputs
First Claim
1. A recirculation arrangement for use in a packet switch having a plurality of inputs and a plurality of outputs, said recirculation arrangement serving to route data packets which cannot be routed to said outputs back to said inputs, said recirculation arrangement comprisingmeans for generating steering packets containing input addresses,means for combining said steering packets and said data packets to be routed back to said inputs so that said addresses in said steering packets form headers for said data packets to be routed back to said inputs, anda self-routing network for routing said data packets to said inputs based on said headers.
9 Assignments
0 Petitions
Accused Products
Abstract
A novel packet switch architecture is disclosed. In the novel packet switch, inputs are dynamically allocated between newly arriving and recirculating packets to make maximum use of available bandwidth while simultaneously resolving output port conflicts.
-
Citations
12 Claims
-
1. A recirculation arrangement for use in a packet switch having a plurality of inputs and a plurality of outputs, said recirculation arrangement serving to route data packets which cannot be routed to said outputs back to said inputs, said recirculation arrangement comprising
means for generating steering packets containing input addresses, means for combining said steering packets and said data packets to be routed back to said inputs so that said addresses in said steering packets form headers for said data packets to be routed back to said inputs, and a self-routing network for routing said data packets to said inputs based on said headers.
-
3. A packet switch comprising
a plurality of input port controllers for receiving newly arriving and recirculating data packets synchronously in time slots, a plurality of output port controllers, conflict resolving means for resolving conflicts among data packets containing the same destination address so as to indicate which packets are to be routed to said output port controllers so that they can exit from said switch and to indicate which packets are to be recirculated to said input port controllers, routing means for routing packets indicated as exiting by said conflict resolution means to said output port controllers, and recirculating means for recirculating packets indicated as recirculating by said conflict resolution means back to said input port controllers, said recirculating means serving to allocate said input port controllers between said newly arriving packets and said recirculating packets on a slot-by-slot basis.
-
8. A packet switch for synchronously routing data packets in time slots between a plurality of inputs and a plurality of outputs, said switch comprising:
-
means for resolving conflicts among data packets occupying the same time slot and containing the same output address to indicate which of said packets is to be recirculated to said inputs and which of said packets is to be routed to said outputs, and recirculating means for allocating said inputs on a slot-by-slot basis between newly arriving data packets and recirculating packets to enable said recirculating packets to be routed back to said inputs. - View Dependent Claims (9)
-
-
10. A method for synchronously routing data packets in time slots between a plurality of inputs and a plurality of outputs of a packet switch comprising the steps of:
-
resolving conflicts among data packets occupying the same time slot and containing the same output address to indicate which of said packets is to be recirculated to said inputs and which of said packets is to be routed to said outputs, and allocating said inputs on a slot-by-slot basis between newly arriving data packets and recirculating data packets to enable said recirculating packets to be routed back to said inputs. - View Dependent Claims (11)
-
-
12. A method for routing packets in a packet switch comprising the steps of:
-
determining whether each of a plurality of inputs of said switch will submit a newly arriving data packet to said switch in a particular subsequent time slot, generating a steering packet at each input that will not submit a newly arriving data packet to said switch in said subsequent time slot, said steering packets containing the addresses of the inputs issuing them, combining said steering packets with recirculating data packets to provide said recirculating packets with the addresses of inputs that will not submit a newly arriving packet in said subsequent time slot, and routing said recirculating packets to the inputs indicated by said addresses so that said recirculating packets can be resubmitted to said switch in said subsequent time slot.
-
Specification