WO1999060715A1 - Communicator having reconfigurable resources - Google Patents

Communicator having reconfigurable resources Download PDF

Info

Publication number
WO1999060715A1
WO1999060715A1 PCT/US1999/011019 US9911019W WO9960715A1 WO 1999060715 A1 WO1999060715 A1 WO 1999060715A1 US 9911019 W US9911019 W US 9911019W WO 9960715 A1 WO9960715 A1 WO 9960715A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal
communicator
resource units
processing
controller
Prior art date
Application number
PCT/US1999/011019
Other languages
French (fr)
Inventor
Paul Sharrit
Edoardo Campini
Original Assignee
Motorola, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola, Inc. filed Critical Motorola, Inc.
Priority to JP2000550220A priority Critical patent/JP2002516511A/en
Priority to CA002331313A priority patent/CA2331313C/en
Priority to EP99925671A priority patent/EP1080541B8/en
Priority to IL13874099A priority patent/IL138740A0/en
Priority to PL99344663A priority patent/PL344663A1/en
Priority to DE69926234T priority patent/DE69926234D1/en
Priority to KR1020007011216A priority patent/KR20010042554A/en
Priority to AU41913/99A priority patent/AU749911B2/en
Publication of WO1999060715A1 publication Critical patent/WO1999060715A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/0003Software-defined radio [SDR] systems, i.e. systems wherein components typically implemented in hardware, e.g. filters or modulators/demodulators, are implented using software, e.g. by involving an AD or DA conversion stage such that at least part of the signal processing is performed in the digital domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Definitions

  • the present invention relates in general to communications systems and, more particularly, to communications systems utilizing programmable elements.
  • 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.
  • 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.
  • 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.
  • the communicator is capable of receiving and implementing new configuration files from an exterior environment.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • each of the RRUs can be dynamically 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.
  • 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.
  • each of the RRUs 12a-12n can take any one of a large variety of different forms.
  • 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.
  • each of these antennas is optimized for operation in a specific frequency band that is different from the other antennas.
  • 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 array of antennas 22a-22n can be replaced by a single narrowband antenna.
  • a phased array antenna generating multiple beams is utilized.
  • 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.
  • 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.
  • 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.
  • 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 spectrum information may identify a rather large signal in a portion of the spectrum utilized by one of the antennas 22a-22n.
  • controller 16 can connect that antenna to the signal bus 14 to further investigate the unidentified signal.
  • the controller 16 can use the signal classifier to determine whether the signal is of interest. If the signal is
  • the user device 40 can be virtually any type of input/output device.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the personal computer can deliver new and/or updated configuration files to the controller 16 for storage in the memory 18.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • a communication signal is received from a wireless communications channel by one of the plurality of antennas 22a-22n.
  • 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 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.
  • 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.
  • 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.
  • 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.
  • the controller 16 will reconfigure one or more of the RRUs 12a-12n to include the required functionality.
  • the RRUs 12a-12n can each include any type of processing device that can be dynamically altered to perform varying processing functions.
  • an RRU 52 can include a digital signal processor (DSP) 42 coupled to a random access memory (RAM) 44.
  • DSP digital signal processor
  • RAM random access memory
  • 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 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.
  • 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.
  • HDD hard disk drive
  • controller 16 can deliver additional software programs to DSP 42 for storage in HDD 46.
  • 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.
  • an RRU 54 includes a general purpose processor (GPP) 48 and a field programmable gate array (FPGA) 50.
  • GPS general purpose processor
  • FPGA field programmable gate array
  • 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.
  • 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.
  • 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
  • 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 FPGA 62 and/or software programs (e.g., software modules) to DSP 64 as needed to reconfigure these units.
  • software programs e.g., software modules
  • DSP 64 DSP 64
  • the above- described RRU configurations are merely exemplary of the large number of configurations that can be utilized in accordance with the present invention.
  • reconfigurable units can also be implemented using devices such as fast flash memories and various forms of non-volatile memory.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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
  • the unit 40 via user interface 28, instructing the unit 76 to provide specific functionality.
  • a user may desire communicator 10 to be interoperable with an external communication system that uses a specific signal format.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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.
  • 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.
  • the processing task can include virtually any task that may be required in a communications system.
  • 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.
  • a new or modified signal format such as a particular demodulation function
  • a mathematical function such as integration
  • a standard communications function such as downconversion
  • 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.
  • resource availability in the plurality of RRUs 13 is checked (step 110).
  • 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).
  • 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.
  • 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.
  • 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.
  • a new function 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.
  • FIG. 7 is a flowchart illustrating a procedure for use in enhancing graceful degradation in a communicator in accordance with the present invention.
  • 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.
  • 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.
  • 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.
  • 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.
  • the communicator 10 is extensible. That is, the communicator 10 includes means for extending its capabilities by, for example, adding additional RRUs.
  • the communicator 10 is equipped with a plurality of unused expansion slots so that a user can add more RRUs as his needs increase.
  • the communicator 10 can be made extensible by allowing older RRUs to be replaced by newer RRUs having increased capacity and/or enhanced functionality.
  • 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 are replaced by interfaces to one or more wired systems.
  • 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.

