Adaptive processor system
Abstract
Execution method of at least one application (Appl_1 to Appl_n) associated with a telecommunications connection (C1 to Cn) to / from a terminal by at least one processing unit (DSPU_1 to DSPU_n) that serves the telecommunications connection to / from the terminal, the method comprising the following steps: (i) a DB database comprising several applications is formed and it is operationally connected to the processing units through a fast network (22 to 24) by packet switching to load applications into them; and at least at the beginning of each telecommunications connection (ii) a processing unit (DSPU_1 to DSPU_n) is assigned for the telecommunications connection in question, (iii) the applications required by the telecommunications connection in question are identified , and (iv) the applications required by the telecommunication connection in question are loaded into the processing unit assigned from said database (DB) through said fast packet-switched network using the network protocol without any conversion to higher level protocols.

Term
Term ended
Projected expiry passed 22 September 2018, 8 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
13 claims: 8 independent, 5 dependent
- 1ES 2 255 182 T3 IS 2 255 182 T3 CLAIMS REIVINDICACIONES 1. Execution method of at least one application (Appl_1 to Appl_n) associated with a telecommunications connection (C1 to Cn) to / from a terminal by at least one processing unit (DSPU_1 to DSPU_n) that provides service to the telecommunications connection to / from the terminal, the method comprising the following steps:1. Método de ejecución de por lo menos una aplicación (Appl_1 a Appl_n) asociada a una conexión (C1 a Cn) de telecomunicaciones hacia/desde un terminal por parte de por lo menos una unidad (DSPU_1 a DSPU_n) de procesado que presta servicio a la conexión de telecomunicaciones hacia/desde el terminal, comprendiendo el método las etapas siguientes: (i) a database DB comprising several applications is formed and is operationally connected to the processing units through a fast network (22 to 24) by packet switching to load applications into them;and at least at the beginning of each telecommunications connection (ii) a processing unit (DSPU_1 to DSPU_n) available for the telecommunications connection in question is assigned, (iii) the applications required by the telecommunications connection in question are identified , and (iv) the applications required by the telecommunications connection in question are loaded into the assigned processing unit from said database (DB) through said fast packet-switched network using the network protocol without any conversion to higher level protocols. (i) se forma una base de datos DB que comprende varias aplicaciones y se conecta la misma operacionalmente a las unidades de procesado a través de una red rápida (22 a 24) por conmutación de paquetes para cargar aplicaciones en ellas;y por lo menos en el inicio de cada conexión de telecomunicaciones (ii) se asigna una unidad (DSPU_1 a DSPU_n) de procesado disponible para la conexión de telecomunicaciones en cuestión, (iii) se identifican las aplicaciones requeridas por la conexión de telecomunicaciones en cuestión, y (iv) se cargan las aplicaciones requeridas por la conexión de telecomunicaciones en cuestión en la unidad de procesado asignada desde dicha base de datos (DB) a través de dicha red rápida por conmutación de paquetes usando el protocolo de la red sin ninguna conversión a protocolos de nivel superior.
- 4Método según cualquiera de las reivindicaciones 1 a 3, caracterizado porque se cargan las aplicaciones en la unidad de procesado por medio de una red ATM. Four. Method according to any of claims 1 to 3, characterized in that the applications are loaded into the processing unit by means of an ATM network.
- 6Method according to any of claims 1 to 5, characterized in that some of the steps (ii) to (iv) are controlled by means of an independent controller (CTRL) common to all the processing units. 6. Método según cualquiera de las reivindicaciones 1 a 5, caracterizado porque se controlan algunas de las etapas (ii) a (iv) por medio de un controlador independiente (CTRL) común a todas las unidades de procesado.
- 7System to execute at least one application (Appl_1 to Appl_n) associated with a telecommunications connection (C1 to Cn) to / from a terminal by at least one processing unit (DSPU_1 to DSPU_n) that can function to provide service to the telecommunications connection to / from the terminal, wherein the arrangement further comprises a controller (CTRL) and a database (DB) containing several different applications;7. Sistema para ejecutar por lo menos una aplicación (Appl_1 a Appl_n) asociada a una conexión (C1 a Cn) de telecomunicaciones hacia/desde un terminal por parte de por lo menos una unidad (DSPU_1 a DSPU_n) de procesado que puede funcionar para prestar servicio a la conexión de telecomunicaciones hacia/desde el terminal, en el que la disposición comprende además un controlador (CTRL) y una base de datos (DB) que contiene varias aplicaciones diferentes;a fast network (22 to 24) by packet switching is arranged from the processing units (DSPU_1 to DSPU_n) towards said database (db);and the controller (CTRL) is arranged to allocate, at least at the start of each telecommunications connection, a processing unit (DSPU_1 to DSPU_n) available for the telecommunications connection in question, and the controller (CTRL) comprises means for identify the applications required by the telecommunications connection in question, and means for loading them into the assigned processing unit (DSPU_1 to DSPU_n) from said database (DB) through said fast packet switched network using the network protocol without any conversion to higher level protocols. una red rápida (22 a 24) por conmutación de paquetes está dispuesta desde las unidades (DSPU_1 a DSPU_n) de procesado hacia dicha base de datos (db);y el controlador (CTRL) está dispuesto para asignar, por lo menos en el inicio de cada conexión de telecomunicaciones, una unidad (DSPU_1 a DSPU_n) de procesado disponible para la conexión de telecomunicaciones en cuestión, y el controlador (CTRL) comprende medios para identificar las aplicaciones requeridas por la conexión de telecomunicaciones en cuestión, y medios para cargarlas en la unidad (DSPU_1 a DSPU_n) de procesado asignada desde dicha base de datos (DB) a través de dicha red rápida por conmutación de paquetes usando el protocolo de la red sin ninguna conversión a protocolos de nivel superior.
- 10System according to any of claims 7 to 9, characterized in that each processing unit (DSPU_1 to DSPU_n) comprises a memory (M1 to Mn), the amount of memory being greater than the largest amount of memory required by the applications (Appl_1 to Appl_n) associated with a single connection (C1 to Cn), but less than the combined amount of memory required by the applications in the layout. 10. Sistema según cualquiera de las reivindicaciones 7 a 9, caracterizado porque cada unidad (DSPU_1 a DSPU_n) de procesado comprende una memoria (M1 a Mn), siendo la cantidad de memoria mayor que la cantidad de memoria más grande requerida por las aplicaciones (Appl_1 a Appl_n) asociadas a una única conexión (C1 a Cn), aunque menor que la cantidad combinada de memoria requerida por las aplicaciones de la disposición.
- 11Sistema según cualquiera de las reivindicaciones 7 a 10, caracterizado porque todas las partes mencionadas están ubicadas exactamente en el mismo elemento de la red. eleven. System according to any of claims 7 to 10, characterized in that all the mentioned parts are located exactly in the same element of the network.
- 12System according to any of claims 7 to 10, characterized in that not all the mentioned parts are located exactly in the same element of the network. 12. Sistema según cualquiera de las reivindicaciones 7 a 10, caracterizado porque no todas las partes mencionadas están ubicadas exactamente en el mismo elemento de la red.
- 13System according to any of claims 7 to 12, characterized in that said fast network (22 to 24) from the processing units (DSPU_1 to DSPU_n) to the database (DB) is formed through an ATM network. 13. Sistema según cualquiera de las reivindicaciones 7 a 12, caracterizado porque dicha red rápida (22 a 24) desde las unidades (DSPU_1 a DSPU_n) de procesado hacia la base de datos (DB) se forma a través de una red ATM.
Independent claims8
37 paragraphs in 2 sections, as filed
IS 2 255 182 T3
DESCRIPTION
Adaptive processor system.
Background of the invention
The present invention relates to processor systems used in the network elements of telecommunications systems, and particularly to the allocation and configuration of resources for digital signal processors (DSP).
Referring to Fig. 1, a DSPU digital signal processing unit serving a connection 11 typically comprises, in addition to the processor in question (DSP), an I / O (Input / Output) interface with the connection, and a program memory, which usually comprises a read-only memory ROM and a random access memory RAM (and other support circuits, such as a clock and interrupt circuits, although these are not relevant to the invention). Connection 11 is divided into two parts: the part on which specific information is transmitted is indicated by reference 11, and the associated signaling is indicated by reference 11<sub>2</sub>.
One of the problems with such a system is that the configuration is inflexible. If there are multiple DSPU processor units and if they run different applications, the ROM program memory of each processor unit must be large enough to store all the applications. Applications include, for example, different voice coding methods, compression and decompression methods of a video signal, echo cancellation, and so on. As in the prior art the applications are installed either permanently or semi-permanently (for example, in a rewritable ROM), the known processor units do not include a quick interface for updating the application. Consequently, another problem arises: when an application is being updated, the processor unit is out of order.
So that not all applications are needed in all processor units, typically the processor units are arranged in groups. Data flows that require a specific application are directed to the group serving the application in question. The problem is that the groups are permanent, so the distribution of different data streams cannot be taken into account.
US Patent No. 5,577,105 discloses the transfer of operating parameters to a processing unit.
Brief description of the invention
The object of the invention is to provide a method and a system implementing the method, which solve the problems mentioned above. The object of the invention is achieved by a method and a system which are characterized by the content of the independent claims. Preferred embodiments of the invention are claimed in the dependent claims.
The basic idea of the invention consists in using a broadband packet-switched telecommunications network, preferably an ATM network, to transfer applications from a common database of a multiprocessor system to processing units at least at the start of each connection and, if necessary, again during connection. Preferably, the ATM network protocol is used, and no conversion to the higher-level protocols of the OSI model is necessary.
A first embodiment of the claimed method and system is based on the arrangement of several processing units under a common control unit. The applications are concentrated in a common database. At each connection, the applications (services) required by the connection are identified and then loaded, under the control of the control unit, into an available processing unit. The processing unit and the database containing the applications are interconnected using fast connection technology, preferably a broadband packet network, such as ATM. In this case, the term "fast connection technology" means that an application can be loaded from the database to the processing unit during the connection, without the user using the connection noticing any disturbing delay.
The technology of the invention gives rise to a flexible use of resources, since in the memory of each processing unit it is necessary to store only the largest application (or set of applications). In this way, it is not necessary to store all the applications in memory. Any processing unit, whatever it is, can serve any connection, since all applications are available to all processors. The appropriate amount of memory in each processing unit is slightly more (for example, between 30 and 100%) than the largest amount of memory required at the same time or the amount of memory required by the individual application or set of applications plus large, although still considerably less than the combined amount of memory required by different applications. The expression set of applications means applications associated with exactly the same connection at the same time. For example, in GSM, a suite of applications could comprise a full rate codec and echo cancellation.
The technology of the invention is also reliable in relation to modifications and updating. When an application is updated, the old version of the application can be kept even if a newer version is loaded in the database. If the new application does not work properly, then the older version can be put into operation immediately. When updating applications, none of the processing units are out of order. As the load of all applications of all connections is controlled by the common controller, there is an additional advantage: the number of times each application is used can be easily counted, in case the operator wants to prepare statistics or in the in case the provider of the applications wants to charge by the number of times of use, instead of a fixed amount.
A second embodiment of the method and system of the invention is a compromise between the prior art (in which applications are located in permanent memories) and the first embodiment of the invention (in which applications are loaded seamlessly). independent for each connection). The compromise is reached, for example, by keeping track of which processing units are available and which applications have been loaded into which processing units. In the beginning of each
ES 2 255 182 T3 connection (and, when necessary, also during connection), the applications required by the connection in question are identified, and an available processing unit in which a part has been loaded is selected for the connection. largest possible of the required applications. The missing applications are then loaded into the processing unit from the database.
The expression “a part as large as possible” can be interpreted in at least two ways: either, in the selected processing unit it is necessary to load as few applications as possible, or it is necessary to load an application (set of applications ) keep it as small as possible. If a processing unit can serve multiple connections, then the "available processing unit" is a unit that has at least some available processing capacity.
In addition to the above advantages, the second embodiment also has the advantage that if the necessary applications have already been loaded into a processing unit, it is not necessary to load applications into the processing units. This situation is particularly useful for the network operator in distributed systems, in which the database and the processing units are separated by a large distance, and in which the operator must also pay for the network capacity. reserved for transferring applications.
Although with the invention the greatest advantages are obtained when there are several processing units, the technology of the invention can also be applied when only one processing unit is available, in the case that the number of the units is expected throughput will increase (for example, when the traffic load increases). If only one processing unit is available, selecting an available processing unit simply means that it is checked whether the full capacity of the processing unit is already being used. Brief description of the drawings
The invention will now be described in more detail by means of preferred embodiments and with reference to the accompanying drawings, in which Fig. 1 is a block diagram of a previously known digital processing unit, and Fig. 2 is a block diagram of a system according to the present invention.
Detailed description of the invention
The system according to the second embodiment of the invention illustrated in Fig. 2 comprises a database DB into which the applications are loaded, and a control unit or CTRL controller, as well as DSPU processing units. The system further comprises a broadband transmission path that combines the different blocks, the path preferably being an ATM switching system 22. The database DB comprises, that is to say, in the database are stored, all the applications that are going to be executed in the system (different coding algorithms, etc.). It is possible to keep track of the applications contained in the database DB, for example, by means of a table 28, which shows, for each application, at least one identifier Appl_1 to Appl_n and the size of the application, that is that is, the amount of memory required by the application. The table can also indicate the position of each application in the database (unless the database DB accepts the Appl_1 to Appl_n identifier of the application as such as an indication of the application in question). The table can also be used to keep the version number of the applications.
The DSPU processing units correspond substantially to the previously known processing unit, illustrated in Fig. 1, although in this case the read-only memory ROM is needed only to transfer applications from the database DB through the system of switching 22. Thus, the ROM mainly corresponds to an initial, bootable loader of a common computer. The loading of an application from the database to the processing units takes place at an optimal speed in the case that the protocol of the network itself can be used (for example, an ATM network) and it is not necessary to waste or time no resources in converting the protocols to the higher-level protocols (for example, TCP / IP) of the OSI model. However, it is advisable to complement the ATM network protocol with an error detection and retransmission feature in the event that a packet is lost or distorted.
Management of resources is controlled by the CTRL controller. Numerical reference 21 indicates an interface between the CTRL controller and the switching system 22, and the interface comprises a control connection 21i for controlling the switching system 22, a module 21<sub>2</sub> Operations and Management OAM, and a connection 21<sub>3</sub> Signaling. At the start of each connection, the CTRL controller identifies the applications required by each C1 to Cn connection, for example, based on the signaling connection associated with the connection. The identification of the applications required by a connection is a standard procedure for a person skilled in the art, and in prior art systems an available processing unit whose software comprises the application would be assigned for the connection based on the identification. required. According to the first embodiment of the invention, all processing units are the same, and the CTRL controller allocates any available DSPU processing unit, whatever it may be, for the connection in question. According to the second embodiment of the invention, the controller checks whether the necessary applications have been loaded into an available processing unit. The controller then starts loading all necessary applications from the DB database to the processing unit serving the connection in question. Numerical reference 23 indicates an interface between the database DB and the switching system, and the interface comprises a broadband transmission path 23i for loading applications through the switching system 22 into the DSPU processing units, and a connection 23<sub>2</sub> signaling, through which the CTRL controller notifies the database which applications should be loaded into which processing units.
The CTRL controller can maintain information about the allocation of the processing units, for example, by means of a table 29, which shows, for each processing unit, the amount of memory (unless the amount is the same for all processing units), the connections
ES 2 255 182 T3 served by the unit and the applications it contains. Next, consider that in Fig. 2 each processing unit can serve two connections, and that the need arises to serve a new connection which requires the applications Appl_2 and Appl_3. The DSPU3 processing unit has the applications stored in its memory, but its full processing capacity has already been allocated. The processing unit DSPU1 lacks the application Appl_3, and the processing unit DSPU2 lacks the application Appl_2. If Appl_3 is assumed to require less memory than Appl_2, the least amount of load is needed if DSPU1 is allocated for the new connection and Appl_3 is loaded on it. (In fact, Table 28 in Fig. 2 is a simplified presentation: the size of an application in the database DB is not always the same as the total amount of memory required by the application. In reality, applications also require data memory, that is, work space, the amount of which must be taken into account in the memory management of the processing units although it is not necessary to load it into the processing units). If there is not enough space in the RAM of the processing unit to load new applications, the controller may instruct the processing unit to erase from memory an application that is no longer needed at that time. Alternatively, it is possible to check if there is enough space to load the application into the memory of some other processing unit.
The CTRL driver can load the application from the DB database, one block at a time, and then forward it to the DSPU processing unit. Alternatively, if the database DB and the processing units DSPU are sufficiently independent, the CTRL driver can initiate the transfer of the application directly from the database to the processing unit.
On the other hand, the switching system 22 and the CTRL controller may be conventional parts of the ATM switching system, although the CTRL controller is complemented by the operations described above. The CTRL controller is preferably implemented using a digital processor. Controller programs can be located either in the controller itself or in the DB database, from which they are retrieved by the controller when it is activated and / or when it detects (based on connection 21<sub>3</sub> signaling) that the software has been updated.
The CTRL driver and the DB database are displayed as separate units. The division is logical rather than physical, and helps to clarify the functions performed in the arrangement of the invention. Fig. 2 could also be drawn to show the two elements combined, whereby it would be possible to talk about a "smart database".
The blocks in Fig. 2 can be located exactly on the same element of the network. One of the examples for such an element could be a base station controller or a transcoder unit of a mobile system, or a video-on-demand server. Since the system according to the invention improves the use of resources, the greatest advantages are obtained if as large a number of applications as possible are concentrated in exactly the same system, for example different encoding and echo cancellation techniques.
One of the alternatives to the aforementioned compact system would consist of the geographical distribution of the blocks in Fig. 2, for example, in such a way that the common controller and the database serve a large number of processing units separated by a great distance. One of the preferred systems is that the supplier of the equipment maintains the database DB, although the operator stores the corresponding applications in its cache memory. In the system of Fig. 2, the cache could be located along with connection 23 (or 21). This option is a relatively simple way to provide redundancy: a secure database serves all processing units on a network or a portion of the network. This option also allows network elements to “borrow” processing units from other elements during peak traffic.
Thus, the first mentioned embodiment of the invention can be implemented by providing a database DB comprising various applications and by providing a quick interface 22, 23, 24 between the processing units and the database DB. At the start of each connection, an available processing unit is allocated for the connection, the applications required by the connection in question are identified, and the applications are loaded into the allocated processing unit from the database DB.
Correspondingly, the second embodiment of the invention (in which applications are loaded when necessary) can be implemented through a method comprising the following steps:
(1) a database DB comprising several applications Appl_1 to Appl_n is formed and a quick interface 22, 23, 24 is provided from the database to the processing units DSPU_1 to DSPU_n to load the applications into them;
(2) the available processing units are tracked and what applications have been loaded into the processing units; and at least at the start of each connection, (3) the applications required by the connection in question are identified, (4) an available processing unit is assigned for the connection in question, preferably one in which a part is loaded as large as possible of the applications required by the connection in question,<sup>Y</sup> (5) If the processing unit in question lacks any of the applications required by the connection in question, the application is loaded into it from the DB database.
The identification of the required applications and the loading of the applications to the DSPU processing units can also take place later during the connection. For example, the units
ES 2 255 182 T3 of mobile system terminal equipment can change the voice coding method or negotiate on the use of an echo canceller during connection (especially when cells change). The CTRL controller detects this situation (eg, based on the signaling connection) and repeats steps (3) to (5). The repetition of the stages can be interpreted in at least two ways. According to the first interpretation, during the connection a processing unit assigned for said connection is not changed, although all the necessary additional applications are loaded in the processing unit that has been assigned at the start of the connection. According to the second interpretation, the assignment of a processing unit that takes place in step (4) can also be repeated during the connection. If, for example, the terminals decide to transfer from a full-rate codec to a half-rate codec and at least one processing unit is available in which a half-rate codec has been loaded, in that case the driver CTRL can assign this processing unit to serve the connection in question.
With technical advances, it will be apparent to a person skilled in the art that the basic idea of the invention can be implemented in various ways. Therefore, the invention and its embodiments are not limited to the examples set forth above but may vary within the scope of the claims.
Contents2
1 sheet
Sheet 1
24 members in 11 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 19970003761 | Finland | – | |
| 973761 | Finland | A | |
| 973761 | Finland | A | |
| 98946468973761 | – | – | – |
| FI19970003761 | – | – | – |
Members24
| Document | Office | Kind | |
|---|---|---|---|
| FI973761A | Finland | A | |
| CA2302321A1 | Canada | A1 | |
| WO9915983A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU9349598A | Australia | A | |
| WO9915983A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP1023671A2 | European Patent Office (EPO) | A2 | |
| CN1271438A | China | A | |
| JP2001517835A | Japan | A | |
| FI107842B | Finland | B | |
| US6681253B1 | United States of America | B1 | |
| JP3658704B2 | Japan | B2 | |
| EP1023671B1 | European Patent Office (EPO) | B1 | |
| EP1619580A2 | European Patent Office (EPO) | A2 | |
| AT315253T | Austria | T | |
| ATE315253T1 | Austria | T1 | |
| DE69833124D1 | Germany | D1 | |
| EP1619580A3 | European Patent Office (EPO) | A3 | |
| ES2255182T3This record | Spain | T3 | |
| DE69833124T2 | Germany | T2 | |
| CN1329851C | China | C | |
| EP1619580B1 | European Patent Office (EPO) | B1 | |
| AT434215T | Austria | T | |
| ATE434215T1 | Austria | T1 | |
| DE69840921D1 | Germany | D1 |
Numbers
- Publication
- 2255182
- Publication, DOCDB
- 2255182
- Publication, EPODOC
- ES2255182T
- Application
- 98946468
- Application, DOCDB
- 98946468
- Application, EPODOC
- ES19980946468T
Titles2
- Spanish
- SISTEMA PROCESADOR ADAPTATIVO.
- English
- ADAPTIVE PROCESSOR SYSTEM.
Classification
- CPC, 1
- G06F9/5066
- IPC, 4
- G06F15 177
- G06F9 50
- H04L12 28
- H04Q3 545