The present invention relates generally to ATM (Asynchronous Transfer Mode) transmission, and more particularly to a method and a device for the provision of ATM cells at an interface arranged between a first and a second node of a transmission system.
As a rule, in ATM systems, the data are transmitted in cells having a length of 53 bytes, whereby 5 bytes are reserved for the header and 48 bytes for the payload. Each cell has address information comprising two address identifiers, namely the VPI (Virtual Path Identifier) and the VCI (Virtual Channel Identifier). Moreover, the cell header comprises a Payload Type Identifier (PTI), which comprises three bits. According to the OSI reference model, there is envisaged a layer, namely the so-called ATM Adaption Layer (AAL), which controls the transmission of large data packets. This involves the use of two different encoding rules, namely AAL2 and AAL5.
In the case of AAL2, a channel having the same VPI/VCI address can contain up to 255 sub-channels, which are marked by so-called CIDs (Channel Identifiers). Sub-channels having different CIDs relate to the transmission of information for different subscribers. The Payload Type Identifier PTI for each ATM cell ATM4 in the case of AAL2 is “000”. With respect to
The encoding rule used for the transmission is determined in the UMTS network e.g. by the RNC node, depending on which requirements were addressed to it by a subscriber, e.g. by a mobile phone, particularly speech transmission or data transfer from the Internet. A monitoring apparatus, which serves monitoring purposes at the interface, therefore does not become aware of the agreed encoding rule without the finding, configuring and decoding the channels on which the control information (Control Plane Data) are transmitted.
In the prior art, measuring apparatuses, particularly for monitoring transmissions on ATM channels at an interface arranged between a first and a second node of a transmission system, therefore require manual configuration of the ATM channels. In this process, the user is asked to manually enter the VPI/VCI addresses and the associated AAL type of the channel he wants to monitor. In the case of AAL2, it is also necessary to configure all CIDs manually.
In order to check whether the address combination of the current ATM cell has already been recorded in the table, there are used in the prior art table search algorithms, which require an extremely fast and hence very expensive RAM memory and a high processor capacity, because the algorithm for the search itself is formulated in software.
This manual configuration exhibits two major disadvantages: Once made, a manual configuration is definite. An adaptation to changes in the configuration of the interface, which the user monitors, e.g. during the opening of new channels and the closing of existing channels, is not made. Also, the user does not know in most cases, which ATM channels exist at the interface to be monitored. By using the time-consuming manual configuration, which is also afflicted with errors, it is not possible to monitor channels at the interface whose VPI/VCI addresses are not known to the user.
Accordingly, embodiments of the present invention consist of one, or more, of the following three different aspects: 1. Measures to achieve the high processing speed required for permanent monitoring for the provision, in an order according to ATM channels, of ATM cells; 2. Measures to enable autoconfiguration; and 3. Measures that allow the permanent provision, in an order according to ATM channels, of ATM cells, even if the storage possibilities are limited.
The solution is based on the realisation that the necessary processing speed can be reached if a CAM (Content Addressable Memory) memory is used and if there is applied to the CAM memory, as the data input signal, the address information of the ATM cell just applied for evaluation, whereby the CAM memory is organised such that it then provides, as the address output signal, the channel ID, if it exists.
Within the meaning of the invention described below, channels having the same VPI/VCI/CID address are also referred to as ATM channels.
A CAM memory with special functional blocks, especially additional mask registers and a direct SRAM interface that may be used to provide an index as a direct pointer for addressing the SRAM, is referred to as an NSE (Network Search Engine). An NSE by the company IDT of the type 75N42102, for example, allows 80 million queries per second. In order to make such a large number of queries possible in the first place, there is envisaged for an embodiment of the invention that state machines are coupled at the input and the output of the CAM memory. Accordingly, there is used in step b) a main state machine for the generation of a request, for which the data input signal is coupled to the CAM memory, and in step b1) and in step b2) a result state machine for recording of the result of the request.
For the aforementioned module by IDT, it is possible, provided the main state machine, the CAM memory and the result state machine are coupled with each other to a common clock signal, for a maximum of one request to be generated by the main state machine every two clock cycles and applied to the CAM memory for processing, whereby the CAM memory requires nine clock cycles for processing a request, which means that it takes nine clock cycles until the result is made available at the result state machine. According to an embodiment, it is therefore envisaged that the result state machine collects the results made available by the CAM memory, so that they can be assigned to the corresponding requests by the main state machine. Thanks to this measure, there can be implemented the maximum processing speed of the CAM memory, without first having to wait for nine clock cycles after a request until the result would be made available at the result state machine, before the main state machine can address the next request to the CAM memory.
Another embodiment relates to the determination of at least one transmission parameter of an ATM transmission and is based on the realisation that, for the decision in principle as to whether there exists an AAL2 or an AAL5 transmission, the Payload Type Identifier can be evaluated in conjunction with a criterion only fulfilled by AAL2. This way, the basis for the autoconfiguration of an apparatus has been provided.
As a criterion that needs to be checked in this process, one or several from the following selection must be taken consideration: the CRC5 check (i.e. the cyclic block test) across the first CID determined by the OSF field is valid; the parity check across the OSF field is valid; the value of the UUI field of the first CID is smaller than 27; the first CID field does not equal 0x00.
Another embodiment is characterised in that, if the at least one criterion for AAL2 is fulfilled, the CIDs are subsequently determined. To this end, the OSF field of the current ATM cell is read out. Next, there is read as per the position, within the cell, determined by the OSF field, the first CID, and thereafter the first LI field. Using the LI field and the position within the cell, there is determined an offset value that allows the second CID to be read out. If said CID exists (value not equal to 0), the next offset value is determined. Thereafter, the next CID is read out. These steps are repeated until all CID fields have been recorded.
For AAL5, there is entered into the table in accordance with the first solution aspect, together with the associated AAL type and the assigned channel ID, every VPI/VCI address combination. Optionally, there may also be assigned a timer value relating to a time signal. For AAL2, there is additionally assigned a channel ID to provide a VPI/VCI/CID address combination for the table, here too, the associated AAL type and, optionally, an associated timer value are saved. The function of such a timer value will be explained in more detail below.
Within the meaning of the invention described below, channels having the same VPI/VCI/CID address are also referred to as ATM channels.
In another embodiment, a cyclic counter is used, which, in each case, after a predetermined length of time, continues counting one time step further, whereby there are stored in the table, together with the channel ID and the address information, the associated counter position of the recording of the relevant channel ID and address information, or their updates. In this way, there is provided the possibility that the oldest entries, which in the case of a cyclic timer correspond to the current counter position minus 1, can be queried and deleted. If the predetermined length of time is selected so that, as far as the length of time is concerned, all transmissions up for consideration can be recorded with respect to the value range of the counter position, it can be ensured in this way that a permanent monitoring of an ATM transmission at the interface is made possible, despite a table that is physically limited in terms of its scope.
This method can be implemented using a CAM memory for the table. The CAM memory may be integrated into an NSE to provide opportunities to create a mask with which the desired values of the counter position to the CAM memory can be generated for a query.
In an embodiment of the present invention the entries having a specific counter position are deleted as follows: First, there is generated for the CAM memory a query mask, which contains at least the specific counter position. Then, all entries with the specific counter position are called up in the CAM memory and thereafter, all these entries are deleted. In connection with a state machine arranged on the input side, it is possible to delete the corresponding channels from the table via a minimum of clock cycles of a clock, to which such a state machine, which is arranged at the input, and the CAM memory are synchronised.
The embodiments presented in connection with the methods according to the present invention apply accordingly to the devices according to the present invention. It should be pointed out in particular that the methods and devices according to the present invention can be combined with each other in any way.
Aspects of the various embodiments of the present invention will become apparent from the following detailed description when read in conjunction with appended claims and attached drawings.
A DPR (Dual-Ported RAM) 20 serves to provide data to the real autoconfiguration unit 22. The autoconfiguration unit 22 acts in concert with the NSE 18, which will be described in more detail below with reference to
A detailed function of the main state machine 38 is provided as follows:
For each ATM cell the following steps are executed:
a) First, the DPR 20 is asked whether there are new ATM cells for processing.
b) If a new ATM cell is available, the number of the physical input connection PHY of the cell is recorded, and the cell is provided with a time stamp;
c) Next, a HEC (Header Error Correction) check is performed, whereby the CRC 8 is calculated via the header of the cell. If the HEC check fails, the cell is discarded. Cells with a failed HEC check, and cells that have completed an HEC check successfully, are counted according to the input connections PHY.
d) Then, the VPI/VCI address information is taken from the cell. Because of the synchronisation to the cell start and the cell end, this is possible.
d1) Next, a query to the NSE for the present PHY/VPI/VCI combination is generated.
d2) Then, a query to the NSE for the present AALx combination is generated. Here, AALx indicates that for this combination of PHY/VPI/VCI the AAL is not yet known and therefore has to be determined as described in more detail below.
d3) Then, a query to the NSE for the present PHY/VPI/VCI/AAL5 combination is generated.
d4) Then, a query to the NSE for the present PHY/VPI/VCI/AAL2 combination is generated.
d5) Finally, a query to the NSE for the present PHY/VPI/VCI/AALy combination is generated. Here, AALy indicates that for this combination of PHY/VPI/VCI, AAL type 5 is assumed and used, but that it has not unequivocally been recognised.
e) Thereafter, a synchronisation is established with the result state machine and the results of queries d1 to d5 are received.
e1) If the query for PHY/VPI/VCI was unsuccessful, proceed with step f).
e2) If an entry for PHY/VPI/VCI/AALx was not found, proceed with step f).
e3) If an entry for PHY/VPI/VCI/AAL5 was found, proceed with step g).
e4) If an entry for PHY/VPI/VCI/AAL2 was found, proceed with step h).
e5) If an entry for PHY/VPI/VCI/AALy was not found, proceed with step i).
f) Autoconfiguration:
f1) If the Payload Type Identifier PTI equals “001” or “011”, a CRC 32 check is carried out across the entire payload. If this CRC 32 check is completed successfully, the channel is classed as AAL5. However, if this CRC 32 check fails, the channel is classed as AALy. If a new AAL5 or AALy channel was found, a new entry is created in the NSE 18. Said new entry comprises a new channel ID and the current time signal. Details on the time signal will be given with reference to
f2) If the Payload Type Identifier PTI equals “000”, AAL2 is assumed and at least one criterion for AAL2 is checked:
the CRC5 check across the first CID determined by the OSF field is valid;
the parity check across the OSF field is valid;
the value of the UUI field of the first CID is smaller than 27;
the first CID field does not equal 0x00.
If at least one criterion, preferably all criteria, are fulfilled, the channel is classed as AAL2. In the NSE 18 an entry for a AAL2 (base) channel is generated, whereby the current time signal is once again also stored. Processing continues with step h).
f3) Unsuccessful autoconfiguration: If both step f1 and step f2) could not be completed successfully, the autoconfiguration has failed. The reason can be that the present cell is a cell in the middle of a longer AAL5 PDU (Protocol Data Unit) or a AAL2 PDU without a valid CID. The latter case can occur if the rest of the payload of a previous cell extends into the next cell. In this case, the cell is assigned a predeterminable designation. This may consist in that the status is undefined, whereby, for example, the designation AALy is assigned. Processing continues with step i).
g) Processing of an AAL5 cell:
g1) The NSE entry is updated using the current data (e.g. the newly configured AAL5 type and/or the current time signal);
g2) Thereafter, the cell is transferred to the DPR 24, which serves as an interface to the AAL reassembly device 26.
h) Processing of an AAL2 cell:
If a cell is recognised as being an AAL2 cell, all CIDs have to be found. Within a cell, up to 12 CIDs may be used. This takes place in a two-stage process:
h1) Determining all CIDs:
The main state machine 38 determines the first CID by evaluating the value of the OSF field. As the OSF field is always positioned at the same position of an ATM cell of the AAL2 type, it can easily be found and read out. This way, the first CID can be determined and a query PHY/VPI/VCI/CID1 addressed to the NSE 18. Subsequent CIDs are found by reading out the LI field of the first CID, which indicates the length of the data belonging to the first CID. This way, the offset and hence the position of the second CID CID2 can be found. In this process, the header of each CID undergoes a CRC5 check. After all CIDs of the current ATM cell have been found, step h2) is performed.
h2) Establishing a synchronisation with the result state machine;
If it was possible to find an entry for the relevant CID in the NSE and the CRC check was completed successfully, the ATM cell is passed on to the DPR 24 together with the channel ID determined. Also, the corresponding entry in the NSE is updated with the current time signal. If the query has not resulted in an entry, a new channel ID CH is created for this CID and a corresponding entry is made into the NSE; in addition, the associated time signal is stored in the NSE 18. Further details on the time signal will be given below with reference to
i) 2nd step of autoconfiguration for AALy:
With reference to
As used herein, and especially in the claims, the word “or” is inclusive, in the boolean logic sense, such that “or” can be one, either, or both.
It will be obvious to those having skill in the art that many changes may be made to the details of the above-described embodiments of this invention without departing from the underlying principles thereof. The scope of the present invention should, therefore, be determined only by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
05011503.9 | May 2005 | EP | regional |