BACKGROUND OF THE INVENTIONThis application claims the benefit of the Korean Application No. P2000-78316 filed on Dec. 19, 2000, which is hereby incorporated by reference.[0001]
1. Field of the Invention[0002]
The present invention relates to an asynchronous transfer mode (ATM) and, more particularly, to a cell switching method and a cell switching system.[0003]
2. Background of the Related Art[0004]
Generally, an ATM system divides user information into uniform packet sizes, generating cells of fixed sizes (53 bytes) by adding destination information to a header of each packet, and transfers the generated cells to a destination.[0005]
A protocol for transferring packet data in such an ATM system includes a physical layer, an ATM layer, an ATM adaptation layer AAL, (and an upper layer. The AAL layer divides and reassembles the packet data transferred from the upper layer and includes AAL[0006]1 to AAL5 types (see ITU-TI series recommendation).
The AAL[0007]2 protocol pack reduces the time taken to pack short segments of user data into an ATM cell by multiplexing or demultiplexing the short packets transferred from various users on an ATM network. This promotes the efficient use of the ATM network bandwidth. Namely, a basic concept of the AAL2 protocol is to multiplex or demultiplex various user data, which have short lengths as well as variable sizes, into a single ATM cell.
An AAL[0008]2 switch supporting the AAL2 protocol, according to the related art, will be described below.
FIG. 1 illustrates a block diagram of an AAL[0009]2 switch according to the related art. The AAL2 switch includesAAL2 transceiver units10 that demultiplex an input AAL2 packet or multiplex the input AAL2 packet and anATM switch20 that switches an ATM cell at an ATM level.
The operation of the aforementioned AAL[0010]2 switch is as follows. First, an AAL2 receiving block in theAAL2 transceiver unit10 demultiplexes the inputted cells, multiplexed as AAL2 common part sublayer (CPS) packets, into an AAL5 cell of 53 bytes. This is done to support packet switching at the ATM level.
Thereafter, the AAL[0011]2 receiving block transfers the converted AAL5 cell to theATM switch20. TheATM switch20 transfers the AAL5 cell to an AAL2 transmitting block. Then, the AAL2 transmitting block de-converts and multiplexes the AAL5 cell into AAL2 CPS packets, so as to transmit the packets to a desired destination.
FIG. 2 illustrates a block diagram for explaining an AAL[0012]2 protocol recommended by ITU-T, according to the related art. An AAL2 protocol is divided into a service specific convergence sublayer (SSCS) and a common part sublayer (CPS).
Packet data of an upper application, in the form of service data units (SDUs), are transferred to an COIL through a service access point (SAP) of an upper layer (step S[0013]20). An AAL2 protocol SSCS then generates an SSCS-protocol data unit (PDU) by adding a header and tail to the SDU (step S21).
Successively, the CPS generates a CPS packet by adding a CPS header to the SSCS_PDU (or CPS-SDU), transferred from the upper layer, and generates a CPS-PDU of 48 bytes by adding a start field to the CPS packet (CPS-PDU payload) (steps S[0014]22, S23, and S24). In this case, the CPS-packet becomes a payload of the CPS-PDU. Since the CPS-PDU comprises 48 bytes, CPS packets of a plurality of users are multiplexed into the payload of the CPS-PDU (step S24).
Subsequently, the CPS-PDU is transferred to an ATM layer. Then, the ATM layer generates an ATM cell having a total size of 53 bytes, by adding a 5 byte header of destination information to the CPS-PDU (step S[0015]25). Thus, the packet data received from the upper layer are divided/assembled into 48 byte packets, through the AAL2 protocol, to be used for the payload of the ATM cell.
However, to communicate the AAL[0016]2 CPS packets across the ATM network, the ATM switch converts the AAL2 cell into the AAL5 cell, switches (i.e., communicates) the ATM cell to the corresponding destination, and then de-converts the ATM cell into the AAL2 CPS packets. Thereby, the ATM switch increases the complexity of the communication process as well as its processing time.
Moreover, the overhead of such an AAL[0017]2 switch degrades the quality of service (QoS) of a cell, thereby reducing the system efficiency.
SUMMARY OF THE INVENTIONAn object of the invention is to solve at least the above problems and/or disadvantages and to provide at least the advantages described hereinafter.[0018]
Accordingly, the present invention is directed to a cell switching method and a cell switching system that substantially obviate one or more problems due to limitations and disadvantages of the related art.[0019]
Another object of the present invention is to provide a cell switching method and a cell switching system in which the performance of the switch can be improved with regard to non-blocking, real-time routing, scalability, and testing.[0020]
A further object of the present invention is to provide a cell switching method and system in which input, output, and time queues are provided to facilitate testing and scalability.[0021]
To achieve these objects and other advantages and in accordance with the purpose of the invention, as embodied and broadly described herein, a cell switching method in a communication system of an asynchronous transfer mode (ATM) includes: a) dividing an input AAL[0022]2 cell into ATM adaptation layer (AAL) 2 type common part sublayer (CPS) packets; b) storing the divided CPS packets in different storage areas, in accordance with virtual paths/virtual channels (VPs/VCs) of the respective CPS packets, and storing identifiers of the storage areas; c) reading the stored CPS packets in the order of the stored identifiers of the storage areas, storing the read CPS packets in accordance with respective channel identifiers (CIDs), and storing the identifiers of the storage areas; and d) reading the CPS packets stored in step c) in the order of the identifiers of the storage areas stored in step c) and multiplexing the read CPS packets to generate an AAL2 cell.
In another aspect of the present invention, a cell switching system in a communication system of an ATM includes: first, second, third, and fourth memories that sequentially store AAL[0023]2 type CPS packets and output them in their respective storage order, with each memory having a storage area. A reassembly processing unit divides an input AAL2 cell into the AAL2 type CPS packets, stores the divided CPS packets in different storage areas of the first memory, in accordance with VPs/VCs, and stores identifiers of the different storage areas in the second memory. A CPS packet switching unit reads the CPS packets stored in the first memory, in the order of the stored identifiers of the storage areas of the second memory, stores the read CPS packets in different storage areas of the third memory in accordance with respective CIDs, and stores the identifiers of the storage areas of the third memory in the fourth memory. An assembly processing unit reads the CPS packets stored in the third memory, in the order of the identifiers of the storage areas stored in the fourth memory, and multiplexes the read CPS packets to generate an AAL2 cell.
Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objects and advantages of the invention may be realized and attained as particularly pointed out in the appended claims.[0024]
BRIEF DESCRIPTION OF THE DRAWINGSThe invention will be described in detail with reference to the following drawings in which like reference numerals refer to like elements wherein:[0025]
FIG. 1 illustrates a block diagram of an AAL[0026]2 switch according to the related art;
FIG. 2 illustrates a block diagram for explaining an AAL[0027]2 protocol recommended by ITU-T, according to the related art;
FIG. 3 illustrates a structure of a switching system according to the present invention;[0028]
FIG. 4A illustrates a structure of an AAL[0029]2-type ATM cell according to the present invention;
FIG. 4B illustrates a structure of an AAL[0030]2-type CPS packet according to the present invention;
FIG. 4C illustrates a procedure of generating an AAL[0031]2-type ATM cell according to the present invention;
FIG. 5A illustrates an input queue value of a virtual path/virtual channel according to the present invention;[0032]
FIG. 5B illustrates an output queue value of a virtual path/virtual channel according to the present invention;[0033]
FIG. 6 is a flow chart illustrating a procedure of generating an AAL[0034]2-type ATM cell according to the present invention;
FIG. 7 illustrates the connection of a multiplex CPS router according to the present invention; and[0035]
FIG. 8 illustrates an example of a switching system according to the present invention.[0036]
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTSFIG. 3 illustrates a structure of a[0037]switching system1000 according to the present invention. The switching system, (i.e., an AAL2 switch) includes first input/output units700 and800 and second input/output units200 and201 that sequentially store input AAL2-type ATM cells and output the cells in the order of their arrival, from the first stored cell to the last stored cell (first in first out (FIFO) order). Third input/output units301 and302 and fourth input/output units300 and303 sequentially store input data and output the data in the order from the first stored cell to the last stored cell.
Assembly/[0038]reassembly processing units100 and101 divide the AAL2-type ATM cells from the first input/output units700 and800 into AAL2 CPS packets; write the CPS packets in a corresponding and numbered input queue of the second input/output units200 and201, with reference to a first reference table; and write the input queue number in the third input/output units302 and301. A CPSpacket switching unit500 reads the CPS packets from the second input/output units200 and201, in the order of the input queue number stored in the third input/output units302 and301; writes the read CPS packets in a corresponding output queue number of the second input/output unit201 and200, with reference to a second reference table; and writes the output queue number in the fourth input/output units303 and300.
The AAL[0039]2 switch includes a fifth input/output unit400 that transmits and receives the input CPS packets, to provide a central processing unit (CPU) interface. The fifth input/output unit400 outputs the input CPS packets in the first in first out order. The AAL2 switch implements testing or signaling in accordance with transmitting and receiving functions of the CPU interface and can be used as an AAL2-type end point at an ATM terminal.
The AAL[0040]2 switch of the present invention further includes a sixth input/output unit600 that routes the input CPS packets to another AAL2 switch, to provide a CPS packet router interface that enhances the scalability of the AAL2 switch. The sixth input/output unit600 outputs the input CPS packets to a CPSpacket router interface5 of FIG. 7, in the first in first out order. The operation of the CPS packet router interface will be described later with reference to FIG. 6.
Therefore, the CPS packets that cannot be processed by one of a plurality of[0041]AAL2 switches 1˜n to 11˜nn are transferred to another AAL2 switch through the CPSpacket router interface5.
Input queue numbers corresponding to virtual paths/virtual channels (VPs/VCs) of the CPS packets are written in the first reference table, as shown in FIG. 5A. The CPS packets stored in one input queue are provided with one destination, that is one VP/VC. Also, channel identifiers (CIDs) and output queue numbers corresponding to CIDs and VPs/VCs of the CPS packets, read from the second input/[0042]output unit200, are written in the second reference table, as shown in FIG. 5B.
The operation of the[0043]switching system1000 will be described with reference to FIG. 6. Thereassembly processing unit100 divides the input AAL2 cell into AAL2-type CPS packets (S10), sequentially stores the divided CPS packets in storage areas of the second input/output unit200, and sequentially stores identifiers of the storage areas of the second input/output unit200 in the third input/output unit302 (S11). The divided CPS packets are respectively stored in different storage areas of the second input/output unit200 in accordance with different VPs/VCs, obtained from the first reference table. The first reference table maps the storage area identifiers with an arbitrary VP/VC.
The CPS[0044]packet switching unit500 reads the CPS packets in the order of the storage area identifiers stored in the third input/output unit302. Then, the CPSpacket switching unit500 sequentially stores the read CPS packets in storage areas of the second input/output unit201 and sequentially stores identifiers of the storage areas of the second input/output unit201 in the fourth input/output unit303 (S12). The storage areas of the second input/output unit201 are used to route the CPS packets to their destination.
To accomplish this, the CPS[0045]packet switching unit500 reads the stored CPS packets. It then changes CIDs of the CPS packets to corresponding destination CIDs, while referring to the second table that shows the storage area identifiers mapped with an arbitrary CID. Thereafter, the CPSpacket switching unit500 sequentially stores the CPS packets in the storage area corresponding to the changed CID.
The[0046]assembly processing unit101 reads the CPS packets in the order of the storage area identifiers stored in the fourth input/output unit303, multiplexes the read CPS packets to generate an AAL2 cell, and writes the generated AAL2 cell in the first input/output unit800 (S13).
Additionally, the CPS[0047]packet switching unit500 sequentially stores the CPS packets in the fifth input/output unit400 to implement signaling and testing of the switch and sequentially stores storage area identifiers of the fifth input/output unit400 in the third input/output unit302. The divided CPS packets are respectively stored in different storage areas of the fifth input/output unit400, in accordance with the VP/VC mapping of the first reference table.
Furthermore, if cell switching is not implemented due to a system error of the cell switch, the CPS[0048]packet switching unit500 sequentially stores the CPS packets in the sixth input/output unit600 to route them to another cell switch and sequentially stores identifiers of the storage areas of the sixth input/output unit600 in the third input/output unit302. The divided CPS packets are respectively stored in different storage areas of the sixth input/output unit600, in accordance with the VP/VC mapping of the first reference table VP/VC.
Once the AAL[0049]2-type ATM cells of FIG. 4A, having different VPs/VCs, are input to the reassembly processing unit of the AAL2 assembly/reassembly processing unit100, the AAL2 reassembly processing unit divides the AAL2-type ATM cells into the AAL2-type CPS packets of FIG. 4B. Also, the divided CPS packets are written in the input queue of the second input/output unit200. Referring now to FIG. 5A, the VC/VP of the CPS packets identifies the corresponding input queue of the second input/output unit20 into which the divided CPS packets are written.
FIG. 4A illustrates the AAL[0050]2-type ATM cells, and FIG. 4B illustrates the CPS packets of the AAL2-type ATM cells. FIG. 4C illustrates how the payload data of multiple users is formed into CPS packets, shown by FIG. 4B, and then multiplexed by the assembly/reassembly unit100,101 to form multiple ATM cells, as shown by FIG. 4A. The AAL2-type ATM cells are multiplexed into a Start field (STF) and a plurality of CPS packets.
Each of the CPS packets includes CID data, length indicator (LI) data, user to user indication (UUI) data, header error control (HEC) data, and CPS data. The LI data are stored in a payload. That is to say, the CPS packet of the AAL[0051]2-type ATM cells includes a packet header consisting of the CID data, the LI data, and the HEC data and a packet payload consisting of the data.
For example, suppose an AAL[0052]2-type ATM cell having a VP/VC of ½ and another AAL2-type ATM cell having a VP/VC of ⅓ are input to the reassembly processing unit of the assembly/reassembly processing unit100. In this case, once the AAL2-type ATM cell having a VP/VC of ½ is input, the reassembly processing unit of the assembly/reassembly processing unit100 divides the ATM cell into AAL2 CPS packets, as shown in FIG. 4B. The reassembly processing unit also writes the AAL2-type CPS packets, having the VP/VC of ½, intoinput queue number1, of the second input/output unit200, and writes theinput queue number1 in the third input/output unit302.
Subsequently, the AAL[0053]2-type ATM cell having a VP/VC of ⅓ is input and the reassembly processing unit of the assembly/reassembly processing unit100 divides the input ATM cell into AAL2 CPS packets, as shown in FIG. 4B. The reassembly processing unit also writes the AAL2-type CPS packets, having the VP/VC of ⅓, intoinput queue number7, of the second input/output unit200, and writes theinput queue number7 in the third input/output unit302.
Once any one of the input queue numbers is stored in the third input/[0054]output unit302, the CPSpacket switching unit500 reads the stored input queue number to identify the input queue number of the second input/output unit200 holding the stored AAL2-type CPS packets. Thereafter, the CPSpacket switching unit500 reads the CPS packets stored in the identified queue. Thereby, the switching function is implemented.
That is to say, the CPS[0055]packet switching unit500 determines the processing order of the CPS packets stored in the corresponding input queue in accordance with the order of the input queue number stored in the third input/output unit302. Therefore, the CPSpacket switching unit500 can switch the CPS packets in the order of the first divided CPS packet using the third input/output unit302.
The CPS[0056]packet switching unit500 reads the CPS packets from the second input/output unit200 in accordance with the above order and then writes the read CPS packets in the corresponding output queue of the second input/output unit201, while referring to the second reference table of FIG. 5B.
For example, in the second reference table of FIG. 5B, the CPS packet having a VP/VC of ½ and a CID of 3 is changed to have a CID of 7. The CPS packet having the changed CID is written in the[0057]output queue number3 of the second input/output unit201. Also, theoutput queue number3 is written in the fourth input/output unit303. Likewise, referring to the reference table of FIG. 5B, the corresponding CID of the CPS packet having the VP/VC of ½ and the CID of 5 is changed to 3, and the CPS packet having the changed CID is written in theoutput queue number1 of the second input/output unit201. Theoutput queue number1 is written in the fourth input/output unit303, also.
Once any one of the output queue numbers is stored in the fourth input/output unit[0058]303, theassembly processing unit101 obtains the identified queue number and reads the CPS packet written in the identified output queue to generate an AAL2 cell. Theassembly processing unit101 writes the generated AAL2 cell in the first input/output unit800.
Meanwhile, the CPS[0059]packet switching unit500 can return the CPS packets input for test to their original position. That is, if the CPS packet having a CID of 3 is input to the AAL2-type ATM cell having a VP/VC of ¾, the CPSpacket switching unit500 can return the CPS packet together to the AAL2-type ATM cell having the VP/VC of ¾. Thereafter, the resequenced CPS packets may be compared to a standard.
FIG. 7 illustrates connection of a multiplex CPS router according to the present invention. A CPS packet router[0060]51 provides scalability to the AAL2 switch. A CPS packet that cannot be processed by one of theAAL2 switches 1˜n, 11˜nn is transferred to another AAL2 switch through theCPS packet router5.
FIG. 8 illustrates an example of a[0061]switching system1000 according to the present invention. Unlike the related art, AAL2 cell switching according to the present invention is implemented in such a manner that an AAL2 cell is directly switched without changing it to an AAL5 cell.
The cell switching method and the[0062]cell switching system1000 according to the present invention have the following advantages.
It is possible to decrease traffic in the ATM switch of the system by use of an AAL[0063]2 switch having input, output and time queues. Also, since the CPU interface is installed with a loop back path within the AAL2 switch, it is possible to facilitate test capabilities and provide scalability through the CPS packet router, thereby facilitating the capacity expansion of the AAL2 switch. As a result, performance of the whole system can be improved.
The above references are incorporated by reference herein where appropriate for appropriate teachings of additional or alternative details, features and/or technical background.[0064]
The foregoing embodiments and advantages are merely exemplary and are not to be construed as limiting the present invention. The present teaching can be readily applied to other types of apparatuses. The description of the present invention is intended to be illustrative, and not to limit the scope of the claims. Many alternatives, modifications, and variations will be apparent to those skilled in the art. In the claims, means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not only structural equivalents but also equivalent structures.[0065]