Fast assignment technique for use in a switching arrangement
TECHNICAL FIELD 
     The present invention relates to a fast packet assignment technique for use in, for example, a time-division-multiple-access (TDMA) or a frequency-division-multiple-access (FDMA) multi-port switching arrangement. More particularly, for a TDMA switching arrangement, the total traffic from and to each of N remote service areas, regardless of destination or origination, is totaled to provide 2 overall traffic vectors (inbound and outbound). M concurrent transmission assignments are made from each overall traffic vector for each time slot period of a TDMA frame by extracting M non-zero elements from the elements of each overall vector, where M&lt;N, to effectively provide a global time slot interchange arrangement where more than one element from a service area can be concurrently transmitted to two separate service areas. 
     DESCRIPTION OF THE PRIOR ART 
     Various techniques or algorithms have been used with specifically designed switching arrangements to direct TDMA incoming messages to the appropriate outputs of the associated switching arrangement. In this regard, see, for example, U.S. Pat. Nos. 4,232,266 and 4,381,562 issued to A. Acampora on Nov. 4, 1980, and Apr. 26, 1983, respectively, and the article by G. Bongiovanni et al. in the IBM Technical Disclosure Bulletin, Vol. 26, No. 8, January 1984, at pages 4344-4348. A typical time-space-time switching arrangement for directing multiple packets of information through a switch is disclosed, for example, in U.S. Pat. No. 4,512,012 issued to T. Sampei et al. on Apr. 16, 1985. All of the above techniques and switching arrangements use a technique or algorithm which assigns messages through the switching arrangement using elements within a two-dimensional matrix. With such techniques or algorithms, only one message unit or packet associated with any non-zero element of a service area in the two-dimensional traffic matrix is directed through the switching arrangement along with only one message unit or packet associated with each of the other service areas at any instant of time to provide a maximum throughput of a switching arrangement and is, therefore, limiting. The problem remaining in the prior art is to provide a fast assignment technique, and a TDMA or FDMA multi-port switching arrangement for implementing such technique, that approximates a global time slot or channel interchange arrangement by not using a technique that confines itself primarily to extracting single messages or packets from any of the individual non-zero elements associated with any service area within a two-dimensional traffic matrix for assignment of transmissions through the switching arrangement. 
     SUMARY OF THE INVENTION 
     The problem in the prior art has been solved in accordance with the present invention which relates to (a) a fast assignment technique and (b) a multi-port switching arrangement capable of implementing such fast assignment technique which is disposed in, for example, a base station of a time-division-multiple-access (TDMA) or frequency-division-multiple-access (FDMA) system. More particularly, in the present fast assignment technique, the total traffic in a two-dimensional traffic matrix from or to each of N remote service areas, regardless of destination or origination, is totaled to form a separate one of 2 overall traffic vectors (one inbound, one outbound). In accordance with the present invention, for an exemplary M×M switch in a TDMA system that includes C time slots/frame, an assignment of M packet or message units from the N traffic elements to the paths through the M×M switch during each time slot period is made by extracting M non-zero elements from the totaled vector to effectively provide a global time slot or channel interchange arrangement within the M×M switch. Within the M non-zero elements selected from the N vector elements, one or more packet or message unit associated with a particular one of the N areas can be arbitrarily assigned from a vector total for concurrent transmission through the M×M switch to two different service areas. 
     It is an aspect of the present invention to provide an M×M switching arrangement which directs a first group of C information packets received at each of M input ports during a first time period into separate first storage locations. During a next second time period, a second group of C information packets from each of the M input ports is stored in separate second storage locations. Concurrently therewith, the first group of C information packets from each of the M input ports is directed out of the first storage locations in a parallel manner at any instant of time such that no more than M information packets are concurrently transferred into M separate predetermined output lines, one associated with each of M output ports for transmission to remote service areas. The no more than M information packets concurrently transferred can comprise at least two information packets from any one of the M input ports. 
     Other and further aspects of the present invention will become apparent during the course of the following description and by reference to the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Referring now to the drawings in which like numerals represent like parts in the several views: 
     FIG. 1 is a block diagram of an exemplary M×M baseband digital switch for use in a TDMA communication system; 
     FIG. 2 is a block diagram of an exemplary base station switching hierarchy for using the switch of FIG. 1; 
     FIG. 3 is an exemplary time sequence of M concurrent receive and transmit frames of a TDMA switching system using the M×M switch of FIG. 1; 
     FIG. 4 is an exemplary vector reduction technique according to the present invention; 
     FIG. 5 illustrates the time slot assignments within the frames resulting from the exemplary vector reduction technique shown in FIG. 4; 
     FIG. 6 is an exemplary implementation of one bus line of the distribution bus of FIG. 4 for the condition where M=128; and 
     FIG. 7 is an alternative arrangement of the M×M switch of FIG. 1. 
    
    
     DETAILED DESCRIPTION 
     FIG. 1 is a block diagram of an exemplary M×M switching arrangement in accordance with the present invention which implements a fast assignment technique or algorithm which will be discussed in detail hereinafter. FIG. 2 is a block diagram of an exemplary switching hierarchy as might be found in, for example, a central base station of a multiple beam radio communication system which is capable of blanketing a service region with a contiguous raster of narrow beams for providing wideband interconnections among remote stations or service areas dispersed over a geographical area. For purposes of understanding the present invention, the centrally located base station of FIG. 2 will be considered hereinafter as being capable of communicating with the remote stations or areas using the well-known Time-Division-Multiple-Access (TDMA) technique. It is to be understood that although such communication technique is a preferred technique for implementing the present invention, it is used primarily hereinafter for purposes of exposition and not for purposes of limitation since it is possible for other techniques such as, for example, Frequency-Division-Multiple-Access (FDMA) to be used. 
     In the arrangement of FIG. 2, it will be assumed hereinafter that each beam position associated with a particular separate remote station or service area is served by two dedicated feedhorns, one to receive and one to transmit, with different frequencies used for each to reduce interference. In an N beam system, the plurality of N receive feedhorns are designated 10 1  to 10 N  and the corresponding plurality of N transmit feedhorns are designated 11 1  to 11 N . The relatively large number N of feedhorns are arranged, for example, in equal-sized groups of P feedhorns, and each group of P receiving and transmitting feedhorns 10 and 11 is connected to a smaller number (Q) of one or more receivers 12 and transmitters 13, respectively, via a separate respective P×Q receive antenna port switch 14 and Q×P transmit antenna port switch 15. The receive and transmit antenna port switches 14 and 15 are physically distinct and operate independently under the control of a Network Controller 18 and, for purposes of explanation hereinafter, each port switch supports the same number of P feedhorns. 
     It will be assumed that all transmitters/receivers 13/12 operate at a common channel data rate of, for example, 50 Megabit/second. Each receiver 12 demodulates the received signal to baseband and regenerates it, while each transmitter 13 modulates the digital data stream onto the carrier. The number of Q receivers 12 and Q transmitters 13 assigned to an associated group of P receiver feedhorns 10 and P transmitter feedhorns 11, respectively, and associated with a particular respective receive antenna port switch 14 or transmit antenna port switch 15, is proportional to the total amount of traffic presented by the beam positions served by the associated group of feedhorns. For example, a group of P feedhorns serving lightly loaded beams is assigned only one transmitter/receiver pair while a group of P feedhorns presenting a factor of K greater traffic than the light loaded group is assigned K transmitter/receiver pairs where K is equal to or less than P. The receivers 12 and transmitters 13 provide a TDMA mode of service such that remote stations in the various beams are connected via the port switches 14 and 15, respectively, to the associated receivers 12 and transmitters 13 in a repetitive time division manner. 
     As shown in exemplary TDMA Frame arrangements in FIG. 3, each repetitive TDMA frame provides C time slots, and there is one such frame associated with each transmitter/receiver 13/12 pair. The number of time slots allocated to each user at a remote station is dependent upon the traffic demand of that user, up to the full transceiver capacity C. 
     For purposes of illustration, it will be assumed that there are a plurality of M transmitter/receiver 13/12 pairs. These transmitter/receiver pairs are interconnected with one another by means of an M×M centrally located time division switching means 16. It is to be understood that the present central station can also be used as a central station for a plurality of N terrestrial wire lines or some combination of radio and wire line terminations that do not exceed N. For the terrestrial wire lines, feedhorns 10 and 11 would not be required and the wire lines can be terminated directly on the corresponding terminals of the receive and transmit port switches 15 and 14, respectively. Alternatively, as shown in FIG. 2, where the central switching means 16 operates at a channel data rate of the exemplary 50 Mb/s, and is configured C times every TDMA frame, then, wire lines 17 can be terminated on central switching means 16. No more than a full compliment of M 50 Mb/s ports can be provided on central switching means 16, with each wire line 17 input port being a properly formatted terrestrial wire line so that the wire lines appear to central switching means 16 as an additional transmitter/receiver pair. For purposes of simplicity hereinafter, it will be assumed that no terrestrial wire line connections are present, although it is apparent that the same approach can be used when such connections are to be made. 
     It is well known that each TDMA time slot corresponds to some fixed rate one-way connection between two remote stations. The traffic among N beams positions can be represented by a traffic matrix T: ##EQU1## where t ij  represents the traffic, in time slots, arising within beam i and destined for beam j. The elements of matrix T may vary with time as the beam-to-beam connection patterns change. However, the following conditions must always be true: ##EQU2## Equation (2) defines that the total traffic arising in beam position i cannot exceed the number of time slots C within one frame. Similarly, Equation (3) defines that the total traffic into beam j cannot exceed the number of time slots in one frame. Finally, equation (4) defines that the total traffic cannot exceed the total capacity of all M transmitter/receiver pairs. 
     If it is possible to connect any receiver to any beam and any transmitter to any beam, then equations (2) to (4) are sufficient conditions guaranteeing the existence of a nonconflicting TDMA assignment to the M transmitter/receiver pairs. Essentially, if equations (2) to (4) are satisfied, then T can be represented as the sum of C N×N matrices, each having M non-zero elements all equal to unity with no non-zero element sharing the same row or column with any other. The M non-zero elements in each such N×N matrix correspond to the M beam pairs that may be interconnected by the M transmitter/receiver pairs in any time slot of the frame. 
     Referring to FIG. 2, it is seen that additional constraints are imposed upon traffic matrix T, namely, that the sum of the traffic presented by any group of beams cannot exceed the capacity, in time slots, of the specific number of transmitter/receiver pairs assigned to that group. Any resulting TDMA assignment must assure that in every time slot, each group must nonconflictingly transmit and receive a number of times equal to the number of transmitter/receiver pairs allocated to that group, which to date has not been shown to be possible. Secondly, even without these additional constraints, the actual process of assigning from the matrix is a very difficult task, and the technique&#39;s execution time would limit the ability to rapidly update the assignment in response to changing traffic patterns. Finally, although the less constrained situation guarantees the existence of a nonconflicting assignment, it is possible that the particular M beam pair positions assigned to any time slot may interfere with each other, either as a result of multiple reflections from, for example, buildings, or as a sidelobe leakage during rain fade events when received and transmitted power levels may be altered. 
     To overcome these three problems, the present arrangement does not instantaneously discharge packets of information arriving in given time slots of the incoming frames into the same time slots of the outgoing frames. Rather, the packets arriving in any one frame are temporarily stored for subsequent transmission in the next frame. With such technique, it is also permissible to rearrange the time slot assignments of the various packets. More particularly, in accordance with the present technique, users are assigned in a nonconflicting manner to the TDMA frames inbound to the central base station, storing these arriving packets in memory as they arrive. These stored packets are then assigned for nonconflicting retransmission in the next frame interval of the outbound frames in a manner which also promotes minimal interference by scheduling packets for interfering stations in different time slots of a frame period. These inbound and outbound frame assignments are repetitive until updated as mandated by changing traffic patterns. 
     In accordance with the present assignment technique, traffic inbound to the base station may be represented by the N×1 column vector R: ##EQU3## where, from equation (2), R i  is the total incident traffic of beam i, i=1, . . . , N. The beams are partitioned in G groups all containing P=N/G beams and K g  ≦P base station receivers are allocated to group g, g-1, . . . , G, Since there are a total of M receivers, ##EQU4## For an assignment to exist, it is necessary that equation (2) be satisfied for all i, equation (4) be satisfied, and also that ##EQU5## Equation (7) is an expression of the fact that the total traffic offered by the P beams in group g cannot exceed the capacity of the K g  receivers assigned to group g. 
     Suppose that equation (7) is satisfied with equality, since it is always possible to add dummy traffic without violating equations (2) or (4), then there always exists at least K g  non-zero elements of R belonging to group g, and not more than K g  elements of R belonging to group g may equal C exactly. It can then be said that it is possible to assign traffic from R to the M receivers. In accordance with the present technique, for each group, select K g  elements including all those summing to C exactly. One unit of traffic may be removed from each element selected; the M units so removed, arising in different beams, may be assigned in a nonconflicting manner to the first time slot of the M inbound frames such that K g  units are assigned to the K g  receivers serving the group g. The remaining elements in R have the property that no element exceeds C-1, the sum of the elements for group g equals K g  (C-1), and all elements sum to M(C-1). Furthermore, there remain C-1 unassigned time slots in each inbound frame. 
     An exemplary reduction of the vector R and the resulting assignment is shown in FIGS. 4 and 5, with beams numbered sequentially from top to bottom. Each frame will be considered to contain 5 time slots, (C=5), and there are 9 beams (N=9) partitioned into three groups. Group 1 offers five units of traffic and is served by one receiver (K 1  =1), group 2 offers 10 units of traffic and is served by two receivers (K 2  =2) and group 3 offers 10 units of traffic and is served by two receivers (K 2  =2). There are a total of K 1  +K 2  +K 3  =5 receiving frames. Proceeding from left to right in FIG. 4 are the vectors of unassigned traffic remaining as the assignment progresses. Shown in circles are the elements from which single units of traffic are extracted while proceeding with the assignment. Starred elements correspond to those which must be chosen for the assignment to proceed and is equal in value to the remaining number of unassigned time slots in each frame. FIG. 5 shows the resulting frame assignments with the number shown in each time slot of a frame corresponding to the beam assigned to transmit in that time slot. 
     The above approach results in traffic being successfully received at the central base station. In accordance with the present invention, all traffic arriving in a particular frame is stored in a memory at the central base station, and assignment of this traffic to subsequent outgoing frames is then made. For this purpose, consider the 1×N row vector S: 
     
         S=[S.sub.1, S.sub.2 . . . S.sub.N ]                        (8) 
    
     with elements S j  defined in Equation (3). Proceeding in an identical manner to that just described in FIGS. 4 and 5 for inbound traffic, a similar outbound traffic assignment can be shown to exist. 
     FIG. 1 shows an exemplary hardware architecture of the M×M switching means 16 of FIG. 2 in accordance with the present invention for switching baseband digital signals. Each of the M input ports 20 1  to 20 M  accepts a continuous sequence of packets from receivers 12 1  to 12 M , respectively, at the full transmission rate, e.g., 50 Mb/sec. For example, for input 20 1 , the packet sequence is shown as being routed through a single pole/double throw (SP/DT) switching means 21 1  which alternates between its two positions at the TDMA frame rate. More particularly, switching means 21 1  stays in one fixed position throughout a full TDMA frame period and then switches to its alternate position for the next full frame period. 
     For purposes of illustration, it is assumed that switching means 21 1  is in the upper position as shown in FIG. 1, and all packets are passed to the input of second switching means 22 1A . Unlike switching means 21 1 , second switching means 22 1A  is driven by the TDMA time-slot clock so that successive packets are loaded into memories labeled Z ij  of memory module 23 iA , where i designates the input port (1-M) and j varies from 1 to C representative of the total number of packets, or time slots, in a TDMA frame. Each memory Z ij  of memory module 23 holds a packet from a specific remote station destined for another remote station. This operation goes on simultaneously for each of the M parallel inputs 20 1  to 20 M  resulting in all the incoming data packets being stored in the memories Z ij  of memory module 23 iA . At the end of the TDMA frame, the memory loading operation into memory modules 23 iA  is complete and switches 21 1  to 21 M   are switched to the alternate position to cause the packets from the next frame period to be written into the memories Z ij  of memory modules 23 iB . 
     During this next frame period, those packets already stored in memories Z ij  of memory modules 23 iA  are unloaded in a parallel manner through third switching means 24 1  to 24 M , which are in the upward position as shown in FIG. 1, and to C:M switches 25 1  to 25 M , respectively, C:M switches 25 i  are driven at the TDMA time-slot clock rate. The function of third switching means 24 i  is simply to select either one of memory modules 23 iA  or 23 iB  in alternating TDMA frames, and C:M switches 25 i  function to route the packets to their proper output port 27 1  to 27 M  and the associated transmitter 13 in a predetermined sequence via an output distribution bus 26. Both the storage of inbound packets and the distribution of outbound packets are under the control of a network controller 18 shown in FIG. 2 which can use, for example, clock signals and a table look-up capability for achieving the switching functions as is well known in the art. 
     For illustrative purposes, the output distribution bus 26 is functionally shown as a bus of M parallel wires with each wire terminating in a separate one of the M transmitters 13. For example, if a packet in memory Z 12  in memory module 23 1A  is scheduled to go to transmitter 13 3  in a particular time slot, this memory location will be connected by C:M switch 25 1  to wire 3 of bus 26 terminating in transmitter 13 3  during the proper time slot. It is to be understood that although all of memories Z ij  of the M memory modules 23 iA  are read out in parallel during a frame period, C:M switches 25 1  to 25 M  can direct up to M packets onto separate wires of bus 26 in each time slot from anywhere within the memories Z ij , and these packets are always distributed among the M wires of bus 26 without any collision. As can be seen from FIG. 1, since C packets from each memory module 23 are concurrently available at the C inputs of the associated C:M switch 25 i  , such switch can direct one or more packets onto separate wires of bus 26 during any time slot period if the N×N traffic matrix reduction indicated such assignment. 
     Regarding distribution bus 26, the functional representation in FIG. 1 shows a wired-OR arrangement whereby for each output wire terminating in a specific transmitter 13 there are exactly M input wires connected to it, each from a different C:M switch 25. Such an arrangement is practical for M not larger than, for example, 8. For M as large as, for example, 128, 8 lines from 8 different switches 25 must be grouped in a wired-OR manner and then 16 of these groups are combined with an OR gate 30 to accomplish the required function as shown in FIG. 6. M identical sets of the arrangement of FIG. 6 would complete the entire bus 26. 
     If bit synchronization is available at the inputs to M×M switching means 16, then an alternative configuration as shown in FIG. 7 is possible. Each of the M received data streams is connected to a separate wire of bus 26 and the M wires together carry all the M-channel data simultaneously. As Network Controller 18 makes the incoming and outgoing traffic assignments, it assigns a memory location to each incoming packet in such a way that the desired outbound transmissions can be obtained by sequentially reading out the contents of each memory location Z ij  in each memory module 23. More particularly, for transmitter 13 1 , the M packets in each time slot are concurrently received at the M inputs to an M:C switch 40 1 . M:C switch 40 1  functions to direct the correct packet(s) in each time slot from bus 26 to the output bus 41 1  and through switching means 42 1  for storage in the appropriate memory location Z ij  of memory module 23 1A . 
     During the next frame, switching means 42 1  moves to its alternate position to load memories Z ij  of memory module 23 1B . While memory module 23 1B  is being loaded, switch 43 1A  functions to deliver the packets stored in memory locations Z 11  to Z 1C  in a predetermined order for transmission to transmitter 13 1  via single pole-double throw switching means 44 1 . It is to be understood that the operation of switches 40, 42, 43 and 44, and memory modules 23, is under the control of Network Controller 18 in the manner indicated for the components of FIG. 1. 
     It is to understood that the above-described embodiments are simply illustrative of the principles of the invention. Various other modifications and changes may be made by those skilled in the art which will embody the principles of the invention and fall within the spirit and scope thereof. For example, the present invention could be used in a Frequency Division Multiple Access (FDMA) communication system. For such system, in FIG. 1, second switching means 22 i  could be a channel dropping filter which directs each of C concurrently received channels in separate frequency bands into a separate one of the C memories in each associated memory module 23 dependent on the position of switching means 21. Distribution bus 26 would contain M buses, each containing C wires which carry the C separate frequency band channels associated with a transmitter 13. Switch 25 would then comprise a C:CM switch to direct each of the 1-C packets onto the proper 1-C wires, respectively, associated with the M buses of distribution bus 26 so that each packet is delivered to the appropriate transmitter 13 for modulation with the appropriate carrier.