Abstract

A communicator (10) includes a plurality of reconfigurable resource units (13) that can each be dynamically altered to perform any of a multitude of processing tasks. A controller (16) determines a plurality of processing tasks to be supported by the communicator (10) and configures the plurality of reconfigurable resource units (13) accordingly. A memory (18) stores a library of configuration files for use by the controller (16) in configuring the plurality of reconfigurable resource units (13). In one embodiment, the controller (16) continuously adapts the plurality of reconfigurable resource units (13) according to present system requirements.

Description

COMMUNICATOR HAVING RECONFIGURABLE RESOURCES
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; and
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.
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.
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 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 array 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 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 FPGA 62 and/or software programs (e.g., software modules) to 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.
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 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

CLAIMSWhat is claimed is:
1. A communicator for use in a communications system, comprising: a plurality of reconfigurable resource units for use in processing communications signals, each of said reconfigurable resource units being able to perform any of a plurality of different processing tasks based on a present configuration, wherein each of said reconfigurable resource units includes an input for receiving configuration information; a memory for storing a library of configuration files for use in configuring said plurality of reconfigurable resource units; and a controller including means for determining processing tasks that need to be performed by said communicator and means for configuring said plurality of reconfigurable resource units in accordance with said processing tasks, wherein said controller is coupled to said memory for accessing said library of configuration files, wherein said means for configuring includes: a resource allocation unit for allocating resources in said plurality of reconfigurable resource units to each of said processing tasks; means for retrieving a first configuration file from said memory; and means for delivering said first configuration file to a first location in said plurality of reconfigurable resource units, wherein aid first location is determined by said resource allocation unit.
2. The communicator, as claimed in claim 1 , further comprising: a channel monitor, coupled to said controller, for monitoring a spectral environment about said communicator, wherein said controller configures said plurality of reconfigurable resource units based on said spectral environment.
3. The communicator, as claimed in claim 1 further comprising: a signal classifier, coupled to said controller, for determining a signal type of a communications signal received from a communications channel, wherein said controller configures said plurality of reconfigurable resource units based on said signal type.
4. The communicator, as claimed in claim 1 , wherein: at least one of said reconfigurable resource units in said plurality of reconfigurable resource units includes a digital signal processor (DSP) having a random access memory (RAM) for storing software programs, said DSP being capable of executing software programs stored in said RAM, wherein said DSP includes means for receiving new software programs files from an exterior environment.
5. The communicator, as claimed in claim 1 , further comprising: a configuration antenna, coupled to said controller, for receiving configuration information from an exterior environment.
6. A communicator for use in a communications system, comprising: a receiver having at least one input for receiving a configuration file for use in configuring said receiver to properly process a signal, having a predetermined signal type, received from a communications channel; a memory for storing a plurality of configuration files, wherein each of said configuration files corresponds to a particular signal type that can be received by said receiver; a determination unit for determining a first signal type to be processed by said receiver; and a retrieval unit for retrieving a configuration file corresponding to said first signal type from said memory and for delivering said first configuration file to said at least one input of said receiver in response to said determination unit.
7. The communicator, as claimed in claim 6, further comprising: a signal classifier for determining a signal type of a first signal received from said communications channel, wherein said determination unit is responsive to said signal classifier.
8. The communicator, as claimed in claim 6, wherein: said plurality of configuration files includes a plurality of software modules, wherein each of said software modules is for use, in conjunction with a central processing unit, in processing a signal having a specific signal type.
9. A method for use with a communicator having a plurality of reconfigurable resource units capable of processing communications signals, wherein each of said reconfigurable resource units includes an input for receiving configuration information, said method comprising the steps of: determining a processing task that needs to be performed to process a communications signal in the communicator; ascertaining whether any of the plurality of reconfigurable resource units are presently configured to perform said processing task; and when none of said reconfigurable resource units are presently configured to perform said processing task, reconfiguring one or more of said plurality of reconfigurable resource units to perform said processing task.
10. The method, as claimed in claim 9, wherein: said step of determining a processing task includes monitoring a spectral environment in a communications channel serviced by the communicator and determining an optimal signal format for use in said communications channel in light of said spectral environment.
PCT/US1999/011019 1998-05-18 1999-05-18 Communicator having reconfigurable resources WO1999060715A1 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2000550220A JP2002516511A (en) 1998-05-18 1999-05-18 Communication device with reconfigurable resources
CA002331313A CA2331313C (en) 1998-05-18 1999-05-18 Communicator having reconfigurable resources
EP99925671A EP1080541B8 (en) 1998-05-18 1999-05-18 Communicator having reconfigurable resources
IL13874099A IL138740A0 (en) 1998-05-18 1999-05-18 Communicator having reconfigurable resources
PL99344663A PL344663A1 (en) 1998-05-18 1999-05-18 Communicator having reconfigurable resources
DE69926234T DE69926234D1 (en) 1998-05-18 1999-05-18 COMMUNICATION DEVICE WITH RECONFIGURABLE RESOURCES
KR1020007011216A KR20010042554A (en) 1998-05-18 1999-05-18 Communicator having reconfigurable resources
AU41913/99A AU749911B2 (en) 1998-05-18 1999-05-18 Communicator having reconfigurable resources

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/080,113 1998-05-18
US09/080,113 US5999990A (en) 1998-05-18 1998-05-18 Communicator having reconfigurable resources

