WO2008050394A1 - Système de transmission/réception de paquets de données, procédé de transmission/réception de paquets de données et programme de transmission/réception de paquets de données - Google Patents

Système de transmission/réception de paquets de données, procédé de transmission/réception de paquets de données et programme de transmission/réception de paquets de données Download PDF

Info

Publication number
WO2008050394A1
WO2008050394A1 PCT/JP2006/321114 JP2006321114W WO2008050394A1 WO 2008050394 A1 WO2008050394 A1 WO 2008050394A1 JP 2006321114 W JP2006321114 W JP 2006321114W WO 2008050394 A1 WO2008050394 A1 WO 2008050394A1
Authority
WO
WIPO (PCT)
Prior art keywords
credit
data packet
capacity
transmission
stored
Prior art date
Application number
PCT/JP2006/321114
Other languages
English (en)
French (fr)
Inventor
Hidekazu Osano
Hiroshi Nakayama
Original Assignee
Fujitsu Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Limited filed Critical Fujitsu Limited
Priority to KR1020097005806A priority Critical patent/KR101227770B1/ko
Priority to CN2006800561870A priority patent/CN101535970B/zh
Priority to JP2008540825A priority patent/JP5056762B2/ja
Priority to EP06822094A priority patent/EP2077504B1/en
Priority to PCT/JP2006/321114 priority patent/WO2008050394A1/ja
Publication of WO2008050394A1 publication Critical patent/WO2008050394A1/ja
Priority to US12/385,885 priority patent/US8631152B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Definitions

  • Data packet transmission / reception system Data packet transmission / reception method, and data packet transmission / reception program
  • the present invention relates to a data packet transmission / reception system, a data packet transmission / reception method, and a data packet transmission / reception program.
  • Patent Document 1 Japanese Patent Laid-Open No. 9-135270
  • the number of queue stages (number of packets) that can be stored in the reception buffer is fixedly determined in advance from the longest size (maximum capacity) of the data packet.
  • a technique for controlling transmission of a data packet using a fixedly determined number of queue stages is disclosed.
  • FIG. 22 is a diagram for explaining the outline and features of the data packet transmission control system according to the prior art.
  • the size of the reception buffer on the receiving side is 16 bytes
  • the maximum size of the data packet transmitted from the transmitting side is 4 bytes, which can be stored in the reception buffer.
  • An example will be described in which four queue stages (packets) are fixedly determined in advance.
  • the transmission side has a credit control counter, and each time a data packet is read from the transmission buffer and transmitted to the reception side, the size of the data packet to be transmitted (data capacity) Add one credit control counter value (see (1) in the figure).
  • the receiving side writes the received data packet with the leading power of the receiving buffer packed (see (2) in the figure).
  • the reception buffer capacity is also read each time a data packet is read. One credit is sent back to the sender regardless of the data packet size ((
  • this counter control counter includes four queue stages (packets) that can be stored in the reception buffer. Is fixedly set in advance. Therefore, at the transmission side, when it is time to read out the transmission notifier power data packet and transmit the data packet to the reception side, it is determined whether or not the current value of the credit control counter has reached a fixed value (four). To do. On the transmission side, if the current value of the credit control counter does not reach the fixed value (four), the transmission buffer capacity also reads out the data packet and transmits the data packet to the reception side.
  • Patent Document 1 prevents data packets from being discarded due to overflow of the reception buffer.
  • Patent Document 1 Japanese Patent Laid-Open No. 9135270 (page 2-4, FIG. 13)
  • Patent Document 2 JP 2001-94613 (page 3-5, Fig. 1)
  • Patent Document 3 Japanese Patent Laid-Open No. 11-110315 (Pages 6-10, Fig. 1-2)
  • the conventional technique described above has a problem in that it is difficult to effectively use resources as a reception buffer in which an unused area is easily generated in the reception buffer. .
  • the number of queue stages that can be stored in the reception buffer is fixedly determined in advance from the longest size of the data packet (four in the above example). For this reason, as shown in Fig. 22, the longest size of the data packet is the same as when four packets of size "4 bytes, 2 bytes, 2 bytes, 2 bytes" are stored in the receive buffer. Even if a short-sized data packet that is less than the maximum size is stored in the receive buffer, the value of the credit control counter on the sending side reaches a fixed value (four).
  • the present invention has been made to solve the above-described problems of the prior art, and a data packet transmission / reception system and a data packet transmission / reception system capable of effectively using resources as a reception buffer. It is an object to provide a method and a data packet transmission / reception program.
  • the invention according to claim 1 is a data packet transmission / reception system for transmitting a data packet to a receiving apparatus having a receiving buffer and a receiving apparatus having a transmitting buffer. Then, when the data packet stored in the reception buffer is read out, the receiving device specifies the capacity used for specifying the capacity of the read data packet to the transmitting device. The information is transmitted to the transmission device, and the transmission device stores, as credits, a value corresponding to the total capacity of all data packets that are currently stored with respect to the capacity of the reception buffer, from the transmission buffer. When the data packet is transmitted to the receiving device, a credit with a value corresponding to the capacity of the transmitted data packet is credited.
  • the capacity of the data packet read from the reception buffer is specified using the capacity specifying information, and a credit having a value corresponding to the specified capacity is subtracted from the credit stored in the credit storage means. And controlling to permit or stop the transmission of the data packet based on the value of the credit stored in the credit storage means.
  • the capacity specifying information transmitting unit provides, as the capacity specifying information, a credit having a value corresponding to a capacity of a data packet read from the reception buffer.
  • the credit adding means transmits to the transmitting device, adds a credit having a value corresponding to the capacity of the data packet transmitted to the receiving device to the credit stored in the credit storing means, and stores the credit.
  • the subtracting means comprises the credit of the value received by the receiving device, and is stored in the credit storage means after being subtracted from the credit.
  • the capacity specifying information transmitting means transmits the capacity specifying information related to the capacity of the read data packet to the transmitting apparatus.
  • the credit adding means stores the credit of the value according to the capacity of the data packet transmitted to the receiving device, and stores it in the credit storage means in the order of transmission by dividing the data packet.
  • the credit subtracting means classifies each data packet and stores the credit of the oldest transmitted data packet from among the credits stored in the credit storage means in the order of transmission. It is characterized by comprising subtracting and storing.
  • the identification information for uniquely identifying the data packet to be transmitted is included in the data
  • the capacity specifying information transmission means adds the identification information added to the data packet regardless of the capacity of the data packet read from the reception buffer.
  • the credit addition means divides a credit having a value corresponding to the capacity of the data packet transmitted to the reception device for each data packet, adds the identification information, and adds the credit information.
  • the credit stored in the storage means is added to the credit and stored.
  • the subtracting means is classified for each data packet, and the identification information is added and stored in the credit storage means!
  • the data corresponding to the identification information received from the receiving device from among the credits It is characterized by subtracting and storing packet credits.
  • the transmission control means tries to transmit the credit value stored in the credit storage means from the transmission device.
  • the added value power obtained by adding the credit value corresponding to the capacity of the data packet that has reached the predetermined value determined from the capacity of the reception buffer is determined to determine whether or not the power is higher, and the added value reaches the predetermined value.
  • the transmission of the data packet is permitted, and if the added value reaches the predetermined value, the transmission of the data packet is controlled to stop. It is characterized by that.
  • the transmission control means is configured such that the credit value stored in the credit storage means is a predetermined value determined from a capacity of the reception buffer. If the credit value has not reached the predetermined value, transmission of the data packet is permitted, and the credit value is set to the predetermined value. In such a case, control is provided so as to stop transmission of the data packet.
  • the invention according to claim 7 is a data packet transmission / reception method for transmitting a data packet from a transmission apparatus having a transmission buffer to a reception apparatus having a reception buffer, wherein the reception apparatus is connected to the reception buffer.
  • the capacity specifying information for transmitting the capacity specifying information used for specifying the capacity of the read data packet to the transmitting apparatus to the transmitting apparatus.
  • a value corresponding to the capacity of the transmitted data packet is set.
  • the invention according to claim 8 is a data packet transmission / reception program for causing a computer to execute a method of transmitting a data packet from a transmission apparatus having a transmission buffer to a reception apparatus having a reception buffer, the reception apparatus
  • the computer as the transmission device transmits capacity specifying information used in specifying the capacity of the read data packet in the transmitting device.
  • the capacity specifying information transmission procedure to be transmitted to the device and the computer as the transmitting device are stored in the capacity of the reception buffer, and a value corresponding to the total capacity of all data packets is credited to the credit counter.
  • a credit addition procedure for storing a credit of a value corresponding to the capacity of the transmitted data packet in addition to the credit stored in the credit counter when the packet is transmitted; and the receiving device
  • the capacity specifying information is used to specify the capacity of the data packet from which the reception buffer capacity is also read, and a credit corresponding to the specified capacity is stored in the credit counter.
  • a credit subtraction procedure for subtracting and storing the stored credit, and control to allow or stop transmission of the data packet based on the value of the credit stored in the credit counter! /
  • a transmission control procedure to be executed by a computer.
  • the invention according to claim 9 is a receiving device that receives a data packet transmitted from a transmitting device, and has a receiving buffer that stores the data packet, and is stored in the receiving buffer.
  • the capacity specifying information used for specifying the capacity of the read data packet is transmitted to the transmitting device. It is characterized by having prepared.
  • the capacity specifying information transmitting means provides a credit having a value corresponding to the capacity of the data packet read from the reception buffer as the capacity specifying information. It transmits to the said transmission apparatus, It is characterized by the above-mentioned.
  • the invention according to claim 11 is a transmitting device that transmits a data packet to a receiving device including a receiving buffer, and is a value corresponding to a total capacity of all data packets stored in the receiving buffer. Is stored as credit, and when a data packet is transmitted to the receiving device, a credit having a value corresponding to the capacity of the transmitted data packet is added to the credit stored in the credit storage means.
  • the reception buffer power based on the capacity specifying information for specifying the capacity of the data packet read from the reception buffer, received from the receiving device, and the value of the target according to the capacity of the read data packet. Is subtracted from the credit stored in the credit storage means and stored in the credit storage means based on the credit value stored in the credit storage means.
  • Te characterized by comprising a controllable to allow or stop the transmission of the data packet.
  • the reception device when the data packet stored in the reception buffer is read, the reception device transmits the capacity specifying information to the transmission device, and the transmission device Stores the value corresponding to the total capacity of all data packets stored as a credit for the capacity of the reception buffer as credits, and is transmitted when the data packet is transmitted from the transmission buffer to the reception device.
  • the credit corresponding to the capacity of the data packet is added to the current credit and stored, and when the capacity specifying information is received from the receiving device, the received buffer capacity is read using the capacity specifying information.
  • the capacity of the packet is specified, the credit corresponding to the specified capacity is subtracted from the current credit and stored, and the credit stored in the credit storage means is stored.
  • control is performed to allow or stop the transmission of data packets, so the transmitter understands the data packet congestion in the reception buffer not by the number of data packets but by the data capacity, Sending data packets while dynamically adjusting the number of stored data packets (the number of queue stages) within a range where the data packets do not overflow will reduce the unused area of the receive buffer. Effectively use resources as It is possible to use.
  • the receiving device transmits, as capacity specifying information, a credit having a value corresponding to the capacity of the data packet read from the receiving buffer to the transmitting device.
  • the device adds the credit of the value according to the capacity of the data packet transmitted to the receiving device to the current credit and stores it.
  • the transmitting device receives the credit of the received value by the receiving device. Since the transmission device can determine the degree of data packet congestion in the reception buffer by simply subtracting the credit received from the reception device as it is, the transmission device can increase or decrease credits in the transmission device. It is also possible to simplify the process.
  • the receiving device transmits capacity specifying information related to the capacity of the data packet read from the receiving buffer to the transmitting device, and the transmitting device transmits to the receiving device.
  • the credit of the value according to the capacity of the received data packet is divided for each data packet and stored in the order of transmission and added to the current credit, and the transmitting device classifies the data for each data packet and stores it in the order of transmission. Since the credit of the oldest transmitted data packet is subtracted from the stored credit, the receive buffer capacity always receives the same amount of credit regardless of the capacity of the read data packet.
  • Device power Result that the receiving device can grasp the data packet congestion in the receiving buffer just by transmitting to the transmitting device. It is also possible to simplify the reply process from the receiving device to the transmitting device.
  • the transmission device when the transmission device permits transmission of the data packet, the transmission device adds identification information for uniquely identifying the transmitted data packet to the data packet.
  • the reception device transmits the identification information added to the data packet related to the capacity of the data packet read from the reception buffer to the transmission device.
  • the credit of the value according to the capacity of the transmitted data packet is classified for each data packet, added with identification information, stored in addition to the current credit, and the transmitting device is classified for each data packet. Together with the identification information added and stored in the credit storage means, and the data packet corresponding to the received identification information is received from the credit.
  • Subtract credit and store As a result, the receiving device is only required to transmit packet identification information related to the capacity of the read data packet from the receiving device to the transmitting device. As a result, it is possible to simplify the reply process from the receiving apparatus to the transmitting apparatus.
  • the capacity of the data packet read from the reception buffer can be specified reliably only by transmitting the packet identification information to the transmission apparatus, and the data packet in the reception buffer is reliably congested. It is also possible to grasp.
  • the transmission device adds the credit value corresponding to the capacity of the data packet to be transmitted to the current credit value to the current credit value. Then, it is determined whether or not the capacity value of the reception buffer has reached a predetermined value, and if the addition value has not reached the predetermined value, transmission of the data packet is permitted and the added value becomes the predetermined value. If it has reached, control is performed to stop the transmission of the data packet, so that it is possible to estimate the congestion of the reception buffer after the data packet to be transmitted is transmitted. It is also possible to reliably prevent overflow.
  • the transmitting device determines whether or not the current credit value reaches a predetermined value determined from the capacity of the reception buffer, and the credit value is If the predetermined value has not been reached, transmission of the data packet is permitted, and if the credit value has reached the predetermined value, control is performed to stop the transmission of the data packet.
  • Capacity of receiving buffer It is possible to control the transmission of data packets by setting the value obtained by subtracting the maximum size of the data packet as the upper limit of the credit counter and judging only whether the credit exceeds the upper limit. As a result, it is possible to simplify the process of permitting or stopping packet transmission.
  • the receiving device has a reception buffer for storing the data packet, reads the data packet stored in the reception buffer, and stores the data packet stored in the reception buffer. Is read, the capacity specifying information used for specifying the capacity of the read data packet is transmitted to the transmitting apparatus, so that the transmitting apparatus transmits the data packet based on the current credit. Will allow or stop As a result of this control, the transmission device grasps the degree of data packet congestion in the reception buffer not by the number of data packets but by the data capacity, and the number of data packets (number of queue stages) stored in the reception buffer is within a range where the data packets do not overflow. By transmitting data packets with dynamic adjustment, it is possible to reduce the unused area of the reception buffer. As a result, it is possible to effectively use the resources as the reception buffer.
  • the receiving device since the receiving device transmits, as capacity specifying information, a credit having a value corresponding to the capacity of the data packet read from the receiving buffer to the transmitting device.
  • the device adds the current value of the credit according to the capacity of the data packet transmitted to the receiving device to the current credit and stores it.
  • the transmitting device receives the credit of the value received from the receiving device from the current credit. By subtracting and storing, the transmission device can determine the data packet congestion in the reception buffer by simply subtracting the received credit as it is. Can also be simplified.
  • the transmission device stores a value corresponding to the total capacity of all data packets stored in the reception buffer as credits, and the data packet is transmitted to the reception device.
  • a credit corresponding to the capacity of the transmitted data packet is added to the current credit, the receiving device power is also received, and the receiving buffer power is also stored in the capacity specifying information for specifying the capacity of the read data packet.
  • the credit of the value corresponding to the capacity of the read data packet is subtracted from the current credit and the data packet is transmitted.
  • Control is performed so as to permit or stop transmission, so that when the receiving device reads the data packet stored in the receiving buffer,
  • the transmitting apparatus grasps the degree of data packet congestion in the receiving buffer not by the number of data packets but by the number of data packets stored in the receiving buffer Number) is dynamically adjusted within the range that does not overflow the data packet, and the unused area of the reception buffer can be reduced by effectively transmitting the data as a reception buffer. Is possible.
  • FIG. 1 is a diagram for explaining an overview and features of a data packet transmission / reception system according to a first embodiment.
  • FIG. 2 is a block diagram illustrating a configuration of a data packet transmission / reception system according to the first embodiment.
  • FIG. 3 is a flowchart showing processing at the time of packet transmission in the first embodiment.
  • FIG. 4 is a flowchart showing processing upon receipt of a credit in the first embodiment.
  • FIG. 5 is a flowchart showing processing at the time of credit transmission in the first embodiment.
  • FIG. 6 is a diagram for explaining the outline and features of the data packet transmission / reception system according to the second embodiment.
  • FIG. 7 is a block diagram showing a configuration of a packet transmission / reception system in the second embodiment.
  • FIG. 8 is a conceptual diagram showing processing at the time of credit addition in the second embodiment.
  • FIG. 9 is a conceptual diagram showing processing during credit subtraction in the second embodiment.
  • FIG. 10 is a flowchart illustrating processing at the time of packet transmission in the second embodiment.
  • FIG. 11 is a flowchart showing processing upon receipt of a credit in the second embodiment.
  • FIG. 12 is a flowchart illustrating processing at the time of credit transmission in the second embodiment.
  • FIG. 13 is a diagram for explaining the outline and features of the data packet transmission / reception system according to the third embodiment.
  • FIG. 14 is a block diagram illustrating a configuration of a packet transmission / reception system according to a third embodiment.
  • FIG. 15 is a conceptual diagram showing processing at the time of credit addition in the third embodiment.
  • FIG. 16 is a conceptual diagram showing processing at the time of credit subtraction in the third embodiment.
  • FIG. 17 is a flowchart illustrating processing at the time of packet transmission in the third embodiment.
  • FIG. 18 is a flowchart showing processing upon receipt of a credit in the third embodiment.
  • FIG. 19 is a flowchart showing processing at the time of transmission of identification information in the third embodiment.
  • FIG. 20 is a diagram showing an example of a computer system using the present invention.
  • FIG. 21 is a diagram illustrating a program of the data packet transmission / reception system in the first embodiment.
  • FIG. 22 is a diagram for explaining the outline and features of a data packet transmission control system according to the prior art.
  • FIG. 1 is a diagram for explaining the outline and features of the data packet transmission / reception system according to the first embodiment.
  • the data packet transmission / reception system is a data packet transmission / reception system that transmits a data packet from a transmission device 100 including a transmission buffer 120 to a reception device 200 including a reception buffer 210.
  • the data packet transmission / reception system having such an outline is mainly characterized in that the resources as the reception buffer 210 can be effectively used as described below.
  • the transmitting apparatus 100 includes a credit counter unit 133 that stores a value corresponding to the total capacity of all data packets currently stored with respect to the capacity of the reception buffer 210 as a credit. Have.
  • the transmitting apparatus 100 sets a credit value (for example, “16”) corresponding to the capacity of the receiving buffer 210 of the receiving apparatus 200 as the upper limit value of the credit value of the credit counter unit 133. Therefore, the transmitting apparatus 100 can obtain the free capacity of the reception buffer 210 from the remaining credit value of the credit counter unit 133.
  • transmitting apparatus 100 transmits a data packet from transmitting buffer 120 to receiving buffer 210 of receiving apparatus 200
  • credit according to the capacity of the transmitted data packet is stored in credit counter section 133. (See (1) in Fig. 1). For example, as shown in FIG. 1, when transmitting device 100 transmits a 2-byte data packet, credit "2" is added to the credit value of credit counter unit 133, and when a 1-byte data packet is transmitted, “1” is added to the credit value of the credit counter unit 133.
  • the receiving device 200 receives the data packet transmitted from the transmitting device 100 by the receiving buffer 210 (see (2) in FIG. 1). After that, when the receiving apparatus 200 reads the received data packet from the old data packet in the order in which the data packet is stored in the reception buffer 210, the receiving apparatus 200 corresponds to the capacity of the data read from the reception buffer 210. Are transmitted to the transmitting device 100 (see (3) in FIG. 1). For example, when the receiving apparatus 200 reads a 1-byte data packet from the receiving buffer 210, the receiving apparatus 200 transmits a credit “1” to the transmitting apparatus 100. When the receiving apparatus 200 reads a 2-byte data packet, the receiving apparatus 200 transmits a credit “2”. When the data packet is transmitted to 100 and a 3-byte data packet is read, the credit “3” is transmitted to the transmitting device 100.
  • the transmitting device 100 stores the received credit by subtracting the credit value stored in the credit counter unit 133 ((( 4)). For example, when the transmitting device 100 receives the credit “1”, the credit “1” is also subtracted from the credit value of the credit counter unit 133, and when the credit “2” is received, the credit “2” is received from the credit counter unit 133. Credit value is also subtracted, and when credit “3” is received, credit value of credit counter unit 133 is subtracted from credit “3”.
  • transmitting apparatus 100 controls to permit or stop transmission of the data packet.
  • the credit value added by adding the credit value corresponding to the capacity of the data packet to be transmitted from the transmitting device 100 to the credit value stored in the credit counter unit 133 is It is determined whether or not a predetermined value (upper limit) determined from the capacity of the reception buffer 210 has been reached. If the added value of the credit value does not reach the upper limit, the transmission of the data packet is permitted. When the added value of the credit value has reached the upper limit value, control is performed to stop data packet transmission.
  • the transmission apparatus 100 permits transmission. Also, if the current credit value is “12” and the credit value according to the capacity of the data packet to be transmitted is “1”, the added value of the credit is “13”, and the transmitting device 100 permits transmission. . On the other hand, if the current credit value is “13” and the credit value corresponding to the capacity of the data packet to be transmitted is “4”, the credit addition value is “17”, which is the upper limit value “16”. The transmission device 100 stops transmission (see ( See 5)).
  • the transmission device 100 grasps the degree of data packet congestion in the reception buffer 210 not by the number of data packets but by the data capacity and stores the data packets stored in the reception buffer 210.
  • the number of queues (the number of queues) is dynamically adjusted within a range that does not cause the data packet to overflow, so that the unused area of the receive buffer 210 can be reduced. It is possible to use.
  • the transmitting device 100 and the receiving device 200 described above may transmit or receive information in packets via a network, cable, or wireless (infrared communication, Bluetooth, etc.), such as a mobile phone, a PDA, or a personal computer. Or an electronic circuit that transmits or receives information in packets via a bus or wiring in the electronic device, such as a circuit or chip in the same electronic device.
  • a network cable, or wireless (infrared communication, Bluetooth, etc.)
  • a mobile phone such as a PDA, or a personal computer.
  • an electronic circuit that transmits or receives information in packets via a bus or wiring in the electronic device, such as a circuit or chip in the same electronic device.
  • FIG. 2 is a block diagram illustrating a configuration of the data packet transmission / reception system according to the first embodiment.
  • the data packet transmission / reception system includes a transmission device 100 and a reception device 200.
  • the transmission device 100 includes a data input unit 110, a transmission buffer 120, a transmission buffer control unit 130, and the like.
  • the reception apparatus 200 includes a reception buffer 210, a data output unit 220, and a reception buffer control unit 230.
  • the transmitting device 100 and the receiving device 200 are connected via a network, wired, wireless (infrared communication, Bluetooth, etc.), or a bus or wiring in the electronic device.
  • the data input unit 110 inputs various types of information to the transmission buffer 120. Specifically, a data packet to be transmitted from the transmission device 100 to the reception device 200 is written with the leading end of the transmission buffer 120 being packed.
  • the transmission buffer 120 stores a data packet to be transmitted from the transmission device 100 to the reception device 200, and is configured by a memory or the like. Specifically, the transmission buffer 120 stores the data packet input from the data input unit 110 with the leading power of the transmission buffer 120 reduced. The transmission buffer 120 reads the data packet every time it is read. The deleted data packet is erased, and a new data packet is overwritten.
  • the transmission buffer control unit 130 controls transmission / reception of data packets. As shown in FIG. 2, the transmission buffer control unit 130 and the credit addition unit 1 32 are closely related to the present invention.
  • the credit counter unit 133 and the credit subtracting unit 134 are provided.
  • the packet transmission control unit 131 corresponds to the “transmission control unit” described in the claims
  • the credit addition unit 132 also corresponds to the “credit addition unit”
  • the credit counter unit 133 also corresponds to the “tally digit storage”.
  • the credit subtracting unit 134 corresponds to “credit subtracting means”.
  • the credit counter unit 133 stores a value corresponding to the total capacity of all data packets currently stored with respect to the capacity of the reception buffer 210 as credits. Specifically, all the data packets that are actually stored with respect to the capacity of the reception buffer 210 by increasing or decreasing the stored credit value by a credit adding unit 132 and a credit subtracting unit 134 described later. A value corresponding to the total capacity is stored as a credit.
  • the credit counter unit 133 stores, as a predetermined value (upper limit value), a credit corresponding to the maximum capacity of the reception buffer 210. For example, if the maximum capacity of the reception buffer 210 is 16 bytes, the credit “16” corresponding to 16 bytes is stored as the credit upper limit value of the credit counter unit 133, and the maximum capacity of the reception buffer 210 is If it is 32 bytes, credit “32” corresponding to 32 bytes is stored as the upper limit value of the credit of the credit counter unit 133.
  • the credit adding unit 132 stores a credit having a value corresponding to the capacity of the transmitted data packet in the credit counter unit 133. Add to the credit value that is stored.
  • the credit addition unit 132 adds the credit “2” corresponding to 2 bytes to the credit value of the credit counter unit 133.
  • the credit adding unit 132 adds the credit “1” corresponding to 1 byte to the credit value of the credit counter unit 133. And store.
  • the credit subtracting unit 134 receives capacity specifying information to be described later from the receiving device 200, Using the capacity specifying information, the capacity of the data packet read from the reception buffer 210 is specified, and the credit corresponding to the specified capacity is subtracted from the credit value stored in the credit counter unit 133. Store. Specifically, the credit subtraction unit 134 stores the credit value received from the receiving device 200 by subtracting the credit value stored in the credit counter unit 133.
  • the credit subtraction unit 134 subtracts the credit “1” from the credit value of the credit counter unit 133, and the credit subtraction unit 134 receives the credit “2”.
  • the credit subtraction unit 134 also subtracts the credit value of the credit counter unit 133.
  • the credit subtraction unit 134 receives the credit "3”. Credit value of credit counter 133 is subtracted.
  • the packet transmission control unit 131 is a control unit that controls to permit or stop the transmission of the data packet based on the value of the credit stored in the credit counter unit. Specifically, when it is time to transmit the data packet, the credit value corresponding to the capacity of the data packet to be transmitted from the transmitting device 100 is added to the credit value stored in the credit counter unit 133. It is determined whether the power has reached a predetermined value (upper limit) determined from the capacity S of the received buffer 210 and the capacity of the reception buffer 210. If the above-described additional value has not reached the upper limit, the data packet When the above-mentioned added value reaches the above-mentioned upper limit value, the transmission of the above-mentioned data packet is controlled to stop.
  • a predetermined value upper limit
  • the packet transmission control unit 131 permits transmission. Also, if the current credit value is “12” and the credit value corresponding to the capacity of the data packet to be transmitted is “1”, the calculated value of the credit is “13”, and the packet transmission control unit 131 transmits the data. Allow.
  • the transmission control unit 131 stops transmission.
  • reception buffer 210 stores a data packet transmitted from transmission apparatus 100, and is configured by a memory or the like. More specifically, the reception buffer 210 stores the data packets transmitted from the transmission device 100, packed from the top of the reception buffer 210. In the reception buffer 210, when a data packet is read by the data output unit 220 described later, the read data packet is erased and a new data packet is overwritten.
  • the data output unit 220 reads the data stored in the reception buffer 210. Specifically, the data output unit 220 reads data from the data stored in the reception buffer 210 in the order of the reception order.
  • the reception buffer control unit 230 controls transmission / reception of data packets, and as shown in FIG. 2, a credit transmission unit 231 is closely related to the present invention.
  • the credit transmission unit 231 corresponds to “capacity specifying information transmission unit” recited in the claims.
  • the credit transmission unit 231 stores capacity specifying information used when the capacity of the read data packet is specified in the transmitting device 100. Transmit to transmitting device 100.
  • the credit transmission unit 231 transmits a credit having a value corresponding to the capacity of the data packet read from the reception buffer 210 to the transmission device 100 as the above-described capacity specifying information.
  • the credit transmission unit 231 transmits a credit “1” corresponding to 1 byte to the transmitting device 100, and receives 2 bytes.
  • the credit “2” is transmitted to the transmitting apparatus 100
  • the credit “3” is transmitted to the transmitting apparatus 100.
  • FIG. 3 is a flowchart illustrating processing at the time of packet transmission in the first embodiment.
  • the packet transmission control unit 131 determines the transmission timing of the data packet. Then (step S301 affirmative), there is enough credit for the capacity of the transmission data packet (that is, adding the credit value corresponding to the capacity of the data packet to be transmitted to the credit value of the credit counter unit 133) It is determined whether the added value reaches an upper limit value corresponding to the capacity of the reception buffer 210 (step S302).
  • the packet transmission control unit 131 transmits the data packet from the transmission buffer 120 (step S303). In other words, the packet transmission control unit 131 permits the transmission of a powerful data packet.
  • credit adding section 132 stores a credit corresponding to the capacity of the transmitted data packet in credit counter section 133. Add to credit and store (step S304).
  • step S302 when there is not enough credit in the credit counter unit 133 for the capacity of the data packet to be transmitted (when the above-mentioned added value power upper limit is reached) (No in step S302) Then, the packet transmission control unit 131 stops the transmission of the data packet by the transmission buffer 120 (step S305).
  • FIG. 4 is a flowchart illustrating processing upon receipt of a credit in the first embodiment.
  • credit subtracting unit 134 stores the received credit value in credit counter unit 133.
  • the credit value is also subtracted and stored (step S402). For example, when the transmitting apparatus 100 receives the credit “1”, the credit “1” is also subtracted from the credit value of the credit counter unit 133, and when the credit “2” is received, the credit “2” is received by the credit counter unit 133. When the credit “3” is received, the credit value of the credit counter unit 133 is also subtracted.
  • FIG. 5 is a flowchart showing processing at the time of credit transmission in the first embodiment.
  • step S501 when the data output unit 220 reads the data stored in the reception buffer 210 of the reception device 200 (Yes in step S501), a credit corresponding to the capacity of the read data is obtained.
  • the data is transmitted to the credit counter unit 133 (step S502).
  • the credit transmission unit 231 transmits a credit “1” corresponding to 1 byte to the transmitting device 100, and the 2-byte data.
  • the credit “2” is transmitted to the transmitting device 100
  • the credit “3” is transmitted to the transmitting device 100.
  • the reception device 200 determines the capacity of the read data packet in the transmission device 100.
  • the capacity specifying information used for specifying is transmitted to the transmitting apparatus 100, and the transmitting apparatus 100 stores a value corresponding to the total capacity of all data packets currently stored with respect to the capacity of the receiving buffer 210 as a credit.
  • a data packet is transmitted from the transmission buffer 120 to the receiving device 200, a credit having a value corresponding to the capacity of the transmitted data packet is added to and stored in the credit stored in the credit counter unit 133.
  • the capacity specifying information is received from the receiving device 200, the data packet read from the receiving buffer 210 using the capacity specifying information is received.
  • the amount of credit is determined and the credit corresponding to the specified capacity is subtracted from the credit stored in the credit counter unit 133 and stored, and based on the credit value stored in the credit counter unit 133. Since the transmission device 100 is controlled so as to permit or stop the transmission of data packets, the transmission device 100 grasps the data packet congestion in the reception buffer 210 not by the number of data packets but is stored in the reception buffer 210. By sending data packets while dynamically adjusting the number of data packets (the number of queue stages) within a range where the data packets do not overflow, the unused area of the receive buffer 210 can be reduced. Can be used effectively.
  • the credit transmission unit 231 transmits, as capacity specifying information, a credit having a value corresponding to the capacity of the data packet read from the reception buffer 210 as the transmission apparatus 10.
  • the credit addition unit 132 adds the credit corresponding to the capacity of the data packet transmitted to the receiving device 200 to the credit stored in the credit counter unit 133, stores the credit, and subtracts the credit. Since the unit 134 subtracts the credit of the value received from the receiving device 200 from the credit stored in the credit counter unit 133, the transmitting device 100 simply subtracts the credit received from the receiving device 200 as it is.
  • the degree of data packet congestion in the reception buffer 210 it is possible to simplify the credit increase / decrease process in the transmission apparatus 100.
  • the packet transmission control unit 131 responds to the credit value stored in the credit counter unit 133 according to the capacity of the data packet to be transmitted from the transmission device 100.
  • the added value power obtained by adding the credit value is determined whether the capacity of the reception buffer 210 has reached a predetermined value, and if the added value has not reached the predetermined value (upper limit value)
  • the predetermined value upper limit value
  • FIG. 6 is a diagram for explaining the outline and features of the data packet transmission / reception system according to the second embodiment.
  • the same points as in the data packet transmission / reception system according to the first embodiment will be briefly described.
  • the transmission device 100 divides each transmitted data packet.
  • the packet classification credit counter unit 133b stores a value corresponding to the total capacity of all data packets currently stored with respect to the capacity of the reception buffer 210 as credits.
  • transmitting device 100 transmits a data packet from transmitting buffer 120 to receiving buffer 210 of receiving device 200
  • credit according to the capacity of the transmitted data packet is sent to packet classification credit counter section 133 b.
  • the stored credits are added and stored in the order in which they are transmitted by packet classification (see (1) in Fig. 6).
  • the receiving device 200 receives the data packet transmitted from the transmitting device 100 by the receiving buffer 210 (see (2) in FIG. 6). After that, when the receiving apparatus 200 reads the received data packet from the old data packet in the order in which the data packet is stored in the reception buffer 210, the receiving apparatus 200 receives a credit related to the capacity of the read data from the reception buffer 210. “1” is transmitted to transmitting apparatus 100 (see (3) in FIG. 6). For example, the reception device 200 reads a credit “1” to the transmission device 100 when reading a 1-byte data packet from the reception buffer 210, and reads a credit “1” when reading a 2-byte data packet. When the data is transmitted to 100 and a 3-byte data packet is read, credit “1” is transmitted to the transmitter 100.
  • the transmitting apparatus 100 classifies each data packet and selects the most from the credits stored in the packet classification credit counter unit 133b in the order of transmission.
  • the credit value of the old data packet is also subtracted from the credit value stored in the packet classification credit counter unit 133b. Store (see (4) in Figure 6).
  • the transmitting apparatus 100 receives the credit “1”, the credit “1” that is the oldest credit value among the credits stored in the packet classification credit counter unit 133b is set to the packet classification credit counter unit.
  • the credit value of 133b is also subtracted (deleted), and the credit value (total number) of the knot classification credit counter unit 133b is changed from “10” to “9” (see FIG. 9).
  • the transmitting apparatus 100 receives the credit “1”
  • the credit “2” which is the oldest credit value among the credits stored in the packet classification credit strength counter section 133b, is stored in the packet classification credit counter section.
  • the credit value of 133b is also subtracted, and the credit value of the packet category credit counter unit 133b is changed from “9” to “7”.
  • the transmission apparatus 100 permits or stops the transmission of the data packet based on the credit value stored in the packet classification / counter counter unit 133b. (Refer to (5) in Fig. 6).
  • the same amount of credit regardless of the capacity of the data packet read from the reception buffer 210 is always transmitted from the reception device 200 to the transmission device.
  • the transmitting device 100 can grasp the data packet congestion in the receiving buffer 210.
  • the reply process from the receiving device 200 to the transmitting device 100 can be simplified. is there.
  • FIG. 7 is a block diagram illustrating a configuration of a data packet transmission / reception system according to the second embodiment.
  • the data packet transmission / reception system includes a transmission device 100 and a reception device 200.
  • the transmission device 100 includes a data input unit 110, a transmission buffer 120, a transmission buffer control unit 130, and the like.
  • the reception apparatus 200 includes a reception buffer 210, a data output unit 220, and a reception buffer control unit 230.
  • the packet classification credit counter unit 133b is currently rated against the capacity of the reception buffer 210.
  • the value corresponding to the total capacity of all data packets is stored as credits.
  • the packet classification credit counter unit 133b classifies the stored credits for each packet and stores them in the order of transmission transmitted from the transmission device 100, as will be described later.
  • the credit adding unit 132b When a data packet is transmitted from the transmission buffer 120 to the receiving device 200, the credit adding unit 132b generates a credit having a value corresponding to the capacity of the data packet transmitted to the receiving device 200 for each data packet. In addition to the credit value stored in the packet classification credit counter unit 133b, the data is stored in the order of classification and transmission.
  • FIG. 8 is a conceptual diagram showing processing at the time of credit addition in the second embodiment.
  • the credit subtracting unit 134b classifies each data packet and transmits the oldest from the credits stored in the packet classification credit counter 133b in the order of transmission. The data packet credit is subtracted and stored.
  • FIG. 9 is a conceptual diagram showing processing at the time of credit subtraction in the second embodiment.
  • the credit transmission unit 231b transmits the above-described capacity specification information related to the capacity of the data packet read from the reception buffer 210 to the transmission apparatus 100. Specifically, the credit transmission unit 231b transmits the credit “1” related to the capacity of the data packet read from the reception buffer 210 to the transmission device 100 as the above-described capacity specifying information.
  • FIG. 10 is a flowchart illustrating processing at the time of packet transmission according to the second embodiment.
  • the same points as in the data packet transmission / reception system according to the first embodiment will be briefly described.
  • the credit adding unit 132b receives a credit corresponding to the capacity of the transmitted data packet. Then, it is classified for each packet, and added to the credit stored in the packet classification credit counter unit 133b in the order of transmission and stored (step S1004).
  • FIG. 11 is a flowchart illustrating processing upon receipt of a credit in the second embodiment.
  • the credit subtracting unit 134b separates the packets into packets and stores them in the order of transmission. From the credits stored in the credit counter unit 133b, the credit of the data packet transmitted the oldest is obtained (step S1102).
  • the credit obtained above is stored by subtracting the credit value stored in the packet classification credit counter unit 133b (step S1103). Specifically, as illustrated in FIG. 9, when the transmitting apparatus 100 receives the credit “1”, the credit “1” which is the oldest credit value among the credits stored in the packet classification credit counter unit 133b. "Is also subtracted (deleted) from the credit value of the packet classification credit counter unit 133b, and the credit value (total number) of the packet classification credit counter unit 133b is changed from" 10 "to" 9 ".
  • FIG. 12 is a flowchart illustrating a process during credit transmission according to the second embodiment.
  • step S1211 when the data output unit 220 reads the data stored in the reception buffer 210 of the reception device 200 (Yes in step S1211), the credit is output regardless of the capacity of the read data. Is transmitted to the packet classification credit counter unit 133b (step S1 212). Specifically, when the receiving device 200 reads a 1-byte data packet from the receiving buffer 210, the credit transmission unit 231b transmits a credit “1” related to the 1 byte read from the receiving buffer 210 to the transmitting device 100. When a 2-byte data packet is read, the read 2-byte credit “1” is sent to the transmitting device 100, and when a 3-byte data packet is read, the credit related to the 3-byte read is read. Send “1” to the transmitter 100.
  • the credit transmission unit 23 lb transmits to the transmission device 100 the capacity specifying information related to the capacity of the data packet read from the reception buffer 210. Then, the credit adding unit 132b classifies the credit of the value according to the capacity of the data packet transmitted to the receiving device 200 for each data packet, and stores the credit stored in the packet classification credit counter unit 133b in the transmission order.
  • the credit subtracting unit 134b sorts the data packets and sorts the data packets in the order of transmission, and then stores the credits of the oldest transmitted data packet from the credits stored in the packet sorting credit counter unit 133b. Is subtracted and stored, regardless of the capacity of the data packet read from the receive buffer 210.
  • the transmitting apparatus 100 can grasp the data packet congestion in the receiving buffer 210. As a result, the receiving apparatus 200 power is also transmitted to the transmitting apparatus 100. It is also possible to simplify the reply process.
  • FIG. 13 is a diagram for explaining the outline and features of the data packet transmission / reception system according to the third embodiment.
  • the same points as in the data packet transmission / reception system according to the first and second embodiments will be briefly described.
  • transmitting apparatus 100 adds data packet identification information that uniquely identifies a data packet to be transmitted from transmission buffer 120 to the data packet, and transmits the data packet to receiving apparatus 200.
  • the credit of the value corresponding to the capacity of the transmitted data packet is classified for each data packet, added with identification information, added to the packet classification credit power counter unit 133c and stored. (See (1) in Figure 13).
  • transmitting apparatus 100 transmits a 1-byte data packet with identification information “x007” added, it corresponds to identification information “x007” and a 1-byte data capacity. Add credit “1”, add and store.
  • receiving apparatus 200 receives data packet transmitted from transmitting apparatus 100 by receiving buffer 210 (see (2) in FIG. 13). Thereafter, when the receiving device 200 reads the received data packet from the receiving buffer 210, the receiving device 200 transmits the identification information added to the packet read from the receiving buffer 210 to the transmitting device 100 (FIG. 13). (See (3)). Specifically, when the receiving apparatus 200 reads the 1-byte data packet with the identification information “x002” added from the reception buffer 210, the receiving apparatus 200 uses the identification information “x002” added to the powerful 1-byte data. Transmit to transmitting device 100.
  • the transmission device 100 when receiving the identification information transmitted by the receiving device 200, the transmission device 100 is classified for each data packet and added with the identification information and stored in the packet classification credit counter unit 133c. Among these, the credit of the data packet corresponding to the identification information received from the receiving apparatus 200 is subtracted and stored. (See (1) in Figure 1). Specifically, as illustrated in FIG. 13, when the transmitting apparatus 100 receives the identification information “x002”, the credit “1” corresponding to the identification information “x002” is subtracted from the credit value of the packet classification credit counter unit 133c. And store.
  • Transmitting apparatus 100 is stored in packet classification credit counter section 133c. Control to allow or stop sending data packets based on credit value
  • the data packet transmission / reception system transmits the packet identification information related to the capacity of the data packet read from the reception buffer 210 from the reception device 200 to the transmission device 100.
  • the transmission device 100 being able to grasp the degree of data packet congestion in the reception buffer 210 just by transmitting, it is possible to simplify the reply process from the reception device 200 to the transmission device 100.
  • the capacity of the data packet read from the reception buffer 210 can be specified with certainty simply by transmitting the packet identification information from the reception device 200 to the transmission device 100. It is also possible to reliably grasp the data packet congestion in 210.
  • FIG. 14 is a block diagram illustrating a configuration of a data packet transmission / reception system according to the third embodiment.
  • the data packet transmission / reception system includes a transmission device 100 and a reception device 200.
  • the transmission device 100 includes a data input unit 110, a transmission buffer 120, and a transmission buffer control unit 130.
  • the reception apparatus 200 includes a reception buffer 210, a data output unit 220, and a reception buffer control unit 230.
  • the same operations as those in the first embodiment and the second embodiment are denoted by the same reference numerals and the description thereof is omitted.
  • the packet classification credit counter unit 133c the identification information adding unit 135c, Only the credit adding unit 132c, the credit subtracting unit 134c, and the identification information transmitting unit 231c will be described.
  • the packet classification credit counter unit 133c stores a value corresponding to the total capacity of all data packets that are currently stored with respect to the capacity of the reception buffer 210 as credits. Specifically, the packet classification credit counter unit 133c classifies and stores the stored credits by adding identification information as described later (see FIG. 15).
  • the identification information adding unit 135c when the packet transmission control unit 131 permits the transmission of the data packet, identifies the identification information for uniquely identifying the data packet to be transmitted. Attached to the base. Specifically, identification information such as [x006] [x007] is added to the inside of the data packet to be transmitted.
  • the credit adding unit 132c When a data packet is transmitted from the transmission buffer 120 to the receiving device 200, the credit adding unit 132c generates a credit with a value corresponding to the capacity of the data packet transmitted to the receiving device 200 for each data packet.
  • the identification information added by the identification information adding unit 135c is associated with the identification information and added to the credit stored in the packet classification credit counter unit 133c and stored.
  • target adding section 132c Adds the identification information “x006” to the credit “2” corresponding to 2 bytes, adds it to the credit value of the packet classification credit counter unit 133c, and stores it.
  • the credit adder 132c adds the identification information “x007” to the credit “1” corresponding to 1 byte. In addition, it is added to the credit value of the packet classification tariff counter 133c and stored.
  • FIG. 15 is a conceptual diagram showing processing at the time of credit addition in the third embodiment.
  • the credit subtracting unit 134c Upon receiving the identification information from the receiving device 200, the credit subtracting unit 134c is classified for each data bucket and added with the identification information, and is stored in the packet classification credit counter unit 133c. The credit of the data packet corresponding to the identification information received from the receiving device 200 is subtracted and stored.
  • the credit subtraction unit 134c upon receiving the identification information “x002”, the credit subtraction unit 134c receives the credit “1” corresponding to the identification information “x002” in the packet classification credit counter unit 133c.
  • the credit value subtraction unit 134c subtracts the credit “2” corresponding to the identification information “x001” from the credit value of the packet classification credit counter unit 133c.
  • the credit subtraction unit 134c also subtracts the credit “3” corresponding to the identification information “x003” from the credit value of the packet classification credit counter unit 133c.
  • FIG. 16 is a conceptual diagram showing processing at the time of credit subtraction in the third embodiment. [0115]
  • the identification information transmission unit 231c transmits to the transmission device 100 identification information added to a data packet that is related to the capacity of the data packet read from the reception buffer 210.
  • FIG. 17 is a flowchart illustrating processing at the time of packet transmission according to the third embodiment.
  • the same points as those of the data packet transmission / reception system according to the first and second embodiments will be briefly described.
  • step S701 to step S702 affirmative when there is sufficient credit in the packet classification credit counter 133c for the transmission timing and the capacity of the data packet to be transmitted (when the above-mentioned added value power upper limit is not reached) (step S701 to step S702 affirmative), the transmission information adding unit 135c adds identification information that can uniquely identify the data packet to be transmitted, and the packet transmission control unit 131 adds the identification information from the transmission buffer 120. A data packet is transmitted (step S703).
  • step S704 credit adding section 132c classifies the credit according to the capacity of the transmitted data packet for each transmitted data packet, and In association with the identification information, it is added to the credit stored in the packet classification credit counter unit 133c and stored (step S704). That is, credits having values corresponding to the capacity of the data packets transmitted to the receiving device 200 are classified for each data packet, and identification information is added to the credits stored in the packet classification credit counter unit 133c. Add and store.
  • FIG. 18 is a flowchart illustrating processing upon receipt of a credit in the third embodiment.
  • step S 1801 when transmitting apparatus 100 receives identification information from receiving apparatus 200 (step S 1801 affirmative), credit subtracting section 134c performs packet-by-packet storing in packet classification credit counter section 133c.
  • the credit corresponding to the received identification information is obtained with the credit classified into (1) (step S1802). In other words, it is classified for each data packet
  • the credit of the data packet corresponding to the identification information received from the receiving device 200 is obtained from the tardies added with the identification information and stored in the packet classification credit counter unit 133c.
  • the transmitting apparatus 100 when the transmitting apparatus 100 receives the identification information “x002”, the transmitting apparatus 100 obtains the credit “1” corresponding to the identification information “x002”, and receives the identification information “x001”. When the credit “2” corresponding to “2” is obtained and the identification information “x003” is received, the credit “3” corresponding to the identification information “x003” is obtained (see FIG. 16).
  • the credit obtained above is stored by subtracting the credit value stored in the packet classification credit counter unit 133c (step S 1803). Specifically, as shown in FIG. 16, when the transmitting apparatus 100 receives the identification information “x002”, the credit “1” corresponding to the identification information “x002” is subtracted from the credit value of the packet classification credit counter unit 133c. And store.
  • FIG. 19 is a flowchart illustrating a process during credit transmission according to the third embodiment.
  • step S 1902 when the data output unit 220 reads out the data stored in the reception buffer 210 of the reception device 200 (Yes at step S1901), the identification information added to the read data packet Is transmitted to the packet classification credit counter unit 133c (step S 1902) o
  • the packet transmission control unit 131 adds identification information uniquely identifying the transmitted data packet to the data packet. Then, the identification information transmission unit 231c transmits the identification information added to the data packet related to the capacity of the data packet read from the reception buffer 210 to the transmission device 100 for credit.
  • the adding unit 13 2c classifies the credit of the value according to the capacity of the data packet transmitted to the receiving apparatus 200 for each data packet and adds identification information, and is stored in the packet classification credit counter unit 133c!
  • Add to credit and store, credit subtractor 134 c is a credit of the data packet corresponding to the identification information received from the receiving apparatus 200 from among the credits that are classified for each data packet and that are added with identification information and stored in the packet classification credit counter unit 133c. Therefore, the transmitting device 100 simply transmits the packet identification information related to the capacity of the data packet read from the receiving buffer 210 to the transmitting device 100. As a result of grasping the degree of data packet congestion in the buffer 210, it is possible to simplify the reply process from the receiving apparatus 200 to the transmitting apparatus 100. Furthermore, the capacity of the data packet read from the reception buffer 210 can be reliably identified by simply transmitting the packet identification information from the reception device 200 to the transmission device 100. It is also possible to reliably grasp the data packet congestion.
  • the power of the transmitting device is the added value of the credit value obtained by adding the credit value corresponding to the capacity of the data packet to be transmitted.
  • the present invention is not limited to this, and the present invention is not limited to this. Whether or not the power reaches a predetermined value (upper limit) determined from the capacity of the reception buffer.
  • the present invention can be similarly applied to the case where the transmission of data packets is controlled by determining the above.
  • the packet transmission control unit determines whether the credit value stored in the credit counter unit has reached a predetermined value (upper limit) determined by the capacity of the reception buffer, If the value does not reach the upper limit value, data packet transmission is permitted. If the credit value has reached the upper limit value, control is performed to stop data packet transmission.
  • a predetermined value upper limit
  • the capacity of the reception buffer is set to the longest size of the data packet.
  • the subtracted value is set as the upper limit value of the credit counter, and data packet transmission can be controlled while judging only whether the credit exceeds the upper limit value. As a result, packet transmission is permitted or stopped. It is also possible to simplify the processing.
  • FIG. 20 is a diagram showing an example of a computer system using the present invention.
  • the chipset 2113, the chipset 2121, and the chipset 2133 use the control of the present invention, and the system The present invention can be applied to data packet transmission / reception between the board 2110 and the memory system interconnect 2120 and data packet transmission / reception between the memory system interconnect 2120 and the IO unit 2130.
  • the present invention is not limited to this, and arbitrary information included in a data packet to be transmitted is not limited to this.
  • the present invention can be similarly applied to a method to be used and a method to use both such arbitrary information and data packet identification information.
  • the present invention as a configuration of the data packet transmission / reception system, the power described for the system in which the transmission device and the reception device are one-to-one.
  • the present invention is not limited to this.
  • the present invention can be similarly applied to a system having a plurality of receiving apparatuses or a system having a plurality of transmitting apparatuses and one receiving apparatus.
  • the present invention is not limited to this, and the transmission device and the reception device are realized by the same terminal.
  • the present invention can be similarly applied.
  • each component of each illustrated device is functionally conceptual and does not necessarily need to be physically configured as illustrated.
  • the specific form of distribution / integration of each device is not limited to the one shown in the figure.
  • the transmission device, the reception device power, the transmission buffer control unit, and the reception buffer control unit are extracted to separately control transmission / reception of data packets.
  • An apparatus may be provided.
  • all or a part of them can be configured to be functionally or physically distributed or integrated in arbitrary units according to various loads or usage conditions.
  • a credit addition unit and a credit subtraction unit can be integrated.
  • each processing function performed in each device can be realized by a CPU and a program analyzed and executed by the CPU, or can be realized as hardware by wired logic.
  • information including the processing procedures, control procedures, specific names, various data and parameters shown in the above documents and drawings for example, the information shown in FIGS. 8 and 9), unless otherwise specified. It can be changed arbitrarily.
  • FIG. 21 is a diagram illustrating a program of the data packet transmission / reception system according to the first embodiment.
  • the transmission apparatus 2100 is configured by connecting a mouse 2101, a keyboard 2102, a CPU 2103, a ROM 2104, an HDD 2105, a RAM 2106, and a communication control interface 2107 via a bus 2209 and the like.
  • the receiving device 2200 is configured by connecting a mouse 2201, a keyboard 2202, a CPU 2203, a ROM 2204, a RAM 2206, an HDD 2205, and a communication control interface 2207 through a bus 2209 or the like.
  • the transmission device 2100 and the reception device 2200 are connected by a communication control interface 2107 and a communication control interface 2207 via a network, wired, wireless (infrared communication, Bluetooth, etc.), etc. ing.
  • the ROM 2104 has a transmission buffer control program that exhibits the same functions as the transmission buffer control unit 130 and the data input unit 110 shown in the first embodiment, that is, as shown in FIG. 21, a credit counter program. 2104a, a credit addition program 2104b, a credit subtraction program 2104c, a packet transmission control program 2104d, and a data input program 2104e are stored in advance. Note that these programs 2104a to 2104e may be integrated or separated as appropriate, similarly to the constituent elements of the transmission apparatus 100 shown in FIG.
  • CPU 2103 power By reading these programs 2104a to 2104e from the ROM 2104 and executing them, each program 2104a to 2104e can be converted into a credit counter process 2103a and a credit addition process. 2103b, a credit subtraction process 2103c, a packet transmission control process 2103d, and a data input process 2103e. Each process 2103a to 2103e corresponds to the credit power counter 133, the credit adder 132, the credit subtractor 134, the packet transmission controller 131, and the data input unit 110 shown in FIG. .
  • CPU 2103 executes a transmission buffer control program based on packet counter data 2106a stored in RAM 2106 and transmission buffer data 2106b.
  • the ROM 2204 has a reception buffer control program that exhibits the same functions as the reception buffer control unit 230 and the data output unit 220 shown in the first embodiment, that is, as shown in FIG.
  • a credit transmission program 2204a and a data output program 2204b are stored in advance.
  • the programs 2204a and 2204b may be integrated or separated as appropriate, as with each component of the receiving apparatus 200 shown in FIG.
  • the CPU 2203 is based on the reception buffer data 2206a stored in the RAM 2206. Then, the reception buffer control program is executed.
  • the programs 2104a to 2104e and 2204a to 2204b described in the present embodiment need not be stored in the ROM from the beginning. For example, they are inserted into the transmission device 2100 or the reception device 2200.
  • “Portable physical media” such as flexible disks, CD-ROMs, MO disks, DVD disks, magneto-optical disks, and IC cards, or “fixed” such as HDDs installed inside and outside the transmitter 2100 or receiver 2200
  • Each program is stored in “other physical media (or server)” connected to the transmission device 2 100 or the reception device 2200 via a public line, the Internet, a LAN, a WAN, or the like.
  • the transmitter 2100 or the receiver 2200 may read and execute each of these programs.
  • the data packet transmission / reception system is useful for a data packet transmission / reception system that transmits a data packet to a reception device including a reception buffer, particularly a reception buffer. It is suitable for realizing a data packet transmission / reception system that transmits data packets that can effectively use the resources.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Description

明 細 書
データパケット送受信システム、データパケット送受信方法およびデータ パケット送受信プログラム
技術分野
[0001] この発明は、データパケット送受信システム、データパケット送受信方法およびデー タパケット送受信プログラムに関する。
背景技術
[0002] 従来より、送信側の送信バッファ力 受信側の受信バッファにデータパケットを送信 するシステムにおいては、受信バッファがオーバーフローしてデータパケットが廃棄さ れてしまわないように、受信バッファにおけるデータパケットの読み出し状況を受信側 から送信側に伝え、送信側でデータパケットの送信を制御することが一般的に行わ れている。
[0003] 例えば、特許文献 1 (特開平 9— 135270号公報)では、受信バッファで格納可能な キュー段数 (パケット数)をデータパケットの最長サイズ (最大容量)から予め固定的に 決定し、この固定的に決定されたキュー段数を用いてデータパケットの送信を制御す る技術が開示されている。以下に、図 22を用いて、この従来技術を具体的に説明す る。図 22は、従来技術に係るデータパケット送信制御システムの概要と特徴を説明 するための図である。なお、ここでは、同図に示すように、受信側における受信バッフ ァのサイズが 16バイトであり、送信側から送信されるデータパケットの最長サイズが 4 ノイトであって、受信バッファで格納可能なキュー段数 (パケット数)として 4個が予め 固定的に決定されている例を説明する。
[0004] 同図に示すように、送信側では、クレジット制御カウンタを有し、送信バッファからデ ータパケットを読み出して受信側にデータパケットを送信する度に、送信されるデー タパケットのサイズ (データ容量)に関係なぐクレジット制御カウンタの値を一つ加算 する(同図の(1)参照)。一方、受信側では、送信側からデータパケットを受信すると、 受信したデータパケットを受信バッファの先頭力も詰めて書き込む(同図の(2)参照) 。また、受信側では、受信バッファ力もデータパケットが読み出される度に、読み出さ れるデータパケットのサイズに関係なぐ送信側にクレジットを一つ返信する(同図の(
3)参照)。そして、送信側では、受信側力もクレジットを受信する度に、クレジットの数 だけクレジット制御カウンタの値を減算する(同図の(4)参照)。
[0005] このようにして、送信側では、クレジット制御カウンタの値を加減算する力 このタレ ジット制御カウンタには、上記したように、受信バッファで格納可能なキュー段数 (パ ケット数)として 4個が予め固定的に設定されている。したがって、送信側では、送信 ノ ッファ力 データパケットを読み出して受信側にデータパケットを送信するタイミン グになると、クレジット制御カウンタの現値が固定値 (4個)に達している力否かを判定 する。そして、送信側では、クレジット制御カウンタの現値が固定値 (4個)に達してい ない場合には、送信バッファ力もデータパケットを読み出して受信側にデータパケット を送信し、その一方、クレジット制御カウンタの現値が固定値 (4個)に達している場合 には、受信バッファがデータパケットで満杯になっているおそれがあると判断して、デ ータパケットの送信を停止する(同図の(5)参照)。このような一連の処理を通じて、特 許文献 1では、受信バッファのオーバーフローによるデータパケットの廃棄を防止し ている。
[0006] なお、上記したような従来技術の他に、クレジットによる制御において、受信バッファ の空き容量に応じてクレジットを追加発行することによって、ノ ッファをリングバッファと して使用する技術も知られている(例えば、特許文献 2参照)。さらに、バッファの制御 において、送信バッファの使用状態について、管理テーブルを用いることで、送信デ ータを簡単に管理できるようにする技術も知られて 、る (例えば、特許文献 3参照)。
[0007] 特許文献 1 :特開平 9 135270号公報 (第 2— 4頁、第 1 3図)
特許文献 2 :特開 2001— 94613号公報 (第 3— 5頁、第 1図)
特許文献 3:特開平 11— 110315号公報 (第 6— 10頁、第 1— 2図)
発明の開示
発明が解決しょうとする課題
[0008] し力しながら、上記した従来の技術では、以下に説明するように、受信バッファに未 使用領域が生じ易ぐ受信バッファとしての資源を有効に利用できていないという課 題があった。 [0009] すなわち、上記した従来の技術では、受信バッファで格納可能なキュー段数をデ ータパケットの最長サイズから予め固定的に決定している(上記の例では、 4個)。こ のため、図 22に示すように、サイズが「4バイト、 2バイト、 2バイト、 2バイト」である 4つ のパケットが受信バッファに格納されている場合のように、データパケットの最長サイ ズに満たな 、短 、サイズのデータパケットが受信バッファに格納されて 、る場合でも 、送信側のクレジット制御カウンタの値が固定値 (4個)に達する結果、データパケット の送信は停止されてしまう。そして、このような場合には、受信バッファに未使用領域 が大きく生じ (上記の例では、 6バイトの未使用領域が生じ)、受信バッファとしての資 源を有効に利用できて 、な 、と 、う課題があった。
[0010] なお、上記したような課題は、ネットワークを介して通信装置間でデータパケットを送 信する場合に限られた課題ではなぐ例えば、コンピュータシステム内部において回 路間でデータパケットを送信する場合など、送信側の送信バッファから受信側の受信 ノ ッファにデータパケットを送信するあらゆるシステムで同様に生じる課題である。
[0011] そこで、この発明は、上述した従来技術の課題を解決するためになされたものであ り、受信バッファとしての資源を有効に利用することが可能なデータパケット送受信シ ステム、データパケット送受信方法およびデータパケット送受信プログラムを提供する ことを目的とする。
課題を解決するための手段
[0012] 上述した課題を解決し、 目的を達成するため、請求項 1に係る発明は、送信バッフ ァを備える送信装置力 受信バッファを備える受信装置へデータパケットを送信する データパケット送受信システムであって、前記受信装置は、前記受信バッファに格納 されているデータパケットが読み出された場合に、当該読み出されたデータパケット の容量を前記送信装置にぉ 、て特定する際に用いられる容量特定情報を前記送信 装置に送信し、前記送信装置は、前記受信バッファの容量に対して現に格納されて V、る全データパケットの総容量に応じた値をクレジットとして記憶し、前記送信バッフ ァから前記受信装置に前記データパケットが送信された場合に、当該送信されたデ ータパケットの容量に応じた値のクレジットを、クレジット記憶手段に記憶されているク レジットに加算して格納し、前記受信装置から前記容量特定情報を受信した場合に 、当該容量特定情報を用いて前記受信バッファから読み出されたデータパケットの容 量を特定し、当該特定した容量に応じた値のクレジットを、前記クレジット記憶手段に 記憶されて 、るクレジットから減算して格納し、前記クレジット記憶手段に記憶されて V、るクレジットの値に基づ 、て、前記データパケットの送信を許可または停止するよう に制御することを備えたことを特徴とする。
[0013] また、請求項 2に係る発明は、上記の発明において、容量特定情報送信手段は、 前記容量特定情報として、前記受信バッファから読み出されたデータパケットの容量 に応じた値のクレジットを前記送信装置に送信し、クレジット加算手段は、前記受信 装置に送信されたデータパケットの容量に応じた値のクレジットを、前記クレジット記 憶手段に記憶されているクレジットに加算して格納し、クレジット減算手段は、前記受 信装置力 受信した値のクレジットを、前記クレジット記憶手段に記憶されて 、るタレ ジットから減算して格納することを備えたことを特徴とする。
[0014] また、請求項 3に係る発明は、上記の発明において、前記容量特定情報送信手段 は、前記受信バッファ力 読み出されたデータパケットの容量に関係なぐ前記容量 特定情報を前記送信装置に送信し、前記クレジット加算手段は、前記受信装置に送 信されたデータパケットの容量に応じた値のクレジットを、前記データパケットごとに区 分けして送信順に、前記クレジット記憶手段に記憶されて 、るクレジットに加算して格 納し、前記クレジット減算手段は、前記データパケットごとに区分けして送信順に前記 クレジット記憶手段に記憶されているクレジットのなかから、最も古く送信されたデータ パケットのクレジットを減算して格納することを備えたことを特徴とする。
[0015] また、請求項 4に係る発明は、上記の発明において、送信制御手段は、前記データ パケットの送信を許可する場合に、当該送信されるデータパケットを一意に識別する 識別情報を当該データパケットに付加して前記受信装置に送信し、前記容量特定情 報送信手段は、前記受信バッファから読み出されたデータパケットの容量に関係なく 、当該データパケットに付加されている識別情報を前記送信装置に送信し、前記タレ ジット加算手段は、前記受信装置に送信されたデータパケットの容量に応じた値のク レジットを、前記データパケットごとに区分けするとともに前記識別情報を付加して、 前記クレジット記憶手段に記憶されて 、るクレジットに加算して格納し、前記クレジット 減算手段は、前記データパケットごとに区分けされるとともに前記識別情報が付加さ れて前記クレジット記憶手段に記憶されて!、るクレジットのなかから、前記受信装置か ら受信した識別情報に対応するデータパケットのクレジットを減算して格納することを 備えたことを特徴とする。
[0016] また、請求項 5に係る発明は、上記の発明において、前記送信制御手段は、前記ク レジット記憶手段に記憶されて 、るクレジットの値に対して、前記送信装置から送信し ようとしているデータパケットの容量に応じたクレジットの値を加算した加算値力 前 記受信バッファの容量から定まる所定の値に達して 、る力否かを判定し、前記加算 値が前記所定の値に達して 、な 、場合には、前記データパケットの送信を許可し、 前記加算値が前記所定の値に達して 、る場合には、前記データパケットの送信を停 止するように制御することを備えたことを特徴とする。
[0017] また、請求項 6に係る発明は、上記の発明において、前記送信制御手段は、前記ク レジット記憶手段に記憶されているクレジットの値が、前記受信バッファの容量から定 まる所定の値に達して 、る力否かを判定し、前記クレジットの値が前記所定の値に達 していない場合には、前記データパケットの送信を許可し、前記クレジットの値が前 記所定の値に達して 、る場合には、前記データパケットの送信を停止するように制御 することを備えたことを特徴とする。
[0018] また、請求項 7に係る発明は、送信バッファを備える送信装置から受信バッファを備 える受信装置へデータパケットを送信するデータパケット送受信方法であって、前記 受信装置は、前記受信バッファに格納されているデータパケットが読み出された場合 に、当該読み出されたデータパケットの容量を前記送信装置にお 、て特定する際に 用いられる容量特定情報を前記送信装置に送信する容量特定情報送信工程と、前 記送信装置は、前記受信バッファの容量に対して現に格納されて 、る全データパケ ットの総容量に応じた値をクレジットとしてクレジットカウンタに記憶するクレジット記憶 工程と、前記送信バッファから前記受信装置に前記データパケットが送信された場合 に、当該送信されたデータパケットの容量に応じた値のクレジットを、前記クレジット力 ゥンタに記憶されているクレジットに加算して格納するクレジット加算工程と、前記受 信装置から前記容量特定情報を受信した場合に、当該容量特定情報を用いて前記 受信バッファ力 読み出されたデータパケットの容量を特定し、当該特定した容量に 応じた値のクレジットを、前記クレジットカウンタに記憶されているクレジットから減算し て格納するクレジット減算工程と、前記クレジットカウンタに記憶されているクレジット の値に基づ 、て、前記データパケットの送信を許可または停止するように制御する送 信制御工程と、を含んだことを特徴とする。
[0019] また、請求項 8に係る発明は、送信バッファを備える送信装置から受信バッファを備 える受信装置へデータパケットを送信する方法をコンピュータに実行させるデータパ ケット送受信プログラムであって、前記受信装置としてのコンピュータは、前記受信バ ッファに格納されているデータパケットが読み出された場合に、当該読み出されたデ ータパケットの容量を前記送信装置において特定する際に用いられる容量特定情報 を前記送信装置に送信する容量特定情報送信手順と、前記送信装置としてのコンビ ユータは、前記受信バッファの容量に対して現に格納されて 、る全データパケットの 総容量に応じた値をクレジットとしてクレジットカウンタに記憶するクレジット記憶手順 と、前記送信バッファから前記受信装置に前記データパケットが送信された場合に、 当該送信されたデータパケットの容量に応じた値のクレジットを、前記クレジットカウン タに記憶されて 、るクレジットに加算して格納するクレジット加算手順と、前記受信装 置から前記容量特定情報を受信した場合に、当該容量特定情報を用いて前記受信 バッファ力も読み出されたデータパケットの容量を特定し、当該特定した容量に応じ た値のクレジットを、前記クレジットカウンタに記憶されているクレジットから減算して格 納するクレジット減算手順と、前記クレジットカウンタに記憶されて 、るクレジットの値 に基づ!/、て、前記データパケットの送信を許可または停止するように制御する送信制 御手順と、をコンピュータに実行させることを特徴とする。
[0020] また、請求項 9に係る発明は、送信装置から送信されるデータパケットを受信する受 信装置であって、前記データパケットを格納する受信バッファを有し、前記受信バッ ファに格納されたデータパケットを読み出し、前記受信バッファに格納されているデ ータパケットが読み出された場合に、当該読み出されたデータパケットの容量を特定 する際に用いられる容量特定情報を前記送信装置に送信することを備えたことを特 徴とする。 [0021] また、請求項 10に係る発明は、上記の発明において、容量特定情報送信手段は、 前記容量特定情報として、前記受信バッファから読み出されたデータパケットの容量 に応じた値のクレジットを前記送信装置に送信することを特徴とする。
[0022] また、請求項 11に係る発明は、受信バッファを備える受信装置へデータパケットを 送信する送信装置であって、前記受信バッファに格納されて 、る全データパケットの 総容量に応じた値をクレジットとして記憶し、前記受信装置にデータパケットが送信さ れた場合に、当該送信されたデータパケットの容量に応じた値のクレジットを、クレジ ット記憶手段に記憶されているクレジットに加算し、前記受信装置から受信した、前記 受信バッファから読み出されたデータパケットの容量を特定する容量特定情報に基 づいて、前記受信バッファ力 読み出されたデータパケットの容量に応じた値のタレ ジットを、前記クレジット記憶手段に記憶されているクレジットから減算し、クレジット記 憶手段に記憶されて 、るクレジットの値に基づ 、て、前記データパケットの送信を許 可または停止するように制御することを備えたことを特徴とする。
発明の効果
[0023] 請求項 1、 7または 8の発明によれば、受信装置は、受信バッファに格納されている データパケットが読み出された場合に、容量特定情報を送信装置に送信し、送信装 置は、受信バッファの容量に対して現に格納されて 、る全データパケットの総容量に 応じた値をクレジットとして記憶し、送信バッファから受信装置に前記データパケット が送信された場合に、当該送信されたデータパケットの容量に応じた値のクレジット を、現在のクレジットに加算して格納し、受信装置から容量特定情報を受信した場合 に、当該容量特定情報を用いて受信バッファ力 読み出されたデータパケットの容量 を特定し、当該特定した容量に応じた値のクレジットを、現在のクレジットから減算し て格納し、クレジット記憶手段に記憶されているクレジットの値に基づいて、データパ ケットの送信を許可または停止するように制御するので、送信装置が受信バッファに おけるデータパケットの混み具合をデータパケット数ではなくデータ容量で把握し、 受信バッファに格納されるデータパケット数 (キュー段数)をデータパケットがオーバ 一フローしない範囲で動的に調整しながらデータパケットを送信することで、受信バッ ファの未使用領域を減らすことができる結果、受信バッファとしての資源を有効に利 用することが可能である。
[0024] また、請求項 2の発明によれば、受信装置は、容量特定情報として、受信バッファか ら読み出されたデータパケットの容量に応じた値のクレジットを送信装置に送信し、送 信装置は、受信装置に送信されたデータパケットの容量に応じた値のクレジットを、 現在のクレジットに加算して格納し、送信装置は、受信装置力 受信した値のクレジ ットを、現在のクレジットから減算して格納するので、送信装置では、受信装置から受 信したクレジットをそのまま減算するだけで、受信バッファにおけるデータパケットの 混み具合を把握することができる結果、送信装置におけるクレジットの増加減処理を 簡易化することも可能である。
[0025] また、請求項 3の発明によれば、受信装置は、受信バッファから読み出されたデー タパケットの容量に関係なぐ容量特定情報を送信装置に送信し、送信装置は、受信 装置に送信されたデータパケットの容量に応じた値のクレジットを、データパケットごと に区分けして送信順に、現在のクレジットに加算して格納し、送信装置は、データパ ケットごとに区分けして送信順にクレジット記憶手段に記憶されているクレジットのな かから、最も古く送信されたデータパケットのクレジットを減算して格納するので、受 信バッファ力 読み出されたデータパケットの容量に関係なぐ常に同量のクレジット を受信装置力 送信装置に送信するだけで、受信装置では、受信バッファにおける データパケットの混み具合を把握することができる結果、受信装置から送信装置への 返信処理を簡易化することも可能である。
[0026] また、請求項 4の発明によれば、送信装置は、データパケットの送信を許可する場 合に、当該送信されるデータパケットを一意に識別する識別情報を当該データバケツ トに付加して受信装置に送信し、受信装置は、受信バッファから読み出されたデータ パケットの容量に関係なぐ当該データパケットに付加されている識別情報を送信装 置に送信し、送信装置は、受信装置に送信されたデータパケットの容量に応じた値 のクレジットを、データパケットごとに区分けするとともに識別情報を付加して、現在の クレジットに加算して格納し、送信装置は、データパケットごとに区分けされるとともに 識別情報が付加されてクレジット記憶手段に記憶されて 、るクレジットのなかから、受 信装置力 受信した識別情報に対応するデータパケットのクレジットを減算して格納 するので、受信バッファ力 読み出されたデータパケットの容量に関係なぐパケット の識別情報を受信装置から送信装置に送信するだけで、受信装置では、受信バッフ ァにおけるデータパケットの混み具合を把握することができる結果、受信装置から送 信装置への返信処理を簡易化することも可能である。さらに、パケットの識別情報を 受信装置力も送信装置に送信するだけで、受信バッファから読み出されたデータパ ケットの容量を確実に特定することができる結果、受信バッファにおけるデータバケツ トの混み具合を確実に把握することも可能になる。
[0027] また、請求項 5の発明によれば、送信装置は、現在のクレジットの値に対して、送信 装置力 送信しょうとしているデータパケットの容量に応じたクレジットの値を加算した 加算値が、受信バッファの容量力 定まる所定の値に達しているか否かを判定し、加 算値が所定の値に達していない場合には、データパケットの送信を許可し、加算値 が所定の値に達している場合には、データパケットの送信を停止するように制御する ので、これから送信しょうとしているデータパケットが送信された後における受信バッ ファの混み具合を推定することができる結果、受信バッファにおけるオーバーフロー を確実に防止することも可能である。
[0028] また、請求項 6の発明によれば、送信装置は、現在のクレジットの値力 受信バッフ ァの容量から定まる所定の値に達して 、る力否かを判定し、クレジットの値が所定の 値に達していない場合には、データパケットの送信を許可し、クレジットの値が所定の 値に達している場合には、データパケットの送信を停止するように制御するので、例 えば、受信バッファの容量力 データパケットの最長サイズを差し引いた値をクレジッ トカウンタの上限値として設定しておき、この上限値をクレジットが超える力否かだけ を判定しながらデータパケットの送信を制御することができる結果、パケットの送信を 許可または停止する処理を簡易化することも可能である。
[0029] また、請求項 9の発明によれば、受信装置は、データパケットを格納する受信バッフ ァを有し、受信バッファに格納されたデータパケットを読み出し、受信バッファに格納 されているデータパケットが読み出された場合に、当該読み出されたデータパケット の容量を特定する際に用いられる容量特定情報を送信装置に送信するので、送信 装置が、現在のクレジットに基づいて、データパケットの送信を許可または停止するよ うに制御することにより、送信装置が受信バッファにおけるデータパケットの混み具合 をデータパケット数ではなくデータ容量で把握し、受信バッファに格納されるデータ パケット数 (キュー段数)をデータパケットがオーバーフローしない範囲で動的に調整 しながらデータパケットを送信することで、受信バッファの未使用領域を減らすことが できる結果、受信バッファとしての資源を有効に利用することが可能である。
[0030] また、請求項 10の発明によれば、受信装置は、容量特定情報として、受信バッファ から読み出されたデータパケットの容量に応じた値のクレジットを送信装置に送信す るので、送信装置が、受信装置に送信されたデータパケットの容量に応じた値のタレ ジットを、現在のクレジットに加算して格納し、送信装置が、受信装置から受信した値 のクレジットを、現在のクレジットから減算して格納することにより、送信装置では、受 信装置力も受信したクレジットをそのまま減算するだけで、受信バッファにおけるデー タパケットの混み具合を把握することができる結果、送信装置におけるクレジットの増 加減処理を簡易化することも可能である。
[0031] また、請求項 11の発明によれば、送信装置は、受信バッファに格納されている全デ ータパケットの総容量に応じた値をクレジットとして記憶し、受信装置にデータパケット が送信された場合に、当該送信されたデータパケットの容量に応じた値のクレジット を、現在のクレジットに加算し、受信装置力も受信した、受信バッファ力も読み出され たデータパケットの容量を特定する容量特定情報に基づ 、て、受信バッファ力 読み 出されたデータパケットの容量に応じた値のクレジットを、現在のクレジットから減算し 、クレジット記憶手段に記憶されているクレジットの値に基づいて、データパケットの送 信を許可または停止するように制御するので、受信装置が、受信バッファに格納され ているデータパケットが読み出された場合に、容量特定情報を送信装置に送信する ことにより、送信装置が受信バッファにおけるデータパケットの混み具合をデータパケ ット数ではなくデータ容量で把握し、受信バッファに格納されるデータパケット数 (キュ 一段数)をデータパケットがオーバーフローしない範囲で動的に調整しながらデータ パケットを送信することで、受信バッファの未使用領域を減らすことができる結果、受 信バッファとしての資源を有効に利用することが可能である。
図面の簡単な説明 [図 1]図 1は、実施例 1に係るデータパケット送受信システムの概要および特徴を説明 するための図である。
[図 2]図 2は、実施例 1におけるデータパケット送受信システムの構成を示すブロック 図である。
[図 3]図 3は、実施例 1におけるパケット送信時の処理を示すフローチャートである。
[図 4]図 4は、実施例 1におけるクレジット受信時の処理を示すフローチャートである。
[図 5]図 5は、実施例 1におけるクレジット送信時の処理を示すフローチャートである。
[図 6]図 6は、実施例 2に係るデータパケット送受信システムの概要および特徴を説明 するための図である。
[図 7]図 7は、実施例 2におけるパケット送受信システムの構成を示すブロック図であ る。
[図 8]図 8は、実施例 2におけるクレジット加算時の処理を示す概念図である。
[図 9]図 9は、実施例 2におけるクレジット減算時の処理を示す概念図である。
[図 10]図 10は、実施例 2におけるパケット送信時の処理を示すフローチャートである
[図 11]図 11は、実施例 2におけるクレジット受信時の処理を示すフローチャートであ る。
[図 12]図 12は、実施例 2におけるクレジット送信時の処理を示すフローチャートであ る。
[図 13]図 13は、実施例 3に係るデータパケット送受信システムの概要および特徴を説 明するための図である。
[図 14]図 14は、実施例 3におけるパケット送受信システムの構成を示すブロック図で ある。
[図 15]図 15は、実施例 3におけるクレジット加算時の処理を示す概念図である。
[図 16]図 16は、実施例 3におけるクレジット減算時の処理を示す概念図である。
[図 17]図 17は、実施例 3におけるパケット送信時の処理を示すフローチャートである
[図 18]図 18は、実施例 3におけるクレジット受信時の処理を示すフローチャートであ る。
[図 19]図 19は、実施例 3における識別情報送信送時の処理を示すフローチャートで ある。
[図 20]図 20は、本発明を用いたコンピュータシステムの例を示す図である。
[図 21]図 21は、実施例 1におけるデータパケット送受信システムのプログラムを示す 図である。
[図 22]図 22は、従来技術に係るデータパケット送信制御システムの概要と特徴を説 明するための図である。
符号の説明
[0033] 100 送信装置
110 データ入力部
120 送信ノ ッファ
130 送信バッファ制御部
131 パケット送信制御部
132 クレジット加算部
133 クレジットカウンタ部
134 クレジット減算部
200 受信装置
210 受信バッファ
220 データ出力部
230 受信バッファ制御部
231 クレジット送信部
発明を実施するための最良の形態
[0034] 以下に添付図面を参照して、この発明に係るデータパケット送受信システム、デー タパケット送受信方法およびデータパケット送受信プログラムの実施例を詳細に説明 する。なお、以下の実施例 1では、実施例 1に係るデータパケット送受信システムの概 要および特徴、データパケット送受信システムの構成および処理の流れ、および効 果を順に説明する。 実施例 1
[0035] [データパケット送受信システムの概要および特徴]
まず最初に、図 1を用いて、実施例 1に係るデータパケット送受信システムの概要お よび特徴を説明する。図 1は、実施例 1に係るデータパケット送受信システムの概要 および特徴を説明するための図である。
[0036] 同図に示すように、実施例 1に係るデータパケット送受信システムは、送信バッファ 120を備える送信装置 100から受信バッファ 210を備える受信装置 200へデータパ ケットを送信するデータパケット送受信システムである。そしてこのような概要を有する データパケット送受信システムは、以下で説明するように、受信バッファ 210としての 資源を有効に利用することが可能である点に主たる特徴がある。
[0037] 図 1に例示するように、送信装置 100は、受信バッファ 210の容量に対して現に格 納されている全データパケットの総容量に応じた値をクレジットとして記憶するクレジ ットカウンタ部 133を有している。ここで、送信装置 100は、クレジットカウンタ部 133 のクレジット値の上限値として、受信装置 200の受信バッファ 210の容量に対応する クレジットの値 (例えば「16」)を設定する。このため、送信装置 100は、クレジットカウ ンタ部 133の残りのクレジット値から、受信バッファ 210の空き容量を得ることができる
[0038] ここで、送信装置 100は、送信バッファ 120から、データパケットを受信装置 200の 受信バッファ 210に送信すると、送信されたデータパケットの容量に応じたクレジット を、クレジットカウンタ部 133に記憶されているクレジットに加算して格納する(図 1の( 1)参照)。例えば、図 1に示すように、送信装置 100が、 2バイトのデータパケットを送 信すると、クレジット「2」をクレジットカウンタ部 133のクレジット値に加算し、 1バイトの データパケットを送信すると、クレジット「1」をクレジットカウンタ部 133のクレジット値に 加算する。
[0039] 一方、受信装置 200は、送信装置 100から送信されたデータパケットを、受信バッ ファ 210で受信する(図 1の(2)参照)。その後、受信装置 200は、上記した受信した データパケットを、データパケットが受信バッファ 210に格納された順番で古いデータ パケットから読み出すと、受信バッファ 210から読み出されたデータの容量に対応す るクレジットを、送信装置 100に送信する(図 1の(3)参照)。例えば、受信装置 200 は、受信バッファ 210から 1バイトのデータパケットを読み出すと、クレジット「1」を送信 装置 100へと送信し、 2バイトのデータパケットを読み出すと、クレジット「2」を送信装 置 100へと送信し、 3バイトのデータパケットを読み出すと、クレジット「3」を送信装置 100へと送信する。
[0040] また、送信装置 100は、上記した受信装置 200が送信したクレジットを受信すると、 受信したクレジットを、クレジットカウンタ部 133に記憶されているクレジット値力も減算 して格納する(図 1の(4)参照)。例えば、送信装置 100が、クレジット「1」を受信する と、クレジット「1」をクレジットカウンタ部 133のクレジット値力も減算し、クレジット「2」を 受信すると、クレジット「2」をクレジットカウンタ部 133のクレジット値力も減算し、クレジ ット「3」を受信すると、クレジット「3」をクレジットカウンタ部 133のクレジット値力 減算 する。
[0041] そして送信装置 100は、クレジットカウンタ部 133に記憶されているクレジット値に基 づいて、データパケットの送信を許可または停止するように制御する。具体的には、ク レジットカウンタ部 133に記憶されているクレジット値に対して、送信装置 100から送 信しょうとしているデータパケットの容量に応じたクレジットの値を加算したクレジット値 の加算値が、受信バッファ 210の容量から定まる所定の値 (上限値)に達しているか 否かを判定し、上記したクレジット値の加算値が上限値に達していない場合には、デ ータパケットの送信を許可し、クレジット値の加算値が上限値に達している場合には、 データパケットの送信を停止するように制御する。
[0042] 例えば、クレジットカウンタ部 133の上限値が 16の場合、現在のクレジット値が「10」 であり、送信するデータパケットの容量に応じたクレジット値が「2」であれば、クレジッ ト値の加算値は「12」となり、上限値である「16」に達していないため、送信装置 100 は送信を許可する。また、現在のクレジット値が「12」であり、送信するデータパケット の容量に応じたクレジット値力 「1」であれば、クレジットの加算値は「13」となり、送信 装置 100は送信を許可する。一方、現在のクレジット値が「13」であり、送信するデー タパケットの容量に応じたクレジット値が「4」であれば、クレジットの加算値は「17」とな り、上限値である「16」に達してしまうため、送信装置 100は送信を停止する(図 1の( 5)参照)。
[0043] このようなことから、データパケット送受信システムは、送信装置 100が受信バッファ 210におけるデータパケットの混み具合をデータパケット数ではなくデータ容量で把 握し、受信バッファ 210に格納されるデータパケット数 (キュー段数)をデータパケット がオーバーフローしない範囲で動的に調整しながらデータパケットを送信することで 、受信バッファ 210の未使用領域を減らすことができる結果、受信バッファ 210として の資源を有効に利用することが可能である。
[0044] なお、上記した送信装置 100および受信装置 200としては、携帯電話、 PDA,パ 一ソナルコンピュータなど、ネットワークや有線、無線 (赤外線通信、ブルートゥース等 )を介して情報をパケットで送信または受信する電子機器、または、同一の電子機器 内の回路やチップなど、電子機器内のバスや配線を介して情報をパケットで送信ま たは受信する電子回路である。
[0045] [データパケット送受信システムの構成]
次に、図 2を用いて、実施例 1に係るデータパケット送受信システムの構成を説明す る。図 2は、実施例 1におけるデータパケット送受信システムの構成を示すブロック図 である。同図に示すように、このデータパケット送受信システムは、送信装置 100と受 信装置 200とから構成され、送信装置 100は、データ入力部 110と、送信バッファ 12 0と、送信バッファ制御部 130とを備え、受信装置 200は、受信バッファ 210と、デー タ出力部 220と、受信バッファ制御部 230とを備えている。また、送信装置 100と受信 装置 200は、ネットワークや有線、無線 (赤外線通信、ブルートゥース等)、あるいは電 子機器内のバスや配線を介して、接続している。
[0046] データ入力部 110は、各種の情報を送信バッファ 120に入力する。具体的には、送 信装置 100から受信装置 200へと送信するデータパケットを、送信バッファ 120先頭 力も詰めて、書き込む。
[0047] 送信バッファ 120は、送信装置 100から受信装置 200へ送信するデータパケットを 記憶し、メモリなどによって構成される。具体的には、送信バッファ 120は、データ入 力部 110から入力されたデータパケットを、送信バッファ 120の先頭力も詰めて記憶 する。なお、送信バッファ 120では、データパケットが読み出されるたびに、読み出さ れたデータパケットは消去され、新たなデータパケットが上書きされる。
[0048] 送信バッファ制御部 130は、データパケットの送受信を制御し、本発明に密接に関 連するものとしては、図 2に示すように、パケット送信制御部 131と、クレジット加算部 1 32と、クレジットカウンタ部 133と、クレジット減算部 134とを備える。なお、パケット送 信制御部 131は特許請求の範囲に記載の「送信制御手段」に対応し、クレジット加算 部 132は同じく「クレジット加算手段」に対応し、クレジットカウンタ部 133は同じく「タレ ジット記憶手段」に対応し、クレジット減算部 134は同じく「クレジット減算手段」に対応 する。
[0049] クレジットカウンタ部 133は、受信バッファ 210の容量に対して現に格納されている 全データパケットの総容量に応じた値をクレジットとして記憶する。具体的には、後述 するクレジット加算部 132およびクレジット減算部 134によって、記憶しているクレジッ ト値を増加減されることによって、受信バッファ 210の容量に対して現に格納されて ヽ る全データパケットの総容量に応じた値をクレジットとして記憶する。
[0050] なお、クレジットカウンタ部 133は、受信バッファ 210の容量の最大値に応じたタレ ジットを、所定の値 (上限値)として記憶している。例えば、受信バッファ 210の容量の 最大値が 16バイトであれば、 16バイトに対応したクレジット「16」を、クレジットカウンタ 部 133のクレジットの上限値として記憶し、受信バッファ 210の容量の最大値が 32バ イトであれば、 32バイトに対応したクレジット「32」を、クレジットカウンタ部 133のタレ ジットの上限値として記憶する。
[0051] クレジット加算部 132は、送信バッファ 120から受信装置 200にデータパケットが送 信されると、送信されたデータパケットの容量に応じた値のクレジットを、クレジットカウ ンタ部 133に記憶されているクレジット値に加算して格納する。
[0052] 例えば、送信バッファ 120から 2バイトのデータパケットを送信すると、クレジット加算 部 132は、 2バイトに対応するクレジットであるクレジット「2」を、クレジットカウンタ部 13 3のクレジット値に加算して格納し、送信装置 100が、送信バッファ 120から 1バイトの データパケットを送信すると、クレジット加算部 132は、 1バイトに対応するクレジットで あるクレジット「1」を、クレジットカウンタ部 133のクレジット値に加算して格納する。
[0053] クレジット減算部 134は、受信装置 200から後述する容量特定情報を受信すると、 容量特定情報を用いて受信バッファ 210から読み出されたデータパケットの容量を 特定し、上記した特定した容量に応じた値のクレジットを、クレジットカウンタ部 133に 記憶されているクレジット値力も減算して格納する。具体的には、クレジット減算部 13 4は、受信装置 200から受信したクレジットの値を、クレジットカウンタ部 133に記憶さ れて 、るクレジット値力 減算して格納する。
[0054] 例えば、クレジット減算部 134力 クレジット「1」を受信すると、クレジット減算部 134 は、クレジット「1」をクレジットカウンタ部 133のクレジット値力も減算し、クレジット減算 部 134が、クレジット「2」を受信すると、クレジット減算部 134力 クレジット「2」をクレジ ットカウンタ部 133のクレジット値力も減算し、クレジット減算部 134が、クレジット「3」 を受信すると、クレジット減算部 134が、クレジット「3」をクレジットカウンタ部 133のク レジット値力 減算する。
[0055] パケット送信制御部 131は、クレジットカウンタ部に記憶されているクレジットの値に 基づ!/、て、データパケットの送信を許可または停止するように制御する制御部である 。具体的には、データパケットを送信するタイミングとなると、クレジットカウンタ部 133 に記憶されているクレジットの値に対して、送信装置 100から送信しょうとしているデ ータパケットの容量に応じたクレジットの値を加算した加算値力 S、受信バッファ 210の 容量から定まる所定の値 (上限値)に達している力否かを判定し、上記した加算値が 上記した上限値に達していない場合には、データパケットの送信を許可し、上記した 加算値が上記した上限値に達して 、る場合には、上記したデータパケットの送信を 停止するように制御する。
[0056] 例えば、クレジットカウンタ部 133に設定された上限値が「16」の場合、現在のタレ ジット値が「10」であり、送信するデータパケットの容量に応じたクレジット値力 「2」で あれば、クレジット値の加算値は「12」となり、上限値である「16」に達していないため 、パケット送信制御部 131は送信を許可する。また、現在のクレジット値が「12」であり 、送信するデータパケットの容量に応じたクレジット値が「1」であれば、クレジットのカロ 算値は「13」となり、パケット送信制御部 131は送信を許可する。一方、現在のクレジ ット値が「13」であり、送信するデータパケットの容量に応じたクレジット値が「4」であ れば、クレジットの加算値は「17」となり、上限値である「16」に達してしまうため、パケ ット送信制御部 131は送信を停止する。
[0057] 次に、受信装置 200のなかで、受信バッファ 210は、送信装置 100から送信された データパケットを記憶し、メモリなどによって構成される。具体的には、受信バッファ 2 10は、送信装置 100から送信されたデータパケットを、受信バッファ 210の先頭から 詰めて、記憶する。なお、受信バッファ 210では、後述するデータ出力部 220によつ て、データパケットが読み出されると、読み出されたデータパケットは消去され、新た なデータパケットが上書きされる。
[0058] データ出力部 220は、受信バッファ 210に記憶されたデータを読み出す。具体的に は、データ出力部 220は、受信バッファ 210に記憶されたデータの中から、受信した 順番が古い順に、データを読み出す。
[0059] 受信バッファ制御部 230は、データパケットの送受信を制御し、図 2に示すように、 本発明に密接に関連するものとしては、クレジット送信部 231を備えている。なお、ク レジット送信部 231は、特許請求の範囲に記載の「容量特定情報送信手段」に対応 する。クレジット送信部 231は、受信バッファ 210に格納されているデータパケットが 読み出された場合に、当該読み出されたデータパケットの容量を送信装置 100にお いて特定する際に用いられる容量特定情報を送信装置 100に送信する。具体的に は、クレジット送信部 231は、上記した容量特定情報として、受信バッファ 210から読 み出されたデータパケットの容量に応じた値のクレジットを送信装置 100に送信する
[0060] 例えば、受信装置 200が受信バッファ 210から 1バイトのデータパケットを読み出す と、クレジット送信部 231は、 1バイトに対応するクレジット「1」を、送信装置 100へと送 信し、 2バイトのデータパケットを読み出すと、クレジット「2」を送信装置 100へと送信 し、 3バイトのデータパケットを読み出すと、クレジット「3」を送信装置 100へと送信す る。
[0061] [パケット送信時の処理]
次に、図 3を用いて、実施例 1におけるパケット送信時の処理手順を説明する。図 3 は、実施例 1におけるパケット送信時の処理を示すフローチャートである。
[0062] 図 3に示すように、パケット送信制御部 131は、データパケットの送信タイミングとな ると (ステップ S301肯定)、送信データパケットの容量にとって、十分なクレジットがあ る力 (すなわち、クレジットカウンタ部 133のクレジット値に、送信するデータパケットの 容量に対応するクレジットの値を加算すると、かかる加算値が、受信バッファ 210の容 量に対応する上限値に達するカゝ)を判定する (ステップ S302)。
[0063] そして、送信するデータパケットの容量にとって、クレジットカウンタ部 133に十分な クレジットがある場合 (上記した加算値力 上限値に達しない場合)には (ステップ S3 02肯定)、パケット送信制御部 131は、送信バッファ 120からデータパケットを送信す る(ステップ S303)。つまり、パケット送信制御部 131は、力かるデータパケットの送信 を許可する。
[0064] そして、送信装置 100が、送信バッファ 120からデータパケットを送信すると、クレジ ット加算部 132は、送信されたデータパケットの容量に応じたクレジットを、クレジット カウンタ部 133に記憶されているクレジットに加算して格納する(ステップ S304)。
[0065] 一方、上記のステップ S302において、送信するデータパケットの容量にとって、ク レジットカウンタ部 133に十分なクレジットがない場合 (上記した加算値力 上限値に 達する場合)には (ステップ S302否定)、パケット送信制御部 131は、送信バッファ 1 20力もデータパケットの送信を停止する(ステップ S305)。
[0066] [クレジット受信時の処理]
次に、図 4を用いて、実施例 1におけるクレジット受信時の処理手順を説明する。図 4は、実施例 1におけるクレジット受信時の処理を示すフローチャートである。
[0067] 図 4に示すように、送信装置 100が受信装置 200からクレジットを受信すると (ステツ プ S401肯定)、クレジット減算部 134は、受信したクレジットの値を、クレジットカウン タ部 133に記憶されたクレジット値力も減算して格納する (ステップ S402)。例えば、 送信装置 100が、クレジット「1」を受信すると、クレジット「1」をクレジットカウンタ部 13 3のクレジット値力も減算し、クレジット「2」を受信すると、クレジット「2」をクレジットカウ ンタ部 133のクレジット値力も減算し、クレジット「3」を受信すると、クレジット「3」をタレ ジットカウンタ部 133のクレジット値力も減算する。
[0068] [クレジット送信時の処理]
次に、図 5を用いて、実施例 1におけるクレジット送信時の処理手順を説明する。図 5は、実施例 1におけるクレジット送信時の処理を示すフローチャートである。
[0069] 図 5に示すように、データ出力部 220が、受信装置 200の受信バッファ 210に記憶 されたデータを読み出すと (ステップ S501肯定)、読み出されたデータの容量に対応 するクレジットを、クレジットカウンタ部 133に送信する (ステップ S502)。例えば、受 信装置 200が受信バッファ 210から 1バイトのデータパケットを読み出すと、クレジット 送信部 231は、 1バイトに対応するクレジット「1」を、送信装置 100へと送信し、 2バイ トのデータパケットを読み出すと、クレジット「2」を送信装置 100へと送信し、 3バイトの データパケットを読み出すと、クレジット「3」を送信装置 100へと送信する。
[0070] [実施例 1による効果]
上述してきたように、実施例 1によれば、受信装置 200は、受信バッファ 210に格納 されているデータパケットが読み出された場合に、当該読み出されたデータパケット の容量を送信装置 100において特定する際に用いられる容量特定情報を送信装置 100に送信し、送信装置 100は、受信バッファ 210の容量に対して現に格納されて いる全データパケットの総容量に応じた値をクレジットとして記憶し、送信バッファ 120 から受信装置 200にデータパケットが送信された場合に、当該送信されたデータパ ケットの容量に応じた値のクレジットを、クレジットカウンタ部 133に記憶されているタレ ジットに加算して格納し、受信装置 200から容量特定情報を受信した場合に、当該 容量特定情報を用いて受信バッファ 210から読み出されたデータパケットの容量を 特定し、当該特定した容量に応じた値のクレジットを、クレジットカウンタ部 133に記 憶されているクレジットから減算して格納し、クレジットカウンタ部 133に記憶されてい るクレジットの値に基づ 、て、データパケットの送信を許可または停止するように制御 するので、送信装置 100が受信バッファ 210におけるデータパケットの混み具合をデ ータパケット数ではなくデータ容量で把握し、受信バッファ 210に格納されるデータ パケット数 (キュー段数)をデータパケットがオーバーフローしない範囲で動的に調整 しながらデータパケットを送信することで、受信バッファ 210の未使用領域を減らすこ とができる結果、受信バッファ 210としての資源を有効に利用することが可能である。
[0071] また、実施例 1によれば、クレジット送信部 231は、容量特定情報として、受信バッフ ァ 210から読み出されたデータパケットの容量に応じた値のクレジットを送信装置 10 0に送信し、クレジット加算部 132は、受信装置 200に送信されたデータパケットの容 量に応じた値のクレジットを、クレジットカウンタ部 133に記憶されているクレジットに 加算して格納し、クレジット減算部 134は、受信装置 200から受信した値のクレジット を、クレジットカウンタ部 133に記憶されているクレジットから減算して格納するので、 送信装置 100では、受信装置 200から受信したクレジットをそのまま減算するだけで 、受信バッファ 210におけるデータパケットの混み具合を把握することができる結果、 送信装置 100におけるクレジットの増加減処理を簡易化することも可能である。
[0072] また、実施例 1によれば、パケット送信制御部 131は、クレジットカウンタ部 133に記 憶されているクレジットの値に対して、送信装置 100から送信しょうとしているデータ パケットの容量に応じたクレジットの値を加算した加算値力 受信バッファ 210の容量 力 定まる所定の値に達している力否かを判定し、加算値が所定の値 (上限値)に達 していない場合には、データパケットの送信を許可し、加算値が上限値に達している 場合には、データパケットの送信を停止するように制御するので、これから送信しょう としているデータパケットが送信された後における受信バッファ 210の混み具合を推 定することができる結果、受信バッファ 210におけるオーバーフローを確実に防止す ることち可會である。
実施例 2
[0073] 上記した実施例 1では、受信バッファ力 の読み出し容量に応じたクレジットを送信 する場合を説明したが、本発明はこれに限定されるものではなぐ読み出し容量に関 係なぐ常に同量のクレジットを送信してもよい。そこで、この実施例 2では、受信バッ ファが読み出したデータパケットの容量に関係なぐ常に同量のクレジットを送信する 場合について説明する。
[0074] [データパケット送受信システムの概要および特徴]
最初に、図 6を用いて、実施例 2に係るデータパケット送受信システムの概要および 特徴を説明する。図 6は、実施例 2に係るデータパケット送受信システムの概要およ び特徴を説明するための図である。なお、以下では、実施例 1に係るデータパケット 送受信システムと同様の点については、簡単に説明することにする。
[0075] 図 6に例示するように、送信装置 100は、送信したデータパケットごとに区分けして 送信順に、受信バッファ 210の容量に対して現に格納されている全データパケットの 総容量に応じた値を、クレジットとして記憶するパケット区分クレジットカウンタ部 133b を有している。
[0076] ここで、送信装置 100は、送信バッファ 120から、データパケットを受信装置 200の 受信バッファ 210に送信すると、送信されたデータパケットの容量に応じたクレジット を、パケット区分クレジットカウンタ部 133bに記憶されているクレジットに、パケットごと に区分して送信した順番で、加算して格納する(図 6の(1)参照)。
[0077] 例えば、図 6に示すように、送信装置 100が、 2バイトのデータパケットを送信すると 、クレジット「2」を、最も新しく送信されたデータパケットとして、パケット区分クレジット カウンタ部 133bのクレジット値に加算(追加)し、パケット区分クレジットカウンタ部 13 3bのクレジット値(総数)を、「7」から「9」にする。続けて、 1バイトのデータパケットを 送信すると、クレジット「1」を、最も新しく送信されたデータパケットとして(例えばパケ ット 5の次に)パケット区分クレジットカウンタ部 133bのクレジット値に加算(追加)し、 パケット区分クレジットカウンタ部 133bのクレジット値(総数)を、「9」から「10」にする( 図 8参照)。
[0078] 一方、受信装置 200は、送信装置 100から送信されたデータパケットを、受信バッ ファ 210で受信する(図 6の(2)参照)。その後、受信装置 200は、上記した受信した データパケットを、データパケットが受信バッファ 210に格納された順番で古いデータ パケットから読み出すと、受信バッファ 210から、読み出されたデータの容量に関係 なぐクレジット「1」を、送信装置 100に送信する(図 6の(3)参照)。例えば、受信装 置 200は、受信バッファ 210から 1バイトのデータパケットを読み出すと、クレジット「1」 を送信装置 100へと送信し、 2バイトのデータパケットを読み出すと、クレジット「1」を 送信装置 100へと送信し、 3バイトのデータパケットを読み出すと、クレジット「1」を送 信装置 100へと送信する。
[0079] また、送信装置 100は、上記した受信装置 200が送信したクレジットを受信すると、 データパケットごとに区分けして送信順にパケット区分クレジットカウンタ部 133bに記 憶されているクレジットのなかから、最も古く送信されたデータパケットのクレジット値 を、パケット区分クレジットカウンタ部 133bに記憶されているクレジット値力も減算して 格納する(図 6の (4)参照)。
[0080] 例えば、送信装置 100が、クレジット「1」を受信すると、パケット区分クレジットカウン タ部 133bに記憶されているクレジットのなかで最も古いクレジット値であるクレジット「 1」をパケット区分クレジットカウンタ部 133bのクレジット値力も減算(削除)し、ノ ケット 区分クレジットカウンタ部 133bのクレジット値 (総数)を、「10」から「9」にする(図 9参 照)。続いて、送信装置 100が、クレジット「1」を受信すると、パケット区分クレジット力 ゥンタ部 133bに記憶されているクレジットのなかで最も古いクレジット値であるクレジ ット「2」をパケット区分クレジットカウンタ部 133bのクレジット値力も減算し、パケット区 分クレジットカウンタ部 133bのクレジット値を、「9」から「7」にする。
[0081] そして、送信装置 100は、実施例 1に係る送信装置 100と同様に、パケット区分タレ ジットカウンタ部 133bに記憶されているクレジット値に基づいて、データパケットの送 信を許可または停止するように制御する(図 6の(5)参照)。
[0082] このようなことから、実施例 2に係るデータパケット送受信システムによれば、受信バ ッファ 210から読み出されたデータパケットの容量に関係なぐ常に同量のクレジット を受信装置 200から送信装置 100に送信するだけで、送信装置 100では、受信バッ ファ 210におけるデータパケットの混み具合を把握することができる結果、受信装置 2 00から送信装置 100への返信処理を簡易化することも可能である。
[0083] [データパケット送受信システムの構成]
次に、図 7を用いて、実施例 2に係るデータパケット送受信システムの構成を説明す る。図 7は、実施例 2におけるデータパケット送受信システムの構成を示すブロック図 である。同図に示すように、このデータパケット送受信システムは、送信装置 100と受 信装置 200とから構成され、送信装置 100は、データ入力部 110と、送信バッファ 12 0と、送信バッファ制御部 130とを備え、受信装置 200は、受信バッファ 210と、デー タ出力部 220と、受信バッファ制御部 230とを備えている。
[0084] ここで、実施例 1と同様の動作をするものについては、同じ番号を付して説明を省 略し、以下では、パケット区分クレジットカウンタ部 133bと、クレジット加算部 132bと、 クレジット減算部 134bと、クレジット送信部 231bについてのみ説明を行う。
[0085] パケット区分クレジットカウンタ部 133bは、受信バッファ 210の容量に対して現に格 納されて 、る全データパケットの総容量に応じた値をクレジットとして記憶する。具体 的には、パケット区分クレジットカウンタ部 133bは、記憶しているクレジットを、後述す るように、パケットごとに区分して、送信装置 100から送信された送信順で記憶する。
[0086] クレジット加算部 132bは、送信バッファ 120から受信装置 200にデータパケットが 送信されると、受信装置 200に送信されたデータパケットの容量に応じた値のクレジ ットを、データパケットごとに区分けして送信順に、パケット区分クレジットカウンタ部 1 33bに記憶されているクレジット値に加算して格納する。
[0087] 具体的には、図 8に示すように、送信装置 100が、 1バイトのデータパケットを送信 すると、クレジット「1」を、最も新しく送信したデータパケットに対応したクレジットとして 一番後ろに (例えばパケット 5の後ろに)、パケット区分クレジットカウンタ部 133bのク レジット値に加算(追加)し、パケット区分クレジットカウンタ部 133bのクレジット値 (総 数)を、「9」から「10」にする。なお、図 8は、実施例 2におけるクレジット加算時の処理 を示す概念図である。
[0088] クレジット減算部 134bは、受信装置 200から後述する容量特定情報を受信すると、 データパケットごとに区分けして送信順にパケット区分クレジットカウンタ 133bに記憶 されているクレジットのなかから、最も古く送信されたデータパケットのクレジットを減 算して格納する。
[0089] 例えば、図 9に示すように、送信装置 100が、クレジット「1」を受信すると、パケット区 分クレジットカウンタ部 133bに記憶されているクレジットのなかで最も古いクレジット値 であるクレジット「1」をパケット区分クレジットカウンタ部 133bのクレジット値力も減算( 削除)し、パケット区分クレジットカウンタ部 133bのクレジット値 (総数)を、「10」から「 9」にする。なお、図 9は、実施例 2におけるクレジット減算時の処理を示す概念図で ある。
[0090] クレジット送信部 231bは、受信バッファ 210から読み出されたデータパケットの容 量に関係なぐ上記した容量特定情報を送信装置 100に送信する。具体的には、ク レジット送信部 231bは、上記した容量特定情報として、受信バッファ 210から読み出 されたデータパケットの容量に関係なぐクレジット「1」を送信装置 100に送信する。
[0091] [パケット送信時の処理] 次に、図 10を用いて、実施例 2におけるパケット送信時の処理手順を説明する。図 10は、実施例 2におけるパケット送信時の処理を示すフローチャートである。なお、以 下では、実施例 1に係るデータパケット送受信システムと同様の点については、簡単 に説明することにする。
[0092] 図 10に示すように、送信タイミングとなり、送信バッファ 120からデータパケットを送 信すると (ステップ S1001〜ステップ S1003)、クレジット加算部 132bは、送信された データパケットの容量に応じたクレジットを、パケットごとに区分して、送信した順番で 、パケット区分クレジットカウンタ部 133bに記憶されているクレジットに加算して格納 する(ステップ S 1004)。
[0093] 例えば、図 8に示すように、送信装置 100が、 1バイトのデータパケットを送信すると 、クレジット「1」をパケット区分クレジットカウンタ部 133bのクレジット値に加算(追加) し、パケット区分クレジットカウンタ部 133bのクレジット値(総数)を、「9」から「10」に する。
[0094] [クレジット受信時の処理]
次に、図 11を用いて、実施例 2におけるクレジット受信時の処理手順を説明する。 図 11は、実施例 2におけるクレジット受信時の処理を示すフローチャートである。
[0095] 図 11に示すように、送信装置 100が受信装置 200からクレジットを受信すると (ステ ップ S1101肯定)、クレジット減算部 134bは、パケットごとに区分され送信順で記憶 された、パケット区分クレジットカウンタ部 133bに記憶されたクレジットのなかから、最 も古く送信されたデータパケットのクレジットを得る (ステップ S 1102)。
[0096] そして、上記で得られたクレジットを、パケット区分クレジットカウンタ部 133bに記憶 されているクレジット値力も減算して格納する (ステップ S 1103)。具体的には、図 9に 示すように、送信装置 100が、クレジット「1」を受信すると、パケット区分クレジットカウ ンタ部 133bに記憶されているクレジットのなかで最も古いクレジット値であるクレジット 「1」をパケット区分クレジットカウンタ部 133bのクレジット値力も減算(削除)し、バケツ ト区分クレジットカウンタ部 133bのクレジット値 (総数)を、「10」から「9」にする。
[0097] [クレジット送信時の処理]
次に、図 12を用いて、実施例 2におけるクレジット送信時の処理手順を説明する。 図 12は、実施例 2におけるクレジット送信時の処理を示すフローチャートである。
[0098] 図 12に示すように、データ出力部 220が、受信装置 200の受信バッファ 210に記 憶されたデータを読み出すと (ステップ S 1211肯定)、読み出したデータの容量に関 わらず、クレジットを、パケット区分クレジットカウンタ部 133bに送信する(ステップ S1 212)。具体的には、受信装置 200が受信バッファ 210から 1バイトのデータパケット を読み出すと、クレジット送信部 231bは、受信バッファ 210から読み出した 1バイトに 関係なぐクレジット「1」を送信装置 100へと送信し、 2バイトのデータパケットを読み 出すと、読み出した 2バイト〖こ関係なぐクレジット「1」を送信装置 100へと送信し、 3 バイトのデータパケットを読み出すと、読み出した 3バイトに関係なぐクレジット「1」を 送信装置 100へと送信する。
[0099] [実施例 2による効果]
上述したように、実施例 2に係るデータパケット送受信システムによれば、クレジット 送信部 23 lbは、受信バッファ 210から読み出されたデータパケットの容量に関係な ぐ容量特定情報を送信装置 100に送信し、クレジット加算部 132bは、受信装置 20 0に送信されたデータパケットの容量に応じた値のクレジットを、データパケットごとに 区分けして送信順に、パケット区分クレジットカウンタ部 133bに記憶されているクレジ ットに加算して格納し、クレジット減算部 134bは、データパケットごとに区分けして送 信順にパケット区分クレジットカウンタ部 133bに記憶されているクレジットのなかから 、最も古く送信されたデータパケットのクレジットを減算して格納するので、受信バッフ ァ 210から読み出されたデータパケットの容量に関係なぐ常に同量のクレジットを受 信装置 200から送信装置 100に送信するだけで、送信装置 100では、受信バッファ 210におけるデータパケットの混み具合を把握することができる結果、受信装置 200 力も送信装置 100への返信処理を簡易化することも可能である。
実施例 3
[0100] 上記した実施例 2では、データパケットの送信順に、クレジットを減算する場合につ いて説明したが、本発明はこれに限定されるものではなぐデータパケットを特定して 、クレジットを減算してもよい。そこで、この実施例 3では、データパケットを特定してク レジットを減算する場合について説明する。 [0101] [データパケット送受信システムの概要および特徴]
最初に、図 13を用いて、実施例 3に係るデータパケット送受信システムの概要およ び特徴を説明する。図 13は、実施例 3に係るデータパケット送受信システムの概要お よび特徴を説明するための図である。なお、以下では、実施例 1や実施例 2に係るデ ータパケット送受信システムと同様の点については、簡単に説明することにする。
[0102] ここで、送信装置 100は、送信バッファ 120から、データパケットを、送信されるデー タパケットを一意に識別する識別情報を当該データパケットに付加して、受信装置 20 0に送信すると、力かる送信されたデータパケットの容量に応じた値のクレジットを、デ ータパケットごとに区分けするとともに識別情報を付加して、パケット区分クレジット力 ゥンタ部 133cに加算して格納する。(図 13の(1)参照)。具体的には、図 13に示すよ うに、送信装置 100が、識別情報「x007」が付加された 1バイトのデータパケットを送 信すると、識別情報「x007」と 1バイトのデータ容量に対応するクレジット「1」を対応 付けて、加算して格納する。
[0103] 一方、受信装置 200は、送信装置 100から送信されたデータパケットを、受信バッ ファ 210で受信する(図 13の(2)参照)。その後、受信装置 200は、上記した受信し たデータパケットを、受信バッファ 210から読み出すと、受信バッファ 210から読み出 されたパケットに付加された識別情報を、送信装置 100に送信する(図 13の(3)参照 )。具体的には、受信装置 200は、受信バッファ 210から識別情報「x002」が付加さ れた 1バイトのデータパケットを読み出すと、力かる 1バイトのデータに付加されている 識別情報「x002」を送信装置 100へと送信する。
[0104] また、送信装置 100は、上記した受信装置 200が送信した識別情報を受信すると、 データパケットごとに区分けされるとともに識別情報が付加されてパケット区分クレジ ットカウンタ部 133cに記憶されているクレジットのなかから、受信装置 200から受信し た識別情報に対応するデータパケットのクレジットを減算して格納する。(図 1の (4) 参照)。具体的には、図 13に示すように、送信装置 100が、識別情報「x002」を受信 すると、識別情報「x002」に対応するクレジット「1」をパケット区分クレジットカウンタ部 133cのクレジット値力 減算し格納する。
[0105] そして、送信装置 100は、パケット区分クレジットカウンタ部 133cに記憶されている クレジット値に基づ 、て、データパケットの送信を許可または停止するように制御する
(図 13の(5)参照)。
[0106] このようなことから、実施例 3に係るデータパケット送受信システムは、受信バッファ 2 10から読み出されたデータパケットの容量に関係なぐパケットの識別情報を受信装 置 200から送信装置 100に送信するだけで、送信装置 100では、受信バッファ 210 におけるデータパケットの混み具合を把握することができる結果、受信装置 200から 送信装置 100への返信処理を簡易化することも可能である。さらに、パケットの識別 情報を受信装置 200から送信装置 100に送信するだけで、受信バッファ 210から読 み出されたデータパケットの容量を確実に特定することができる結果、送信装置 100 では、受信バッファ 210におけるデータパケットの混み具合を確実に把握することも 可會 になる。
[0107] [データパケット送受信システムの構成]
次に、図 14を用いて、実施例 3に係るデータパケット送受信システムの構成を説明 する。図 14は、実施例 3におけるデータパケット送受信システムの構成を示すブロッ ク図である。同図に示すように、このデータパケット送受信システムは、送信装置 100 と受信装置 200とから構成され、送信装置 100は、データ入力部 110と、送信バッフ ァ 120と、送信バッファ制御部 130とを備え、受信装置 200は、受信バッファ 210と、 データ出力部 220と、受信バッファ制御部 230と備えている。
[0108] ここで、実施例 1や実施例 2と同様の動作をするものについては、同じ番号を付して 説明を省略し、以下では、パケット区分クレジットカウンタ部 133cと、識別情報付加部 135cと、クレジット加算部 132cと、クレジット減算部 134cと、識別情報送信部 231c についてのみ説明を行う。
[0109] パケット区分クレジットカウンタ部 133cは、受信バッファ 210の容量に対して現に格 納されて 、る全データパケットの総容量に応じた値をクレジットとして記憶する。具体 的には、パケット区分クレジットカウンタ部 133cは、記憶しているクレジットを、後述す るように、識別情報を付加して、パケットごとに区分して、記憶する(図 15参照)。
[0110] また、識別情報付加部 135cは、パケット送信制御部 131がデータパケットの送信を 許可すると、送信されるデータパケットを一意に識別する識別情報を当該データパケ ットに付加する。具体的には、 [x006][x007]などの識別情報を送信するデータパケ ットの内部に付加する。
[0111] クレジット加算部 132cは、送信バッファ 120から受信装置 200にデータパケットが 送信されると、受信装置 200に送信されたデータパケットの容量に応じた値のクレジ ットを、データパケットごとに区分けするとともに、識別情報付加部 135cがかかるデー タパケットに付加した識別情報を対応させて、パケット区分クレジットカウンタ部 133c に記憶されているクレジットに加算して格納する。
[0112] 例えば、図 15に示すように、送信装置 100が、送信タイミングとなり、送信バッファ 1 20から、識別情報「x006」が付加された 2バイトのデータパケットを送信すると、タレ ジット加算部 132cは、 2バイトに対応するクレジットであるクレジット「2」に識別情報で ある「x006」を付加して、パケット区分クレジットカウンタ部 133cのクレジット値に加算 して格納し、送信装置 100が、送信バッファ 120から、識別情報「007」が付加された 1バイトのデータパケットを送信すると、クレジット加算部 132cは、 1バイトに対応する クレジットであるクレジット「1」に識別情報である「x007」を付加して、パケット区分タレ ジットカウンタ部 133cのクレジット値に加算して格納する。なお、図 15は、実施例 3に おけるクレジット加算時の処理を示す概念図である。
[0113] クレジット減算部 134cは、受信装置 200から識別情報を受信すると、データバケツ トごとに区分けされるとともに識別情報が付加されてパケット区分クレジットカウンタ部 133cに記憶されているクレジットのなかから、受信装置 200から受信した識別情報に 対応するデータパケットのクレジットを減算して格納する。
[0114] 例えば、図 16に示すように、クレジット減算部 134cは、識別情報「x002」を受信す ると、識別情報「x002」に対応するクレジット「1」をパケット区分クレジットカウンタ部 1 33cのクレジット値力 減算し、クレジット減算部 134cが、識別情報「x001」を受信す ると、識別情報「x001」に対応するクレジット「2」をパケット区分クレジットカウンタ部 1 33cのクレジット値力も減算し、クレジット減算部 134cは、識別情報「x003」を受信す ると、識別情報「x003」に対応するクレジット「3」をパケット区分クレジットカウンタ部 1 33cのクレジット値力も減算する。なお、図 16は、実施例 3におけるクレジット減算時 の処理を示す概念図である。 [0115] 識別情報送信部 231cは、受信バッファ 210から読み出されたデータパケットの容 量に関係なぐ力かるデータパケットに付加されている識別情報を送信装置 100に送 信する。
[0116] [パケット送信時の処理]
次に、図 17を用いて、実施例 3におけるパケット送信時の処理手順を説明する。図 17は、実施例 3におけるパケット送信時の処理を示すフローチャートである。なお、以 下では、実施例 1や実施例 2に係るデータパケット送受信システムと同様の点につい ては、簡単に説明することにする。
[0117] 図 17に示すように、送信タイミングとなり、送信するデータパケットの容量にとって、 パケット区分クレジットカウンタ部 133cに十分なクレジットがある場合 (上記した加算 値力 上限値に達しない場合)(ステップ S 701〜ステップ S702肯定)、送信情報付 加部 135cは、送信するデータパケットを一意に区別できる識別情報を付加し、パケ ット送信制御部 131は、送信バッファ 120から識別情報が付加されたデータパケット を送信する (ステップ S703)。
[0118] そして、送信装置 100が、送信バッファ 120からデータパケットを送信すると、クレジ ット加算部 132cは、送信されたデータパケットの容量に応じたクレジットを、送信デー タパケットごとに区分して、識別情報と対応させて、パケット区分クレジットカウンタ部 1 33cに記憶されているクレジットに加算して格納する (ステップ S 704)。つまり、受信 装置 200に送信されたデータパケットの容量に応じた値のクレジットを、データバケツ トごとに区分けするとともに識別情報を付加して、パケット区分クレジットカウンタ部 13 3cに記憶されているクレジットに加算して格納する。
[0119] [クレジット受信時の処理]
次に、図 18を用いて、実施例 3におけるクレジット受信時の処理手順を説明する。 図 18は、実施例 3におけるクレジット受信時の処理を示すフローチャートである。
[0120] 図 18に示すように、送信装置 100が受信装置 200から識別情報を受信すると (ステ ップ S 1801肯定)、クレジット減算部 134cは、パケット区分クレジットカウンタ部 133c に記憶されたパケットごとに区分されたクレジットで、受信した識別情報に対応するク レジットを得る (ステップ S1802)。つまり、データパケットごとに区分けされるとともに 識別情報が付加されてパケット区分クレジットカウンタ部 133cに記憶されているタレ ジットのなかから、受信装置 200から受信した識別情報に対応するデータパケットの クレジットを得る。
[0121] 例えば、送信装置 100が、識別情報「x002」を受信すると、識別情報「x002」に対 応するクレジット「1」を得て、識別情報「x001」を受信すると、識別情報「x001」に対 応するクレジット「2」を得て、識別情報「x003」を受信すると、識別情報「x003」に対 応するクレジット「3」を得る(図 16参照)。
[0122] そして、上記で得られたクレジットを、パケット区分クレジットカウンタ部 133cに記憶 されているクレジット値力も減算して格納する (ステップ S 1803)。具体的には、図 16 に示すように、送信装置 100が、識別情報「x002」を受信すると、識別情報「x002」 に対応するクレジット「1」をパケット区分クレジットカウンタ部 133cのクレジット値から 減算し格納する。
[0123] [クレジット送信時の処理]
次に、図 19を用いて、実施例 3におけるクレジット送信時の処理手順を説明する。 図 19は、実施例 3におけるクレジット送信時の処理を示すフローチャートである。
[0124] 図 19に示すように、データ出力部 220が、受信装置 200の受信バッファ 210に記 憶されたデータを読み出すと (ステップ S1901肯定)、読み出されたデータパケットに 付加された識別情報を、パケット区分クレジットカウンタ部 133cに送信する (ステップ S 1902) o
[0125] [実施例 3による効果]
上述してきたように、実施例 3によれば、パケット送信制御部 131は、データパケット の送信を許可する場合に、当該送信されるデータパケットを一意に識別する識別情 報を当該データパケットに付加して受信装置 200に送信し、識別情報送信部 231c は、受信バッファ 210から読み出されたデータパケットの容量に関係なぐ当該デー タパケットに付加されている識別情報を送信装置 100に送信し、クレジット加算部 13 2cは、受信装置 200に送信されたデータパケットの容量に応じた値のクレジットを、 データパケットごとに区分けするとともに識別情報を付加して、パケット区分クレジット カウンタ部 133cに記憶されて!、るクレジットに加算して格納し、クレジット減算部 134 cは、データパケットごとに区分けされるとともに識別情報が付加されてパケット区分ク レジットカウンタ部 133cに記憶されているクレジットのなかから、受信装置 200から受 信した識別情報に対応するデータパケットのクレジットを減算して格納するので、受 信バッファ 210から読み出されたデータパケットの容量に関係なぐパケットの識別情 報を受信装置 200から送信装置 100に送信するだけで、送信装置 100では、受信バ ッファ 210におけるデータパケットの混み具合を把握することができる結果、受信装 置 200から送信装置 100への返信処理を簡易化することも可能である。さらに、パケ ットの識別情報を受信装置 200から送信装置 100に送信するだけで、受信バッファ 2 10から読み出されたデータパケットの容量を確実に特定することができる結果、受信 ノ ッファ 210におけるデータパケットの混み具合を確実に把握することも可能になる。 実施例 4
[0126] ところで、これまで実施例 1〜3に係るデータパケット送受信システムについて説明 してきたが、この発明は上記した実施例以外にも種々の異なる形態にて実施されて よいものである。そこで、以下では、実施例 4に係るデータパケット送受信システムとし て、異なる実施例を説明する。
[0127] [送信判定方法]
上記の実施例では、送信装置力 送信しょうとしているデータパケットの容量に応じ たクレジットの値を加算したクレジット値の加算値力 受信バッファの容量から定まる 所定の値 (上限値)に達している力否かを判定し、データパケットの送信を制御する 場合について説明したが、本発明はこれに限定されるものではなぐ受信バッファの 容量から定まる所定の値 (上限値)に達している力否かを判定し、データパケットの送 信を制御する場合などにも、この発明を同様に適用することができる。
[0128] 具体的には、パケット送信制御部は、クレジットカウンタ部に記憶されているクレジッ トの値が、受信バッファの容量力 定まる所定の値 (上限値)に達しているかを判定し 、クレジットの値が上限値に達していない場合には、データパケットの送信を許可し、 クレジットの値が上限値に達している場合には、データパケットの送信を停止するよう に制御する。
[0129] これによつて、例えば、受信バッファの容量力 データパケットの最長サイズを差し 引いた値をクレジットカウンタの上限値として設定しておき、この上限値をクレジットが 超える力否かだけを判定しながらデータパケットの送信を制御することができる結果、 パケットの送信を許可または停止する処理を簡易化することも可能である。
[0130] [コンピュータシステムへの適用]
また、上記の実施例では、データパケット送受信システムの構成として、送信装置と 受信装置を別々に備える場合について説明したが、本発明はこれに限定されるもの ではなぐコンピュータシステム内部において回路間でデータパケットを送信する場 合などにも、この発明を同様に適用することができる。例えば、図 20は、本発明を用 いたコンピュータシステムの例を示す図であり、同図に示すように、チップセット 2113 と、チップセット 2121とチップセット 2133は本発明の制御を使用し、システムボード 2 110と、メモリーシステムインターコネクト 2120との間におけるデータパケット送受信 や、メモリーシステムインターコネクト 2120と、 IOユニット 2130との間でのデータパケ ット送受信において、本発明を適用することができる。
[0131] [容量特定情報]
また、上記の実施例では、新たにパケットデータの識別情報を付加するシステムに ついて説明したが、本発明はこれに限定されるものではなぐ送信するデータパケット に予め含まれている任意の情報を用いる方法や、このような任意の情報とデータパケ ットの識別情報の両方を用いる方法などにも、この発明を同様に適用することができ る。
[0132] [システム構成等]
また、上記の実施例では、データパケット送受信システムの構成として、送信装置と 受信装置が 1対 1で構成されるシステムについて説明した力 本発明はこれに限定さ れるものではなぐ一つの送信装置に対して受信装置が複数あるシステムや、送信装 置が複数あり受信装置が一つのシステムなどにも、この発明を同様に適用することが できる。
[0133] また、上記の実施例では、送信装置と受信装置が異なる端末である場合を説明し たが、本発明はこれに限定されるものではなぐ送信装置と受信装置とを同じ端末で 実現する(一つの端末が送信装置の機能および受信装置の機能の双方を備える)場 合にも、この発明を同様に適用することができる。
[0134] また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に 図示の如く構成されていることを要しない。すなわち、各装置の分散'統合の具体的 形態は図示のものに限られず、例えば、送信装置や受信装置力 送信バッファ制御 部や受信バッファ制御部を抜き出して、別途データパケットの送受信の制御を行なう 装置を設けても良い。また、その全部または一部を、各種の負荷や使用状況などに 応じて、任意の単位で機能的または物理的に分散 ·統合して構成することができる。 例えば、クレジット加算部とクレジット減算部を統合して構成することができる。さらに、 各装置にて行なわれる各処理機能は、その全部または任意の一部が、 CPUおよび 当該 CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジック によるハードウェアとして実現され得る。この他、上記文書中や図面中で示した処理 手順、制御手順、具体的名称、各種のデータやパラメータを含む情報 (例えば図 8や 図 9に示す情報)については、特記する場合を除いて任意に変更することができる。
[0135] [データパケット送受信プログラム]
ところで、上記実施例 1では、ハードウェアロジックによって各種の処理を実現する 場合を説明したが、本発明はこれに限定されるものではなぐ予め用意されたプログ ラムをコンピュータで実行することによって実現するようにしてもよい。そこで、以下で は、図 21を用いて、上記の実施例 1に示したデータパケット送受信システムと同様の 機能を有するデータパケット送受信プログラムを実行するコンピュータの一例を説明 する。図 21は、実施例 1におけるデータパケット送受信システムのプログラムを示す 図である。
[0136] 同図に示すように、送信装置 2100は、マウス 2101、キーボード 2102、 CPU2103 、 ROM2104、 HDD2105、 RAM2106、通信制御インターフェイス 2107をバス 21 09などで接続して構成されている。受信装置 2200は、マウス 2201、キーボード 220 2、 CPU2203, ROM2204, RAM2206, HDD2205,通信制御インターフェイス 2207をバス 2209などで接続して構成されている。送信装置 2100と受信装置 2200 は、ネットワークや有線、無線 (赤外線通信、ブルートゥースなど)などを介して、通信 制御インターフェイス 2107および通信制御インターフェイス 2207によって接続され ている。
[0137] ROM2104には、上記の実施例 1で示した送信バッファ制御部 130およびデータ 入力部 110と同様の機能を発揮する送信バッファ制御プログラム、つまり、図 21に示 すように、クレジットカウンタプログラム 2104aと、クレジット加算プログラム 2104bと、 クレジット減算プログラム 2104cと、パケット送信制御プログラム 2104dと、データ入 力プログラム 2104eとが予め記憶されている。なお、これらプログラム 2104a〜2104 eについては、図 2に示した送信装置 100各構成要素と同様、適宜統合または分離し てもよい。
[0138] そして、 CPU2103力 これらのプログラム 2104a〜2104eを ROM2104から読み 出して実行することにより、図 21〖こ示すよう〖こ、各プログラム 2104a〜2104eは、タレ ジットカウンタプロセス 2103aと、クレジット加算プロセス 2103bと、クレジット減算プロ セス 2103cと、パケット送信制御プロセス 2103dと、データ入力プロセス 2103eとして 機能するようになる。なお、各プロセス 2103a〜2103eは、図 2に示した、クレジット力 ゥンタ部 133と、クレジット加算部 132と、クレジット減算部 134と、パケット送信制御部 131と、データ入力部 110とにそれぞれ対応する。
[0139] そして、 CPU2103は、 RAM2106に格納されたパケットカウンタデータ 2106aと、 送信バッファデータ 2106bとに基づいて送信バッファ制御プログラムを実行する。
[0140] また、 ROM2204には、上記の実施例 1で示した受信バッファ制御部 230およびデ ータ出力部 220と同様の機能を発揮する受信バッファ制御プログラム、つまり、図 21 に示すように、クレジット送信プログラム 2204aと、データ出力プログラム 2204bとが 予め記憶されている。なお、プログラム 2204aと 2204bについては、図 2に示した受 信装置 200の各構成要素と同様、適宜統合または分離してもよい。
[0141] そして、 CPU2203力 プログラム 2204aと 2204bを ROM2204力ら読み出して実 行することにより、図 21に示すように、プログラム 2204aと 2204bは、クレジット送信プ ロセス 2203aと、データ出力プロセス 2203bとして機能するようになる。なお、各プロ セス 2203a〜2203bは、図 2に示した、クレジット送信咅 と、データ出力咅 220と にそれぞれ対応する。
[0142] そして、 CPU2203は、 RAM2206に格納された受信バッファデータ 2206aに基 づいて受信バッファ制御プログラムを実行する。
[0143] なお、本実施例で説明した各プログラム 2104a〜2104eや 2204a〜2204bにつ いては、必ずしも最初から ROMに記憶させておく必要はなぐ例えば送信装置 210 0または受信装置 2200に挿入されるフレキシブルディスク、 CD-ROM, MOデイス ク、 DVDディスク、光磁気ディスク、 ICカードなどの「可搬用の物理媒体」、または、 送信装置 2100または受信装置 2200の内外に備えられる HDDなどの「固定用の物 理媒体」、さらには、公衆回線、インターネット、 LAN, WANなどを介して送信装置 2 100または受信装置 2200に接続される「他のコンピュータ (またはサーバ)」などに各 プログラムを記憶させておき、送信装置 2100または受信装置 2200がこれら力も各 プログラムを読みだして実行するようにしてもよ 、。
産業上の利用可能性
[0144] 以上のように、本発明に係るデータパケット送受信システムは、送信バッファを備え る送信装置力 受信バッファを備える受信装置へデータパケットを送信するデータパ ケット送受信システムに有用であり、特に受信バッファとしての資源を有効に利用する ことが可能なデータパケットを送信するデータパケット送受信システムを実現すること に適する。

Claims

請求の範囲
[1] 送信バッファを備える送信装置力 受信バッファを備える受信装置へデータバケツ トを送信するデータパケット送受信システムであって、
前記受信装置は、
前記受信バッファに格納されているデータパケットが読み出された場合に、当該読 み出されたデータパケットの容量を前記送信装置にお 、て特定する際に用いられる 容量特定情報を前記送信装置に送信する容量特定情報送信手段と、
前記送信装置は、
前記受信バッファの容量に対して現に格納されている全データパケットの総容量に 応じた値をクレジットとして記憶するクレジット記憶手段と、
前記送信バッファから前記受信装置に前記データパケットが送信された場合に、当 該送信されたデータパケットの容量に応じた値のクレジットを、前記クレジット記憶手 段に記憶されているクレジットに加算して格納するクレジット加算手段と、
前記受信装置から前記容量特定情報を受信した場合に、当該容量特定情報を用 いて前記受信バッファ力 読み出されたデータパケットの容量を特定し、当該特定し た容量に応じた値のクレジットを、前記クレジット記憶手段に記憶されて 、るクレジット 力 減算して格納するクレジット減算手段と、
前記クレジット記憶手段に記憶されて 、るクレジットの値に基づ 、て、前記データパ ケットの送信を許可または停止するように制御する送信制御手段と、
を備えたことを特徴とするデータパケット送受信システム。
[2] 前記容量特定情報送信手段は、前記容量特定情報として、前記受信バッファから 読み出されたデータパケットの容量に応じた値のクレジットを前記送信装置に送信し 前記クレジット加算手段は、前記受信装置に送信されたデータパケットの容量に応 じた値のクレジットを、前記クレジット記憶手段に記憶されて 、るクレジットに加算して 格納し、
前記クレジット減算手段は、前記受信装置から受信した値のクレジットを、前記タレ ジット記憶手段に記憶されているクレジットから減算して格納することを特徴とする請 求項 1に記載のデータパケット送受信システム。
[3] 前記容量特定情報送信手段は、前記受信バッファから読み出されたデータパケット の容量に関係なぐ前記容量特定情報を前記送信装置に送信し、
前記クレジット加算手段は、前記受信装置に送信されたデータパケットの容量に応 じた値のクレジットを、前記データパケットごとに区分けして送信順に、前記クレジット 記憶手段に記憶されているクレジットに加算して格納し、
前記クレジット減算手段は、前記データパケットごとに区分けして送信順に前記タレ ジット記憶手段に記憶されているクレジットのなかから、最も古く送信されたデータパ ケットのクレジットを減算して格納することを特徴とする請求項 1に記載のデータパケ ット送受信システム。
[4] 前記送信制御手段は、前記データパケットの送信を許可する場合に、当該送信さ れるデータパケットを一意に識別する識別情報を当該データパケットに付加して前記 受信装置に送信し、
前記容量特定情報送信手段は、前記受信バッファから読み出されたデータパケット の容量に関係なぐ当該データパケットに付加されている識別情報を前記送信装置 に送信し、
前記クレジット加算手段は、前記受信装置に送信されたデータパケットの容量に応 じた値のクレジットを、前記データパケットごとに区分けするとともに前記識別情報を 付加して、前記クレジット記憶手段に記憶されて ヽるクレジットに加算して格納し、 前記クレジット減算手段は、前記データパケットごとに区分けされるとともに前記識 別情報が付加されて前記クレジット記憶手段に記憶されているクレジットのなかから、 前記受信装置力も受信した識別情報に対応するデータパケットのクレジットを減算し て格納することを特徴とする請求項 1に記載のデータパケット送受信システム。
[5] 前記送信制御手段は、前記クレジット記憶手段に記憶されているクレジットの値に 対して、前記送信装置力も送信しょうとしているデータパケットの容量に応じたクレジ ットの値を加算した加算値力 前記受信バッファの容量から定まる所定の値に達して いる力否かを判定し、前記加算値が前記所定の値に達していない場合には、前記デ ータパケットの送信を許可し、前記加算値が前記所定の値に達して 、る場合には、 前記データパケットの送信を停止するように制御することを特徴とする請求項 1〜4の V、ずれか一つに記載のデータパケット送受信システム。
[6] 前記送信制御手段は、前記クレジット記憶手段に記憶されているクレジットの値が、 前記受信バッファの容量から定まる所定の値に達して 、る力否かを判定し、前記タレ ジットの値が前記所定の値に達して 、な 、場合には、前記データパケットの送信を許 可し、前記クレジットの値が前記所定の値に達している場合には、前記データバケツ トの送信を停止するように制御することを特徴とする請求項 1〜4の 、ずれか一つに 記載のデータパケット送受信システム。
[7] 送信バッファを備える送信装置力 受信バッファを備える受信装置へデータバケツ トを送信するデータパケット送受信方法であって、
前記受信装置は、
前記受信バッファに格納されているデータパケットが読み出された場合に、当該読 み出されたデータパケットの容量を前記送信装置にお 、て特定する際に用いられる 容量特定情報を前記送信装置に送信する容量特定情報送信工程と、
前記送信装置は、
前記受信バッファの容量に対して現に格納されている全データパケットの総容量に 応じた値をクレジットとしてクレジットカウンタに記憶するクレジット記憶工程と、 前記送信バッファから前記受信装置に前記データパケットが送信された場合に、当 該送信されたデータパケットの容量に応じた値のクレジットを、前記クレジットカウンタ に記憶されているクレジットに加算して格納するクレジット加算工程と、
前記受信装置から前記容量特定情報を受信した場合に、当該容量特定情報を用 いて前記受信バッファ力 読み出されたデータパケットの容量を特定し、当該特定し た容量に応じた値のクレジットを、前記クレジットカウンタに記憶されて 、るクレジット 力 減算して格納するクレジット減算工程と、
前記クレジットカウンタに記憶されているクレジットの値に基づいて、前記データパ ケットの送信を許可または停止するように制御する送信制御工程と、
を含んだことを特徴とするデータパケット送受信方法。
[8] 送信バッファを備える送信装置力 受信バッファを備える受信装置へデータバケツ トを送信する方法をコンピュータに実行させるデータパケット送受信プログラムであつ て、
前記受信装置としてのコンピュータは、
前記受信バッファに格納されているデータパケットが読み出された場合に、当該読 み出されたデータパケットの容量を前記送信装置にお 、て特定する際に用いられる 容量特定情報を前記送信装置に送信する容量特定情報送信手順と、
前記送信装置としてのコンピュータは、
前記受信バッファの容量に対して現に格納されている全データパケットの総容量に 応じた値をクレジットとしてクレジットカウンタに記憶するクレジット記憶手順と、 前記送信バッファから前記受信装置に前記データパケットが送信された場合に、当 該送信されたデータパケットの容量に応じた値のクレジットを、前記クレジットカウンタ に記憶されているクレジットに加算して格納するクレジット加算手順と、
前記受信装置から前記容量特定情報を受信した場合に、当該容量特定情報を用 いて前記受信バッファ力 読み出されたデータパケットの容量を特定し、当該特定し た容量に応じた値のクレジットを、前記クレジットカウンタに記憶されて 、るクレジット 力 減算して格納するクレジット減算手順と、
前記クレジットカウンタに記憶されているクレジットの値に基づいて、前記データパ ケットの送信を許可または停止するように制御する送信制御手順と、
をコンピュータに実行させることを特徴とするデータパケット送受信プログラム。
[9] 送信装置力 送信されるデータパケットを受信する受信装置であって、
前記データパケットを格納する受信バッファと、
前記受信バッファに格納されたデータパケットを読み出す出力手段と、 前記受信バッファに格納されている前記データパケットが読み出された場合に、当 該読み出されたデータパケットの容量を特定する際に用いられる容量特定情報を前 記送信装置に送信する容量特定情報送信手段と、
を備えたことを特徴とする受信装置。
[10] 前記容量特定情報送信手段は、前記容量特定情報として、前記受信バッファから 読み出されたデータパケットの容量に応じた値のクレジットを前記送信装置に送信す ることを特徴とする請求項 9に記載の受信装置。
受信バッファを備える受信装置へデータパケットを送信する送信装置であって、 前記受信バッファに格納されている全データパケットの総容量に応じた値をクレジッ トとして記憶するクレジット記憶手段と、
前記受信装置に前記データパケットが送信された場合に、当該送信されたデータ パケットの容量に応じた値のクレジットを、前記クレジット記憶手段に記憶されているク レジットに加算するクレジット加算手段と、
前記受信装置から受信した、前記受信バッファから読み出されたデータパケットの 容量を特定する容量特定情報に基づいて、前記受信バッファから読み出されたデー タパケットの容量に応じた値のクレジットを、前記クレジット記憶手段に記憶されて!、る クレジットから減算するクレジット減算手段と、
前記クレジット記憶手段に記憶されて 、るクレジットの値に基づ 、て、前記データパ ケットの送信を許可または停止するように制御する送信制御手段と、
を備えたことを特徴とする送信装置。
PCT/JP2006/321114 2006-10-24 2006-10-24 Système de transmission/réception de paquets de données, procédé de transmission/réception de paquets de données et programme de transmission/réception de paquets de données WO2008050394A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020097005806A KR101227770B1 (ko) 2006-10-24 2006-10-24 데이터 패킷 송수신 시스템, 데이터 패킷 송수신 방법 및 데이터 패킷 송수신 프로그램을 기억한 컴퓨터 판독 가능한 기억 매체
CN2006800561870A CN101535970B (zh) 2006-10-24 2006-10-24 数据包发送接收系统、数据包发送接收方法以及数据包发送接收程序
JP2008540825A JP5056762B2 (ja) 2006-10-24 2006-10-24 データパケット送受信システム、データパケット送受信方法およびデータパケット送受信プログラム
EP06822094A EP2077504B1 (en) 2006-10-24 2006-10-24 Data packet transmitting/receiving system, data packet transmitting/receiving method and data packet transmitting/receiving program
PCT/JP2006/321114 WO2008050394A1 (fr) 2006-10-24 2006-10-24 Système de transmission/réception de paquets de données, procédé de transmission/réception de paquets de données et programme de transmission/réception de paquets de données
US12/385,885 US8631152B2 (en) 2006-10-24 2009-04-22 System and method for data packet transmission and reception

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/321114 WO2008050394A1 (fr) 2006-10-24 2006-10-24 Système de transmission/réception de paquets de données, procédé de transmission/réception de paquets de données et programme de transmission/réception de paquets de données

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/385,885 Continuation US8631152B2 (en) 2006-10-24 2009-04-22 System and method for data packet transmission and reception

Publications (1)

Publication Number Publication Date
WO2008050394A1 true WO2008050394A1 (fr) 2008-05-02

Family

ID=39324209

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/321114 WO2008050394A1 (fr) 2006-10-24 2006-10-24 Système de transmission/réception de paquets de données, procédé de transmission/réception de paquets de données et programme de transmission/réception de paquets de données

Country Status (6)

Country Link
US (1) US8631152B2 (ja)
EP (1) EP2077504B1 (ja)
JP (1) JP5056762B2 (ja)
KR (1) KR101227770B1 (ja)
CN (1) CN101535970B (ja)
WO (1) WO2008050394A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012516664A (ja) * 2009-01-29 2012-07-19 クゥアルコム・インコーポレイテッド データ・オーバフローを回避するように受信機バッファを適応させるための方法および装置
JP2016018382A (ja) * 2014-07-08 2016-02-01 富士通株式会社 データ送受信システム、データ送信装置およびデータ送受信システムの制御方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5318875B2 (ja) 2007-09-13 2013-10-16 アクセディアン・ネットワークス・インコーポレーテッド 非試験トラフィックに影響を与えることなくイーサネット(登録商標)経路およびリンクを試験するためのシステム
US8472437B2 (en) * 2010-02-15 2013-06-25 Texas Instruments Incorporated Wireless chip-to-chip switching
CN102566515B (zh) * 2010-12-09 2013-07-24 沈阳高精数控技术有限公司 一种用于总线式数控系统的数据互操作方法
BR112015019459B1 (pt) 2013-03-15 2021-10-19 Intel Corporation Dispositivo para uso em um módulo de memória e método realizado em um módulo de memória
US9166918B1 (en) * 2013-09-30 2015-10-20 Juniper Networks, Inc. Methods and apparatus for scheduling transmission of data in a network
CN104503935B (zh) * 2014-12-02 2018-07-24 天津国芯科技有限公司 一种可精确控制时序的iic控制装置和控制方法
US10163508B2 (en) 2016-02-26 2018-12-25 Intel Corporation Supporting multiple memory types in a memory slot
US11381509B2 (en) 2017-03-17 2022-07-05 Citrix Systems, Inc. Increased packet scheduling throughput and efficiency using úber batching
US10567285B2 (en) * 2017-03-17 2020-02-18 Citrix Systems, Inc. Increasing QoS throughput and efficiency through lazy byte batching

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0348558A (ja) * 1988-09-13 1991-03-01 Nec Corp 伝送制御方法
JPH09135270A (ja) 1995-11-08 1997-05-20 Nippon Telegr & Teleph Corp <Ntt> 通信システム
JPH11110315A (ja) 1997-07-31 1999-04-23 Matsushita Electric Ind Co Ltd 通信装置
JP2001094613A (ja) 1999-09-21 2001-04-06 Canon Inc 通信制御装置、方法および記録媒体
JP2002324043A (ja) * 2001-04-25 2002-11-08 Nec Computertechno Ltd データ転送方法およびデータ転送システム
JP2006189937A (ja) * 2004-12-28 2006-07-20 Toshiba Corp 受信装置、送受信装置、受信方法及び送受信方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748613A (en) * 1996-03-29 1998-05-05 Hewlett-Packard Company Communication pacing method
US5825748A (en) * 1997-04-08 1998-10-20 International Business Machines Corporation Credit-based flow control checking and correction system
US6046979A (en) * 1998-05-04 2000-04-04 Cabletron Systems, Inc. Method and apparatus for controlling the flow of variable-length packets through a multiport switch
US6337865B1 (en) * 1998-09-23 2002-01-08 Maxtor Corporation Fair buffer credit distribution flow control
US7165094B2 (en) 2001-03-09 2007-01-16 Sonics, Inc. Communications system and method with non-blocking shared interface
JP2004102378A (ja) * 2002-09-05 2004-04-02 Seiko Epson Corp 印刷効率を高くしたプリンタ
JP4111974B2 (ja) * 2003-07-18 2008-07-02 富士通株式会社 送信主導型フロー制御装置
US20050063308A1 (en) * 2003-09-24 2005-03-24 Wise Jeffrey L. Method of transmitter oriented link flow control
US7480730B2 (en) * 2004-04-08 2009-01-20 Nortel Networks Limited Credit recovery in a credit based flow control system
JP4106564B2 (ja) * 2004-08-13 2008-06-25 日本電気株式会社 フロー制御方式
US20060050639A1 (en) * 2004-09-03 2006-03-09 David Stuart Credit-based method and apparatus for controlling data communications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0348558A (ja) * 1988-09-13 1991-03-01 Nec Corp 伝送制御方法
JPH09135270A (ja) 1995-11-08 1997-05-20 Nippon Telegr & Teleph Corp <Ntt> 通信システム
JPH11110315A (ja) 1997-07-31 1999-04-23 Matsushita Electric Ind Co Ltd 通信装置
JP2001094613A (ja) 1999-09-21 2001-04-06 Canon Inc 通信制御装置、方法および記録媒体
JP2002324043A (ja) * 2001-04-25 2002-11-08 Nec Computertechno Ltd データ転送方法およびデータ転送システム
JP2006189937A (ja) * 2004-12-28 2006-07-20 Toshiba Corp 受信装置、送受信装置、受信方法及び送受信方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2077504A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012516664A (ja) * 2009-01-29 2012-07-19 クゥアルコム・インコーポレイテッド データ・オーバフローを回避するように受信機バッファを適応させるための方法および装置
US9137160B2 (en) 2009-01-29 2015-09-15 Qualcomm Incorporated Method and apparatus for accomodating a receiver buffer to prevent data overflow
JP2016018382A (ja) * 2014-07-08 2016-02-01 富士通株式会社 データ送受信システム、データ送信装置およびデータ送受信システムの制御方法

Also Published As

Publication number Publication date
JP5056762B2 (ja) 2012-10-24
EP2077504A4 (en) 2010-03-24
KR20090042985A (ko) 2009-05-04
CN101535970B (zh) 2011-05-04
EP2077504A1 (en) 2009-07-08
US8631152B2 (en) 2014-01-14
EP2077504B1 (en) 2013-03-13
KR101227770B1 (ko) 2013-01-29
CN101535970A (zh) 2009-09-16
US20090207850A1 (en) 2009-08-20
JPWO2008050394A1 (ja) 2010-02-25

Similar Documents

Publication Publication Date Title
WO2008050394A1 (fr) Système de transmission/réception de paquets de données, procédé de transmission/réception de paquets de données et programme de transmission/réception de paquets de données
CA2329542C (en) System and method for scheduling message transmission and processing in a digital data network
CA2329357C (en) System and method for regulating message flow in a digital data network
US5943479A (en) Method for reducing the rate of interrupts in a high speed I/O controller
Kasera et al. Fast and robust signaling overload control
EP2466824A1 (en) Service scheduling method and device
US7046628B2 (en) Apparatus and method for just-in-time transfer of transmit commands to a network interface
TW201032524A (en) Method and system for control of energy efficiency and associated policies in a physical layer device
TW201101736A (en) Method and system for low latency state transitions for energy efficiency
CN107852423A (zh) 用于usb 2.0带宽保留的方法及系统
CN110381537B (zh) 一种基于QoE的带宽限速方法、装置、设备及存储介质
CN114675845B (zh) 信息年龄优化方法、装置、计算机设备及存储介质
CN115378879A (zh) 数据控制方法及相关装置
EP2406720B1 (en) Method for controlling a data transfer on a serial transmission data transfer bus
US7873747B2 (en) Device and method for transmitting data
US9729462B2 (en) Transmission apparatus and transmission method
JP5088291B2 (ja) 帯域制御装置及び帯域制御方法ならびにそのプログラム、帯域制御システム
Chung et al. Design and implementation of the high speed TCP/IP Offload Engine
JPWO2007096983A1 (ja) データ入出力制御装置
CN118427137A (zh) 一种基于直接存储器访问dma的数据整序方法
JP2003244218A (ja) 優先クラスの割り当て変更を伴う呼受付制御方法およびノード装置
CN114070803A (zh) 一种数据流的传输方法、装置、存储介质及电子装置
KR100239738B1 (ko) 근거리 통신 시스템의 패킷 데이터 처리 방법 및 장치
CN116636183A (zh) 计算机系统及总线流量控制方法
CN118214722A (zh) 用于流量控制的方法、集成电路、计算装置、存储介质和程序产品

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680056187.0

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 06822094

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008540825

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 1020097005806

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2006822094

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE