CHANNEL MULTIPLEXING FOR A COMMUNICATION SYSTEM

Abstract: A communicator (100) having N physical channels is capable of supporting greater-than-N external wireless communications connections. The N physical channels include a plurality of reconfigurable resource units (RRUs)(102) that can each be dynamically altered to perform any of a multitude of processing tasks. The communicator (100) also includes a controller (104) that is capable of dynamically allocating the N physical channels between the greater-than-N external connections by repeatedly reconfiguring one or more of the physical channels to operate with varying signal formats. A memory (106) stores a library of configuration files for use by the controller (104) in reconfiguring the physical channels during dynamic allocation. In a preferred approach, the controller (104) reconfigures the physical channels during idle operational periods.

Description: CHANNEL MULTIPLEXING FOR A COMMUNICATION SYSTEM Field of the Invention The present invention relates in general to communications systems and, more particularly, to communications systems utilizing programmable elements. Background of the Invention Communications systems of the past generally use communications equipment that is designed to perform one or a small number of preassigned tasks for effecting communication between users. Such equipment generally works well within a narrow range of designed operation, but is unable to adapt to changing system requirements. Systems including this equipment, therefore, have a limited range of uses and are prone to become obsolete before the associated hardware has reached a projected useful lifetime. This leads to a situation where costly system redesigns are common and functional hardware units are being prematurely discarded. Therefore, there is a need for communications equipment that is adaptable to changing system requirements. Brief Description of the Drawings FIG. 1 is a block diagram illustrating a communicator in accordance with one embodiment of the present invention; FIG. 2 is a block diagram illustrating a reconfigurable resource unit (RRU) in accordance with one embodiment of the present invention; FIG. 3 is a block diagram illustrating an RRU in accordance with another embodiment of the present invention; FIG. 4 is block diagram illustrating an RRU in accordance with yet another embodiment of the present invention; FIG. 5 is a block diagram illustrating a controller in accordance with one embodiment of the present invention; FIG. 6 is a flowchart illustrating a method for reconfiguring a plurality of RRUs in accordance with one embodiment of the present invention; FIG. 7 is a flowchart illustrating a method for providing enhanced graceful degradation in a communicator unit in accordance with one embodiment of the present invention; FIG. 8 is a block diagram illustrating a communicator in accordance with another embodiment of the present invention; FIG. 9 is a block diagram illustrating a controller in accordance with another embodiment of the present invention; and FIG. 10 is a timing diagram illustrating a dynamic allocation of physical channels in accordance with one embodiment of the present invention. Detailed Description of the Drawings The present invention relates to a communicator having an architecture that is capable of adapting to varying system requirements. The communicator includes a plurality of reconfigurable resource units (RRUs) that can each be dynamically altered during operation for performing any of a variety of processing tasks. The communicator also includes a controller for dynamically allocating the RRUs based on current system requirements. The controller has access to a library of configuration files that can be used to reconfigure the plurality of RRUs according to a desired allocation plan. To support varying system requirements, the communicator is capable of receiving and implementing new configuration files from an exterior environment. For example, if the communicator is to support a new or modified signal format, one or more configuration files associated with the signal format can be delivered to the communicator for use therein. The communicator can be located anywhere within a communications system, such as in a basestation or a handheld transceiver unit. As used herein, the term "signal format" refers to a unique combination of signal characteristics that distinguish one signal from another. In general, systems that utilize a particular signal format cannot recognize signals having other formats. In this regard, a signal format can include a designation of one or more of the following signal characteristics: waveform type (e.g., center frequency, modulation type, etc.), information type (e.g., voice, video, data, etc.), signal protocol, multiple access type (e.g., CDMA, TDMA, FDMA, etc.), signal encryption type, signal encoding type, signal vocoder type, and others. FIG. 1 is a block diagram illustrating a communicator 10 in accordance with one embodiment of the present invention. The communicator 10 operates as a transceiver for use in transmitting communication signals into a wireless communications channel and for receiving communication signals from the wireless communications channel. As illustrated, the communicator 10 includes: a plurality of reconfigurable resource units (RRUs) 13, a signal bus 14, a controller 16, a memory 18, a multiplexer 20, a signal classifier 24, a channel monitor 26, and a user interface 28. The signal bus 14 is operative for transferring communications signals between various elements in the communicator 10. In accordance with the present invention, the communications signals can include virtually any type of information such as, for example, computer data, voice information, video information, and/or still image information. In one embodiment, as illustrated in FIG. 1 , the signal bus 14 is coupled to the plurality of RRUs 13, the multiplexer 20, and the user interface 28 for use in transferring signals therebetween. The multiplexer 20 is coupled to a plurality of antennas 22a-22m for providing an interface between the signal bus 14 and any of a plurality of wireless communications channels. In addition, the user interface 28 is coupled to a user device 40, via input/output port 34, for providing communication between the signal bus 14 and a user of the communicator 10. Accordingly, signal bus 14 can be used to transfer signals between, for example, an RRU and a wireless communications channel, an RRU and a user, or between individual RRUs. Each of the plurality of RRUs 13 includes signal processing functionality for processing signals on the signal bus 14. In accordance with the present invention, each of the RRUs can be dynamically (and electronically) altered in the field to change the processing functions they are configured to perform. That is, a particular RRU (e.g., RRU 12a) can be set up to perform one set of processing functions at one moment and a different set of processing functions at another moment, based on current system requirements. To provide this ability, each of the RRUs 12a-12n includes an input port for receiving configuration information from the controller 16. The RRUs 12a-12n restructure themselves in accordance with the configuration information to provide the additional or alternative functions. As will be described in greater detail, each of the RRUs 12a-12n can take any one of a large variety of different forms. As will be described in greater detail, the controller 16 is operative for, among other things, controlling the operation and configuration of the plurality of RRUs 12a- 12n. The controller 16 also controls the operation of the bus 14, the multiplexer 20, and the user interface 28. The controller 16 can include virtually any type of processor capable of controlling the specified elements, such as a conventional microprocessor or a digital signal processor. The multiplexer 20 is operative for selectively coupling one or more of the plurality of antennas 22a-22n to the signal bus 14 in response to a control signal from controller 16. In a preferred embodiment of the present invention, each of these antennas is optimized for operation in a specific frequency band that is different from the other antennas. During operation, the controller 16 determines the operational frequency range of an external system that is to be communicated with and chooses an antenna accordingly. In this manner, communicator 10 can be made operational over a very wide bandwidth. An alternative antenna arrangement uses a single broadband antenna in place of the multiplexer 20 and plurality of antennas 22a-22m. In narrow band implementations, the multiplexer 20 and plurality of antennas 22a-22n can be replaced by a single narrowband antenna. In another embodiment, a phased array antenna generating multiple beams is utilized. In this approach, the controller 16 is used to select which of the beams will be coupled to the signal bus 14 at a particular time. Each of the beams can also be independently steerable. Other antenna arrangements can also be used in accordance with the present invention. Signal classifier 24 is operative for classifying signals on signal bus 14 according to signal format. The signal classifier 24 outputs a format signal to controller 16 for use by the controller 16 in, for example, determining a type of processing that needs to be performed by the plurality of RRUs 13. As will be discussed in greater detail, the controller 16 can reconfigure the plurality of RRUs 13 based on this determination. The signal classifier 24 can utilize any of a large number of signal classification methods that are known in the art. The channel monitor 26 is coupled to an antenna 30 for use in monitoring the spectral environment surrounding the communicator 10. The channel monitor 26 outputs spectrum information to the controller 16 for use in, among other things, configuring the plurality of RRUs 13. For example, the spectrum information may indicate that there is a relatively strong interference signal in the channel that could compromise communications at a particular frequency. The controller 16 can use this information to reconfigure an RRU to generate a transmit signal at a different center frequency than was previously being used. The controller 16 will also need to communicate the change of center frequency to an intended recipient of the transmit signal. In another application, controller 16 uses the spectrum information from the channel monitor 26 to determine an appropriate antenna for connection to bus 14. For example, the spectrum information may identify a rather large signal in a portion of the spectrum utilized by one of the antennas 22a-22n. Using multiplexer 20, controller 16 can connect that antenna to the signal bus 14 to further investigate the unidentified signal. Once the signal is on the signal bus 14, the controller 16 can use the signal classifier to determine whether the signal is of interest. If the signal is of interest, the controller 16 can process the signal in one or more of the RRUs 12a-12n based on a signal format identified by signal classifier 24. The processed signal will then be delivered to the user device 40 via user interface 28. The controller 16 can also use the spectrum information for other purposes. The user device 40 can be virtually any type of input/output device. In one embodiment, for example, user device 40 includes an LCD display, a speaker, a microphone, and a digital keypad. This embodiment is useful in, for example, handheld communicator applications. In addition to the basic number keys, additional function keys (such as programmable macro keys) can be provided on the keypad. A user can deliver commands to the controller 16 by pressing a particular key, or sequence of keys, on the keypad. For example, in one application, a user can command the controller 16 to establish a particular communications link with an external communication system using the keypad. In another application, a user can deliver a command to controller 16 requesting that a new signal format be supported by the communicator 10. Once a desired communications link has been established, user device 40 can be used to deliver communications information to signal bus 14, via user interface 28, for processing into the appropriate signal format for transmission into the wireless communications channel. In this regard, the user device 40 can include functionality for placing the communications information into an appropriate format for delivery to the bus 14. This functionality can include, for example, an analog-to-digital converter for converting an analog speech signal into a digital representation. In another embodiment of the present invention, the user device 40 comprises a personal computer. This embodiment is useful in, for example, base station applications. The personal computer can also be used to deliver connection requests and/or reconfiguration commands to the controller 16. In addition, the personal computer can deliver new and/or updated configuration files to the controller 16 for storage in the memory 18. Also, the personal computer can support a wider array of information types. That is, voice, video, and computer data, for example, can be supported. The user interface 28 provides a transition between the user device 40, the controller 16, and the signal bus 14. That is, the function of the user interface 28 is to direct commands and communication information to an appropriate device and to provide the necessary signal format transformations required for the commands and communication information to be recognizable by the appropriate device. In one embodiment of the present invention, the user interface 28 is also reconfigurable for supporting varying user devices. The signal bus 14 can include virtually any type of signal distribution apparatus. In a preferred embodiment of the invention, a new breed of high performance, low cost, compact interconnecting buses are used. These buses include, for example, the commercially available Firewire, universal serial bus (USB), and peripheral component interconnect (PCI) bus structures. In an alternative embodiment, signal bus 14 is replaced by a large multiplexer that is under the control of the controller 16. Using the multiplexer, the controller 16 can direct a received signal to an appropriate RRU in the plurality of RRUs 13 to perform desired processing. The selected RRU can then deliver a processed output signal to user device 40 via a hardwired connection. In yet another embodiment, the plurality of RRUs 13 are daisy chained one after the other. The controller 16 can then selectively enable one or more of the RRUs to process the signal as it propagates through the chain of RRUs. Non-enabled RRUs will appear as through lines to the propagating signal. The output of the last RRU in the chain is then delivered to the user device 40 via user interface 28. As described above, the communicator 10 of FIG. 1 operates as a transceiver for use in transmitting communication signals into a wireless communications channel and for receiving communication signals from the wireless communications channel. During a receive operation, a communication signal is received from a wireless communications channel by one of the plurality of antennas 22a-22n. Although not shown, each of the antennas 22a-22n can be coupled to appropriate processing functionality to place the received signal in an appropriate format for delivery to the bus 14. The processing functionality can include, for example, a downconverter and/or an analog-to-digital converter. In accordance with the present invention, this processing functionality can also be reconfigurable. The signal is next transferred to signal bus 14 via multiplexer 20. Controller 16 then determines a type of processing to be performed on the received signal. In one embodiment, as discussed above, the controller 16 uses signal format information from signal classifier 24 to determine the type of processing to be performed. The controller 16 then enables one or more of the RRUs 12a-12n to read the signal from the signal bus 14 and perform the required processing. If none of the RRUs 12a-12n are presently configured to perform the required processing, the controller 16 can reconfigure one or more of the RRUs 12a-12n. As will be discussed in more detail, the controller 16 can utilize a priority system to determine which of the RRUs 12a-12n to reconfigure. A particular receive signal on signal bus 14 may need to be processed in multiple RRUs before being delivered to a user at user device 40. In one embodiment, this processing is done in a sequential manner, where the signal is individually processed by separate RRUs one after the other. In another embodiment, multiple RRUs are linked together to process the signal in tandem. Once all of the required processing is completed, the resulting signal is transferred to signal bus 14 for delivery to the user via user interface 28. During a transmit operation, information from user device 40 is delivered to signal bus 14 via user interface 28. Based on a desired transmit signal format, controller 16 causes the information from user device 40 to be encoded and/or modulated in one or more of the RRUs 12a-12n to achieve the required signal format. When processing is complete, controller 16 causes the signal to be delivered from the plurality of RRUs 13 back to the signal bus 14, from which it is transferred to an appropriate antenna via multiplexer 20. The antenna then transfers the signal into a wireless communications channel. As before, if none of the RRUs 12a-12n are configured for processing the user information to achieve the desired signal format, the controller 16 will reconfigure one or more of the RRUs 12a-12n to include the required functionality. In accordance with the present invention, the RRUs 12a-12n can each include any type of processing device that can be dynamically altered to perform varying processing functions. For example, as illustrated in FIG. 2, an RRU 52 can include a digital signal processor (DSP) 42 coupled to a random access memory (RAM) 44. The DSP 42 is coupled to controller 16 for receiving, among other things, processing commands instructing the DSP 42 how to process a signal presently on signal bus 14. The DSP 42 then reads the signal from the signal bus 14 and processes it by executing one or more software programs (i.e., configuration files) stored in RAM 44. If a required program is not presently stored in RAM 44, the controller 16 can deliver the program to the DSP 42 for storage in the RAM 44. Alternatively (or in addition), the RRU 52 can include a mass storage unit, such as a hard disk drive (HDD) 46, for storing a library of programs that can be executed in the DSP 42. When the DSP 42 receives a processing command from the controller 16, it can transfer an appropriate program file from HDD 46 into RAM 44 for use in processing a signal from signal bus 14. To reconfigure RRU 52, controller 16 can deliver additional software programs to DSP 42 for storage in HDD 46. These programs can include software objects that can be linked into a larger program already resident in RRU 52. This requires DSP 42 to include appropriate linkage functionality. In another approach, as illustrated in FIG. 3, an RRU 54 includes a general purpose processor (GPP) 48 and a field programmable gate array (FPGA) 50. An FPGA is a hardware device having a large number of individual logic cells arranged in an array configuration. These logic cells can be interconnected in a multitude of different configurations for performing any of a large number of different processing tasks. In addition, some FPGAs utilize logic cells that are themselves programmable, thereby providing an even higher level of configurability. To configure an FPGA, a configuration file is delivered to an input of the FPGA. The configuration file includes, among other things, information describing a manner for interconnecting cells within the FPGA. The configuration file can also include, for example, information for configuring individual cells in the array. FPGAs now exist that allow different functions to be implemented in different portions of the cell array. That is, a single FPGA can be used to implement multiple different functions in different locations within the FPGA. An FPGA having this feature requires an input/output functionality that directs signals to be processed to the appropriate portion of the array. FPGAs are available for processing both digital and analog signals. With reference to FIG. 3, the GPP 48 is coupled to the controller 16 for receiving instructions on how to process a signal on bus 14. In response to the instructions, the GPP 48 delivers a control signal to FPGA 50 instructing it to read the signal on signal bus 14 and to process the signal in an appropriate area of the cell array. The GPP 48 can also receive configuration files from the controller 16 for use in reconfiguring the FPGA 50. GPP 48 then delivers the configuration files to a designated portion of FPGA 50. FIG. 4 is a block diagram illustrating an RRU 58 that includes both hardware and software programmability. That is, RRU 58 includes: a GPP 60, an FPGA 62, a DSP 64 with associated RAM 66, and a multiplexer 68. RRU 58 is a hybrid unit which allows controller 16 to specify whether a signal currently on signal bus 14 will be processed in hardware (in FPGA 62) or in software (in DSP 64). Based on commands from controller 16, GPP 60 delivers a select signal to multiplexer 68 that directs the signal on bus 14 to the desired processing unit. GPP 60 is also operative for delivering configuration files to the FPGA 62 and/or the DSP 64 as needed to reconfigure these units. It should be appreciated that the above-described RRU configurations are merely exemplary of the large number of configurations that can be utilized in accordance with the present invention. For example, reconfigurable units can also be implemented using devices such as fast flash memories and various forms of non-volatile memory. In accordance with the present invention, the communicator 10 can also make use of fixed function processing units. These fixed function processing units can be coupled to the signal bus 14 in the same manner that the RRUs 12a-12n are coupled to the bus 14. The controller 16 can then direct selected processing tasks to the fixed function processor units as needed. FIG. 5 is a block diagram illustrating a controller 16 in accordance with one embodiment of the present invention. As illustrated, the controller 16 includes: a processing determination unit 74, a resource allocation unit 76, a configuration file management unit 78, a bus control unit 80, and a memory interface unit 82. The functionality represented by the controller elements is preferably implemented in software, although hardware implementations are also possible. The processing determination unit 74 is operative for determining a type of processing that needs to be performed within the communicator 10. In the preferred embodiment, the processing determination unit 74 uses signals from the signal classifier 24, the channel monitor 26, and/or the user interface 28 to determine the required processing. For example, if the signal classifier 24 indicates that a received signal having a particular signal format is presently on signal bus 14, the processing determination unit 74 will determine that certain processing functions need to be performed on the signal to convert it to a signal format recognizable by the user device 40. Similarly, if the channel monitor 26 indicates that a particular wireless communication channel is very noisy, the processing determination unit 74 can decide that additional processing is to be performed on a signal received from that channel. In addition, the processing determination unit 74 can determine processing functions that need to be performed based on commands received from the user (via user interface 28). For example, the user can request that a wireless communications link be established with a specific external system. The controller 16 knows the signal format used by the external system and can therefore determine the type of processing that needs to be done to an information signal from the user device 40 to generate a transmit signal for delivery to the external system. Resource allocation unit 76 is operative for allocating the resources of the plurality of RRUs 13 to the various processing tasks that need to be performed in the communicator 10. In addition, the resource allocation unit 76 keeps track of the location of various processing functions within the plurality of RRUs 13. For example, a particular demodulation function may be located in a particular area of an FPGA in RRU 12a. When processing determination unit 74 determines that the demodulation function needs to be performed on a signal on bus 14, resource allocation unit 76 tells the processing determination unit 74 where the function is located and the processing determination unit 74 causes the bus signal to be delivered to the appropriate location for processing. In addition to its resource tracking responsibilities, the resource allocation unit 76 is also operative for dynamically modifying the resource allocation scheme based on present system requirements. That is, resource allocation unit 76 is continuously monitoring system requirements and reconfiguring the plurality of RRUs 13 based thereon. To monitor system requirements, the resource allocation unit 76 can use information received from a variety of sources. For example, resource allocation unit 76 can utilize information from processing determination unit 74 to determine processing functions that should be available within the plurality of RRUs 13. If processing determination unit 74 determines that a particular encoding function needs to be performed, and that encoding function is not presently available in the plurality of RRUs 13, resource allocation 76 can deliver an appropriate configuration file to the plurality of RRUs 13 for implementing the encoding function. Resource allocation unit 76 can also receive instructions from the user device 40, via user interface 28, instructing the unit 76 to provide specific functionality. For example, a user may desire communicator 10 to be interoperable with an external communication system that uses a specific signal format. In accordance with the present invention, the user can instruct the resource allocation unit 76 to provide the necessary interface functionality somewhere within the plurality of RRUs 13. The resource allocation unit 76 then downloads the appropriate configuration file from the memory 18 via memory interface 82. If a desired configuration file is not located within memory 18, alternate sources of configuration information are provided. For example, configuration file management unit 78 is operative for receiving configuration files from multiple sources and for organizing and tracking the configuration files within the memory 18 (using memory interface 82). In a preferred embodiment, the configuration file management unit 78 is coupled to: (a) the user interface 28 for receiving configuration files from a user, and (b) antenna 32 for receiving configuration files from an exterior source, via a wireless communication channel. Other means for obtaining configuration files can also be provided. Bus control unit 80 is operative for controlling the transfer of information between the signal bus 14 and the various system elements. Bus control procedures are generally known in the art and will therefore not be discussed further. In one embodiment of the invention, processing determination unit 74 uses spectral profile information from channel monitor 26 to determine an optimum waveform for transmission into a wireless communication channel. This optimum waveform may, for example, be tailored to fill in available gaps in the channel spectrum. After determining the optimum waveform, the processing determination unit 74 instructs the resource allocation unit 76 to provide the processing functionality required to generate the desired waveform. The resource allocation unit 76 then downloads the appropriate configuration files from memory 18 and delivers them to selected RRUs. In general, the resource allocation unit 76 will determine a present resource allocation scheme based upon a predetermined set of rules. The rules will determine when, for example, a requested processing function can be provided and when not. These rules will also determine where in the plurality of RRUs 13 a desired function will be implemented. For example, a situation may arise where the plurality of RRUs 13 is almost fully configured with functions and a user of the communicator 10 wishes to add a new function. The rules can specify the conditions under which the new function will be added and where in the plurality of RRUs 13 the new function will be implemented. In another possible scenario, none of the plurality of RRUs 13 individually have enough resources available to implement a desired function, but a combination of RRUs can provide the required resources. In such a scenario, the resource allocation unit 76 can divide the function between multiple RRUs. The resource allocation unit 76 can also include means for reorganizing functions within the plurality of RRUs 13 to make more efficient use of the resources. This function is somewhat similar to hard disk defragmentation procedures used in the disk drive industry. By properly organizing functionality within the plurality of RRUs 13, system throughput can be significantly increased. FIG. 6 is a flowchart illustrating a procedure for reconfiguring the plurality of RRUs 13 in one embodiment of the present invention. First, a processing task that needs to be performed by the communicator 10 is identified (step 100). The processing task can include virtually any task that may be required in a communications system. For example, the task may include: (a) support for a new or modified signal format (such as a particular demodulation function), (b) a mathematical function (such as integration), or (c) a standard communications function (such as downconversion), to name a few. Next, it is determined whether any of the plurality of RRUs 13 are currently configured to perform the processing task (step 102). If one or more of the RRUs are configured to perform the processing task, the procedure is stopped (step 104) and the required processing task is performed. If not, a configuration file corresponding to the desired processing task is obtained (step 106). As discussed previously, the configuration file may be stored in the memory 18 or it can be obtained from an exterior source. After a configuration file is obtained, an amount of resources needed to implement the configuration file is determined (step 108). If the configuration file is an FPGA configuration data file, the file may include a preamble portion indicating resource requirements. The preamble portion can be read by the resource allocation unit 76 to determine the amount of required resources. In another scenario, the size of the configuration file can be used to estimate an amount of required resources. Also, a lookup table approach can be used to track resource requirements. Other methods for determining required resources are also possible. Next, resource availability in the plurality of RRUs 13 is checked (step 110). In one embodiment of the present invention, a resource availability map is maintained that indicates portions within each of the RRUs 12a-12n that are not currently configured for performing a desired function (or are configured for performing less important or outdated functions). Specific available resources are then identified within the plurality of RRUs 13 for implementing the configuration file (step 112). In one embodiment of the invention, a resource availability map is checked for each RRU to determine whether a single block of available resources exists in the RRU in the required size. If none of the RRUs include a single block of available resources in the required size, it is next determined whether multiple available blocks within a single RRU can be combined to provide the required functionality. If not, a combination of resource blocks from separate RRUs is considered. After the appropriate resources have been identified, the configuration file is used to configure the resources (step 114). If a single block of resources is not available for implementing the configuration file, additional work needs to be done to properly configure the available resources. As discussed above, situations can arise when the plurality of RRUs is almost fully configured with functions. In such a situation, new functions can be implemented only if one or more older functions are removed. In accordance with the present invention, a priority system is provided for prioritizing the allocation of resources between desired processing functions. That is, each function that is to be supported by the communicator 10 is given a priority value based on its overall importance in the communicator 10. The priority value can be, for example, a number between 1 and 10 where 1 designates the lowest priority and 10 designates the highest priority. If a processing function is absolutely mandatory for the communicator 10 to perform, the processing function will receive a priority value of 10. This processing function will never be removed from the plurality of RRUs 13. Other functions which are not as important will receive a lower priority value. When a new function is identified by the processing determination unit 74, the function will immediately receive a priority value. If that priority value is higher than functions already implemented in the plurality of the RRUs 13, and the plurality of RRUs 13 do not have any available resources, the lower priority functions will be replaced by the new function. Many times a new function identified by the processing determination unit 74 will take priority over all or most of the other functions. This may occur when it is absolutely mandatory that a signal having a specific waveform be transmitted into a communications channel (such as may be required in emergency situations). In one embodiment, the priority values assigned to various processing tasks are dynamically changed over time. For example, a function for generating a particular waveform may decrease in importance over time based on, for example, changing signal protocols. The priority value assigned to this task can therefore be correspondingly lowered. A very important advantage of the present invention over past communicator designs is the ability to provide graceful degradation. That is, a single RRU failure within a communicator of the present invention will not render the communicator useless. Communicators of the past having fixed, non-adaptable processing elements, on the other hand, are rendered nonfunctional when even a single circuit element fails. FIG. 7 is a flowchart illustrating a procedure for use in enhancing graceful degradation in a communicator in accordance with the present invention. First, a plurality of processing tasks to be supported by the communicator 10 are identified (step 120). Each of the identified processing tasks are next assigned priority values based on the importance of the processing task (step 122). Resources in the plurality of RRUs are then allocated to the plurality of tasks based on priority (step 124). The plurality of RRUs 13 is continuously monitored to determine whether any of the RRUs have become non-functional (step 126). If it is determined that a unit failure has occurred, the operational RRUs are reconfigured to perform the processing tasks having the highest priority values. The reconfiguration can be performed by, for example, delivering the appropriate configuration files to the functioning RRUs. As can be appreciated, the above-described procedure results in a situation where the most critical processing functions are always available within the communicator despite one or more unit failures. When a unit failure is detected, a message can be delivered to a user of the communicator 10, via user device 40, indicating that a failure has occurred and identifying the non-functioning RRU. The user may then replace the non-functioning unit with a spare. In accordance with one embodiment of the present invention, most or all of the RRUs used in a communicator are identical interchangeable units. Preferably, replacement units will be available off-the-shelf and will utilize standard interface connections. In one approach, the RRUs are implemented on small circuit boards that are insertable into standard expansion slots within a communicator. In an alternative embodiment, different types of RRUs are mixed in a single communicator. In one aspect of the present invention, the communicator 10 is extensible. That is, the communicator 10 includes means for extending its capabilities by, for example, adding additional RRUs. For example, in one embodiment, the communicator 10 is equipped with a plurality of unused expansion slots so that a user can add more RRUs as his needs increase. Alternatively, the communicator 10 can be made extensible by allowing older RRUs to be replaced by newer RRUs having increased capacity and/or enhanced functionality. Fig. 8 is a block diagram illustrating a communicator 100 in accordance with another embodiment of the present invention. As shown, the communicator 100 includes: a plurality of RRUs 102, a controller 104, a memory 106, a switch 108, and a user interface 110. The communicator 100 is coupled to a plurality of antennas 112a- 112m for providing an interface to a plurality of external wireless channels 114a- 114m. The switch 108 is coupled to the plurality of antennas 112a-112m for use in establishing connections between the plurality of RRUs 102 and the plurality of antennas 112a-112m in response to a control signal. The user interface 110 is coupled to one or more user devices 114 for providing an interface between one or more users of the communicator 100 and the plurality of RRUs 102. The controller 104 is operative for controlling the operation of the plurality of RRUs 102, the switch 108, and the user interface 110 and also for reconfiguring the plurality of RRUs based on system requirements. The controller 104 is coupled to the memory 106 for use in storing/retrieving, among other things, RRU configuration information. As before, each of the plurality of RRUs 102 is capable of performing varying processing functions based on a present configuration. Each RRU includes a control port 116 for, among other things, receiving configuration information from the controller 104 (such as configuration commands and/or files). During a receive operation, an RRU receives a signal from a corresponding antenna 112a-112m, via switch 108. The RRU then processes the receive signal according to a present configuration. The processed signal is then transferred to the user interface 110 which converts the signal to an appropriate format for delivery to an associated user device 114. As before, the user device 114 can include virtually any type of input/output device(s) that can be operated by a user of the communicator 100. During a transmit operation, a user at user device 114 delivers transmit information to the user interface 110 which converts it to an appropriate format for delivery to a predetermined RRU (corresponding to an external wireless channel into which the user wants to transmit). The RRU processes the information into an appropriate transmit signal format and delivers the transmit signal to the switch 108. The switch 108 then directs the transmit signal to the appropriate antenna in the plurality of antennas 112a-112m for delivery into the desired external wireless channel. It should be appreciated that additional processing (such as power amplification, up-conversion, etc.) can be performed between the switch 108 and the appropriate antenna in accordance with the present invention. In general, at least two of the external wireless channels 114a-114m utilize signal formats that are different from one another. In at least one embodiment, all of the external wireless channels 114a-114m utilize different signal formats. For example, in a system using frequency division multiplexing (FDM), each of the wireless channels is operative in a different, non-overlapping frequency range from the other channels. In a code division multiple access (CDMA) system, each of the wireless channels uses a different code from the other channels. In other systems, signal characteristics such as modulation type and/or encoding type (to name a few) can vary between external connections. In one embodiment of the invention, each of the plurality of antennas 112a- 112m is optimized for use within a different frequency range. This antenna arrangement would be useful, for example, in an FDM-based system. It should be appreciated, however, that a number of alternative antenna schemes are possible in accordance with the present invention. For example, antenna sharing can be implemented, wherein multiple external connections share one of the plurality of antennas 112a-112m. In an extension of the antenna sharing concept, a single broadband antenna can be used to replace the entire plurality of antennas 112a-112m (and also the switch 108). In a narrowband system, a single, relatively narrowband antenna can be used. In another approach, a phased array antenna having multiple beams can be used, wherein each beam services one of the external connections. Other antenna schemes are also possible. In addition, combinations of the above antenna schemes can also be implemented in accordance with the present invention. With reference to FIG. 8, it is noted that the communicator 100 is arranged into four physical channels (i.e., channel A, channel B, channel C, and channel D). It should be appreciated that any integer number of physical channels (i.e., N) can be used in accordance with the present invention. Each of the physical channels utilizes a dedicated RRU to perform required processing functions for the channel (e.g., channel A uses RRU 1 , channel B uses RRU 2, and so on). In accordance with one aspect of the present invention, channel multiplexing is implemented in the communicator 100 to allow the N physical channels to support greater than N external communications channels. In conceiving of the invention, it was recognized that physical channels within communicators typically have periods during which they are idle (i.e., there is no communications activity being processed within the physical channel). It was determined that full advantage could be taken of available resources within a communicator by reconfiguring the physical channels during idle periods to support different external communications channels. As described above, the reconfiguration can include the delivery of configuration information to an associated RRU within the physical channel to change the processing characteristics of the RRU. In this manner, optimal use can be made of available resources. Among other things, the controller 104 is operative for dynamically allocating the physical channels A-D to support the external communications channels 114a- 114m. In a preferred embodiment, this dynamic allocation includes determining when and how to reconfigure the plurality of RRUs 102 to implement channel multiplexing. FIG. 9 is a block diagram illustrating the functional elements of the controller 104 in one embodiment of the present invention. It should be appreciated that the controller 104 can also include other functions, such as those described earlier in connection with controller 16 of FIGs. 1 and 5. As illustrated in FIG. 9, the controller 104 includes: an idle detection unit 120, a reconfiguration unit 122, a switch control unit 124, an interface control unit 126, and a memory interface unit 128. The idle detection unit 120 is operative for determining when one or more of the physical channels (i.e., channels A-D) is idle. In one embodiment of the invention, the idle detection unit 120 monitors the processing activity of each of the plurality of RRUs 102 to determine which physical channels are idle. When an idle physical channel is detected, the idle detection unit 120 signals the reconfiguration unit 122 with the identity of the idle physical channel. In a preferred embodiment of the invention, the reconfiguration unit 122 keeps track of all active connections currently being supported by the communicator 100. That is, the reconfiguration unit 122 tracks all connections between the communicator 100 and external communications entities (via the plurality of external wireless channels 114a-114m) that currently require an allotment of processing resources in the communicator 100. In addition, the reconfiguration unit 122 maintains (or has access to) information specifying how an RRU needs to be configured to support each of the active connections. When the reconfiguration unit 122 learns of an idle physical channel, it checks to see whether there are any active connections that are not presently being supported by a physical channel. If so, the reconfiguration unit 122 reconfigures the idle physical channel to support the identified external connection. As discussed above, the reconfiguration unit 122 can do this by transferring appropriate configuration files to the RRU within the idle physical channel. The configuration files can be, for example, retrieved from the memory 106 using the memory interface functionality 128. When the external connection that was originally supported by the idle physical channel (which has now been reconfigured) again becomes active, the reconfiguration unit 122 will assign that external connection to the next physical channel to become idle. If a physical channel becomes idle during a period when there are no external connections waiting for a physical channel, then the physical channel is left in its current configuration until needed. In one embodiment of the present invention, a data storage device (such as a buffer memory) is provided for storing information signals that are waiting for the assignment of a physical channel. In accordance with the present invention, the reconfiguration unit 122 can include an interrupt functionality that allows it to reconfigure one of the physical channels even though the physical channel is not currently idle. For example, a situation may exist where ail of the plurality of RRUs 102 are currently servicing external connections (see, e.g., time t4 in FIG. 10). It is then determined that a new connection needs to be established immediately. Using the interrupt functionality, the reconfiguration unit 122 can "interrupt" one of the connections that are already active to allow the new connection to be made (i.e., to reconfigure the corresponding physical channel to support the new external connection). In one approach, a priority system (such as, for example, the one described previously in connection with communicator 10 of FIG. 1) is implemented to determine when interruptions are warranted. The reconfiguration unit 122 can also include time-out functionality for assigning a maximum connection time to a given connection after which the associated physical channel will be made available for use by another external connection that is waiting for a physical channel. If there are no external connections waiting to be assigned a physical channel, the original connection will be allowed to continue until there is another external connection in need of a physical channel. The time-out period can be different for different external connections depending on, for example, an assigned priority value. After a given external connection has "timed-out" and an associated physical channel has been reconfigured, the timed-out external connection must wait for another physical channel to become available (e.g., by becoming idle or by timing out). By utilizing time-out functionality, the communicator 100 is able to achieve a more equitable distribution of physical resources to a plurality of external connections. The switch control unit 124 is operative for maintaining the proper connections between the plurality of RRUs 102 and the plurality of antennas 112a-112m. As described above, in a preferred embodiment of the invention, the plurality of antennas 112a-112m is operative in many different frequency ranges. For example, antenna 112a may be operative at X band while antenna 112b is operative at K band. Therefore, the antenna that an RRU needs to be connected to at a particular time is dictated by the frequency band of the signal that it is currently operating with. The switch control unit 124 receives input from the reconfiguration unit 122 describing how each of the RRUs are currently configured. The switch control unit 124 uses this information to determine which of the antennas each RRU should be connected to. The switch control unit 124 then instructs the switch 108 to establish the desired connections. In one embodiment, the switch 108 includes a plurality of multiplexers, each having an output connected to one of the plurality of RRUs 102 and a number of inputs that are each connected to one of the plurality of antennas 112a-112m. The switch control unit 124 causes a select signal to be delivered to each of the multiplexers so that the appropriate antenna is coupled to the corresponding RRU. The interface control unit 126 is operative for controlling the user interface unit 110. Based on configuration information from the reconfiguration unit 122, the interface control unit 126 determines which user device 114 is to receive the communication information from each of the plurality of RRUs 102. The user interface unit 110 then performs the appropriate interfacing functions under the control of the interface control unit 126. In one embodiment of the invention, there is only a single user device 114 and therefore no routing function is performed by the interface control unit 126. FIG. 10 is a timing diagram illustrating the dynamic allocation of four physical channels (i.e., channel A-channel D) to seven external channels W1-W7 over time, in accordance with one embodiment of the present invention. As illustrated, each of the physical channels supports multiple external channels over time. The X's within each physical channel correspond to changes in the status of the physical channel. For example, an X can indicate a point in time where a physical channel is reconfigured to support a different external communications channel. Also, an X can indicate a point in time where a physical channel changes from an idle state to a non-idle state, or vice-versa. It should be noted from FIG. 10 that the physical channel supporting a particular external channel can change over time in accordance with the present invention. For example, as illustrated, external channel W2 can be supported by physical channel A during time interval T1 (for a receive operation) and physical channel D during interval T2 (for a transmit operation). It should also be noted from FIG. 10 that multiple physical channels can be dedicated to a single external channel during a given time period in accordance with the present invention. For example, during time interval T3, external channel W4 occupies both physical channel A and physical channel B. This technique is generally used when a single RRU does not include enough resources to support a particular signal format or protocol by itself. It should be appreciated that the above description relates to specific embodiments of the present invention and is not intended to unduly limit the breadth of the invention. That is, various modifications can be made to the above-described structures without departing from the spirit and scope of the invention. For example, in one such modification, the communicator of the present invention is implemented in a wired communications system or a hybrid wired/wireless system, in which case some or all of the antennas 22a-22m, 112a-112m are replaced by interfaces to one or more wired systems. In addition, the communicator of the present invention is not limited to transceiver applications. That is, the communicator can be implemented as a receiver, a transmitter, or any other processing apparatus within a communications system.