Publications (1)

Publication Number Publication Date
WO1999060715A1 true WO1999060715A1 (en) 1999-11-25

Family

ID=22155344

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/011019 WO1999060715A1 (en) 1998-05-18 1999-05-18 Communicator having reconfigurable resources

Country Status (10)

Country Link
US (1) US5999990A (en)
EP (1) EP1080541B8 (en)
JP (1) JP2002516511A (en)
KR (1) KR20010042554A (en)
AU (1) AU749911B2 (en)
CA (1) CA2331313C (en)
DE (1) DE69926234D1 (en)
IL (1) IL138740A0 (en)
PL (1) PL344663A1 (en)
WO (1) WO1999060715A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004021109A2 (en) 2002-08-29 2004-03-11 Bae Systems Information And Electronic Systems Integration Inc Configuration engine
EP1947872A1 (en) * 2007-01-22 2008-07-23 Alcatel Lucent Software defined radio base station and configuration method
EP2086245A1 (en) * 2006-11-20 2009-08-05 Huawei Technologies Co Ltd Multi-mode base station and operating method and wireless communication system thereof
WO2009104144A1 (en) * 2008-02-19 2009-08-27 Nxp B.V. Software defined radio
US11297603B2 (en) 2010-08-17 2022-04-05 Dali Wireless, Inc. Neutral host architecture for a distributed antenna system
US20220295487A1 (en) 2010-09-14 2022-09-15 Dali Wireless, Inc. Remotely reconfigurable distributed antenna system and methods
US11818642B2 (en) 2006-12-26 2023-11-14 Dali Wireless, Inc. Distributed antenna system

