This application is related to and claims priority to Japanese patent application no. 2007-10606 filed on Jan. 19.2007 in the Japan Patent Office, and incorporated by reference herein.
The embodiments relate to a data processing device that is connected to another data processing device through an asynchronous network and receives/transmits data from/to the other data processing device, a data processing method and a data processing program.
According to an aspect of an embodiment, a data processing device that is connected to another data processing device through an asynchronous network and receives/transmits data from/to the other data processing device, includes an accumulation amount monitor for monitoring an accumulation amount of a reception buffer for receiving data transmitted from the other data processing device; a reception data processing clock controller for controlling a self reception data processing clock on the basis of the accumulation amount monitored by the accumulation amount monitor; a clock information transmitter for transmitting to the other data processing device transmission clock control information for controlling a transmission clock in the other data processing device on the basis of the accumulation amount monitored by the accumulation amount monitor; and a transmission clock controller for controlling a self transmission clock on the basis of the clock control information transmitted from the other data processing device.
These together with other aspects and advantages which will be subsequently apparent, reside in the details of construction and operation as more fully hereinafter described and claimed, reference being had to the accompanying drawings forming a part hereof, wherein like numerals refer to like parts throughout.
Preferred embodiments of a data processing device, a data processing method and a data processing program according to the embodiments will be described hereunder with reference to the figures.
In this embodiment, the outline and feature of a packet transmission system according to a first embodiment, the construction of a packet transmission system and the flow of processing will be successively described in this order, and finally an effect achieved by the first embodiment will be described.
Outline and feature of the packet transmission system according to the first embodiment.
First, the outline and feature of the packet transmission system according to the first embodiment will be described with reference to
The outline of the packet transmission system 1 of the first embodiment resides in that a packet processing device constituting the packet transmission system 1 is connected to other packet processing devices through ETHERNET as an asynchronous network and receives packets from the other packet processing devices or transmits packets to the other packet processing devices. The main feature of the packet processing device resides in that packets are prevented from being missing and also the clock frequency of the overall network is prevented from increasing.
The main feature of the packet processing device as described above will be described in detail.
The packet transmission system 1 of this embodiment includes plural packet processing devices (packet processing devices 10a to 10d) as shown in
In the construction as described above, the packet processing device 10a monitors the accumulation amount of the reception buffer 15a while receiving packets transmitted from the packet processing device 10b (see (1) of
Subsequently, the packet processing device 10a controls its own reception data processing clock on the basis of the monitored accumulation amount of the reception buffer (see (3) of
The packet processing device 10b controls its own transmission clock on the basis of the control information transmitted from the packet processing device 10a (see (4) of
As described above, each packet processing device 10 controls the clock of another packet processing device while controlling its own clock, and sets the clock frequency to a value in the neighborhood of the average value between the device concerned (itself and another device. Therefore, as described as the main feature of this embodiment, packets can be prevented from being missing and also the clock frequency of the overall network can be prevented from increasing.
Construction of Packet Processing Device
Next, the construction of the packet processing device 10a in the packet transmission system 1 shown in
As shown in
The reception buffer 15a receives a packet transmitted (received), for example, from the packet processing device 10b and temporarily stores the packet. The transmission buffer 16a temporarily stores a packet to be transmitted, for example, to the packet processing device 10b.
The packet processor 11a processes a received packet or a packet to be transmitted. Specifically, the packet processor 11a reads out a packet stored in the reception buffer memory 15a and transmits the packet concerned to another packet processing device. The packet processor 11a stores a packet received from another packet processing device into the transmission buffer memory 16a, and transmits the packet to the packet processing device 10b.
The threshold value monitor 12a monitors the accumulation amount of the reception buffer 15a which receives a packet transmitted from the packet processing device 10b and temporarily stores the packet. Specifically, the threshold value monitor 12a judges whether the accumulation amount of the reception buffer is equal to a predetermined lower limit threshold value or less. When the accumulation amount of the reception buffer is equal to the predetermined lower limit threshold value or less, the threshold value monitor 12a notifies this fact to a clock speed controller 14a described later.
Furthermore, when the accumulation amount of the reception buffer is not equal to the predetermined lower limit threshold value or less, the threshold value monitor 12a judges whether the accumulation amount of the reception buffer is equal to a predetermined upper limit threshold value or more. When it is judged that the accumulation amount of the reception buffer is equal to the predetermined upper limit threshold value or more, the threshold value monitor 12a notifies this fact to a control information generator 13a described later and the clock speed controller 14a. When it is judged that the accumulation amount of the reception buffer is not equal to the predetermined upper limit threshold value or more, the threshold value monitor 12a returns to the processing of judging whether the accumulation amount of the reception buffer is equal to the predetermined lower limit threshold value or less.
On the basis of the monitored accumulation amount of the reception buffer, the control information generator 13a generates control information instructing to control the transmission clock in another packet processing device, and transmits the control information concerned to the packet processing device 10b. Specifically, for example, when the accumulation amount of the reception buffer is equal to the predetermined upper limit threshold value or more, the control information generator 13a generates control information instructing to reduce the clock speed in the packet processing device 10b, and transmits the control information concerned to the clock speed controller 14b of the packet processing device 10b. Furthermore, when the accumulation amount of the reception buffer is not equal to the predetermined upper limit threshold value or more, the control information generator 13a transmits control information instructing to permit release of the reduction of the clock speed to the packet processing device 10b.
On the basis of the monitored accumulation amount of the reception buffer, the clock speed controller 14a controls its own reception data processing clock. Specifically, when the accumulation amount of the reception buffer is equal to the predetermined upper limit threshold value or more, the clock speed controller 14a controls its own clock speed so that the clock speed concerned increases, speeding up transmission. When the accumulation amount of the reception buffer is equal to the predetermined lower limit threshold value or less, the clock speed controller 14a controls its own clock speed so that the clock speed concerned decreases, slowing down transmission.
Furthermore, the clock speed controller 14a receives control information from another packet processing device (e.g., from control information generator 13b of the packet processing device 10b) and controls its own transmission clock on the basis of the control information. The clock speed controller 14a continues to reduce the clock speed until it receives control information permitting release of the reduction of the clock speed from another packet processing device.
Processing of Packet Transmission System
Next, the processing of the packet transmission system 1 according to the first embodiment will be described with reference to
As shown in
Subsequently, when the accumulation amount of the reception buffer is equal to the predetermined upper limit threshold value or more (see S202 of
The transmission-side packet processing device 10b receives the control information transmitted from the reception-side packet processing device 10a, and controls its own transmission clock on the basis of the received control information (S103). The transmission-side packet processing device 10b continues to reduce the clock speed until it receives control information permitting release of the reduction of the clock speed from the reception-side packet processing device 10a.
Furthermore, after transmitting the control information to the transmission-side packet processing device 10b, the reception-side packet processing device 10a controls its own clock speed so that the clock speed concerned increases (S104), and when the accumulation amount of the reception buffer is not equal to the predetermined upper limit threshold value or more (S105), the reception-side packet processing device 10a transmits the control information permitting release of the reduction of the clock speed to the transmission-side packet processing device 10b (S106).
Thereafter, the transmission-side packet processing device 10b receives the control information permitting release of the reduction of the clock speed transmitted from the reception-side packet processing device 10a, and releases the reduction of the clock speed (i.e., stop reduction of the clock speed) on the basis of the received control information (S107).
Here, the reception buffer accumulation amount monitoring processing described above will be described with reference to
As shown in
Furthermore, when the reception buffer accumulation amount is not equal to the predetermined lower limit threshold value or less (No in S201), the threshold value monitor 12a judges whether the reception buffer accumulation amount is equal to the predetermined upper limit threshold value or more (S202). When it is judged by the threshold value monitor 12a that the reception buffer accumulation amount is equal to the predetermined upper limit threshold value or more (Yes in S202), the threshold value monitor 12a notifies this fact to the control information generator 13a and the clock speed controller 14a (S204).
Furthermore, when the reception buffer accumulation amount is not equal to the predetermined upper limit threshold value or more (No in S202), the threshold value monitor 12a returns to the processing of judging whether the reception buffer accumulation amount is equal to the predetermined lower limit threshold value or less (S201).
As described above, the packet processing device 10 of the packet transmission system 1 monitors the accumulation amount of the reception buffer 15a for receiving data transmitted from another packet processing device, transmitting to another data processing device transmission clock control information, thereby controlling available space or capacity of the reception buffer memory 15a on the basis of the monitored accumulation amount, controlling its own reception data processing clock on the basis of the monitored accumulation amount, and controlling its own transmission clock on the basis of the clock control information transmitted from another data processing device. Accordingly, the packet processing device controls the clock of another packet processing device while controlling its own clock, and sets the clock frequency to a value in the neighborhood of the average value between the packet processing device concerned (itself) and the other packet processing device. Therefore, packets can be prevented from being missing and also the clock frequency of the overall network can be prevented from increasing.
In the first embodiment, the control information is transmitted/received independently of transmission/reception of the packet. However, the present embodiments are not limited to the above embodiment, and a transmission packet equipped with control information may be transmitted/received.
Therefore, in the following second embodiment, control information is embedded in a tag, the tag concerned is provided to a transmission packet, and the transmission packet concerned is transmitted to another packet processing device. The construction of a packet processing device 10 in a packet transmission system 1 according to a second embodiment will be described hereunder with reference to
As shown in
The tag provider 110a embeds control information into a tag, and provides the tag to a transmission packet. Specifically, when receiving a relay packet as shown in
Furthermore, the tag analyzer 111a receives a tag-attached packet transmitted from the packet processing device 10b, and analyzes the tag of the received packet to extract control information. Specifically, the tag analyzer 111a receives a tag-attached packet through the reception buffer memory 15a, analyzes the tag of the received packet to extract control information, and notifies the control information to the control information judging unit 17a. That is, as shown in
The control information judging unit 17a judges on the basis of the control information how its own clock is controlled. Specifically, the control information judging unit 17a analyzes the control information notified from the tag analyzer 111a, judges on the basis of the analysis result how its own clock is controlled, and notifies the judgment result to the clock speed controller 14a. The clock speed controller 14a controls the clock speed in accordance with the notified judgment result.
According to the second embodiment, the packet processing device embeds control information in a tag, provides the tag concerned to the transmission data, and then transmits the tag-attached transmission data to another packet processing device. Furthermore, the packet processing device analyzes control information from a tag of transmission data transmitted from another device, and controls its own transmission clock on the basis of the control information. Therefore, the control information can be transmitted/received without reducing a band which data can normally use.
In the first embodiment, the control information is transmitted independently of transmission/reception of the packet. However, the present embodiments are not limited to this embodiment, and control information may be transmitted while embedded in an inter-packet gap.
In the following third embodiment, control information is embedded in the inter-packet gap, the tag thereof is provided to a packet and then the tag-attached packet is transmitted to another data processing device. The construction of a packet processing device 10 in a packet transmission system 1 according to the third embodiment will be described with reference to
As shown in
The control information generator 13a transmits control information while the control information is embedded in an inter-packet gap. Specifically, the control information generator 13a replaces IPG (inter Packet Gap)1 to IPG4 of inter-packet gaps shown in
The control information extracting unit 18a extracts control information embedded in an inter-packet gap. Specifically, as shown in
The control information judging unit 17a judges on the basis of the control information how its own clock is controlled. Specifically, the control information judging unit 17a analyzes the control information notified from the control information extracting unit 18a, judges on the basis of the analysis result how its own clock is controlled, and notifies the judgment result to the clock speed controller 14a. The clock speed controller 14a controls the clock speed in accordance with the notified judgment result.
As described above, according to the third embodiment, the control information is transmitted while embedded in the inter-data gap (inter-packet gap). Therefore, control information can be transmitted/received without reducing a band which data can normally use.
The present embodiments are not limited to the above-described embodiments, and any combinations of the embodiments may be provided and various modifications may be made to these embodiments. Therefore, another embodiment will be described as a fourth embodiment.
(1) System Construction, Etc.
The respective constituent elements of the respective devices shown in the figures are functional and conceptual, and thus they are not necessarily limited to illustrated physical constructions. That is, dispersion/integration styles of the respective devices are not limited to the illustrated ones, and all or some of these constituent elements and devices may be functionally or physically dispersed/integrated in any unit in accordance with various kinds of loads, using condition, etc. For example, the threshold value monitor 12a and the control information generator 13a may be integrated with each other. Furthermore, all or some of the respective processing functions executed in the respective devices may be implemented by CPU and programs (software) which are analyzed and executed by CPU, or by hardware based on wired logic.
(2) Program
Various kinds of processing described in the above embodiments can be implemented by executing prepared programs by a computer. Therefore, an example of a computer executing programs having the same functions as the above-described embodiment will be described with reference to
As shown in
In ROM 630 are pre-stored a packet processing program exercising the same functions as the above-described embodiments, that is, a packet processing program 631, a threshold value monitoring program 632, a clock speed control program 633 and a control information generating program 634 as shown in
CPU 640 reads out these programs 631 to 634 from ROM 630 and executes the programs, whereby the respective programs 631 to 634 function as a packet processing process 641, a threshold value monitoring process 642, a clock speed control process 643 and a control information generating process 644 as shown in
A transmission buffer memory 621 and a reception buffer memory 622 are provided to RAM 620 as shown in
The many features and advantages of the embodiments are apparent from the detailed specification and, thus, it is intended by the appended claims to cover all such features and advantages of the embodiments that fall within the true spirit and scope thereof. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the inventive embodiments to the exact construction and operation illustrated and described, and accordingly all suitable modifications and equivalents may be resorted to, falling within the scope thereof.
Number | Date | Country | Kind |
---|---|---|---|
JP2007-010606 | Jan 2007 | JP | national |