Claims: CLAIMS What is claimed is: 1. A communicator for use in a communications system, comprising: a plurality of physical channels, each of said plurality of physical channels including a dedicated processor for processing a communication signal propagating through said physical channel, said plurality of physical channels consisting of N physical channels, where N is an integer; at least one antenna for providing an interface between said plurality of physical channels and a plurality of active external wireless communications channels, said plurality of active external wireless communications channels consisting of M wireless communications channels, where M is an integer that is greater than N; and a controller coupled to said plurality of physical channels for dynamically allocating said plurality of physical channels to said plurality of active external wireless communications channels thereby enabling said plurality of physical channels to support communications over said plurality of active external wireless communications channels. 2. The communicator, as claimed in claim 1 , wherein: each of said plurality of physical channels includes a reconfigurable resource unit (RRU) that is capable of being repeatedly reconfigured to support varying wireless signal formats; and said controller includes a reconfiguration unit for dynamically reconfiguring a first RRU to support a different wireless signal format based on a present allocation of said plurality of physical channels. 3. The communicator, as claimed in claim 1 , wherein: said controller includes an idle detection unit for detecting an idle operational period in said plurality of physical channels. 4. The communicator, as claimed in claim 1 , wherein: at least two of said plurality of active external wireless communications channels use a different wireless signal format from one another. 5. The communicator, as claimed in claim 1 , wherein: said at least one antenna includes a plurality of antennas, wherein each of said plurality of antennas is associated with at least one of said plurality of active external wireless communications channels. 6. A communicator for use in a communications system, comprising: a plurality of physical channels, each of said plurality of physical channels including a dedicated reconfigurable resource unit (RRU) for processing a communication signal within said physical channel, wherein said RRU is capable of being repeatedly reconfigured to support varying wireless signal formats; at least one antenna for providing an interface between said plurality of physical channels and a plurality of external wireless communications channels, wherein each of said plurality of external wireless communications channels is associated with a specific wireless signal format; and a controller coupled to said plurality of physical channels for dynamically allocating said plurality of physical channels to said plurality of external wireless communications channels, said controller including a reconfiguration unit for dynamically reconfiguring a first physical channel in said plurality of physical channels from a first configuration supporting a first wireless signal format to a second configuration supporting a second wireless signal format, wherein said second wireless signal format is different from said first wireless signal format. 7. The communicator, as claimed in claim 6, wherein: said plurality of external wireless communications channels consists of M communications channels and said plurality of physical channels consists of N physical channels, wherein M is greater than N. 8. An apparatus for performing channel multiplexing in a communication system, comprising: a reconfigurable resource unit (RRU) that is capable of being repeatedly reconfigured to support varying wireless signal formats; a first interface for use in coupling said RRU to a first external wireless communications channel, said first external wireless communications channel using a first wireless signal format; a second interface for use in coupling said RRU to a second external wireless communications channel, said second external wireless communications channel using a second wireless signal format that is different from said first wireless signal format; and a controller, coupled to said RRU, for dynamically reconfiguring said RRU between a first configuration supporting said first wireless signal format and a second configuration supporting said second wireless signal format, said controller including means for determining whether to couple said RRU to said first external wireless communications channel using said first interface or said second external wireless communications channel using said second interface. 9. The apparatus, as claimed in claim 8, wherein: said first interface includes a first antenna operable within a first frequency range and said second interface includes a second antenna operable within a second frequency range, wherein said second frequency range is different from said first frequency range. 10. A method for performing channel multiplexing in a wireless communication system, comprising: providing a reconfigurable resource unit (RRU) that is capable of being repeatedly reconfigured to support varying signal formats; first configuring said RRU to support a first wireless signal format and coupling said RRU to a first wireless communications channel that uses said first wireless signal format; monitoring said RRU, after said step of first configuring, to determine when said RRU has become idle; and second configuring said RRU, when said RRU has become idle, to support a second wireless signal format and coupling said RRU to a second wireless communications channel that uses a second wireless signal format.

Inventors: CAMPINI EDOARDO, PALERMO KEITH CHARLES, SHARRIT JOHN PAUL, CAMPINI, EDOARDO, PALERMO, KEITH, CHARLES, SHARRIT, JOHN, PAUL
Applicants: CAMPINI EDOARDO, MOTOROLA INC, PALERMO KEITH CHARLES, SHARRIT JOHN PAUL, CAMPINI, EDOARDO, MOTOROLA, INC., PALERMO, KEITH, CHARLES, SHARRIT, JOHN, PAUL
Application year: 1999
Main classification: H04Q7
IPC codes: H04W88