The disclosure relates to a data amount derivation apparatus.
OTN (Optical Transport Network) specified in ITU-T recommendation G.709 is one of the standards for optical transport networks. In OTN, client signals such as SDH (Synchronous Digital Hierarchy) and Ethernet (registered trademark) frames are transferred in OPU (Optical channel Payload Unit) frames, ODU (Optical channel Data Unit) frames, OTU (Optical channel Transport Unit) frames, or ODTU (Optical channel Data Tributary Unit) frames.
As illustrated in
Each of the OTU frame, the ODU frame, and the OPU frame has a plurality of types according to transmission rates. For example, the OTU frame has the following types: OTU1 corresponding to SDH STM-16 (the bit rate of OTU1 is 255/238×2.48832 Gbit/s), OTU2 corresponding to STM-64 (the bit rate of OTU2 is 255/237×9.953280 Gbit/s), and OTU3 corresponding to STM-256 (the bit rate of OTU3 is 255/236×39.813120 Gbit/s). In addition, OTU4 corresponding to 100 GbE (100 Gigabit Ethernet (Ethernet is a registered trademark) has been defined (the bit rate of OTU4 is 255/227×99.532800 Gbit/s).
An asynchronous mapping method called the GMP (Generic Mapping Procedure) is currently under study, which is a technique to map a client signal having any bit rate less than or equal to the bit rate of the payload area of an OPU frame into the frame.
GMP is a method for mapping a client signal of any of various types of client signals into the payload area of OPUk (k is an order number) while performing byte-by-byte stuffing to accommodate the bit-rate difference between the client signal and the server frame.
In the first type, a client signal such as a GbE signal is mapped into the payload area of an LO OPU frame whereas control information concerning the mapping (such as GMP parameters) is contained in the OH area.
In the second type, one or more client signals (LO ODUj frames) are mapped into the payload area of an ODTU frame. The ODTU frame is made up of ODTU payload areas and ODTU OH areas. The ODTU payload areas are structured by dividing the payload area of an HO OPUk frame into a number M of TSs (tributary slots), each of which is a one byte in length, and combining the sub-areas that have the same TS number across M HO OPUk frames. The ODTU OH areas are OH areas of HO OPUk frames that have a multi-frame number corresponding to the TS number among the M number of HO OPUk frames.
In the example illustrated in
While TSs with the same TS number are collectively depicted as existing in the payload area of each HO OPUk frame in
For more information, see the U.S. Pat. No. 7,020,094.
To implement GMP, GMP parameters (control parameters) known as “Cn”, “Cm” and “CnD” are derived. GMP parameter Cn is a logical value of the amount of data of a client signal to be carried in the payload area of an OPU frame or an ODTU frame for containing a client signal (these frames will be hereinafter referred to as the server frames). The logical value Cn can be obtained on the basis of the difference between the frequency of the client signal and the frequency of the server frame. The logical value Cn is the amount of data of the client signal contained, represented in n bits.
GMP parameter Cm is a logical value representation in M bytes (m=8×M) of the logical value Cn and indicates the amount of data actually carried in the server frame at an M-byte granularity (m=8×M).
GMP parameter CnD is information indicating the difference between the logical values Cn and Cm. The amount of data to be transmitted is represented in n bits whereas m bits (m/8 bytes) of data are actually transmitted in the server frame. CnD represents the difference between Cn and Cm in n bits.
The logical value Cn is a value equivalent to frequency information of a mapped signal (client signal).
An embodiment of the present invention is a data amount derivation apparatus including:
a first calculator configured to derive, for one series of parallelized mapping signals, amount of data in each frame period for a frame into which the parallelized mapping signals are mapped; and
a second calculator configured to sum up amounts of data in N frame periods, where N is an integer, and to derive the resulting summation value as the amount of data to be mapped into the frame, each of the amounts of data in each of the frame periods being derived by the first calculator.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
Embodiments of the present invention will be described below with reference to drawings. The description of the embodiments is illustrative only and the present invention is not limited to configurations of the embodiments.
A data amount derivation apparatus according to a first embodiment will be described. GMP parameters, Cn, Cm′, Cm, and ΣCnD, used in GMP will be described first.
A client signal in OTN is contained in a server frame, is converted to an optical signal and transmitted. When being contained in the frame, the client signal is mapped into the payload area of the frame.
A client signal to be mapped into a server frame is input into a counter A in
In this way, Cn can be obtained by counting the client signal received in a server frame period in n bits as unit. Here, n represents the number of bits. If n=1, it means that the client signal is counted bit by bit. Note that the value of n of Cn can be determined for each client (each client signal format).
For example, if the client is OC48, the period of the server frame is 1 second, and their frequency deviation is 0, Cn is C1=2488320 when n=1, and C8=311040 when n=8. Mathematically, Cn can be calculated according to Equations 1 and 2 in
Cm is a value of Cn represented with an M-byte granularity (m=8×M). Here, M indicates that a client signal is contained in a server frame in M bytes as a unit and can be determined for each client. For example, if the client is 1 GbE, M=1; if the client is OC48, M=2; and if the client is 100 GbE, M=80. For example, if the client is OC48, n=8, M=2, the server frame period is 1 second, and the frequency deviation is 0, then Cm is Cm=C8 (=311040)/M(=2)=155520 [bytes].
To actually calculate Cm, Cn is divided by M and the fractional part of the result is discarded to obtain Cm′. That is, Cm′ can be expressed as Equation 3 given below.
C
m′=Int(Cn/M) (Equation 3)
Since Cm′ given above is equal to the value of Cm truncated to an integer, there is difference between Cn and Cm′×M. The difference is CnD, which can be expressed as Equation 4 given below.
C
nD=mod(Cn/M) (Equation 4)
For example, if Cn=101 and M=2, then CnD=1.
ΣCnD is the sum of a set of CnD each derived in each server frame period. When the value of ΣCnD becomes greater than or equal to M, M is subtracted from the value of ΣCnD. When ΣCnD is greater than or equal to M, it means that the cumulative value of differences CnD has increased to Cm′+1. If that is the case, the value of Cm in that frame period is Cm′+1; otherwise Cm′ obtained in the period is used.
When a client signal is mapped into a server frame, whether to map the client signal or stuff is determined on the basis of the value of Cm. The values of Cm and ΣCnD are contained in the overhead (OH) of the server frame as control data for performing demapping at the server frame receiving end.
Cn is a logical value of the amount of data, which can be obtained on the basis of the difference between the frequency of a client signal and the frequency of a server frame as shown in Equations 1 and 2. Since Cm and ΣCnD can be determined on the basis of the value of Cn, the accuracy of demapping at the demapping end depends on the value of Cn.
To derive Cn, measurement is performed in bits if n=1 or in bytes if n=8. If measurement is performed in bits, Cn can be measured by directly measuring a client signal which is a serial signal. When measurement is performed in bytes, Cn can be obtained by measuring 8 parallel client signals converted from a serial signal, or measuring a serial signal in bits, and dividing the measured value by 8.
In the case of a low-rate signal such as OC3 and 1 GbE, Cn can be accurately calculated by directly measuring the client signal. On the other hand, in the case of a high-rate signal such as 100 GbE, it is difficult to directly measure Cn because signal processing cannot keep pace with the speed of the signal. To address this, the first embodiment uses the following configuration in order to obtain more accurate Cn.
Parallel data series produced by parallelizing serial data equivalent to a client signal in accordance with a predetermined M-byte granularity are temporality stored in the plurality of buffers 2. The buffers 2 are used for placing a client signal into the payload area of a server frame. In the example illustrated in
A signal (fp) indicating a frame period of the server frame into which serial data is to be contained (mapped) is input in the counter 3. In the example illustrated in
The Cn calculation unit 4 obtains the value of Cn. For example, the Cn calculation unit obtains the amount of data in each frame period from the number of BU writes. The amount of data for one write enable signal is fixed and the Cn calculation unit 4 can derive the amount of data written in the buffers 2 from the number of enable signals. Alternatively, if the number of write clock signals is input, the Cn calculation unit 4 can obtains the amount of data in a frame period from the number of write clock signals on the basis of the amount of data per write clock signal. Here, the amount of data in each frame obtained represents the amount of data of one series of parallel data, which is a client signal parallelized with an M-byte granularity (M=3).
The Cn calculation unit 4 adds the amounts of data in each frame in M cycles or in a predetermined number N of cycles that is a function of M to obtain a cumulative value (summation value) as Cn (Cn(t)). The Cn calculation unit 4 checks to see whether Cn falls within a valid range and provides the obtained Cn to the Cm′ calculation unit 5.
The Cm′ calculation unit 5 divides Cn by M, provides the integer part Cm′ of the result to the Cm calculation unit 7 as Cm
The ΣCnD calculation unit 6 performs summation processing of CnD and outputs ΣCnD for every frame. However, when the summation value of CnD becomes greater than or equal to M, the ΣCnD calculation unit 6 subtracts M from the summation value and outputs the result as ΣCnD while at the same time provides a +1 request signal to the Cm calculation unit 7.
The Cm calculation unit 7 receives Cm
While the amount of data in each frame or the cumulative value (summation value) of amounts of data added over a predetermined number N of cycles that is a function of M is obtained as Cn (Cn(t)) in this embodiment, the amount of data in each frame may be added a given number of cycles to obtain a cumulative value (summation value) and the cumulative value may be converted to a cumulative value (summation value) of M additions.
Data stored in the plurality of buffers 2 in one frame period is mapped into the payload area of a server frame corresponding to that period and stuffs are placed as needed. On the other hand, Cm and ΣCnD are placed in predetermined bytes in the OH of the server frame (for example JC (Justification Control) bytes) as information used in demapping. In the specification of G.709 relating to GMP, Cm is placed in JC1 and JC2 bytes and ΣCnD is placed in JC4 and JC5 bytes.
After monitoring and control information, for example, is added to the OH of the server frame or after a plurality of server frames are multiplexed and then monitoring and control information is added, the server frames are converted to an optical signal, arrives at a specified receiving end through an optical network, and demapping is performed at the receiving end. The receiving end uses Cm and ΣCnD contained in the OH in the demapping.
According to the exemplary configuration and operation of the data derivation apparatus 1 described above, a client signal is parallelized with an M-byte granularity and the parallelized data series are temporarily stored in the buffers 2. The counter 3 derives the amount of data stored in any of the buffers 2 in each server frame period. The Cn calculation unit 4 sums up the amounts of data in M server frame periods to derive Cn (an approximate value of Cn). Since the sum of the amounts of data in M server frame periods is used as Cn, Cm and ΣCnD based on correct Cn can be transmitted to the receiving end.
Here, Cn=18 can be obtained from the data amount 9 of one of the parallel data series in server frame period t0 (t2) and the number of parallel data series, 2. Similarly, Cn=20 in server frame period t1 (t3) can be obtained. However, neither of them is equal to the proper value of Cn, 19. Furthermore, the fact that Cn changes from server frame period to server frame period is equivalent to that the client frequency varies from server frame period to server frame period. Consequently, the receiving end (demapping end) may need a circuitry design by taking into consideration jitter components and frequency deviations.
In contrast, the configuration of the first embodiment enables the proper value of Cn, 19, to be obtained in server frame period t2 and the constant Cn value of 19 to be derived in the subsequent server frame periods. Accordingly, server frames containing Cm and ΣCnD based on accurate Cn can be transmitted. Furthermore, the configuration of the first embodiment can avoid increase of complexity of the circuitry configuration at the receiving end.
As can be seen from the comparison between
A configuration has been described in which the amount of data in a frame period is obtained on the basis of write enable signals or write clock signals in the first embodiment. Instead of the configuration, a configuration may be used in which the capacity of the buffers 2 are monitored and the amounts of data in the buffers 2 are obtained from variations in the buffer capacity (initial value+amount of data written−amount of data read) in server frame period. Thus, according to the embodiment is capable of deriving a correct amount of data to be mapped into a frame.
A data amount derivation apparatus according to a second embodiment of the present invention will be described. The second embodiment includes elements in common with the first embodiment. The description of the elements common to the embodiments will be omitted and differences from the first embodiment will be primarily described. The same components described in the second embodiment as those of the first embodiment are given the same reference signs.
The selector 8 couples a signal indicating one of “−M”, “+M” and “0” to the correction unit 9 in accordance with a control signal from a BU window monitor, not depicted, for the buffers 2. The BU window monitor monitors the capacity of one of a plurality of buffers 2 and provides a control signal to the selector 8 in every server frame period. When the amount of data held in the buffer 2 (buffered amount) is less than or equal to a first threshold that indicates the buffered amount has approached underflow, the BU window monitor provides a control signal to the selector 8 to cause the selector 8 to output “−M”. When the buffered amount is greater than or equal to a second threshold that indicates that the buffered amount has approached overflow, the BU window monitor provides a control signal to the selector 8 to cause the selector 8 to output “+M”. When the buffered amount is greater than the first threshold and less than the second threshold, the BU window monitor provides a control signal to the selector 8 to cause the selector 8 to output “0”.
A Cn calculation unit 4 provides the value of Cn derived in the same way as in the first embodiment to the correction unit 9, instead of the Cm′ calculation unit (Cm
The second embodiment has the same advantageous effects as the first embodiment. In addition, the second embodiment has the following advantageous effect. In both of the first and second embodiments, Cn is determined after the amounts of data in M server frame periods have been counted. Accordingly, Cn mildly changes with frequency deviations (variations in the frequency of a client signal). When Cn does not sufficiently changes with actual variations in frequency deviations (Cn becomes less than or equal to the first threshold (there is a high probability of underflow)) or becomes greater than or equal to the second threshold (there is a high probability of overflow), the amount of data equivalent to M is added to or subtracted from the value of Cn obtained by the Cn calculation unit 4 so that the value of Cn can be made closer to the frequency deviation. Consequently, server frames containing Cm and ΣCnD based on a correct value of Cn as compared with the first embodiment can be transmitted.
An embodiment of a GMP mapping apparatus will be described as a third embodiment.
In the example illustrated in
In
Then, each of the parallel data series is written into a FIFO (First-In First-Out) memory 12, which is a buffer memory used for placing a client signal into the payload area of a server frame as write data (wt_data) in order to accomplish clock transfer from a client clock (client frequency) to an OPU clock. While only one FIFO memory 12 is depicted in
A write clock signal (wt_clock: 1/640 frequency divided clock signal) for a data write into the FIFO memory 12 is input from the serial-parallel converter 11. The write clock signal is also input into a counter (client clock counter) 13.
The counter 13 takes input of a signal (fp) indicating a frame period of OPU4 and counts the number of write clock signals during a server frame period. The counter 13 inputs the number of write clock signals in each server frame (which is equivalent to the amount of data in each server frame) to a Cn calculation unit.
The Cn calculation unit 14 is equivalent to the Cn calculation unit 4 and has the function equivalent to that of the Cn calculation unit 4. That is, the Cn calculation unit 14 adds the numbers of write clock signals, each number being input from the counter 13 in each frame period, over 80 server frame periods (M=80) and provides the obtained sum as provisional Cn. The Cn calculation unit 14 may have a summation window (see
A capacity monitor 20 monitors the amount of data held in the FIFO memory 12 (buffered amount). An underflow alarm threshold (first threshold) indicating that the buffered amount has approached underflow and an overflow alarm threshold (second threshold) indicating that the buffered amount has approached overflow are set in the FIFO memory 12.
The capacity monitor 20 outputs a control signal that is dependent on the buffered amount for a selector (SEL) 18. In particular, when the buffered amount is less than or equal to the first threshold, the capacity monitor 20 provides a control signal for the selector 18 to output “−80” to the selector 18. When the buffered amount is greater than the first threshold and less than the second threshold, the capacity monitor 20 provides a control signal for the selector 18 to output “0” to the selector 18. When the buffered amount is less than or equal to the second threshold, the capacity monitor 20 provides a control signal for the selector 18 to output “+80” to the selector 18. The signal, “−80”, “+80” or “0” output from the selector 18 is input into the correction unit 19.
When the correction unit 19 receives the “−80” signal, the correction unit 19 subtracts 80 from the provisional Cn input from the Cn calculation unit 14 and outputs the resulting value as the final value of Cn. When the correction unit 19 receives the “+80” signal, the correction unit 19 adds 80 to the provisional value Cn and outputs the sum as the final value of Cn. When the correction unit 19 receives the “0” signal, the correction unit 19 outputs the provisional Cn as the final Cn. Cn output from the correction unit 19 is input into a Cm/CnD/ΣCnD derivation unit (deriver) 15 while at the same time is fed back to the Cn calculation unit 14. The fed-back Cn is used by the Cn calculation unit 14 for deriving Cn in the next frame period.
The Cm/CnD/ΣCnD derivation unit 15 has the same functions as the Cm′ calculation unit 5, the ΣCnD calculation unit 6 and the Cm calculation unit 7 described in the first and second embodiments. The Cm/Cnd/ΣCnD derivation unit 15 outputs the final Cm and ΣCnD to a data/stuff control unit (controller) 21 and JC generation unit (generator) 22.
The data/stuff control unit 21 (hereinafter referred as the control unit 21) controls the timing of outputting a read enable signal (rd_data_en) to the FIFO memory 12 on the basis of the payload capacity of OPU4 and the final Cm (actual amount of transmission data). In particular, the control unit 21 determines the mapping locations of the amount Cm of data in such a manner that stuffs are evenly mapped in the payload area of an OPU4 frame and outputs a read enable signal so that the data from the FIFO memories 12 are placed (stored) in the mapping locations.
While the read enable signal is being input, data is read from the FIFO memories 12 which have received the read enable signal in accordance with a read clock signal (rd_clock) and is sent to an OPU overhead insertion unit (OPU OH insert) 24.
The JC generation unit 22 generates JC bytes (JC1 and JC2 bytes) including Cm and JC bytes (JC4 and JC5 bytes) including ΣCnD and provides the bytes to an OPU overhead generation unit (OPU OH gen) 23.
The OPU overhead generation unit 23 generates an overhead (OH) of an OPU4 frame and provides the OH to the OPU overhead insertion unit 24. The OH generated here contains the JC bytes including Cm and ΣCnD (JC1, JC2, JC4 and JC5) mentioned above. The OPU overhead insertion unit 24 adds the OH to the payload area into which data and stuff are mapped and sends out the result as an OPU4 frame.
According to the third embodiment, the GMP mapping apparatus (OPU frame generation apparatus) has the same advantageous effects as the first and second embodiments. In addition, the GMP mapping apparatus is capable of transmitting OPU4 frames including correct Cm and ΣCnD.
The following variation or modification of the third embodiment described above is possible. In the third embodiment, 100 GbE is converted to 640 parallel data series based on an 80-byte granularity and the Cn calculation unit 14 sums up the amounts of data in 80 frame periods to obtain Cn. However, a signal may be converted to any determined number of parallel data series and the amounts of data may be added (summed up) over any determined number of frame periods.
Furthermore, Cn correction based on monitoring the capacity of the FIFO memories 12 in the third embodiment uses addition or subtraction of “+80” or “−80” to or from Cn because the granularity is 80 bytes. However, this is illustrative only and any appropriate amount of correction can be applied.
Cn can be obtained as described below. In particular, Cn can be obtained according to the following equation:
where L is the number of parallel data series converted from a client signal with an M-byte granularity and N is the number of additions.
The number of additions N can be obtained as follows:
For the buffers 12, the region between the first and second thresholds, inclusive, described above is set as a Cn value change range (correction execution range). The Cn calculation unit 14 receives the buffered amount in the buffers 12 from the capacity monitor 20 in each frame period.
When the buffered amount has reached the Cn value change range, the Cn calculation unit 14 subtracts 1 from the current value of N (N=N−1) (the condition for subtraction). On the other hand, when the buffered amount has not reached the Cn value change range, the Cn calculation unit 14 counts the number of frame periods during the time in which the range has not been reached. When subsequently the number of frame periods during the time in which the range has not been reached reaches N, the Cn calculation unit 14 adds 1 to the current value of N (N=N+1) (the condition for addition). That is, when the buffered amount has not reached the Cn value change range for the N frame periods, 1 is added to N.
At least one of the upper and lower limits to the value N may be preset and once N reaches the upper or lower value, the Cn calculation unit 14 may retain the value of N even when the condition for subtraction or addition to or from N described above is satisfied.
The number of frame periods between the previous reaching of the Cn value change range and the current reaching of the Cn value change range is set to N. That is, as illustrated in
M can be used as the initial value of N when one of the first and second methods for changing N is used.
<<Mapping into ODPU Frames>>
An example of first type GMP mapping in which a client signal is mapped into OPU4 frames equivalent to LO OPUj frames has been described in the third embodiment.
The configuration described in the third embodiment can be applied to mapping LO ODUj frames converted from a client signal into ODTU frames using GMP (GMP of the second type).
Accordingly, if a client signal is LO ODU0, for example, and is mapped into an ODTU4.1 frame, the values of Cn, Cm, and M are Cn (n=8), Cm (m=8) and M=1, respectively. The serial-parallel converter 11 divides the LO ODU0 signal into eight and the write clock signal (wt_clock) is a 1/8 frequency divided clock signal. The server frame period input into the counter 13 and the Cn calculation unit 14 is an ODTU4.1 frame period, that is, OPU4 frame period×80. These modifications enable mapping of an LO ODUj frame into an ODTU frame.
In this way, the configuration of the third embodiment can be applied to a combination of an LO ODUj frame and an ODTU frame in the method of second type by changing the number of parallel data series and the length of a frame period in response to variations in the values of Cn, Cm, and M according to the LO ODUj signal to be mapped and the ODTU frame into which the signal is to be mapped.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
This application is based upon and claims the benefit of priority of the International Patent Application No. PCT/JP2010/057718, filed on Apr. 30, 2010, the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2010/057718 | Apr 2010 | US |
Child | 13665146 | US |