Families Citing this family (207)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
DE19651075A1 (en) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Unit for processing numerical and logical operations, for use in processors (CPU's), multi-computer systems, data flow processors (DFP's), digital signal processors (DSP's) or the like
US6169789B1 (en) * 1996-12-16 2001-01-02 Sanjay K. Rao Intelligent keyboard system
DE19654595A1 (en) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0 and memory bus system for DFPs as well as building blocks with two- or multi-dimensional programmable cell structures
EP1329816B1 (en) 1996-12-27 2011-06-22 Richter, Thomas Method for automatic dynamic unloading of data flow processors (dfp) as well as modules with bidimensional or multidimensional programmable cell structures (fpgas, dpgas or the like)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
FI107842B (en) * 1997-09-23 2001-10-15 Nokia Networks Oy Adaptive processor system
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (en) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Repairing integrated circuits by replacing subassemblies with substitutes
US6789135B1 (en) * 1998-09-09 2004-09-07 Matsushita Electric Industrial Co., Ltd. Apparatus function change system having an apparatus service center containing customer information and setting information for a reconfigurable chip
EP1351154A2 (en) * 1998-11-20 2003-10-08 Altera Corporation Reconfigurable programmable logic device computer system
US6539438B1 (en) * 1999-01-15 2003-03-25 Quickflex Inc. Reconfigurable computing system and method and apparatus employing same
US6687285B1 (en) * 1999-03-19 2004-02-03 Qualcomm Incorporated Method and apparatus for supervising the performance of a quick paging channel in a dual event slotted paging system
JP3601677B2 (en) * 1999-06-09 2004-12-15 日本電気株式会社 Task processing system
JP2003505753A (en) 1999-06-10 2003-02-12 ペーアーツェーテー インフォルマツィオーンステヒノロギー ゲゼルシャフト ミット ベシュレンクテル ハフツング Sequence division method in cell structure
US6658498B1 (en) * 1999-12-08 2003-12-02 International Business Machines Corporation Method, system, program, and data structures for reconfiguring output devices in a network system
US6594541B1 (en) * 2000-01-10 2003-07-15 Siemens Aktiengesellschaft Universal motion control
ATE257253T1 (en) * 2000-01-10 2004-01-15 Siemens Ag UNIVERSAL MOTION CONTROL
US7099855B1 (en) 2000-01-13 2006-08-29 International Business Machines Corporation System and method for electronic communication management
US7661107B1 (en) * 2000-01-18 2010-02-09 Advanced Micro Devices, Inc. Method and apparatus for dynamic allocation of processing resources
GB2382498B (en) * 2000-01-24 2003-11-05 Radioscape Ltd Digital wireless basestation
US6701431B2 (en) * 2000-01-28 2004-03-02 Infineon Technologies Ag Method of generating a configuration for a configurable spread spectrum communication device
US7158982B2 (en) 2000-02-04 2007-01-02 America Online, Inc. Declarative, data-neutral client-server data transport mechanism
JP2001243676A (en) * 2000-02-29 2001-09-07 Sony Corp Device, method and medium for information processing
US7043641B1 (en) 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
US7988559B2 (en) 2001-03-08 2011-08-02 Igt Computerized gaming system, method and apparatus
US7703107B2 (en) * 2000-04-06 2010-04-20 Infineon Technologies Ag Virtual machine interface for hardware reconfigurable and software programmable processors
US8020176B2 (en) 2000-04-06 2011-09-13 Infineon Technologies Ag Virtual machine interface for hardware reconfigurable and software programmable processors
WO2001091428A2 (en) 2000-05-23 2001-11-29 Actineon Inc. Programmable communicator
GB0012773D0 (en) * 2000-05-25 2000-07-19 Radioscape Ltd Programmable single-chip device and related development environment
DE60101271T2 (en) * 2000-05-26 2004-08-26 Roke Manor Research Ltd., Romsey ADMINISTRATIVE MODULE FOR SOFTWARE DEFINED RADIO
WO2001090890A1 (en) * 2000-05-26 2001-11-29 Roke Manor Research Limited Reconfiguration manager
DE50115584D1 (en) 2000-06-13 2010-09-16 Krass Maren PIPELINE CT PROTOCOLS AND COMMUNICATION
US8290768B1 (en) 2000-06-21 2012-10-16 International Business Machines Corporation System and method for determining a set of attributes based on content of communications
US9699129B1 (en) 2000-06-21 2017-07-04 International Business Machines Corporation System and method for increasing email productivity
US6408277B1 (en) 2000-06-21 2002-06-18 Banter Limited System and method for automatic task prioritization
US20030028690A1 (en) * 2000-07-20 2003-02-06 John Appleby-Alis System, method and article of manufacture for a reconfigurable hardware-based multimedia device
US6915518B1 (en) * 2000-07-24 2005-07-05 Xilinx, Inc. System and method for runtime reallocation of PLD resources
US20020015401A1 (en) * 2000-08-03 2002-02-07 Ravi Subramanian Flexible TDMA system architecture
EP1356400A2 (en) 2000-08-07 2003-10-29 Altera Corporation Inter-device communication interface
US7343594B1 (en) 2000-08-07 2008-03-11 Altera Corporation Software-to-hardware compiler with symbol set inference analysis
US7530070B1 (en) * 2000-08-10 2009-05-05 Agere Systems Inc. Dynamically configurable architecture for mixed data processing
SG118066A1 (en) * 2000-08-25 2006-01-27 Serial System Ltd A reconfigurable communication interface and method therefor
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US6976217B1 (en) * 2000-10-13 2005-12-13 Palmsource, Inc. Method and apparatus for integrating phone and PDA user interface on a single processor
WO2002056481A2 (en) * 2000-10-27 2002-07-18 Chameleon Systems, Inc. System and method of implementing a wireless communication system using a reconfigurable chip with a reconfigurable fabric
GB0028463D0 (en) * 2000-11-22 2001-01-10 Univ Surrey Reconfiguration management architectures
DE60009095T2 (en) * 2000-12-07 2004-08-19 Motorola, Inc., Schaumburg Multi-branch communication receiver
US6473037B2 (en) 2000-12-12 2002-10-29 Harris Corporation Phased array antenna system having prioritized beam command and data transfer and related methods
US6593881B2 (en) 2000-12-12 2003-07-15 Harris Corporation Phased array antenna including an antenna module temperature sensor and related methods
US6824307B2 (en) 2000-12-12 2004-11-30 Harris Corporation Temperature sensor and related methods
US6690324B2 (en) 2000-12-12 2004-02-10 Harris Corporation Phased array antenna having reduced beam settling times and related methods
US6573863B2 (en) 2000-12-12 2003-06-03 Harris Corporation Phased array antenna system utilizing highly efficient pipelined processing and related methods
US6573862B2 (en) 2000-12-12 2003-06-03 Harris Corporation Phased array antenna including element control device providing fault detection and related methods
US6587077B2 (en) 2000-12-12 2003-07-01 Harris Corporation Phased array antenna providing enhanced element controller data communication and related methods
US6522294B2 (en) 2000-12-12 2003-02-18 Harris Corporation Phased array antenna providing rapid beam shaping and related methods
US6522293B2 (en) 2000-12-12 2003-02-18 Harris Corporation Phased array antenna having efficient compensation data distribution and related methods
US7644057B2 (en) 2001-01-03 2010-01-05 International Business Machines Corporation System and method for electronic communication management
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
KR100378820B1 (en) * 2001-03-05 2003-04-07 엘지전자 주식회사 Application download apparatus and method for sdr terminal equipment
AU2002347560A1 (en) 2001-06-20 2003-01-02 Pact Xpp Technologies Ag Data processing method
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
DE60215207T2 (en) * 2001-09-26 2007-08-30 Koninklijke Philips Electronics N.V. METHOD AND DEVICE FOR A RECONFIGURABLE MULTIMEDIA SYSTEM
US7931533B2 (en) * 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US6902481B2 (en) 2001-09-28 2005-06-07 Igt Decoupling of the graphical presentation of a game from the presentation logic
US8708828B2 (en) 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
CA2358681C (en) * 2001-10-12 2008-01-15 Ibm Canada Limited-Ibm Canada Limitee Resource adapter and integrated development environment
US6646600B2 (en) 2001-11-09 2003-11-11 Harris Corporation Phased array antenna with controllable amplifier bias adjustment and related methods
US6496143B1 (en) 2001-11-09 2002-12-17 Harris Corporation Phased array antenna including a multi-mode element controller and related method
US7467139B1 (en) * 2001-11-13 2008-12-16 Unisys Corporation Library lock management
WO2003045519A1 (en) 2001-11-26 2003-06-05 Igt Pass-through live validation device and method
WO2003060747A2 (en) 2002-01-19 2003-07-24 Pact Xpp Technologies Ag Reconfigurable processor
AU2003214003A1 (en) 2002-02-18 2003-09-09 Pact Xpp Technologies Ag Bus systems and method for reconfiguration
US7342571B2 (en) * 2002-02-28 2008-03-11 Palm, Inc. Interchangeable display modules for portable handheld devices
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
EP1359674A1 (en) * 2002-04-10 2003-11-05 Mitsubishi Electric Information Technology Centre Europe Receiver comprising a demodulator for processing modulated digital data
US6768943B2 (en) 2002-04-18 2004-07-27 Aviation Communication & Surveillance Systems, Llc System and method using environment memory having signatures
GB0211644D0 (en) 2002-05-21 2002-07-03 Wesby Philip B System and method for remote asset management
US11337047B1 (en) 2002-05-21 2022-05-17 M2M Solutions Llc System and method for remote asset management
US20030220987A1 (en) * 2002-05-21 2003-11-27 Aviation Communication & Surveillance Systems, Llc System and method with environment memory for input/output configuration
US6954446B2 (en) * 2002-06-25 2005-10-11 Motorola, Inc. Multiple mode RF communication device
US6801642B2 (en) 2002-06-26 2004-10-05 Motorola, Inc. Method and apparatus for limiting storage or transmission of visual information
US20040025004A1 (en) * 2002-08-02 2004-02-05 Gorday Robert Mark Reconfigurable logic signal processor (RLSP) and method of configuring same
US7007203B2 (en) * 2002-08-02 2006-02-28 Motorola, Inc. Error checking in a reconfigurable logic signal processor (RLSP)
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
EP1537486A1 (en) 2002-09-06 2005-06-08 PACT XPP Technologies AG Reconfigurable sequencer structure
US20040068372A1 (en) * 2002-10-03 2004-04-08 Ybarra Kathryn W. Threat avoidance system and methods using adjustments to built-in values
US7840434B2 (en) * 2002-10-29 2010-11-23 At&T Intellectual Property I, L. P. Methods and systems for assigning multiple tasks
US7389230B1 (en) 2003-04-22 2008-06-17 International Business Machines Corporation System and method for classification of voice signals
US20040215864A1 (en) * 2003-04-28 2004-10-28 International Business Machines Corporation Non-disruptive, dynamic hot-add and hot-remove of non-symmetric data processing system resources
US8495002B2 (en) 2003-05-06 2013-07-23 International Business Machines Corporation Software tool for training and testing a knowledge base
US20050187913A1 (en) 2003-05-06 2005-08-25 Yoram Nelken Web-based customer service interface
EP1676208A2 (en) 2003-08-28 2006-07-05 PACT XPP Technologies AG Data processing device and method
KR100575734B1 (en) * 2003-08-30 2006-05-03 엘지전자 주식회사 Packet data receive method for mobile communication device
US8775112B2 (en) * 2003-09-15 2014-07-08 Nvidia Corporation System and method for increasing die yield
US8775997B2 (en) * 2003-09-15 2014-07-08 Nvidia Corporation System and method for testing and configuring semiconductor functional circuits
US8732644B1 (en) 2003-09-15 2014-05-20 Nvidia Corporation Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits
GB2406662A (en) * 2003-09-30 2005-04-06 Toshiba Res Europ Ltd Configuring a computer apparatus
GB2407178B (en) * 2003-10-17 2006-07-12 Toshiba Res Europ Ltd Reconfigurable signal processing module
US6880940B1 (en) * 2003-11-10 2005-04-19 Honda Motor Co., Ltd. Magnesium mirror base with countermeasures for galvanic corrosion
US8711161B1 (en) 2003-12-18 2014-04-29 Nvidia Corporation Functional component compensation reconfiguration system and method
US9026070B2 (en) 2003-12-18 2015-05-05 Qualcomm Incorporated Low-power wireless diversity receiver with multiple receive paths
US7170753B2 (en) * 2003-12-30 2007-01-30 Intel Corporation Interface enhancement for modular platform applications
US7444166B2 (en) * 2004-02-12 2008-10-28 Qualcomm Incorporated Wireless diversity receiver with shared receive path
US20050267998A1 (en) * 2004-05-27 2005-12-01 Ferguson Alan L Interchangeable communication modules for work machines
EP1750376B1 (en) * 2004-06-14 2015-10-21 Panasonic Intellectual Property Management Co., Ltd. Radio communication device
US8723231B1 (en) * 2004-09-15 2014-05-13 Nvidia Corporation Semiconductor die micro electro-mechanical switch management system and method
US8711156B1 (en) 2004-09-30 2014-04-29 Nvidia Corporation Method and system for remapping processing elements in a pipeline of a graphics processing unit
DE102005010476A1 (en) * 2005-03-04 2006-09-07 Daimlerchrysler Ag Control unit with configurable hardware modules
US8021193B1 (en) * 2005-04-25 2011-09-20 Nvidia Corporation Controlled impedance display adapter
US7793029B1 (en) 2005-05-17 2010-09-07 Nvidia Corporation Translation device apparatus for configuring printed circuit board connectors
US8463319B2 (en) * 2005-06-17 2013-06-11 Honeywell International Inc. Wireless application installation, configuration and management tool
US8095173B2 (en) * 2005-08-22 2012-01-10 Intel Corporation Wireless communication device with physical-layer reconfigurable processing engines
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US8146090B2 (en) * 2005-09-29 2012-03-27 Rockstar Bidco, LP Time-value curves to provide dynamic QoS for time sensitive file transfer
US9092170B1 (en) 2005-10-18 2015-07-28 Nvidia Corporation Method and system for implementing fragment operation processing across a graphics bus interconnect
US9450665B2 (en) 2005-10-19 2016-09-20 Qualcomm Incorporated Diversity receiver for wireless communication
KR100795954B1 (en) * 2005-10-25 2008-01-21 엘지전자 주식회사 The apparatus and method for resource management of mobile telecommunication terminal
US8412872B1 (en) 2005-12-12 2013-04-02 Nvidia Corporation Configurable GPU and method for graphics processing using a configurable GPU
US8417838B2 (en) * 2005-12-12 2013-04-09 Nvidia Corporation System and method for configurable digital communication
EP1974265A1 (en) 2006-01-18 2008-10-01 PACT XPP Technologies AG Hardware definition method
US8266198B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
JP4684909B2 (en) * 2006-02-16 2011-05-18 富士通株式会社 Software defined radio
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
WO2007125459A1 (en) * 2006-04-28 2007-11-08 Nxp B.V. Software defined radio device and configuration method of the same
US7822799B1 (en) 2006-06-26 2010-10-26 Altera Corporation Adder-rounder circuitry for specialized processing block in programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US7958433B1 (en) 2006-11-30 2011-06-07 Marvell International Ltd. Methods and systems for storing data in memory using zoning
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US7814137B1 (en) 2007-01-09 2010-10-12 Altera Corporation Combined interpolation and decimation filter for programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US20090033359A1 (en) * 2007-07-31 2009-02-05 Broadcom Corporation Programmable logic device with millimeter wave interface and method for use therewith
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US20090061787A1 (en) * 2007-08-30 2009-03-05 Rainer Koller Transceiver, rf-transceiver, communication system and method for transferring control packets
US8724483B2 (en) * 2007-10-22 2014-05-13 Nvidia Corporation Loopback configuration for bi-directional interfaces
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8626815B1 (en) 2008-07-14 2014-01-07 Altera Corporation Configuring a programmable integrated circuit device to perform matrix multiplication
US8255448B1 (en) 2008-10-02 2012-08-28 Altera Corporation Implementing division in a programmable integrated circuit device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8549055B2 (en) 2009-03-03 2013-10-01 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8805916B2 (en) 2009-03-03 2014-08-12 Altera Corporation Digital signal processing circuitry with redundancy and bidirectional data paths
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8687639B2 (en) * 2009-06-04 2014-04-01 Nvidia Corporation Method and system for ordering posted packets and non-posted packets transfer
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US9176909B2 (en) 2009-12-11 2015-11-03 Nvidia Corporation Aggregating unoccupied PCI-e links to provide greater bandwidth
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8458243B1 (en) 2010-03-03 2013-06-04 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US9331869B2 (en) * 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
JP5859538B2 (en) * 2010-08-17 2016-02-10 ダリ システムズ カンパニー リミテッド Remotely reconfigurable distributed antenna system and distributed antenna method
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
GB2484708A (en) * 2010-10-21 2012-04-25 Bluewireless Technology Ltd Data processing systems
GB2484707B (en) * 2010-10-21 2014-07-16 Bluwireless Tech Ltd Data processing systems
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US9178669B2 (en) 2011-05-17 2015-11-03 Qualcomm Incorporated Non-adjacent carrier aggregation architecture
US9252827B2 (en) 2011-06-27 2016-02-02 Qualcomm Incorporated Signal splitting carrier aggregation receiver architecture
US9154179B2 (en) 2011-06-29 2015-10-06 Qualcomm Incorporated Receiver with bypass mode for improved sensitivity
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8774334B2 (en) 2011-11-09 2014-07-08 Qualcomm Incorporated Dynamic receiver switching
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US9330031B2 (en) 2011-12-09 2016-05-03 Nvidia Corporation System and method for calibration of serial links using a serial-to-parallel loopback
US8959469B2 (en) 2012-02-09 2015-02-17 Altera Corporation Configuring a programmable device using high-level language
US9362958B2 (en) 2012-03-02 2016-06-07 Qualcomm Incorporated Single chip signal splitting carrier aggregation receiver architecture
US9172402B2 (en) 2012-03-02 2015-10-27 Qualcomm Incorporated Multiple-input and multiple-output carrier aggregation receiver reuse architecture
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9118439B2 (en) 2012-04-06 2015-08-25 Qualcomm Incorporated Receiver for imbalanced carriers
US9154356B2 (en) 2012-05-25 2015-10-06 Qualcomm Incorporated Low noise amplifiers for carrier aggregation
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US9867194B2 (en) 2012-06-12 2018-01-09 Qualcomm Incorporated Dynamic UE scheduling with shared antenna and carrier aggregation
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9300420B2 (en) 2012-09-11 2016-03-29 Qualcomm Incorporated Carrier aggregation receiver architecture
US9543903B2 (en) 2012-10-22 2017-01-10 Qualcomm Incorporated Amplifiers with noise splitting
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US8995591B2 (en) 2013-03-14 2015-03-31 Qualcomm, Incorporated Reusing a single-chip carrier aggregation receiver to support non-cellular diversity
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10177722B2 (en) 2016-01-12 2019-01-08 Qualcomm Incorporated Carrier aggregation low-noise amplifier with tunable integrated power splitter
JP6743568B2 (en) 2016-08-09 2020-08-19 富士通株式会社 Control device, information processing system, program, and information processing method
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996014719A1 (en) * 1994-11-07 1996-05-17 Motorola Inc. Communications operating system and method therefor
US5651030A (en) * 1991-05-06 1997-07-22 Motorola, Inc. Receiver with signal classifier
WO1998014023A1 (en) * 1996-09-25 1998-04-02 Advanced Micro Devices, Inc. Configurable digital wireless and wired communications system architecture

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303369A (en) * 1990-08-31 1994-04-12 Texas Instruments Incorporated Scheduling system for multiprocessor operating system
US5301320A (en) * 1991-06-28 1994-04-05 Digital Equipment Corporation Workflow management and control system
US5404516A (en) * 1992-12-18 1995-04-04 Hughes Aircraft Company System for allocating resources and method
US5537607A (en) * 1993-04-28 1996-07-16 International Business Machines Corporation Field programmable general purpose interface adapter for connecting peripheral devices within a computer system
US5535406A (en) * 1993-12-29 1996-07-09 Kolchinsky; Alexander Virtual processor module including a reconfigurable programmable matrix
CA2154335C (en) * 1994-07-21 2002-04-23 Tom Gray Integrated wired and wireless telecommunications system
US5528584A (en) * 1994-10-27 1996-06-18 Hewlett-Packard Company High performance path allocation system and method with fairness insurance mechanism for a fiber optic switch
US5712866A (en) * 1995-07-18 1998-01-27 Westinghouse Electric Corporation Small low powered digital transmitter for covert remote surveillance
US5712628A (en) * 1995-08-31 1998-01-27 Northrop Grumman Corporation Digitally programmable radio modules for transponder systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5651030A (en) * 1991-05-06 1997-07-22 Motorola, Inc. Receiver with signal classifier
WO1996014719A1 (en) * 1994-11-07 1996-05-17 Motorola Inc. Communications operating system and method therefor
WO1998014023A1 (en) * 1996-09-25 1998-04-02 Advanced Micro Devices, Inc. Configurable digital wireless and wired communications system architecture

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765521B2 (en) 2002-08-29 2010-07-27 Jeffrey F Bryant Configuration engine
EP1573458A2 (en) * 2002-08-29 2005-09-14 BAE SYSTEMS Information and Electronic Systems Integration, Inc. Configuration engine
EP1573458A4 (en) * 2002-08-29 2007-10-24 Bae Systems Information Configuration engine
WO2004021109A2 (en) 2002-08-29 2004-03-11 Bae Systems Information And Electronic Systems Integration Inc Configuration engine
US9788364B2 (en) 2006-11-20 2017-10-10 Huawei Technologies Co., Ltd. Multi-mode base station and operating method and wireless communication system thereof
EP2086245A1 (en) * 2006-11-20 2009-08-05 Huawei Technologies Co Ltd Multi-mode base station and operating method and wireless communication system thereof
EP2086245A4 (en) * 2006-11-20 2010-04-07 Huawei Tech Co Ltd Multi-mode base station and operating method and wireless communication system thereof
US8639292B2 (en) 2006-11-20 2014-01-28 Huawei Technologies Co., Ltd. Multi-mode base station and operating method and wireless communication system thereof
US11818642B2 (en) 2006-12-26 2023-11-14 Dali Wireless, Inc. Distributed antenna system
WO2008090120A1 (en) * 2007-01-22 2008-07-31 Alcatel Lucent Software defined radio base station and configuration method
US8121645B2 (en) 2007-01-22 2012-02-21 Alcatel Lucent Software defined radio base station and configuration method
EP1947872A1 (en) * 2007-01-22 2008-07-23 Alcatel Lucent Software defined radio base station and configuration method
WO2009104144A1 (en) * 2008-02-19 2009-08-27 Nxp B.V. Software defined radio
US8687524B2 (en) 2008-02-19 2014-04-01 Nxp, B.V. Software defined radio
US11297603B2 (en) 2010-08-17 2022-04-05 Dali Wireless, Inc. Neutral host architecture for a distributed antenna system
US20220295487A1 (en) 2010-09-14 2022-09-15 Dali Wireless, Inc. Remotely reconfigurable distributed antenna system and methods
US11805504B2 (en) 2010-09-14 2023-10-31 Dali Wireless, Inc. Remotely reconfigurable distributed antenna system and methods

Also Published As

Publication number Publication date
CA2331313A1 (en) 1999-11-25
PL344663A1 (en) 2001-11-19
KR20010042554A (en) 2001-05-25
JP2002516511A (en) 2002-06-04
IL138740A0 (en) 2001-10-31
DE69926234D1 (en) 2005-08-25
CA2331313C (en) 2008-04-01
AU749911B2 (en) 2002-07-04
EP1080541A1 (en) 2001-03-07
AU4191399A (en) 1999-12-06
EP1080541B8 (en) 2005-12-14
EP1080541B1 (en) 2005-07-20
US5999990A (en) 1999-12-07

Similar Documents

Publication Publication Date Title
CA2331313C (en) Communicator having reconfigurable resources
EP2472995B1 (en) Base band pool device, and method for implementing base band data switch thereof
EP1471691A2 (en) Device and method for hybrid wired and wireless communication
US7536537B2 (en) Simultaneous dual booting of platforms
JP3795552B2 (en) Vehicle diagnostic device
CN1890614A (en) Remote management of field devices in a manufacturing plant
WO2002080367A2 (en) Wireless programmable logic devices
JP4615402B2 (en) Wireless base station equipment
JP2002190751A (en) Slice based architecture for multifunction radio equipment
CN101185070A (en) Device management system and method for setting configuration-value therein
EP1044577A1 (en) Channel multiplexing for a communication system
US5978589A (en) Loading method of base station system in digital cellular system
US11665108B2 (en) QoS manager for system on a chip communications
MXPA00011342A (en) Communicator having reconfigurable resources
KR20050086857A (en) Structure of a mobile terminal for different communication systems
WO2005071850A2 (en) A dynamically reconfigurable signal processing apparatus and method for use in a high speed digital communication system
KR100722871B1 (en) Reconfigurable base station in wireless system and controlling method thereof
JP2003299142A (en) Base station apparatus, communication control apparatus, mobile communication system, and sector configuration changing method for base station apparatus
EP1343281A1 (en) Management of a network access point with auxiliary transceivers in a bluetooth piconet
KR100531843B1 (en) A device and a operating method of program loading for base site
CA2333940A1 (en) Communications system having a distributed object architecture
KR200298112Y1 (en) Data back-up device of the network apparatus using an EMS
US5446679A (en) Method for an operator station to perform requested functions when a functions processor is unable
CN114253891A (en) Configuration method, device, equipment and storage medium
JP2009037550A (en) Master slave card system and its processing method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

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)
WWE Wipo information: entry into national phase

Ref document number: 138740

Country of ref document: IL

Ref document number: 41913/99

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 1020007011216

Country of ref document: KR

ENP Entry into the national phase

Ref document number: 2331313

Country of ref document: CA

ENP Entry into the national phase

Ref document number: 2000 550220

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1999925671

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: PA/a/2000/011342

Country of ref document: MX

WWP Wipo information: published in national office

Ref document number: 1999925671

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 1020007011216

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 41913/99

Country of ref document: AU

WWW Wipo information: withdrawn in national office

Ref document number: 1020007011216

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1999925671

Country of ref document: EP