WO2005060198A1 - 送信局、受信局、通信方法、通信プログラム、通信プログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents

送信局、受信局、通信方法、通信プログラム、通信プログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
WO2005060198A1
WO2005060198A1 PCT/JP2004/018412 JP2004018412W WO2005060198A1 WO 2005060198 A1 WO2005060198 A1 WO 2005060198A1 JP 2004018412 W JP2004018412 W JP 2004018412W WO 2005060198 A1 WO2005060198 A1 WO 2005060198A1
Authority
WO
WIPO (PCT)
Prior art keywords
ack
data frame
frame
received
scheme
Prior art date
Application number
PCT/JP2004/018412
Other languages
English (en)
French (fr)
Inventor
Ken Nakashima
Original Assignee
Sharp Kabushiki Kaisha
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=34697247&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2005060198(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sharp Kabushiki Kaisha filed Critical Sharp Kabushiki Kaisha
Priority to JP2005516301A priority Critical patent/JP4223513B2/ja
Priority to US10/582,986 priority patent/US7734978B2/en
Priority to CN200480037907XA priority patent/CN1894921B/zh
Publication of WO2005060198A1 publication Critical patent/WO2005060198A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1685Details of the supervisory signal the supervisory signal being transmitted in response to a specific request, e.g. to a polling signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1621Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information

Definitions

  • the present invention can simultaneously use both a normal ACK scheme in which delivery acknowledgment for one frame is returned in one frame, and a block ACK scheme in which delivery acknowledgments for a plurality of frames are collectively returned in one frame. It relates to a communication method.
  • a protocol is implemented to retransmit data frames for which data transmission has failed in order to improve data delivery accuracy.
  • the frame receiving station returns delivery confirmation information as to whether or not reception was successful for a certain frame to the transmitting station.
  • the transmitting station detects the frame that failed to be received based on the delivery confirmation information returned by the receiving station, and retransmits the frame to the receiving station.
  • the first method is a method of returning delivery confirmation for one frame in one frame, and this method is generally used.
  • Another method is a method in which delivery confirmations for a plurality of frames are collectively sent back in one frame.
  • the former is called a normal ACK (NormalAck) method
  • the latter is called a block ACK method.
  • the block ACK method the number of frames required for notification of the delivery confirmation information can be reduced, so that the power of improving the bandwidth efficiency and the average transmission delay time become larger compared to the case of using the normal Ack method. There is a tradeoff.
  • QoS Quality of Service
  • IEEE 802.il standard ANSI / IEEE Std. 802.11, 1999 Edition
  • MAC layer Medium Access Control Layer
  • wireless LAN Local Area Network
  • Normal acknowledgment method (hereinafter referred to as Normal Ack method) as a normal ACK method
  • Block Ack method Block acknowledgment method
  • TID traffic identifier
  • a data frame belonging to each TID is assigned a sequence number (referred to as Sequence Number in IEEE802.11), which is incremented by one each time the transmitting station transmits one frame. Therefore, at the transmitting and receiving station, the frame can be uniquely identified by the combination of TID and Sequence Number.
  • Sequence Number in IEEE802.11
  • the field for storing the Sequence Number has a finite length, if the frame is continuously transmitted, the number will be depleted and it will be renumbered from 0. However, in the present invention, it is easy to consider. It is assumed that no such thing will happen.
  • the NormalAck scheme is a scheme in which, when the transmitting station transmits one frame, the receiving confirmation information for the frame is returned from the receiving station as one frame.
  • each data frame is transmitted in order from the smallest Sequence Number.
  • the transmitting station transmits one data frame.
  • the receiving station If the receiving station successfully receives the data frame, it sends a NormalAck frame back to the transmitting station.
  • the transmitting station can not receive a NormalAck frame for a fixed period (called “Ack Timeout” in IEEE 802.il) after transmitting the data frame in Step 1, it retransmits the same data frame (in the same Sequence Number). Send. ).
  • the transmitting station can not retransmit a specific number of data frames a certain number of times (called “! /”, “Retry Limit” in IEEE 802.11), or a certain time (IEEE 802. In lie, if Delay Bound or Lifetime etc.) has elapsed, it is considered that the retransmission has expired and transmission will fail. In such a case, the data frame will not be retransmitted again thereafter.
  • each data frame is transmitted in order from the smallest Sequence Number. Therefore, when delivery confirmation information for a data frame for which retransmission has not expired has not been obtained, a data frame with a larger Sequence Number is not sent first.
  • the left side of the figure shows the transmission state of the frame on the communication path, and the right side of the figure shows the state of notification to the upper layer of the buffer and frame at the receiving station.
  • NA indicates a NormalAck frame
  • Dn or dn indicates a data frame of Sequence Number (Dn indicates a newly transmitted data frame
  • dn indicates a retransmitted data frame).
  • the data If “o” is described at the bottom of the frame, the frame received correctly by the receiving station,
  • the dashed square indicates the receiving buffer of the receiving station. In the Normal Ack scheme, there is only one receive buffer. If Dn is in the dashed box, it indicates that the received data frame is stored in the receive buffer, and if the dashed box is empty, the receive buffer is empty. Indicates that. Furthermore, when an arrow is drawn upward in the dashed box, it indicates that the data frame stored in the buffer at the receiving station has been notified to the upper layer. When the data frame is notified to the upper layer, the contents of the data frame are erased from the buffer, and the knocker can be reused.
  • the transmitting station transmits a data frame D1, but the receiving station has failed to receive the data frame, in which case the receiving station can not send back a NormalAck frame and nothing is stored in the knocker. .
  • the transmitting station transmits the data frame D1 in phase 1 and then retransmits D1 because the NormalAck frame could not be received even if Ack Timeout has passed. In addition, since it is a retransmission frame, it is displayed as dl in the figure. Since the receiving station has successfully received this data frame, it immediately notifies the upper layer as soon as it stores it in the buffer, and sends back a Normal Ack frame. However, the transmitting station has failed to receive the Normal Ack frame.
  • the transmitting station Since the transmitting station has successfully received the Dl Normal Ack frame in phase 3, it transmits the next data frame D2.
  • the delivery confirmation information at the receiving station is sent back together, so the receiving order of the data frame at the receiving station is not necessarily the same as the sequence number order.
  • the receiving station needs to have a knocker for this.
  • communication using Block Ack requires additional buffer resources compared to Normal Ack
  • communication using Block Ack in IEEE 802.lie is an optional specification, and the amount of buffers that should be held by the receiving station Is also implementation dependent.
  • the transmitting station 501 performs BlockAck start procedure (referred to as ADDBA processing in IEEE 802.lie) with the receiving station 502. At this time, the transmitting station and the receiving station agree beforehand to use BlockAck. Also, in order to use the BlockAck method, the size of the reception buffer needs to be notified in advance from the reception station 502 to the transmission station 501.
  • the size of this reception buffer is the number of frames that can be received (IEEE802.1le In addition, it is notified to each other during ADDBA processing as! /! And Buffer Size (called Buffer Size).
  • the transmitting station 501 transmits a data frame to the receiving station 502. After sending some data frames, a block ACK transmission request frame (in IEEE 802.1 le! /, BlockAckReq frame, etc.) to query the delivery confirmation status for multiple data frames as needed. Call it).
  • a block ACK transmission request frame in IEEE 802.1 le! /, BlockAckReq frame, etc.
  • Block ACK Upon receiving the frame for requesting transmission of ACK, the receiving station 502 sends back to the transmitting station 501 a BlockAck frame including an acknowledgment status for multiple data frames.
  • BlockAck termination procedure is performed. For example, when the transmitting station 501 ends data communication according to the BlockAck scheme, the transmitting station 501 notifies the receiving station 502 of a message “end of BlockAck scheme”. After the BlockAck data communication is finished, the normal NormalAck method is used for communication between both stations.
  • Data input from the upper layer of the transmitting station is divided as necessary and then transmitted as a data frame.
  • Data frames are transmitted consecutively without an Ack frame being returned for each data frame transmission.
  • the transmitting station appropriately transmits a BlockAckReq frame to the receiving station if it wants to know the reception status at the receiving station for the data frame transmitted continuously.
  • This frame contains the Sequence Number (called the Starting Sequence Number in IEEE 802. 1) of the first frame that the transmitting station wants to know the reception status at the receiving station.
  • the receiving station returns a BlockAck frame upon receiving the BlockAckReq frame.
  • This frame contains information on whether or not the frame has been successfully received for each Sequence Number.
  • Information on whether or not the data frame having the Sequence Number after the Starting Sequence Number has been successfully received is included in the data frames that have been received so far.
  • the transmitting station When the transmitting station receives the BlockAck frame, it retransmits a data frame indicating reception failure and transmits a new data frame.
  • data In the NormalAck scheme, data must be transmitted in order starting from the smallest data number in the Sequence Number.
  • BlockAck scheme retransmissions are out of date and there is a great deal of freedom regarding the order of data frame transmission. It is done. In other words, if delivery confirmation information for data frames for which retransmission has not expired has not been obtained, A data frame having a sequence number may be transmitted first.
  • the transmitting order of the data frames is intentionally rearranged at the transmitting station side due to the correlation between the remaining transmittable time given to the transmitting station and the time required to transmit each data frame. There is also the possibility.
  • the transmitting station should not transmit the number of data frames that can not be stored in the buffer by the receiving station.
  • the buffer size of the receiving station can be known at the BlockAck start procedure. More specifically, the Sequence Numbei ⁇ n is a valid (retransmission due date) data frame Ack is received, and the Sequence Number is n + Buffer Size or more. It means that the data frame of ⁇ ⁇ ⁇ ⁇ must not be transmitted.
  • the transmitting station gives up retransmission of that data frame, and sends data for the next and subsequent Sequence Numbers. Send a frame
  • the transmitting station In the NormalAck scheme, as shown in phase 2 of FIG. 6, when the NormalAck frame is not properly received by the transmitting station, the transmitting station often transmits a frame that has already been received by the receiving station again. . However, such occurrences rarely occur in the BlockAck method. This is because, if the transmitting station can not receive the BlockAck frame after transmitting the BlockAckReq frame, it normally retransmits the BlockAckReq frame until it can receive the BlockAck frame.
  • the immediate Block Ack policy is a method of returning a BlockAck frame as soon as a BlockAckReq frame is received.
  • the delayed Block Ack policy is a method of, upon receiving a BlockAckReq frame, returning a Normal Ack frame, and then returning a BlockAck frame when the receiving station obtains a transmission right. It is not directly related to the contents of the present invention which of these methods is used, so the details of these differences will be omitted. Furthermore, the present invention is applicable to any of these methods. The following description will be made assuming that the immediate block acknowledgment policy is used.
  • the receiving station does not know the fact that the retransmission of data frame X has expired and the transmitting station has given up retransmission of this data frame, the receiving station can not notify the upper layer of data frames after X indefinitely.
  • the Starting Sequence Number of the BlockAckReq frame is used to notify of valid data frames. There are the following rules for this.
  • the Starting Sequence Number indicates the value of the Sequence Number at the beginning of the data frame that the transmitting station wants the receiving station to provide delivery confirmation information. Therefore, a data frame with a Sequence Number smaller than the Starting Sequence Number means that the transmitting station has given up retransmission because the retransmission has expired.
  • the receiving station can notify the upper layer of all successfully received data frames smaller than the Starting Sequence Number.
  • the BlockAck method requires buffer resources to rearrange the order of data frames.
  • an explicit BlockAck end procedure is usually performed between the transmitting station and the receiving station, so that the buffer resource reserved for the BlockAck scheme must be stored in the receiving station. It can be opened. However, if the transmitting station has been lost unexpectedly, it is reserved for BlockAck at the receiving station, and the resources are not released and can not be used for other processing. It will be. [0044] In order to avoid this, in IEEE802.11, rules regarding the time-out of BlockAck connection are defined.
  • Block Ack Timeout a data frame or BlockAckReq frame belonging to a TID using BlockAck for a certain period
  • BlockAck After the transmitting station transmits or retransmits a plurality of data frames, a BlockAckReq frame is transmitted, and the process until the receiving station transmits a BlockAck frame is regarded as one phase.
  • BA indicates a BlockAck frame
  • BA req indicates a BlockAckReq frame.
  • the receive buffer can store multiple data frames.
  • Am indicates the address of the reception buffer. If Dn is included in the box of Am, it indicates that the received frame is stored in the buffer of address Am, and if the square of Am is empty, it indicates that the buffer of address Am is empty. Furthermore, when an arrow is written upward in Am !, and if it is in the receiving station, it is stored in its buffer, and the data frame is notified from the MAC layer to the upper layer. Indicates The other description methods are the same as in Figure 6 in the NormalAck method, and so are omitted.
  • the transmitting station transmits D1-D5 data frames and BlockAckReq frames.
  • the receiving station stores the successfully received Dl, D3, D4 and D5 in the buffer, notifies only the upper layer to D1 among them, and makes the NO A1 an empty area.
  • D2 reception fails D3 and higher can not be notified to the upper layer and will be left in the buffer.
  • the BlockAck frame returned from the receiving station allows the transmitting station to know that D2 reception failed.
  • the transmitting station receiving the BlockAck frame of the receiving station retransmits D2 in phase 2. Furthermore, in the previous phase, up to D5 was sent, so the next D6 and later are sent. Since the receiving station has successfully received D2, the missing part in the previous phase is filled and upper layers can be notified up to D5. Therefore, buffers A2 to A5 are free. However, since it has failed to receive D6, the upper layer is not notified after that. Since the upper layer was notified immediately after receiving D1 in the previous phase, buffer A1 is empty and is reused to store D9. In the BlockAck frame returned from the receiving station, the transmitting station is notified that D6 and D8 failed to be received.
  • the transmitting station receiving the BlockAck frame of the receiving station retransmits D6 and D8 in phase 3. Furthermore, in the previous phase, up to D9 was sent, so the next D 10 and later are sent. Since the receiving station has successfully received D6 and failed to receive D8, it can notify D6 to D7 to the upper layer. Therefore, buffers A6 to A7 are free. In the BlockAck frame returned from the receiving station, the transmitting station is notified that D8 reception failed.
  • the transmitting station receiving the BlockAck frame of the receiving station retransmits D8 in phase 4. Furthermore, in the previous phase, up to D12 was sent, so the next D13 and later are sent. At this stage, the transmitting station has not been able to obtain the delivery confirmation information of the valid data frame D8 yet, and has been notified in advance that the receiving station has the size of 8. Therefore, when D16 is transmitted, the receiving station Show that there is a shortage of buffers. Therefore, transmission of a new data frame is transmitting BlockAckReq frame by D15.
  • the receiving station can notify D8 to D13 to the upper layer because D8 is successfully received and D14 is not received. Therefore, it is vacant except for the knocker A7.
  • FIG. 8 shows a specific example when the station gives up resending.
  • the Starting Sequence Number of the BlockAckReq frame is used as information representing the retransmission expiration date of the data frame. In the figure, this information is abbreviated as SSN.
  • SSN the retransmission expiration date of the data frame.
  • the other description methods are the same as in (Specific example 1 of the BlockAck method) and thus will not be described.
  • BlockAckReq and BlockAck frames are assumed to always be successfully received.
  • the transmitting station is notified that the buffer size of the receiving station is 3 ⁇ 4 by prior processing.
  • the transmitting station transmits D1-D5 data frames and BlockAckReq frames.
  • the receiving station stores the successfully received Dl, D3, D4, and D5 in the buffer and notifies only the upper layer of D1. Therefore, A1 is empty.
  • the BlockAck frame returned from the receiving station notifies the transmitting station that D2 reception failed.
  • the transmitting station receiving the BlockAck frame of the receiving station retransmits D2 in phase 2. Furthermore, the transmitting station is transmitting D6 or later. At this time, the transmitting station has not yet obtained the delivery confirmation information for D2, and the retransmission deadline for D2 has not expired yet, and sets the Starting Sequence Number of the BlockAckReq frame to 2. All buffers except A2 to receive D2 are now used. In other words, although the data frame after D3 has been successfully received, it can not be notified to the upper layer. The BlockAck frame returned from the receiving station notifies the transmitting station that it has failed to receive D2 again.
  • the transmitting station receiving the BlockAck frame of the receiving station retransmits D2 in phase 3. However, since the transmitting station has not yet obtained the delivery confirmation information of the valid data frame D2, and the buffer size of the receiving station is 8, it is calculated that the receiving station will run out of buffers when D10 is transmitted. Since it can, it does not transmit subsequent data frames. [0057] In Phase 3, the BlockAck frame returned from the receiving station notifies that the reception of D2 has failed again. Here, it is assumed that the retransmission deadline of D2 has expired, and the transmitting station is aware of the retransmission of D2.
  • the transmitting station knows that the receiving station has received D3 to D9 data frames through the BlockAck frame by the previous phase. Therefore, the transmitting station transmits a BlockAckReq frame with a Starting Sequence Number of 10, and notifies the receiving station that a Sequence Number is 9 or less in a data frame, and that retransmission will not be performed. Do. This allows the receiving station to notify the upper layers of D3 to D9 received up to the previous phase, and return all the cookies to an idle state. In this case, the transmitting station will be able to transmit data frames from D10 to D17 in the next phase.
  • BlockAck method has better bandwidth efficiency than NormalAck method, but it is questioned by BlockAckReq frame, combined! /, The number of data frames is smaller, In this case, using NormalAck method is more efficient than BlockAck method good. Therefore, by ADDBA processing
  • BlockAck method it is possible to use the NormalAck method temporarily to improve bandwidth efficiency even in the communication of data belonging to the TID for which the setting has been made.
  • Each data frame has a field (referred to as an Ack Policy field) for indicating whether the data frame is transmitted as a NormalAck method or a BlockAck method. Even for data transmission belonging to a TID set to use BlockAck, by specifying the NormalAck method in the Ack Policy field of each data frame
  • the NormalAck scheme can be used.
  • phase 3 of FIG. 8 data frames other than D2 can not be transmitted, and in such a case, “d2-NormalAck” is used rather than the sequence “d2-BlockAckReq frame BlockAck frame”. If the sequence “frame” is used, the delivery confirmation status of D2 can be known in a shorter time.
  • the transmitting station transmits the ACK Policy flag of D2 in phase 3 of FIG. It may be transmitted including information indicating the NormalAck scheme in one field.
  • the receiving station also knows that D2 follows the NormalAck scheme. This situation is shown in FIG.
  • the receiving station succeeded in receiving D2 in phase 3.
  • the receiving station can notify D2-D9 to the upper layer, and can make all buffers empty.
  • the ACK Policy field of each data frame is transmitted including information indicating the BlockAck scheme.
  • BlockAck scheme is to be shifted to the NormalAck scheme and / or the judgment criteria are not specified.
  • the transmitting station can mix data frame transmission using NormalAck policy for the purpose of improving bandwidth efficiency for the TID data sequence set to use the BlockAck method. It is. However, in the current specification, there is no description on the order in which data frames may be transmitted using the transmission of the NormalAck policy described above.
  • the data frame transmitted by the NormalAck scheme used at this time is originally substituted for shortening the time of the data frame to be transmitted using the BlockAck scheme. Considering this, both transmitting and receiving stations are considered to behave according to the following BlockAck scheme rules.
  • a data frame having a larger Sequence Number may be transmitted first.
  • the transmission order of data frames may be deliberately rearranged at the transmitting station side due to the correlation between the remaining transmittable time given to the transmitting station and the time required to transmit each data frame.
  • an Ack of a valid (sent due to retransmission) data frame that is Sequence Numbei ⁇ n in a situation where a sequence number of n + Buffer Size or more is transmitted It does not happen.
  • BlockAckReq frame is not transmitted while using the transmitting station power NormalAck, the receiving station can not know the fact that the transmitting station has given up resending a specific frame! /, There was a problem.
  • FIG. 10 shows a processing procedure in the case where there are switching from the BlockAck scheme to the NormalAck scheme and there are two data frames to be transmitted.
  • the transmitting station transmits data frames in the Block Ack scheme. Then, in phases 1 and 2, the receiving station notifies the transmitting station of the failure to receive the D2 and D5 data frames by the BlockAck frame.
  • the transmitting station switches from BlockAck to NormalAck in phase 3 in response to failure to receive D2 and D5 data frames in both phases 1 and 2.! Then, the transmitting station transmits the data frame of D2 by the NormalAck scheme in phase 3 to phase n.
  • the receiving station fails to receive the data frame of D2 in any phase.
  • the transmitting station recognizes that D2's retransmission deadline has expired, and gives up retransmitting D2. Therefore, in the next phase n + 1, the transmitting station transmits the remaining D5 data frames that failed to be received in AIDS 1 and 2 in the NormalAck scheme.
  • the receiving station recognizes the fact that the transmitting station has given up retransmitting the data frame of D2 in phase n + 1 and successfully transmits the data frame of D5.
  • the transmitting station There is a first issue that can not notify the frame to the upper layer!
  • the transmitting station Under normal conditions, when the transmitting station ends data communication according to the BlockAck scheme and transitions to the NormalAck method, the transmitting station also sends a separate message “Exit BlockAck scheme” to the receiving station. Be notified. However, since the notification message itself also has a retransmission period, if the receiving station can not receive the notification message within the retransmission period, the fact that the transmitting station has completely shifted to the NormalAck scheme is It may not be transmitted to the receiving station explicitly. Also in this case, there is a problem that the same problem occurs as in the case where the above-mentioned "temporary NormalAck scheme" is prolonged.
  • the transmitting station has finished transmitting data according to the BlockAck scheme and has completely transitioned to the NormalAck scheme, if that fact is not explicitly transmitted to the receiving station, the receiving station transmits Local power It will continue to receive data frames as a NormalAck scheme.
  • FIG. 11 shows the reception and transmission states of the frame at the receiving station, and the state of the timer for Block Ack Timeout detection.
  • Tn indicates the timing for returning this timer to its initial value.
  • Dn is a data frame of Sequence Number n
  • dn is data of Sequence Number n Retransmission of frames
  • BAreq indicates BlockAckReq frame
  • BA indicates BlockAck frame.
  • a data frame in which Dn and dn are enclosed by double lines indicates that the Ack Policy has been transmitted as the BlockAck method
  • timer should be started originally when the ADDBA process is completed.
  • the transmitting station sends a message “End Block Ack method” to the receiving station, but it is assumed that the receiving station can not correctly receive the message within the time limit for retransmission of the message. .
  • the timer is reset whenever a data frame is received regardless of the specification of Ack Policy. Therefore, even though the transmitting station has finished using the BlockAck method and switched to the NormalAck method, the receiving station will use the BlockAck method. Can not detect the end of the In FIG. 11, since the timer is reset at the timing of T1 to T10, the timer does not reach Block Ack Timeout, and the receiving station can not release the resource for the Block Ack scheme.
  • the communication method according to the present invention adds both of the following two rules.
  • the transmitting station If communication is performed using the BlockAck method, and the transmitting station transmits a data frame having a Sequence Number of X using the NormalAck method, the expiration date of the retransmission is about the data frame having a Sequence Number of x or earlier. It shall mean that it is broken. Therefore, after transmitting a data frame having a Sequence Number of X by the NormalAck scheme, the transmitting station shall not transmit a data frame having a Sequence Number of y (y is a number smaller than X).
  • the detection method of Block Ack Timeout is changed to any one of the following rules.
  • Block Ack Policy can not receive a data frame indicating! /, Block Ack within the time indicated by Block Ack Timeout while using Block Ack, it is assumed that the use of Block Ack has ended.
  • the resources reserved for BlockAck may be released.
  • the receiving station fails to receive the BlockAckReq frame within the time indicated by the Block Ack Timeout while using the BlockAck scheme, it assumes that the BlockAck scheme has been used and is reserved for the BlockAck scheme! ⁇ Good even if you open up your resources! ,.
  • the BlockAck Policy can not receive a data frame indicating the BlockAck method or the BlockAckReq frame within the time indicated by the Block Ack Timeout while using the BlockAck method, the BlockAck method is used. It is considered that the use is over,
  • a transmitting station follows a communication method in which a data frame is transmitted with a predetermined sequence number being numbered, and both a normal ACK scheme and a block ACK scheme are simultaneously used as an ACK from the receiving station for the data frame.
  • the transmitting station is a transmitting station that does not transmit a data frame with a sequence number older than the sequence number if the data frame with a certain sequence number is transmitted by the normal ACK method.
  • the data frame is transmitted with a predetermined order number being numbered.
  • data frames are transmitted with a predetermined sequence number assigned, and both a normal ACK method and a block ACK method are simultaneously used as an ACK from the receiving station for the data frame.
  • the transmitting station transmits a data frame of a certain sequence number by the normal ACK scheme
  • the transmitting station does not transmit a data frame of an older sequence number than the sequence number
  • the receiving station normally transmits the data frame.
  • a data frame requiring an ACK scheme it has been received at that time, but is notified to the upper layer! /,! /, Of the data frames, based on the sequence number of the data frame requiring the normal ACK scheme.
  • the old method is a communication method that notifies the upper layer of data frames with sequence numbers.
  • the communication method according to the present invention includes the IEEE802.il standard (ANSI / IEEE Std. 802.11, 1999 Edition) and the draft of the IEEE 802. IE standard (IEEE P802.11e / D6.0, November 2003).
  • This is a communication method that conforms to a certain TID stream, and sends it to the transmitting station of the stream and transmits a QoS Data Frame of Sequence Number including Ack Policy Group ⁇ ⁇ Nolet [Information indicating this Normal Ack] If there is no QoS Data Frame with a value smaller than the above Sequence Number, and there is a TID stream, at the stream receiving station, the QoS Data Frame contains information indicating Normal Ack in the Ack Policy field. If received, of the QoS Data Frames received at that time but not notified to the upper layer, the QoS Data Frame having a Sequence Number smaller than the Sequence Number included in the received QoS Data Frame is upper layer Communication method to notify .
  • the unreceived data frame is invalidated when the time taken for the transmitting station to return from the NormalAck scheme to the BlockAck scheme temporarily used while the BlockAck scheme is used is prolonged.
  • a receiving station is a receiving station according to a communication method in which both a normal ACK method and a block ACK method are simultaneously used as an ACK for receiving station power to a received data frame, and data requesting a normal ACK method. Regardless of whether a frame is received or not, if a data frame requiring the block ACK method can not be received within a predetermined period, it is considered that the use of the block ACK method has ended, and the block ACK method is used. In order to use it, it is a receiving station that releases resources.
  • the communication method according to the present invention is a communication method in which both the normal ACK method and the block ACK method are simultaneously used as an ACK of the receiving station power for the received data frame, If the data frame requiring the block ACK scheme can not be received within a predetermined period regardless of whether the data frame requiring the ACK scheme has been received, the use of the block ACK scheme has ended. It is a communication method to release resources that are considered and used for the block ACK method.
  • the receiving station according to the present invention is a receiving station according to a communication method in which both the normal ACK method and the block ACK method are simultaneously used as an ACK of the receiving station power to the received data frame, If the block ACK transmission request frame can not be received within a predetermined period, regardless of the power received, it is considered that the use of the block ACK method has ended, and the resources used for the block ACK method are considered. It is a receiving station that releases the
  • the communication method according to the present invention is a communication method in which both the normal ACK method and the block ACK method are simultaneously used as an ACK of the receiving station power to the received data frame, and the receiving station Regardless of whether a frame is received or not, if the frame ACK request frame can not be received within a predetermined period, it is considered that the use of the block ACK scheme has ended, and it is used for the block ACK scheme. Is a communication method for releasing resources.
  • the receiving station according to the present invention is a receiving station capable of receiving received data frames.
  • a receiving station according to a communication method in which both the normal ACK method and the block ACK method are simultaneously used a data frame that requires the block ACK method within a predetermined period, regardless of the power at which the data frame is received, Or, if it is not possible to receive the block ACK transmission request frame, it is considered as the end of use of the block ACK scheme, and is a receiving station that releases the resources used for the block ACK scheme.
  • the communication method according to the present invention is a communication method in which both the normal ACK method and the block ACK method are simultaneously used as an ACK of the receiving station power to the received data frame. Regardless of whether or not a frame is received, it is assumed that the use of the block ACK method has ended if a data frame requiring the block ACK method or a block ACK transmission request frame can not be received within a predetermined period. None This is a communication method used to release the resources used for the block ACK method.
  • the communication method according to the present invention complies with the IEEE802.il standard (ANSI / IEEE Std. 802.11, 1999 Edition) and the draft of the IEEE 802. lie standard (IEEE P802.11e / D 6.0, November 2003).
  • Communication method and for the stream of a certain TID, the period indicated by Block Ack Timeout, regardless of whether the receiving station received the QoS Data Frame including information indicating Normal Ack in the Ack Policy field.
  • the communication method is to release the resources used for the transmission of Block Ack if it can not receive the QoS Data Frame in which the information indicating Block Ack is included in the Ack Policy field.
  • the communication method according to the present invention conforms to the IEEE802.il standard (ANSI / IEEE Std. 802.11, 1999 Edition) and the draft of the IEEE 802. lie standard (IEEE P802.11e / D6.0, November 2003).
  • IEEE 802.11e 1999 Edition
  • D6.0 December 2003
  • the communication method according to the present invention conforms to the IEEE802.il standard (ANSI / IEEE Std. 802.11, 1999 Edition) and the draft of the IEEE 802. lie standard (IEEE P802.11e / D6.0, November 2003).
  • the receiving station receives the QoS Data Frame including information indicating Normal Ack in the Ack Policy field. Regardless of whether or not it is a QoS Data Frame or Block that includes information indicating Block Ack in the Ack Policy field within the period indicated by Block Ack Timeout.
  • the BlockAck method is ended transmitted from the transmitting station to the receiving station.
  • the receiving station can not correctly receive the message within the message's retransmission deadline, a timeout is not detected at the receiving station, and the receiving station can not release the resources reserved for BlockAck. And can solve the problem.
  • a communication program according to the present invention is a communication program in which a procedure for causing a computer to operate as a transmitting station in the above method is described.
  • a communication program according to the present invention is a communication program in which a procedure for causing a computer to operate as a receiving station in the above method is described.
  • a computer readable recording medium storing a program according to the present invention stores the above communication program.
  • FIG. 1 is a processing procedure in the first embodiment of the present invention.
  • FIG. 2 is a timing diagram of a method of detecting Block Ack Timeout at a receiving station according to a second embodiment of the present invention.
  • FIG. 3 is a timing chart of a method of detecting Block Ack Timeout at a receiving station in the third embodiment of the present invention.
  • FIG. 4 is a timing chart of a method of detecting Block Ack Timeout at a receiving station in the fourth embodiment of the present invention.
  • FIG. 5 An outline of a communication procedure using the BlockAck method in the communication methods of the related art and the present invention.
  • FIG. 6 This is a specific example of the processing procedure of the NormalAck scheme in the conventional communication method (when reception of a Normal Ack frame fails).
  • FIG. 7 This is a first specific example of the processing procedure of Block Ack method in the conventional communication method. (If re-sending is complete)
  • FIG. 8 This is a second specific example of the processing procedure of the BlockAck scheme in the conventional communication method. (If you give up resending of d 2)
  • FIG. 9 This is the procedure when changing from BlockAck method to NormalAck method in the conventional communication method. (If there is one data frame to send)
  • FIG. 10 This is the procedure when changing from BlockAck to NormalAck in the conventional communication method. (If there are two data frames to send)
  • FIG. 11 is a timing diagram of a conventional method for detecting Block Ack Timeout at a receiving station.
  • FIG. 12 is a block diagram showing the configuration of a transmitting station in the first embodiment of the present invention.
  • FIG. 13 is a block diagram showing a configuration of a receiving station in the first embodiment of the present invention.
  • FIG. 14 is a block diagram showing the configuration of a receiving station in the second embodiment of the present invention.
  • V is an example to which the present invention is applied, the present invention is applicable to other communication methods.
  • a first embodiment of the present invention will be described with reference to FIG. 1, FIG. 12 and FIG.
  • the first embodiment is an example in which the first problem is solved.
  • FIG. 12 is a block diagram showing a configuration of the transmission station 1 according to the present embodiment.
  • the transmitting station 1 divides stream data or the like into a plurality of data frames, and transmits the divided data frames to the receiving station.
  • the transmitting station 1 includes a transmitting unit 11, a receiving unit 12, an Ack request frame generating unit 13, a data frame generating unit 14, an error frame processing unit 16, and an unsent minimum frame number.
  • the transmitting unit 11 transmits various frames to the receiving station. For example, the transmitting unit 11 transmits the data frame generated by the data frame generating unit 14 and the BlockAckReq frame generated by the Ack request frame generating unit 13 to the receiving station.
  • the receiving unit 12 receives various frames from the receiving station.
  • receiver 1 For example, receiver 1
  • the receiving unit 12 receives a BlockAck frame and a NormalAck frame from the receiving station. Then, the receiving unit 12 sends the received BlockAck frame and NormalAck frame to the error frame processing unit 16.
  • the receiving station buffer size storage unit 18 stores the buffer size when the receiving station uses the Block Ack scheme.
  • the buffer size notified from the receiving station in the BlockAck start procedure (ADDBA process) described above performed between the transmitting station 1 and the receiving station is received by the receiving station buffer size writing unit (not shown).
  • the unsent minimum frame number storage unit 17 stores an unsent minimum frame number which is the smallest Sequence Number among unsent data frames.
  • the unsent minimum frame number stored in the unsent minimum frame number storage unit 17 is updated by the data frame generation unit 14.
  • the error frame number storage unit 20 stores an error frame number which is a Sequence Number possessed by a frame (error frame) failed to be received at the receiving station.
  • the error frame number stored in the error frame number storage unit 20 is updated by the error frame processing unit 16.
  • the Ack scheme switching unit 19 switches the frame transmission / reception scheme between the BlockAck scheme and the NormalAck scheme.
  • the Ack scheme switching unit 19 outputs, to the data frame generation unit 14, information indicating the type of the switched Ack scheme, that is, information indicating the BlockAck scheme or the NormalAck scheme.
  • the switching criteria of the Ack scheme in the Ack scheme switching unit 19 is not particularly limited.
  • the Ack scheme switching unit 19 selects the BlockAck scheme as an initial setting.
  • the Ack scheme switching unit 19 switches from the BlockAck scheme to the NormalAck scheme when it is not possible to transmit an unsent data frame in the next data frame transmission while performing data communication in the BlockAck scheme.
  • the Ack scheme switching unit 19 includes the unsent minimum frame number stored in the unsent minimum frame number storage unit 17, the buffer size stored in the receiving station buffer size storage unit 18, and the error frame number storage. Based on the error frame number stored in the unit 20, it can be determined that the unsent data frame can not be transmitted in the next frame transmission. As described above, in the Block Ack system, it is not possible to transmit a data frame corresponding to a Sequence Number greater than or equal to the smallest Sequence Number (n) + buffer size (for example, 8) of error frame numbers. This is because there is no free space in the receiving buffer for storing the data frame at the receiving station.
  • the Ack scheme switching unit 19 does not have a value obtained by adding the smallest Sequence Number of the error frame numbers stored in the error frame number storage unit 20 and the buffer size stored in the receiving station buffer size storage unit 18. If it is the same as the unsent minimum frame number stored in the transmitted minimum frame number storage unit 17, it is determined that the unsent data frame can not be transmitted in the next frame transmission, and the BlockAck scheme is also switched to the NormalAck scheme. .
  • the data frame generation unit 14 generates a data frame to be transmitted to the receiving station.
  • the data frame generation unit 14 generates a data frame according to the NormalAck method
  • the BlockAck method generation unit 14a generates the data frame according to the BlockAck method.
  • the BlockAck scheme generation unit 14a is a configuration unit that functions when receiving Ack scheme type information indicating that the BlockAck scheme is selected from the Ack scheme switching unit 19.
  • the BlockAck scheme generation unit 14a generates a data frame using the Ack Policy field as the BlockAck scheme.
  • the BlockAck scheme generation unit 14a includes the unsent minimum frame number stored in the unsent minimum frame number storage unit 17, the buffer size stored in the receiving station buffer capacity storage unit 18, the error frame stored in the error frame number storage unit 20. Based on the number, generate a data frame to be transmitted in one phase.
  • the BlockAckReq frame is transmitted. The process of transmitting and receiving a BlockAck frame for that is defined as one phase.
  • the BlockAck scheme generator 14a sends the generated data frame to the transmitter 11.
  • the transmission unit 11 continuously transmits data frames to be transmitted in one phase.
  • the Block Ack scheme generating unit 14 a transmits the Ack request frame, which is the smallest transmission frame number among the data frames transmitted in one phase. Output to the generator 13.
  • BlockAck scheme generation unit 14a updates the unsent minimum frame number of the unsent minimum frame number storage unit 17.
  • the BlockAck scheme generation unit 14a sends data frames D2 and D5, and unsent data frames D6-D7 less than the sum "10" of the minimum value "2" of the error frame number and the buffer size "8”. -D8-Generate D9 as a data frame to be transmitted in one phase, and send it to transmitter 11. Furthermore, the BlockAck scheme generation unit 14 a outputs the minimum transmission frame number “2”, which is the smallest Sequence Number in the transmitted data frames, to the Ack request frame generation unit 13.
  • the NormalAck scheme generation unit 14 b is a block that functions when the Ack scheme switching unit 19 receives Ack scheme type information indicating that the NormalAck scheme is selected.
  • the NormalAck scheme generator 14b generates a data frame with the Ack Policy field as the NormalAck scheme.
  • the NormalAck scheme generation unit 14b When the error frame number storage unit 20 stores an error frame number, the NormalAck scheme generation unit 14b generates one data frame corresponding to the error frame number. When the error frame number storage unit 20 stores a plurality of error frame numbers, the NormalAck scheme generation unit 14b generates one data frame corresponding to the smallest Sequence Number among the plurality of error frame numbers. Do.
  • the NormalAck scheme generation unit 14 b does not store the unsent minimum frame number storage unit 17.
  • One data frame corresponding to the transmission minimum frame number is generated. Note that the NormalAck scheme generation unit 14b updates the unsent minimum frame number of the unsent minimum frame number storage unit 17 when transmitting the data frame that has not been transmitted, similarly to the BlockAck scheme generator 14a.
  • the NormalAck scheme generator 14b sends the generated one data frame to the transmitter 11.
  • the transmitter 11 transmits one data frame in one phase.
  • the NormalAck scheme generation unit 14 b is the smallest of the unsent minimum frame numbers stored in the error frame number stored in the error frame number storage unit 20 and the unsent minimum frame number storage unit 17. Generate a data frame corresponding to the Sequence Number. Therefore, after the BlockAck scheme generation unit 14a and the NormalAck scheme generation unit 14b transmit the data frame of Sequence Number in which the NormalAck scheme generation unit 14b is present via the transmission unit 11, the data frame of Sequence Number smaller than the Sequence Number is transmitted. Do not send
  • the error frame processing unit 16 receives the BlockAck frame received by the receiving unit 12 or
  • the error frame number storage unit 20 is written with an error frame number corresponding to a data frame that has not been received by the receiving station. If the frame number corresponding to the data frame successfully received by the receiving station is stored in the error frame number storage unit 20, the error frame processing unit 16 outputs the frame number from the error frame number storage unit 20. to erase.
  • the error frame processing unit 16 transmits a frame number corresponding to a data frame for which retransmission has failed a certain number of times (m times) and a data frame for which a certain period of time has elapsed since the start of transmission. Delete from storage unit 20. As a result, an expired data frame is never retransmitted again.
  • an Ack request frame generation instructing signal is It is output to the Ack request frame generation unit 13.
  • the Ack scheme switching unit 19 selects the BlockAck scheme. In this case, a BlockAckReq frame is generated, and the generated BlockAckReq frame is sent to the transmitter 11.
  • the Ack request frame generation unit 13 receives the transmission minimum frame number from the BlockAck scheme generation unit 14 a and receives an Ack request frame generation instruction signal from the error frame processing unit 16.
  • the Ack request frame generation unit 13 When the Ack request frame generation unit 13 receives the transmission minimum frame number from the BlockAck scheme generation unit 14a, the Ack request frame generation unit 13 generates a BlockAckReq frame in which the received minimum transmission frame number is set as the Starting Sequence Number.
  • the Ack request frame generation unit 13 starts the unsent minimum frame number stored in the unsent minimum frame number storage unit 17. Generate a BlockAckReq frame set to Sequence Number. From this, as shown in FIG. 8, the receiving station can recognize that data frames less than the Starting Sequence Number will not be retransmitted.
  • FIG. 13 is a block diagram showing the configuration of the receiving station 5.
  • the receiving station 5 includes a receiving unit 51, a transmitting unit 52, a data frame processing unit 53, a BlockAck frame generation unit 54, a NormalAck frame generation unit 55, and a buffer control unit 56)
  • a buffer 57, and an error frame number storage unit 58 are provided.
  • the receiver 51 receives various frames from the transmitter station 1. For example, the receiving unit 51 receives a data frame or BlockAckReq frame of BlockAck scheme or NormalAck scheme. When receiving the data frame of the BlockAck scheme or the NormalAck scheme, the receiving unit 51 outputs the received data frame to the data frame processing unit 53. Also, upon receiving the BlockAckReq frame, the receiving unit 51 outputs the BlockAckReq frame to the buffer control unit 56 and the BlockAck frame generation unit 54.
  • the data frame processing unit 53 includes an Ack scheme determination unit 53a and a reception success determination unit 53b.
  • the Ack scheme determination unit 53a determines the Ack scheme of the received data frame.
  • the Ack scheme determination unit 53a performs decoding based on the Ack Policy field included in the data frame. It is determined whether the one frame is a force normal ack system that is a block ack system. When the Ack scheme determination unit 53a determines that the received data frame is the NormalAck scheme, the Ack scheme determination unit 53a outputs the Sequence Number of the data frame to the buffer control unit 56.
  • the reception success judging unit 53b judges, based on an error detection code or the like included in the received data frame, whether or not the data frame has been successfully received.
  • the reception success judgment unit 53b stores the data frame successfully received in the buffer 57.
  • the reception success determination unit 53b corresponds to a data frame that failed to be received in one phase.
  • the sequence number is stored in the error frame number storage unit 58 as an error frame number.
  • the reception success determination unit 53b receives the reception status information indicating whether or not the data frame has been successfully received. Output to the NormalAck frame generation unit 55.
  • the BlockAck frame generation unit 54 receives the BlockAckReq frame from the reception unit 51,
  • a BlockAck frame is generated and the generated BlockAck frame is output to the transmission unit 52.
  • the BlockAck frame generation unit 54 receives the Starting which is included in the BlockAckReq frame.
  • the Sequence Number is compared with the largest Sequence Number of the data frames stored in the buffer 57.
  • the BlockAck frame generation unit 54 If the Starting Sequence Number is equal to or less than the maximum Sequence Number of the data frame stored in the buffer 57, the BlockAck frame generation unit 54 generates an error frame number equal to or greater than the Starting Sequence Number from the error frame number storage unit 58. read out. Then, the BlockAck frame generation unit 54 generates a BlockAck frame indicating that the reception of the data frame of the read error frame number has failed. Also, at this time, the BlockAck frame generation unit 54 erases the error frame number less than the Starting Sequence Number from the error frame number storage unit 58.
  • the BlockAck frame generation unit 54 determines the starting sequence number. A BlockAck frame indicating that a data frame corresponding to the Starting Sequence Number has not been received is generated. Further, at this time, the BlockAck frame generation unit 54 erases the error frame number less than the Starting Sequence Number from the error frame number storage unit 58.
  • NormalAck frame generation unit 55 receives from reception success determination unit 53b reception status information indicating whether the data frame has been successfully received, and if the reception status information indicates that reception was successful, The NormalAck frame is generated, and the generated NormalAck frame is output to the transmission unit 52. If the reception status information indicates that reception failed, nothing is generated.
  • the buffer 57 is for temporarily storing data frames that the reception unit 51 has successfully received.
  • the buffer control unit 56 reads a data frame to be notified to the upper layer of the middle level of the data frame stored in the buffer 57. Then, the knob control unit 56 notifies the upper layer of the read data frame. The buffer control unit 56 erases from the buffer 57 the data frame from which the buffer 57 power is also read.
  • the buffer control unit 56 receives the BlockAckReq frame from the reception unit 51, and the Sequence Number from the Ack scheme determination unit 53a.
  • the Starting Sequence Number contained in the BlockAckReq frame is compared with the largest Sequence Number of the data frames stored in the buffer 57.
  • the buffer control unit 56 sets the data frame less than the Starting Sequence Number and the Starting Sequence Number to The corresponding data frame power is also read continuously from the buffer 57 up to the data frame that has been successfully received, and notified to the upper layer.
  • the buffer control unit 56 reads all the data frames stored in the buffer 57, Notify upper layer. Also, when receiving the Sequence Number from the Ack scheme determination unit 53a, the buffer control unit 56 has succeeded in continuous reception from the data frame less than the received Sequence Number and the data frame of the received Sequence Number. The data frame is read from the buffer 57 and notified to the upper layer. That is, when a data frame requiring the normal ACK method is received, the buffer control unit 56 transmits a data frame having a Sequence Number older than the Sequence Number of the data frame requesting the Normal ACK method from the buffer 57. The data is read and notified to the upper layer, and the read data frame is deleted from the buffer 57.
  • the transmitting station is notified that the buffer size (Buffer Size) of the receiving station 5 is 8 by the pre-processing.
  • the receiving station buffer size storage unit 18 of the transmitting station 1 stores the cookie size “8”.
  • the error frame processing unit 16 of the transmitting station 1 monitors the number of retransmissions of each data frame, and deletes the sequence number corresponding to the data frame for which retransmission has failed m times from the error frame number storage unit 20. It shall be.
  • the Ack scheme switching unit 19 selects the BlockAck scheme, which is the initial setting.
  • the BlockAck scheme generation unit 14a generates five data frames as initial settings, that is, data frames D1 to D5.
  • the BlockAck scheme generation unit 14 a stores the unsent minimum frame number “6” in the unsent minimum frame number storage unit 17. Then, the transmitting unit 11 transmits the data frame D-D5 to the receiving station 5.
  • the Ack request frame generation unit 13 sets that the Starting Sequence Number is “1”.
  • the BlockAckReq frame is generated, and the transmitting unit 11 transmits the BlockAckReq frame to the receiving station 5.
  • the reception success judging unit 53b of the data frame processing unit 53 judges that only the data frames D2 and D5 have failed to be received, and the data frame D1 ⁇ D3 ⁇ D4 and error frame number storage unit 58 One frame number "2""5" is stored.
  • the buffer control unit 56 that has received the BlockAckReq frame reads only the data frame D1 of the same Sequence Number as the Starting Sequence Number from the buffer 57, since the data frame D2 has failed to receive the data frame D2. Notify layer. At this time, the knob control unit 56 erases the read data frame D1 from the buffer 57.
  • BlockAck frame generation unit 54 having received the BlockAckReq frame reads the error frame numbers “2” and “5” from the error frame number storage unit 58, and the data frame
  • a BlockAck frame is generated to indicate that D2 and D5 have failed to be received. Then, the transmission unit 52 transmits the BlockAck frame.
  • an error frame processing unit in the transmitting station 1 that has received the BlockAck frame, an error frame processing unit
  • the BlockAck scheme generation unit 14a generates a data frame corresponding to the error frame number based on the error frame numbers “2” and “5” stored in the error frame number storage unit 20. Generate D2 and D5.
  • Block Ack scheme generation unit 14 a stores the error frame number “2” and the receiving station buffer size storage unit 18 from the unsent minimum frame number “6” stored in the unsent minimum frame number storage unit 17. To generate a data frame D6.sub.1-D9 less than the sum "10" with the buffer size "8". At this time, the BlockAck scheme generation unit 14a outputs the unsent minimum frame number.
  • the transmitting unit 11 transmits the data frames D2, D5 to D9 to the receiving station 5.
  • the Ack request frame generation unit 13 has a Starting Sequence Number of “2”.
  • the BlockAckReq frame is generated, and the transmitting unit 11 transmits the BlockAckReq frame to the receiving station 5.
  • the reception success judging unit 53b of the data frame processing unit 53 judges that only the data frames D2 and D5 have failed to be received, and the data frame D6— While storing D9, the error frame number storage unit 58 is updated as the error frame numbers "2" and "5".
  • the buffer control unit 56 that has received the BlockAckReq frame can not read out from the buffer 57 the data frame D2 of the same Sequence Number “2” as the Starting Sequence Number because the reception of the data frame D2 has failed. . That is, the buffer control unit 56 does not read any data frame from the buffer 57.
  • BlockAck frame generation unit 54 that has received the BlockAckReq frame reads the error frame numbers “2” and “5” from the error frame number storage unit 58, and the data frame D2 corresponding to the read error frame number A BlockAck frame is generated to indicate that D5 reception failed. Then, the transmitting unit 52 transmits the BlockAck frame.
  • the error frame processing unit 16 updates the error frame number storage unit 20 as the error frame numbers “2” and “5”.
  • the Ack scheme switching unit 19 sets the minimum Sequence Number 2 J stored in the error frame number storage unit 20 and the buffer size “8” stored in the reception station buffer size storage unit 18. Check that the value obtained by adding is the same as the unsent minimum frame number “10” stored in the unsent minimum frame number storage unit 17, and switch to the Block Ack method Power Normal Ack method.
  • the NormalAck scheme generation unit 14b By switching to the 19-force NormalAck scheme, the NormalAck scheme generation unit 14b generates a data frame in which the Ack Policy field is "NormalAck scheme". Note that the NormalAck scheme generation unit 14 b is the smallest Sequence Number among the error frame number stored in the error frame number storage unit 20 and the unsent minimum frame number stored in the unsent minimum frame number storage unit 17 (here, “Sequence number”). 2) is generated.
  • the transmitting unit 11 transmits the data frame D2, which is "Normal Ack scheme" in the Ack Policy field, to the receiving station 5.
  • the Ack scheme determination unit of the data frame processing unit 53 53a determines that the data frame power NormalAck scheme is used, and the reception success determination unit 53b of the data frame processing unit 53 determines that the data frame D2 has failed to be received.
  • the Ack scheme determination unit 53a is configured to receive the NormalAck scheme data frame received.
  • the sequence number “2” is output to the buffer control unit 56.
  • the buffer control unit 56 reads out the data frame of the received Sequence Number “2” or less from the buffer 57 and notifies the upper layer of the data frame. In this case, the buffer control unit 56 does not read the data frame from the buffer 57 because the buffer 57 does not store the data frame of Sequence Number "2" or less.
  • the data frame processing unit 53 outputs, to the NormalAck frame generation unit 55, reception status information indicating that the reception of the data frame D2 has failed. As a result, a NormalAck frame is not transmitted from the receiving station 5.
  • the NormalAck frame is not received, so the error frame number storage unit 20 is not updated.
  • the receiving station 5 always fails to receive the data frame D2. Then, it does not receive the NormalAck frame for the data frame D2 in Phase n !, so that the error frame processing unit 16 of the transmitting station 1 detects that the retransmission has failed m times. Then, the error frame number “2” is deleted from the error frame number storage unit 20.
  • the BlockAck frame is notified that reception of! /, D2 and d5 has failed. Since reception of D2 is not successful and the buffer size of the receiving station is 8, transmitting station 1 can calculate that receiving station 5 will run out of buffers when transmitting D10, so the data frame after that is You can see that you can not send. Therefore, the transmission station 1 switches the BlockAck scheme to the NormalAck scheme in consideration of the efficiency of the transmission confirmation process.
  • transmitting station 1 has to determine which of d2 and d5 should be transmitted first, but at this time the IEEE 802.11e standard does not specify a rule for determining the transmission order. On the other hand, additional rule 1> is defined in the present invention.
  • the transmitting station 1 when the transmitting station 1 transmits d5 in the NormalAck scheme, it can transmit d2 in the NormalAck scheme thereafter. It is decided to send d2 first. After that, transmitting station 1 continues to retransmit d2 in the NormalAck scheme until phase n.
  • the NormalAck scheme generation unit 14b stores the error frame number stored in the error frame number storage unit 20 and the unsent minimum frame number stored in the unsent minimum frame number storage unit 17.
  • the data frame D5 corresponding to the smallest Sequence Number (here, "5") is generated.
  • the transmitting unit 11 transmits the data frame D5 indicating the "Normal Ack scheme" in the Ack Policy field to the receiving station 5.
  • the Ack scheme determination unit 53a of the data frame processing unit 53 determines that the data frame force SNormalAck scheme is used. Further, the reception success judging unit 53b of the data frame processing unit 53 judges that the data frame D5 has been successfully received, and stores the data frame D5 in the buffer 57.
  • the Ack scheme determination unit 53a determines whether or not the received NormalAck scheme data frame has been received.
  • the sequence number “5” is output to the buffer control unit 56.
  • the buffer control unit 56 receives data frames less than the received Sequence Number “5” (that is, data frames D3 and D4), and data frames that are successfully received continuously from the data frame D5 (that is, data The frame D5 to D9) is read from the buffer 57 and notified to the upper layer.
  • the receiving station determines which data frame is to be notified to the upper layer. This is because the receiving station has not yet received D2 and has not yet received a BlockAckReq frame with more than 3 Starting Sequence Numbers.
  • the two problems described as the first problem namely, when there is no provision on the time until the transmitting station returns from the NormalAck scheme to the BlockAck scheme, there is a delay.
  • the delay until the receiving station knows the fact that the unreceived data frame has become invalid increases, so the delay until the receiving station can notify the upper layer of the subsequently received data frame increases. It can solve the problem of
  • the second embodiment of the present invention is an example which is solved by applying the change of the rule shown in the above-mentioned second problem, the change rule 1>.
  • the second embodiment will be described with reference to FIGS. 2 and 14.
  • the description method of Fig. 2 is the same as Fig. 11 described as the (second problem). Further, for convenience of explanation, the same reference numerals are appended to members having the same functions as the drawings described in the first embodiment, and the description thereof will be omitted.
  • FIG. 14 is a block diagram showing the configuration of the receiving station 105 of this embodiment.
  • the receiving station 105 includes a receiving unit 51, a transmitting unit 52, a data frame processing unit 53, a BlockAck frame generation unit 54, a NormalAck frame generation unit 55, and a buffer control unit (resource control unit). 59, a timer 60, a timer control unit (timer control means) 61, a knocker 57, and an error frame number storage unit 58.
  • the timer control unit 61 controls the reset of the timer 60.
  • the timer control unit 61 acquires the type of the Ack scheme specified by the data frame from the Ack scheme determination unit 53a.
  • the timer control unit 61 resets the timer 60 when the acquired Ack method is the Block Ack method. That is, the timer control unit 61 resets the timer 60 when it receives a data frame that requires the BlockAck scheme.
  • Buffer control unit 59 has timer 60 in addition to the functions of buffer control unit 56 described above.
  • BlockAck Timeout When the predetermined time indicated by BlockAck Timeout is reached, it is considered that the use of the BlockAck scheme has ended, and the function of releasing the resources for the BlockAck scheme in the buffer 57 is provided.
  • FIG. 2 shows the NormalAck method on the way when transmitting a frame using the BlockAck method.
  • An example of switching to the formula is shown below.
  • the timer is reset whenever the data frame is received regardless of the specification of Ack Policy.
  • the change of the rule shown in ⁇ change rule 1> is applied. Since the BlockAck scheme is specified as AckPolicy, the timer 60 will be reset only when a data frame is received. Therefore, the timer 60 is not reset after the receiving station 105 finally receives a data frame in which the BlockAck scheme is specified as AckPolicy (T3). Thereafter, when the timer 60 reaches the time indicated by BlockAck Timeout, the receiving station can detect that the use of the BlockAck scheme has ended and release the resource.
  • the third embodiment of the present invention is an example which is solved by applying the change of the rule shown in the above-mentioned second problem, the change rule 2>.
  • the configuration of the receiving station of this embodiment differs from that of the second embodiment only in the function of the timer control unit 61. That is, the timer control unit 61 of the present embodiment resets the timer 60 only when the receiving unit 51 receives the BlockAckReq frame.
  • the third embodiment will be described with reference to FIG.
  • the diagram description method is the same as in Fig. 11 described as (second problem).
  • FIG. 3 shows an example of switching to the NormalAck system on the way when transmitting a frame using the BlockAck system.
  • the timer was reset whenever a data frame was received regardless of Ack Policy specification.
  • the change of the rule shown in ⁇ change rule 2> is applied.
  • the timer will be reset only when the BlockAckReq frame is received. Therefore, the timer is not reset from the time (T1) when the receiving station last received the BlockAckReq frame. After that, when the timer reaches the time indicated by BlockAck Timeout, the receiving station can detect that the use of the BlockAck scheme has ended and release the resource.
  • the method described in the second subject of the present invention is the change rule 3>. This is an example solved by applying the change of
  • the configuration of the receiving station of this embodiment differs from that of the second and third embodiments only in the function of the timer control unit 61. That is, the timer control unit 61 of the present embodiment resets the timer 60 when the reception unit 51 receives a data frame requiring the NormalAck scheme and when the reception unit 51 receives a BlockAckReq frame.
  • the fourth embodiment will be described with reference to FIG.
  • the diagram description method is the same as in Fig. 11 described as (second problem).
  • FIG. 4 shows an example in the case of switching to the NormalAck system while transmitting a frame using the BlockAck system.
  • the timer was reset whenever the data frame was received regardless of the specification of Ack Policy.
  • the change of the rule shown in ⁇ change rule 3> is applied. Therefore, the BlockAck scheme is specified as AckPolicy !, and the timer is reset only when a data frame or BlockAckReq frame is received. Therefore, the timer power S is not reset from the time (T4) when the receiving station last received the BlockAckReq frame. After that, the timer reaches the time indicated by BlockAck Timeout, and the receiving station can detect that the use of the BlockAck scheme has ended and release the resource.
  • the transmitting station when the transmitting station ends the data communication according to the BlockAck method described above as the second problem, and shifts to the NormalAck method, the transmitting station changes to the receiving station.
  • the receiving station can not correctly receive the message "Exiting the BlockAck scheme" sent to the terminal within the message's retransmission deadline, a timeout is not detected at the receiving station, and the receiving station will continue indefinitely.
  • the resources reserved for BlockAck can not be released, and the problem can be solved.
  • calculation means such as CPU is stored in storage means such as ROM (Read Only Memory) or RAM.
  • the program can be executed by controlling an input unit such as a keyboard, an output unit such as a display, or a communication unit such as an interface circuit. Therefore, the computer program with these means.
  • the various functions and processes of the transmitting station 1 and the receiving station 5 of the above embodiments can be realized simply by reading the recorded recording medium and executing the program.
  • the various functions and the various processes can be realized on any computer.
  • a memory (not shown) for processing by a microcomputer such as a ROM may be a program medium, and a V (not shown) may be used as an external storage device.
  • a program reader may be provided, and the program medium may be readable by inserting a recording medium therein.
  • the stored program is configured to be accessed by the microprocessor and executed. Furthermore, it is preferable that the program is read out and the read out program is downloaded to a program storage area of the microcomputer and the program is executed. Note that this program for downloading is stored in advance in the main unit, and is assumed.
  • the program medium is a recording medium configured to be separated from the main unit, and is a tape system such as a magnetic tape or cassette tape, a magnetic disk such as a flexible disk or hard disk, or a disk such as a CDZMOZMDZDVD.
  • Disk system card system such as ic card (including memory card), or mask ROM, EPROM (Erasable
  • a programmable read only memory an electrically erasable programmable read only memory (EEPROM), a recording medium fixedly carrying a program including a semiconductor memory such as a flash ROM, and the like.
  • EEPROM electrically erasable programmable read only memory
  • the recording medium dynamically carry a program so as to download the communication network program.
  • the program for communication network power is also downloaded as described above, it is preferable that the program for download is stored in advance in the main device or another recording medium power is installed. .
  • the present invention is a communication method that can simultaneously use both a normal ACK scheme that returns an acknowledgment for one frame in one frame and a block ACK scheme that collectively returns an acknowledgment for a plurality of frames in one frame.
  • the present invention can be applied to a transmitting station and a receiving station according to the communication method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

 現在のIEEE802.11e ドラフトは受信局側からの送達確認情報方法を入手するための方法としてブロックACK・ノーマルACKという2種類の方式を規定している。現在の仕様ではブロックACK方式を用いたデータフレームの送信中で一時的にノーマルACKを使用しても構わないという規定があるが、ここで用いるノーマルACKで送信して良いデータフレームに関する規定が明記されていない。これがブロックACK方式で規定された規則に準ずると仮定すると送信局でこれら2種類の方式を動的に切り替えた場合に未受信データフレームが無効になったという事実を受信局が知るまでの遅延が大きくなり、したがってそれに続いて正常に受信したデータフレームを受信局が上位層に通知できるまでの遅延が大きくなるケースが発生し得るという課題があった。また現在のドラフトに規定されている規則に従ってブロックACK方式のタイムアウトの判定を行うと、本来解放できるブロックACK用のリソースをいつまでも解放できないケースが発生し得るという課題があった。本発明は、ブロックACKが設定されたデータ伝送中で用いるノーマルACKにより送信可能なデータの送信順序、およびブロックACK方式のタイムアウトの判定に対して適切な変更を付加することにより上記問題を回避する。                                                                             

Description

明 細 書
送信局、受信局、通信方法、通信プログラム、通信プログラムを記録した コンピュータ読み取り可能な記録媒体
技術分野
[0001] 本発明は、 1つのフレームに対する送達確認を 1つのフレームで返送するノーマル ACK方式と、複数のフレームに対する送達確認をまとめて 1つのフレームで返送する ブロック ACK方式の両方を同時に使用しうる通信方法に関するものである。
背景技術
[0002] 従来、無線通信のような通信路におけるエラー発生率が高いネットワークにおいて 、データ送達の正確性を高めるために、データ送信に失敗したデータフレームの再 送処理を行うプロトコルが実施されている。フレームの受信局は、あるフレームについ て、受信に成功したかどうかの送達確認情報を送信局に返送する。送信局は受信局 力 返送された送達確認情報に基づいて受信に失敗したフレームを検出し、そのフ レームを受信局に再送する。
[0003] 送信局が、受信局側から送達確認情報を得るための方法として以下に示す 2種類 の手法が一般に知られて 、る。
[0004] 最初の手法は 1つのフレームに対する送達確認を 1つのフレームで返送する方式 であり、一般的にはこの方法が使用される。
[0005] もう一つの手法は複数のフレームに対する送達確認をまとめて 1つのフレームで返 送する方式である。
[0006] 前者をノーマル ACK (NormalAck)方式、後者をブロック ACK方式と呼ぶ。ブロック ACKの手法では送達確認情報の通知に必要なフレームの数が少なくて済むため、ノ 一マル Ackの手法を用いる場合と比較して帯域効率が良くなる力 平均伝送遅延時 間が大きくなるというトレードオフがある。
[0007] 無線 LAN (Local Area Network)における MAC層(Medium Access Control Layer) の規格として広く知られている IEEE802.il標準(ANSI/IEEE Std. 802.11,1999 Edition)に対して、 QoS (Quality of service)を実現するための追加仕様として、 IEEE802.11e標準の策定が現在進められている。
[0008] IEEE802.i l委員会によって発行された該標準のドラフト(Draft Amendment to b fANDARD [forj Information Tecnnology - Telecommunications and Information Exchange Between Systems - LAN/MAN Specific Requirements - Parti l:Wireless Medium Access Control (MAC) and Physical Layer (PHY) specifications:
Medium Access Control (MAC) Quality of Service (QoS) Enhancements, IEEE P802.11e/D6.0, November 2003、以後「現ドラフト」と呼ぶ)においては、ノーマル ACK方式としては Normal acknowledgement方式(以後、 NormalAck方式と呼ぶ)、ブ ロック ACK方式としては、 Block acknowledgement方式(以後、 BlockAck方式と呼ぶ) が定義されている。
[0009] (TIDと Sequence Numberについて)
IEEE802.11eにおいては、一連のデータ系列は TID(traffic identifier)と呼ばれる番 号で識別される。
[0010] 各 TIDに属するデータフレームには、送信局が 1つのフレームを送信する度に 1ず つ加算される順序番号(IEEE802.i lにおいては Sequence Numberと呼ぶ)が付与さ れる。したがって送受信局においては、 TIDと Sequence Numberの組によりフレームを 一意に識別できる。実際のフレームにおいては Sequence Numberを格納するフィール ドが有限長なので、フレームを送信し続けると番号が枯渴し、再度 0から付番されるこ とになるが、本発明では考察の簡単ィ匕のためにそのようなことは起こらないものと仮定 する。
[0011] (NormalAck方式)
現ドラフトで規定されて 、る NormalAck方式につ!、て説明する。
[0012] NormalAck方式は送信局が 1つのフレームを送信したら、それに対する送達確認情 報を 1つのフレームとして受信局から返送してもらう方式である。 NormalAck方式では 各データフレームは Sequence Numberの小さなものから順番に送信される。
[0013] NormalAck方式におけるデータフレーム送信処理のルールは以下の通りである。
[0014] <ステップ 1 > 送信局はデータフレームを 1つ送信する。
[0015] <ステップ 2>
受信局はデータフレームの受信に成功したら NormalAckフレームを送信局宛に返 送する。
[0016] <ステップ 3A>
送信局が受信局カゝら NormalAckフレームを受信したら送信成功となる。
[0017] <ステップ 3B>
送信局がステップ 1においてデータフレームを送信してから一定期間(IEEE802.il においては Ack Timeoutと呼ぶ)の間に NormalAckフレームを受信できなかった場合 は、同じデータフレームを再送する(同じ Sequence Numberで送信する。 )。
[0018] <ステップ 3C>
送信局は特定のデータフレームに対して一定回数(IEEE802.11にお!/、ては Retry Limitと呼ぶ)だけ再送に失敗した力、あるいはデータフレームの送信を開始してから 一定時間(IEEE802. lieにおいては Delay Boundもしくは Lifetimeなどと呼ぶ)が経過 した場合には再送の有効期限が切れたとみなされ、送信失敗となる。このような場合 にはそのデータフレームはその後二度と再送されないことになる。
[0019] NormalAck方式では各データフレームが Sequence Numberの小さなものから順番に 送信される。そのため、再送の有効期限が切れていないデータフレームに対する送 達確認情報が入手できていない段階で、それよりも大きな Sequence Numberを持つ データフレームが先に送信されるというようなことはない。
[0020] (NormalAck方式の具体例)
送信局がデータフレームを送信または再送して、それに対する NormalAckフレーム を受信局が送信するまでの処理を 1つのフェイズと呼ぶ。
[0021] Normal Ack方式を使用した具体的な通信について図 6を参照しながら説明する。
[0022] 図の左側は通信路でのフレームの送信状態、図の右側は受信局でのバッファとフ レームの上位層への通知の状態を示している。図において、 NAは NormalAckフレー ム、 Dnまたは dnは Sequence Number力 番のデータフレームを示す(Dnは新規送信 されたデータフレームを示し、 dnは再送されたデータフレームを示す)。また、データ フレームの下部に「〇」が記載されている場合は受信局に正しく受信されたフレーム、
「 X」が記載されている場合は受信局に正しく受信されな力つたフレームを示している 。破線の四角は受信局の受信バッファを示している。 Normal Ack方式においては受 信バッファは 1つだけである。破線の四角内に Dnが入っている場合は、受信したデ 一タフレームが受信バッファ内に格納されていることを示し、破線の四角内が空の場 合は受信バッファが空になっていることを示す。さらに、破線の四角において上方向 に矢印が記載されている場合は、受信局においてそのバッファに格納されていたデ 一タフレームが上位層に通知されたことを示す。データフレームが上位層に通知され た場合は、そのデータフレームの内容はバッファから消去されるので、ノ ッファを再利 用することができる。
[0023] <フェイズ 1 >
送信局はデータフレーム D 1を送信して 、るが、受信局はそのデータフレームの受 信に失敗しており、この場合受信局は NormalAckフレームを返送できず、ノ ッファにも 何も格納されない。
[0024] <フェイズ 2>
送信局はフェイズ 1においてデータフレーム D1を送信してから、 Ack Timeoutが経 過しても NormalAckフレームを受信できなかったため、 D1を再送している。なお、再 送フレームなので図では dlと表示されている。受信局は、このデータフレームの受信 に成功しているので、それをバッファに格納したらすぐに上位層に通知し、 Normal Ackフレームを返信している。しかし送信局は Normal Ackフレームの受信に失敗して いる。
[0025] <フェイズ 3 >
送信局はフェイズ 2においてデータフレーム D1を再送してから、 Ack Timeoutが経 過しても NormalAckフレームを受信できなかったため、ふたたび D1を再送して!/、る。 受信局ではフェイズ 2においてデータフレーム D1を既に受信し上位層に通知してい るので、ここで受信したデータフレーム D1については再度バッファに格納したり、上 位層に通知したりすることなしに破棄しながら、 Normal Ackフレームを返信する。送信 局は今回は NormalAckフレームの受信に成功している。 [0026] <フェイズ 4>
送信局はフェイズ 3において Dlの Normal Ackフレームの受信に成功したので、次 のデータフレーム D2を送信して 、る。
[0027] (BlockAck方式)
BlockAck方式を用いたデータ送信では、受信局における送達確認情報をまとめて 返送してもらう方式であるため、受信局においてデータフレームを受信する順序が必 ずしも Sequence Numberの順序と同じにならない。しかし上位層に対してデータを通 知する際には元の順序に並び戻す必要があり、受信局はこのためのノ ッファを持つ 必要がある。 NormalAck方式と比較して BlockAck方式を用いた通信ではこのバッファ リソースを余計に必要とするため、 IEEE802. lieにおいて BlockAck方式を用いた通信 はオプション仕様とされており、受信局で持つべきバッファの量も実装依存とされてい る。これらの理由により BlockAck方式を用いた通信では送信に先立って送受信局の 間で BlockAckのセットアップを行 、、ぉ互 、の能力の情報交換などを行う必要がある 。 BlockAck方式を用いた通信手順の概要について、図 5を参照しながら説明する。
[0028] (1)送信局 501は受信局 502との間で BlockAck開始手続き(IEEE802. lieにおい ては ADDBA処理と呼ぶ)を行う。このとき、送信局と受信局の間で予め BlockAckを用 いることの合意をとる。また、 BlockAck方式を用いるためには、受信局 502から送信 局 501に予め受信バッファの大きさを通知しておく必要がある力 この受信バッファの 大きさは受信可能なフレーム数(IEEE802.1 leにお!/ヽては Buffer Size (バッファサイズ) と呼ぶ)と!、う形で ADDBA処理中に相互に通知される。
[0029] (2) BlockAck準備処理が完了したら送信局 501は受信局 502に対してデータフレ ームを送信する。いくつかのデータフレームを送信した後で必要に応じて複数のデ 一タフレームに対する送達確認状況を問 ヽ合わせるためにブロック ACK送信要求フ レーム(IEEE802.1 leにお!/、ては BlockAckReqフレームと呼ぶ。 )を送信する。
[0030] (3)ブロック ACK送信要求フレームを受信した受信局 502は送信局 501に対して複 数のデータフレームに対する送達確認状況を含む BlockAckフレームを返送する。
[0031] (4)上記(2) (3)の手順を繰り返すことによりデータフレーム送信が行われた後、ど ちらかの局が BlockAckによるデータ通信を終了したい場合には、その局から BlockAck終了手続きが行われる。例えば送信局 501が BlockAck方式によるデータ 通信を終了する場合には送信局 501から受信局 502に対して「BlockAck方式を終了 する」というメッセージが通知される。 BlockAck方式によるデータ通信が終了した後は 、両局間の通信には通常の NormalAck方式が用 ヽられる。
[0032] 以下に BlockAck方式の詳細な動作手順にっ 、て説明する。
[0033] <ステップ 1 >
送信局の上位層から入力されたデータは、必要に応じて分割された後にデータフ レームとして送信される。 NormalAck方式のようにデータフレーム送信ごとに Ackフレ ームが返送されることなぐいくつかのデータフレームが連続して送信される。
[0034] <ステップ 2 >
送信局は、連続して送信を行ったデータフレームに対する受信局における受信状 況を知りたい場合には、受信局に対して適宜 BlockAckReqフレームを送信する。この フレームには送信局が受信局での受信状況を教えてもらいたい最初のフレームの Sequence Number (IEEE802. l ieにおいては Starting Sequence Numberと呼ぶ)が含ま れている。
[0035] <ステップ 3 >
受信局は、 BlockAckReqフレームを受信したら BlockAckフレームを返送する。この フレームには Sequence Numberごとにフレームの受信に成功したかどうかの情報が含 まれている。現在までに受信が完了しているデータフレームの内で Starting Sequence Number以降の Sequence Numberを持つデータフレームに関して受信に成功したか どうかの情報を含める。
[0036] くステップ 4 >
送信局は、 BlockAckフレームを受信したら、そこで受信失敗が示されているデータ フレームの再送および新たなデータフレームの送信を行う。 NormalAck方式では必ず Sequence Numberの小さなデータフレームから順番に送信される必要があつたが、 BlockAck方式では再送の有効期限が切れて ヽな 、データフレームの送信の順序に 関しては大きな自由度が与えられている。つまり、再送の有効期限が切れていない データフレームに対する送達確認情報が入手できていない段階で、それよりも大きな Sequence Numberを持つデータフレームを先に送信して構わない。また、送信局に与 えられた送信可能な残り時間と各データフレームを送信するために必要な時間の相 互関係などの理由によりデータフレームの送信順序は送信局側で故意に並び替えら れる可能性もある。
[0037] ただし、このとき送信局は受信局がバッファに格納不可能な個数のデータフレーム を送信してはならないという規則がある。なお、受信局のバッファサイズは BlockAck開 始手続きの際に知ることができる。より具体的には、 Sequence Numbei^nである有効 な(再送期限の切れて ヽな 、)データフレームの Ackを受信して ヽな 、状況にお!、て 、 Sequence Numberが n + Buffer Size以上のデータフレームを送信してはならないと いうことである。
[0038] なお、このとき送信局はあるデータフレームについて再送回数が Retry Limitに到達 したり、 Delay Boundが経過したりした場合は、そのデータフレームの再送をあきらめ て、次以降の Sequence Numberのデータフレームを送信する。
[0039] NormalAck方式では、図 6のフェイズ 2に示すように NormalAckフレームが送信局に 正常に受信されなかった場合、受信局が既に受信したフレームを送信局が再び送信 するというケースがしばしば発生する。しかしながら、 BlockAck方式ではそのようなこ とは滅多に発生しない。なぜなら、送信局は、 BlockAckReqフレームを送信した後に BlockAckフレームを受信できなかった場合、通常 BlockAckフレームを受信できるまで BlockAckReqフレームを再送するからである。
[0040] 現ドラフトにおいては、受信局が BlockAckフレームを返送するタイミングについて、 immediate Block Ack policyと delayed Block Ack policyの 2種類が規定されている。 immediate Block Ack policyは BlockAckReqフレームを受信したらすぐに BlockAckフ レームを返送する方法である。 delayed Block Ack policyは BlockAckReqフレームを受 信したら、ー且 Normal Ackフレームを返送し、その後受信局が送信権を得た際に BlockAckフレームを返送する方法である。これらのどちらの方式を用いるかは、本発 明の内容とは直接関係無いため、これらの差異の詳細については省略する。また、こ れらのどちらの方式を用いても本発明は適用可能である力 以下では immediate Block Ack policyを用いるものとして説明する。 [0041] 前述の通り BlockAck方式では Sequence Numberの順番どおりにデータフレームを 受信するとは限らないので、受信局においてフレームの順序を並べなおす必要があ る。すなわち受信局は未受信のデータフレーム Xがある場合にはそれよりも大きな Sequence Numberを持つデータフレームにつ!/、てはー且受信バッファに蓄えておき、 データフレーム Xを受信した後に、 X以降のデータフレームを Sequence Numberの順 序で上位層に通知しなければならない。し力し各データフレームには再送の期限が あるためデータフレーム Xを 、つか必ず受信できると 、う保障は無 、。しかしデータフ レーム Xの再送期限が切れて送信局がこのデータフレームの再送をあきらめたという 事実を受信局が知らなければ、受信局はいつまでも X以降のデータフレームを上位 層に通知できな 、。そこで BlockAck方式では有効なデータフレームを通知するため に BlockAckReqフレームの Starting Sequence Numberが用いられる。これについては 、以下のルールがある。
[0042] <ルール 1 >
Starting Sequence Numberは送信局が受信局に対して送達確認情報を教えて欲し いデータフレームの先頭の Sequence Numberの値を示す。したがって Starting Sequence Numberよりも小さい Sequence Numberのデータフレームは、再送の期限が 切れたため送信局が再送をあきらめたデータフレームであることを意味して 、る。受 信局は BlockAckReqフレームを受信した際、 Starting Sequence Numberよりも小さな データフレームの内、受信に成功しているものは全て上位層に通知することができる
[0043] (Block Ack Timeout)
以上の説明から明らかなように、 BlockAck方式では、データフレームの順序を並べ 戻すためのバッファリソースが必要となる。 BlockAck方式を終了する場合には、通常 は送信局と受信局の間で明示的な BlockAck終了手続きがおこなわれるので、受信 局にお 、て BlockAck方式のために確保されて!、たバッファリソースを開放することが できる。しかし、送信局が予期せず消失してしまったような場合は、受信局において BlockAck方式のために確保されて!、たリソースが開放されず、他の処理のために流 用することができないことになる。 [0044] これを回避するために、 IEEE802. l ieにおいては BlockAckコネクションのタイムァゥ トに関する規則が定められている。受信局は、 BlockAck方式の使用中に、 BlockAck を使用する TIDに属するデータフレームや BlockAckReqフレームを一定期間(Block Ack Timeoutと呼ぶ)受信できなかった場合、 BlockAck方式のコネクションが切断され たとみなし、 BlockAck方式のために確保されて!ヽたリソースを開放しても良 ヽことにな つている。
[0045] (BlockAck方式の具体例 1)
BlockAck方式における再送処理の具体例を、図 7を参照しながら説明する。
[0046] BlockAck方式においては、送信局が複数のデータフレームを送信または再送した 後で BlockAckReqフレームを送信し、それに対する BlockAckフレームを受信局が送 信するまでの処理を 1つのフェイズとする。
[0047] 図 7にお!/、て、 BAは BlockAckフレーム、 BA reqは BlockAckReqフレームを示す。
BlockAck方式にお!、ては、受信バッファは複数のデータフレームを格納できるように なっている。 Amは受信バッファのアドレスを示している。 Amの枠に Dnが入っている 場合は、アドレス Amのバッファに受信フレームが格納されていることを示し、 Amの 四角が空の場合はアドレス Amのバッファは空になっていることを示す。さらに、 Am にお 、て上方向に矢印が記載されて!、る場合は、受信局にお!、てそのバッファに格 納されて 、たデータフレームが MAC層から上位層に通知されたことを示す。その他 の記述方法については、 NormalAck方式における図 6と同様なので省略する。
[0048] 事前の処理により、受信局のバッファサイズが 8であることが送信局に通知されてい るちのとする。
[0049] <フェイズ 1 >
フェイズ 1にお 、て、送信局は D1— D5のデータフレームと BlockAckReqフレームと を送信している。受信局は、受信に成功した Dl、 D3、 D4、 D5をバッファに格納し、 その中で D1だけを上位層に通知し、ノ ッファ A1を空き領域とする。なお、 D2の受信 に失敗しているので D3以降は上位層に通知できずバッファに残されることになる。受 信局より返送された BlockAckフレームにより、送信局は、 D2の受信に失敗した事を 知ることができる。 [0050] <フェイズ 2>
受信局の BlockAckフレームの報告を受けた送信局はフェイズ 2において D2を再送 している。さらに、前のフェイズでは D5までを送信していたので、その次の D6以降を 送信している。受信局は、 D2の受信に成功しているので、前のフェイズでの抜けが 埋まり、 D5までを上位層に通知することができる。そのため、バッファ A2— A5は空き となる。しかし、 D6の受信に失敗しているので、それ以降は上位層に通知しない。な お、前のフェイズで D1を受信した後すぐに上位層に通知されたのでバッファ A1は空 きとなつており、 D9の格納のために再利用されている。受信局より返送された BlockAckフレームにおいて、 D6と D8の受信に失敗した事が送信局に対して通知さ れる。
[0051] <フェイズ 3 >
受信局の BlockAckフレームの報告を受けた送信局は、フェイズ 3において D6と D8 とを再送している。さらに、前のフェイズでは D9までを送信していたので、その次の D 10以降を送信している。受信局は、 D6の受信に成功し、 D8の受信に失敗している ので、 D6— D7を上位層に通知することができる。そのため、バッファ A6— A7は空き となる。受信局より返送された BlockAckフレームにおいて、 D8の受信に失敗した事 が送信局に対して通知される。
[0052] <フェイズ 4>
受信局の BlockAckフレームの報告を受けた送信局は、フェイズ 4において D8を再 送している。さらに、前のフェイズでは D12までを送信していたので、その次の D13 以降を送信している。この段階で送信局は、有効なデータフレーム D8の送達確認情 報をまだ入手できておらず、受信局のノ ッファサイズが 8であることを事前に通知され ているので、 D16を送信すると受信局でバッファが不足することがわかる。そのため、 新たなデータフレームの送信は D15までにして BlockAckReqフレームを送信している 。受信局は、 D8の受信に成功し、 D14の受信に失敗しているので、 D8— D13を上 位層に通知することができる。そのため、ノ ッファ A7以外は空きとなる。
[0053] (BlockAck方式の具体例 2)
BlockAck方式における通信において、データフレームの送信が成功する前に送信 局が再送をあきらめる場合の具体例を図 8に示す。データフレームの再送有効期限 を表す情報として BlockAckReqフレームの Starting Sequence Numberが用いられる。 図にはこの情報を SSNと省略して書き入れてある。その他の記述方法については、( BlockAck方式の具体例 1)と同様であるので省略する。
なお以降の考察では簡単化のために、 BlockAckReqフレームと BlockAckフレームに っ 、ては常に受信に成功すると仮定して 、る。
また、事前の処理により、受信局のバッファサイズ力 ¾であることが送信局に通知され ているものとする。
[0054] <フェイズ 1 >
フェイズ 1では、送信局は D1— D5のデータフレームと BlockAckReqフレームとを送 信している。受信局は、受信に成功した Dl、 D3、 D4、 D5をバッファに格納し、 D1 だけを上位層に通知する。そのため、ノ ッファ A1は空きとなる。受信局より返送され た BlockAckフレームにより、 D2の受信に失敗した事が送信局に対して通知される。
[0055] <フェイズ 2>
受信局の BlockAckフレームの報告を受けた送信局は、フェイズ 2において D2を再 送している。さらに、送信局は、 D6以降を送信している。このとき送信局は D2に対す る送達確認情報をまだ入手しておらず、かつ D2の再送期限がまだ切れて 、な 、た め BlockAckReqフレームの Starting Sequence Numberを 2に設定する。ここで D2を受 信するための A2以外の全バッファは使用済みである。つまり、 D3以降のデータフレ ームは受信に成功しているが、上位層に通知できない状態となっている。受信局より 返送された BlockAckフレームにより、 D2の受信に再び失敗した事が送信局に対して 通知される。
[0056] <フェイズ 3 >
受信局の BlockAckフレームの報告を受けた送信局は、フェイズ 3において D2を再 送している。ただし、送信局は、有効なデータフレーム D2の送達確認情報をまだ入 手できておらず、受信局のバッファサイズが 8であることから、 D10を送信すると受信 局でバッファが不足することが算出できるので、それ以降のデータフレームは送信し ない。 [0057] フェイズ 3では、受信局より返送された BlockAckフレームにより、 D2の受信に再び 失敗した事が通知される。ここで、 D2の再送期限が切れ、送信局は D2の再送をあき らめたものとする。
[0058] <フェイズ 4 >
送信局は、前のフェイズまでに BlockAckフレームを通じて受信局が D3から D9のデ 一タフレームを受信できたことを知っている。そのため、送信局は、 Starting Sequence Numberを 10にした BlockAckReqフレームを送信し、 Sequence Numberが 9以下のデ 一タフレームにっ 、ては再送を行わな 、と 、うことを受信局に対して通知する。これ により受信局は、前のフェイズまでに受信した D3から D9を上位層に通知し、全ての ノ ッファを空き状態に戻すことができる。この場合送信局は次のフェイズでは D10か ら D17までのデータフレームを送信できるようになる。
[0059] (BlockAck方式から NormalAck方式への切り替え)
通常 BlockAck方式の方が NormalAck方式よりも帯域効率が良!、が、 BlockAckReq フレームで問 、合わせた!/、データフレームの数が少な 、場合には NormalAck方式を 用いる方が BlockAck方式よりも効率が良い。このため、 ADDBA処理によって
BlockAck方式を用いると 、う設定が行われた TIDに属するデータの通信においても、 帯域効率を向上させるために一時的に NormalAck方式を用いても良 、ことになつて いる。
[0060] 各データフレームには、そのデータフレームが NormalAck方式と BlockAck方式のど ちらの方式として送信されて 、るかを示すためのフィールド (Ack Policyフィールドと 呼ぶ)がある。 BlockAckを用いる設定を行った TIDに属するデータ送信に対しても各 データフレームの Ack Policyフィールドで NormalAck方式を指定することで
NormalAck方式を使用することができる。
[0061] 例えば図 8のフェイズ 3では D2以外のデータフレームを送信できない状態になって おり、このような場合には、「d2— BlockAckReqフレーム BlockAckフレーム」というシ 一ケンスよりも、「d2— NormalAckフレーム」というシーケンスを用いる方がより短時間 で D2の送達確認状況を知ることができる。
[0062] 例えばこのような場合に、送信局は図 8のフェイズ 3における D2の ACK Policyフィ 一ルドに NormalAck方式を示す情報含めて送信して構わない。それにより、受信局も D2が NormalAck方式に従うことを知る。この様子を図 9に示す。
[0063] 図 9では、フェイズ 3で受信局が D2の受信に成功したと仮定している。フェイズ 3に おいて、受信局は、 D2— D9を上位層に通知することができ、全てのバッファを空き 状態にすることができる。
[0064] 図 9のフェイズ 4以降では、複数のデータフレームに対する送達確認情報を得ること ができるので、各データフレームの ACK Policyフィールドに BlockAck方式を示す情 報を含めて送信している。
[0065] なお、どのような条件で BlockAck方式から NormalAck方式に移行するかと!/、う判定 基準は規定されていない。
[0066] (第 1の課題)
これまでに説明したとおり、送信局は、 BlockAck方式を用いるという設定を行った TIDのデータ系列に対して、帯域効率を向上させるという目的で NormalAck policyを 用いたデータフレーム送信を混用することが可能である。しかし現在の仕様書では、 上記の NormalAck policyの送信を用いてどのような順序でデータフレームを送信して 良いかに関する記述が見当たらない。この時に用いられる NormalAck方式で送信さ れるデータフレームは、本来ならば BlockAck方式を用いて送信されるべきデータフレ ームの時間短縮のために代用されるものである。このことを考えると、送受信局とも下 記の BlockAck方式のルールに従って挙動すると考えられる。
[0067] <送信局のルール >
再送の有効期限が切れていないデータフレームに対する送達確認情報が入手で きていない段階で、それよりも大きな Sequence Numberを持つデータフレームを先に 送信しても構わな 、。送信局に与えられた送信可能な残り時間と各データフレームを 送信するために必要な時間の相互関係などの理由によりデータフレームの送信順序 は送信局側で故意に並び替えられる可能性もある。ただし Sequence Numbei^nであ る有効な (再送期限の切れて ヽな 、)データフレームの Ackを受信して ヽな 、状況に おいて、 Sequence Numberが n+ Buffer Size以上のデータフレームを送信してはなら ない。 [0068] <受信局のルール >
受信に成功していないデータフレーム X(Sequence Number = x)が存在する場合に は、 Xよりも大きい Sequence Numberを持つデータフレームを上位層に対して通知して はいけない。 Starting Sequence Number = y ( > x )を持つ BlockAckReqフレームを受 信することで xと yの間の Sequence Numberを持つ受信データを上位層に対して通 知することが可能となる。
[0069] しかし送信局力NormalAckを使用している間は上記の BlockAckReqフレームが送信 されないので送信局が特定のフレームの再送をあきらめたという事実を受信局は知る ことができな 、と!/、う課題があった。
[0070] 第 1の課題が発生した場合の例について図 10を参照しながら説明する。
[0071] 図 10は、 BlockAck方式から NormalAck方式に切り替わり、かつ、送信するべきデー タフレームが 2つある場合の処理手順である。
[0072] 図 10に示されるように、送信局は、フェイズ 1および 2において、 BlockAck方式でデ 一タフレームを送信している。そして、受信局は、フェイズ 1および 2において、 D2お よび D5のデータフレームの受信に失敗したことを BlockAckフレームにより送信局に 通知している。
[0073] 送信局は、フェイズ 1および 2の両方で D2および D5のデータフレームの受信に失 敗したことを受けて、フェイズ 3で BlockAck方式から NormalAck方式に切り替えて!/、る 。そして、送信局は、フェイズ 3からフェイズ nにおいて、 D2のデータフレームを NormalAck方式で送信する力 受信局は、いずれのフェイズにおいても、 D2のデー タフレームの受信に失敗して 、る。
[0074] ここで、フェイズ nが終了した時点で、送信局は、 D2の再送期限が切れたことを認 識し、 D2の再送をあきらめる。そのため、送信局は、次のフェイズ n+ 1において、フ エイズ 1および 2で受信に失敗していた残りの D5のデータフレームを NormalAck方式 で送信する。一方、受信局は、フェイズ n+ 1において、 D5のデータフレームの受信 に成功する力 送信局が D2のデータフレームの再送をあきらめたと 、う事実を認識 して 、 ヽな 、ため、 D2以降のデータフレームを上位層に通知することができな!/ヽと!ヽ う第 1の課題が生じる。 [0075] また送信局が一時的な NormalAck方式から BlockAck方式に復帰するまでの時間に 関する規定が無い。そのため、これが長引いた場合には未受信データフレームが無 効になったという事実を受信局が知るまでの遅延が大きくなり、したがってそれに続 いて正常に受信したデータフレームを受信局が上位層に通知できるまでの遅延が大 きくなるという課題があった。
[0076] 通常であれば、送信局が BlockAck方式によるデータ通信を終了し、 NormalAck方 式に移行する場合には、送信局力も受信局に対して「BlockAck方式を終了する」とい うメッセージが別途通知される。しかしながら、この通知メッセージ自体にも再送の期 限が存在するので、受信局が再送の期限内に上記通知メッセージを受信できなかつ た場合には、送信局が NormalAck方式に完全に移行したという事実は受信局に対し て明示的には伝わらない場合がある。この際にも上記の「一時的な NormalAck方式」 が長引いた場合と同じ問題が発生するという課題があった。
[0077] (第 2の課題)
上記のように送信局が BlockAck方式によるデータ送信を終了し、 NormalAck方式に 完全に移行したにもかかわらず、受信局に対してその事実が明示的には伝わらない 場合には、受信局は送信局力 NormalAck方式としてデータフレームを受信し続ける ことになる。
[0078] 現ドラフトにおいては BlockAckのコネクションのタイムアウト判定を行う際に、 Ack
Policyには関わらずその BlockAckを設定した TIDに属するデータを受信したかどうか によって判定を行う規定になっている。そのため、上記状況ではタイムアウトは検出さ れず、受信局は上記状況にぉ ヽて 、つまで経っても BlockAck用に確保したリソース を開放できな ヽと ヽぅ課題があった。
[0079] 第 2の課題が発生した場合の例について図 11を参照しながら説明する。
[0080] 図 11では、受信局におけるフレームの受信と送信状態及び、 Block Ack Timeout検 出のためのタイマの状態を示している。タイマによって、 BlockAckReqフレームで示さ れた Block Ack Timeoutが経過したことを検出したら BlockAck方式が終了したと判定 するものとする。 Tnはこのタイマを初期値に戻すタイミングを示して 、る。
[0081] Dnは Sequence Numberが nのデータフレーム、 dnは Sequence Numberが nのデータ フレームの再送、 BAreqは BlockAckReqフレーム、 BAは BlockAckフレームを示して いる。また、 Dn及び dnがー重線で囲んであるデータフレームは Ack Policyが BlockAck方式として送信されたことを示し、二重線で囲んであるデータフレームは Ack Policyが NormalAck方式として送信されたことを示して!/、る。
[0082] なお、本来は ADDBA処理が完了した時点でタイマが開始されるべきである力 ここ では省略する。
[0083] 図 11では BlockAck方式を使用してフレームを送信している時に、途中で
NormalAck方式に切り替えている。このとき送信局から受信局に対して「BlockAck方 式を終了する」というメッセージが送信されるが、そのメッセージの再送期限内に受信 局がそのメッセージゐ正しく受信できな力つたと想定している。現ドラフトに従うと Ack Policyの指定に関わらずデータフレームを受信したときにはいつでもタイマをリセット するので、送信局が BlockAck方式の使用を終了して NormalAck方式に切り替えたに も関わらず受信局では、 BlockAck方式の終了を検出できなくなつている。図 11にお いては T4一 T10のタイミングでタイマがリセットされるため、タイマが Block Ack Timeoutに達せず受信局は BlockAck方式のためのリソースを開放することができない 発明の開示
[0084] (第 1の課題を解決するための手段)
上記の第 1の課題を解決するため、本発明に係る通信方法では以下の 2つのルー ル両方を追加する。
[0085] <追加ルール 1 >
BlockAck方式を用いて通信を行っている場合に、送信局が Xの Sequence Number を持つデータフレームを NormalAck方式で送信した場合は、 x以前の Sequence Numberを持つデータフレームについては、再送の有効期限が切れていることを意味 するものとする。したがって、送信局は Xの Sequence Numberを持つデータフレームを NormalAck方式で送信した後で y (yは Xより小さい番号)の Sequence Numberを持つ データフレームを送信してはならな 、ものとする。
[0086] <追加ルール 2 > BlockAck方式を用いて通信を行っている場合に、受信局が Ack Policyフィールドに お!、て NormalAck方式が指定されて!、るデータフレームを受信したら、そのデータフ レームの Sequence Numberよりも小さな Sequence Numberを持つデータフレームの内 、受信に成功して 、るものは全て上位層に通知しても良 、ものとする。
[0087] (第 2の課題を解決するための手段)
上記の第 2の課題を解決するため、本発明に係る通信方法では Block Ack Timeout の検出方法を以下の何れかのルールに変更する。
[0088] <変更ルール 1 >
受信局では、 BlockAck方式の使用中に、 Block Ack Timeoutで示される時間内に Ack Policyが BlockAck方式を示して!/、るデータフレームを受信できなかった場合は、 BlockAck方式の使用が終了したとみなし、 BlockAck方式のために確保されていたリ ソースを開放しても良い。
[0089] <変更ルール 2 >
受信局では、 BlockAck方式の使用中に、 Block Ack Timeoutで示される時間内に BlockAckReqフレームを受信できなかった場合は、 BlockAck方式の使用が終了した とみなし、 BlockAck方式のために確保されて!ヽたリソースを開放しても良!、。
[0090] <変更ルール 3 >
受信局では、 BlockAck方式の使用中に、 Block Ack Timeoutで示される時間内に Ack Policyが BlockAck方式を示しているデータフレーム、または、 BlockAckReqフレ ームを受信できな力つた場合は、 BlockAck方式の使用が終了したとみなし、
BlockAck方式のために確保されて!ヽたリソースを開放しても良!、。
[0091] (第 1の課題を解決するための手段の詳細)
本発明に係る送信局は、データフレームに所定の順序番号が付番されて送信され 、前記データフレームに対する受信局からの ACKとしてノーマル ACK方式とブロック ACK方式の両方が同時に使用される通信方法に従う送信局であって、ある順序番号 のデータフレームをノーマル ACK方式で送信した場合は、前記順序番号よりも古!ヽ 順序番号のデータフレームを送信しない送信局である。
[0092] また、本発明に係る受信局は、データフレームに所定の順序番号が付番されて送 信され、前記データフレームに対する受信局からの ACKとしてノーマル ACK方式とブ ロック ACK方式の両方が同時に使用される通信方法に従う受信局であって、ノーマ ル ACK方式を要求するデータフレームを受信した際に、その時点で受信済みだが上 位層に通知して ヽな 、データフレームの内、前記ノーマル ACK方式を要求するデー タフレームの順序番号よりも古 、順序番号を持つデータフレームを上位層に通知す る受信局である。
[0093] また、本発明に係る通信方法は、データフレームに所定の順序番号が付番されて 送信され、前記データフレームに対する受信局からの ACKとしてノーマル ACK方式と ブロック ACK方式の両方が同時に使用される通信方法であって、送信局において、 ある順序番号のデータフレームをノーマル ACK方式で送信した場合は、前記順序番 号よりも古い順序番号のデータフレームを送信せず、受信局において、ノーマル ACK方式を要求するデータフレームを受信した際に、その時点で受信済みだが上位 層に通知して!/、な!/、データフレームの内、前記ノーマル ACK方式を要求するデータ フレームの順序番号よりも古 、順序番号を持つデータフレームを上位層に通知する 通信方法である。
[0094] また、本発明に係る通信方法は、 IEEE802.i l標準(ANSI/IEEE Std. 802.11,1999 Edition)及び IEEE802. l ie標準のドラフト(IEEE P802.11e/D6.0, November 2003)に 準拠する通信方法であって、ある TIDのストリームについて、ストリームの送信局にお ヽて、める Sequence Numberの QoS Data Frameを Ack Policyフィ ~~ノレト【こ Normal Ack を示す情報を含めて送信した場合は、前記 Sequence Numberよりも小さな値を持つ QoS Data Frameを行わず、ある TIDのストリームについて、ストリームの受信局におい て、 Ack Policy fieldに Normal Ackを示す情報が含まれている QoS Data Frameを受信 した場合は、その時点で受信済みだが上位層に通知していない QoS Data Frameの 内、前記受信した QoS Data Frameに含まれている Sequence Numberよりも小さな Sequence Numberを持つ QoS Data Frameを上位層に通知する通信方法である。
[0095] これらの方法を用いる事により、送信局が BlockAck方式の使用中に一時的に使用 した NormalAck方式から BlockAck方式に復帰するまでの時間が長引いた際に、未受 信データフレームは無効になったという事実を受信局が知るまでの遅延が大きくなり 、したがってそれに続く正常受信データフレームを受信局が上位層に通知できるまで の遅延が大きくなる、という課題を解決できる。
[0096] (第 2の課題を解決するための手段の詳細)
本発明に係る受信局は、受信したデータフレームに対する受信局力もの ACKとして ノーマル ACK方式とブロック ACK方式の両方が同時に使用される通信方法に従う受 信局であって、ノーマル ACK方式を要求するデータフレームを受信したかどうかに関 わらず、所定の期間内に、ブロック ACK方式を要求するデータフレームを受信できな 力つた場合には、ブロック ACK方式の使用が終了したとみなし、ブロック ACK方式の ために使用して 、たリソースを開放する受信局である。
[0097] また、本発明に係る通信方法は、受信したデータフレームに対する受信局力 の ACKとしてノーマル ACK方式とブロック ACK方式の両方が同時に使用される通信方 法であって、受信局において、ノーマル ACK方式を要求するデータフレームを受信し たかどうかに関わらず、所定の期間内に、ブロック ACK方式を要求するデータフレー ムを受信できな力つた場合には、ブロック ACK方式の使用が終了したとみなし、ブロ ック ACK方式のために使用して 、たリソースを開放する通信方法である。
[0098] また、本発明に係る受信局は、受信したデータフレームに対する受信局力 の ACK としてノーマル ACK方式とブロック ACK方式の両方が同時に使用される通信方法に 従う受信局であって、データフレームを受信した力どうかに関わらず、所定の期間内 にブロック ACK送信要求フレームを受信できなかった場合には、ブロック ACK方式の 使用が終了したとみなし、ブロック ACK方式のために使用していたリソースを開放す る受信局である。
[0099] また、本発明に係る通信方法は、受信したデータフレームに対する受信局力 の ACKとしてノーマル ACK方式とブロック ACK方式の両方が同時に使用される通信方 法であって、受信局において、データフレームを受信したかどうかに関わらず、所定 の期間内にブロック ACK送信要求フレームを受信できな力つた場合には、ブロック ACK方式の使用が終了したとみなし、ブロック ACK方式のために使用していたリソー スを開放する通信方法である。
[0100] また、本発明に係る受信局は、受信したデータフレームに対する受信局力もの ACK としてノーマル ACK方式とブロック ACK方式の両方が同時に使用される通信方法に 従う受信局であって、データフレームを受信した力どうかに関わらず、所定の期間内 にブロック ACK方式を要求するデータフレーム、または、ブロック ACK送信要求フレ ームを受信できな力つた場合には、ブロック ACK方式の使用が終了したとみなし、ブ ロック ACK方式のために使用していたリソースを開放する受信局である。
[0101] また、本発明に係る通信方法は、受信したデータフレームに対する受信局力 の ACKとしてノーマル ACK方式とブロック ACK方式の両方が同時に使用される通信方 法であって、受信局において、データフレームを受信したかどうかに関わらず、所定 の期間内にブロック ACK方式を要求するデータフレーム、または、ブロック ACK送信 要求フレームを受信できな力つた場合には、ブロック ACK方式の使用が終了したとみ なし、ブロック ACK方式のために使用して 、たリソースを開放する通信方法である。
[0102] また、本発明に係る通信方法は、 IEEE802.il標準(ANSI/IEEE Std. 802.11,1999 Edition)及び IEEE802. lie標準のドラフト(IEEE P802.11e/D6.0, November 2003)に 準拠する通信方法であって、ある TIDのストリームについて、受信局において、 Ack Policyフィールドに Normal Ackを示す情報が含まれている QoS Data Frameを受信し たかどうかに関わらず、 Block Ack Timeoutで示される期間内に Ack Policyフィールド に Block Ackを示す情報が含まれている QoS Data Frameを受信できなかった場合は 、 Block Ackの伝送のために使用していたリソースを開放する通信方法である。
[0103] また、本発明に係る通信方法は、 IEEE802.il標準(ANSI/IEEE Std. 802.11,1999 Edition)及び IEEE802. lie標準のドラフト(IEEE P802.11e/D6.0, November 2003)に 準拠する通信方法であって、ある TIDのストリームについて、受信局において、 QoS Data Frameを受信したかどうかに関わらず、 Block Ack Timeoutで示される期間内に 、 Block Acknowledgement Request Frameを受信できなかった場合は、 Block Ackの 伝送のために使用して 、たリソースを開放する通信方法である。
[0104] また、本発明に係る通信方法は、 IEEE802.il標準(ANSI/IEEE Std. 802.11,1999 Edition)及び IEEE802. lie標準のドラフト(IEEE P802.11e/D6.0, November 2003)に 準拠する通信方法であって、ある TIDのストリームについて、受信局において、 Ack Policyフィールドに Normal Ackを示す情報が含まれている QoS Data Frameを受信し たかどうかに関わらず、 Block Ack Timeoutで示される期間内に Ack Policyフィールド に Block Ackを示す情報が含まれている QoS Data Frame,または、 Block
Acknowledgement Request Frameを受信できなかった場合は、 Block Ackの伝送のた めに使用して 、たリソースを開放する通信方法である。
[0105] これらの方法を用いる事により、送信局が BlockAck方式によるデータ通信を終了し 、 NormalAck方式に移行する場合に、送信局から受信局に対して送信される「 BlockAck方式を終了する」というメッセージを受信局がそのメッセージの再送期限内 に正しく受信できな力つた状況において、受信局においてタイムアウトが検出されず 、受信局は 、つまで経っても BlockAck用に確保したリソースを開放できな ヽと 、う課 題を解決できる。
[0106] また、本発明に係る通信プログラムは、コンピュータに上記の方法における送信局 として動作させるための手順を記述した通信プログラムである。
[0107] また、本発明に係る通信プログラムは、コンピュータに上記の方法における受信局 として動作させるための手順を記述した通信プログラムである。
[0108] また、本発明に係るプログラムを格納したコンピュータ読み取り可能な記録媒体は、 上記の通信プログラムを格納して 、る。
図面の簡単な説明
[0109] [図 1]本発明の第 1の実施の形態における処理手順である。
[図 2]本発明の第 2の実施の形態における、受信局での Block Ack Timeoutの検出方 法のタイミング図である。
[図 3]本発明の第 3の実施の形態における、受信局での Block Ack Timeoutの検出方 法のタイミング図である。
[図 4]本発明の第 4の実施の形態における、受信局での Block Ack Timeoutの検出方 法のタイミング図である。
[図 5]従来及び本発明の通信方法にお 、て、 BlockAck方式を用いた通信手順の概 要である。
[図 6]従来の通信方法における NormalAck方式の処理手順の具体例である(Normal Ackフレームの受信に失敗した場合)。 [図 7]従来の通信方法における BlockAck方式の処理手順の第 1の具体例である。(再 送が完了した場合)
[図 8]従来の通信方法における BlockAck方式の処理手順の第 2の具体例である。 (d 2の再送をあきらめた場合)
[図 9]従来の通信方法において BlockAck方式から NormalAck方式に切り替わった時 の処理手順である。(送信するべきデータフレームが 1つの場合)
[図 10]従来の通信方法において BlockAck方式から NormalAck方式に切り替わった時 の処理手順である。(送信するべきデータフレームが 2つの場合)
[図 11]従来の受信局での Block Ack Timeoutの検出方法のタイミング図である。
[図 12]本発明の第 1の実施の形態における送信局の構成を示すブロック図である。
[図 13]本発明の第 1の実施の形態における受信局の構成を示すブロック図である。
[図 14]本発明の第 2の実施の形態における受信局の構成を示すブロック図である。 発明を実施するための最良の形態
[0110] 以下、実施例および比較例により、本発明をさらに詳細に説明するが、本発明はこ れらにより何ら限定されるものではない。
[0111] 以下の実施の形態における BlockAck方式のセットアップ手順は従来と同様であり 図 5に示すようなものである。
[0112] なお、ここでは IEEE802.i l標準及び、 IEEE802.11eの現ドラフトに従う通信方法にお
Vヽて本発明を適用した例にっ 、て述べて 、るが、別の通信方法にお!、ても本発明は 適用可能である。
[0113] (第 1の実施の形態)
本発明の第 1の実施の形態について、図 1,図 12および図 13を参照しながら説明 する。第 1の実施の形態は前記の第 1の課題が解決された例である。
[0114] 図 12は、本実施形態に係る送信局 1の構成を示すブロック図である。送信局 1は、 ストリームデータ等を複数のデータフレームに分割し、分割したデータフレームを受 信局に送信するものである。
[0115] 図 12に示されるように、送信局 1は、送信部 11、受信部 12、 Ack要求フレーム生成 部 13、データフレーム生成部 14、エラーフレーム処理部 16、未送信最小フレーム番 号記憶部 17、受信局バッファサイズ記憶部 18、 Ack方式切替部 19、およびエラーフ レーム番号記憶部 20を備えて 、る。
[0116] 送信部 11は、受信局に対して、各種フレームを送信するものである。例えば、送信 部 11は、データフレーム生成部 14が生成したデータフレームおよび Ack要求フレー ム生成部 13が生成した BlockAckReqフレームを受信局に送信する。
[0117] 受信部 12は、受信局からの各種フレームを受信するものである。例えば、受信部 1
2は、受信局から BlockAckフレームおよび NormalAckフレームを受信する。そして、受 信部 12は、受信した BlockAckフレームおよび NormalAckフレームをエラーフレーム 処理部 16に送る。
[0118] 受信局バッファサイズ記憶部 18は、受信局において BlockAck方式を用いる際のバ ッファサイズを記憶するものである。送信局 1と受信局との間で行われる上述した BlockAck開始手続き(ADDBA処理)にお!/、て受信局から通知されたバッファサイズ は、図示しない受信局バッファサイズ書き込み部により、受信局バッファサイズ記憶 部 18に書き込まれる。
[0119] 未送信最小フレーム番号記憶部 17は、送信していないデータフレームの中で最小 の Sequence Numberである未送信最小フレーム番号を記憶するものである。未送信 最小フレーム番号記憶部 17が記憶する未送信最小フレーム番号は、データフレー ム生成部 14により更新される。
[0120] エラーフレーム番号記憶部 20は、受信局において受信に失敗したフレーム(エラ 一フレーム)が持つ Sequence Numberであるエラーフレーム番号を記憶するものであ る。エラーフレーム番号記憶部 20が記憶するエラーフレーム番号は、エラーフレーム 処理部 16により更新される。
[0121] Ack方式切替部 19は、フレームの送受信方式を、 BlockAck方式と NormalAck方式 とに切り替えるものである。 Ack方式切替部 19は、切り替えた Ack方式の種類を示す 情報、つまり、 BlockAck方式または NormalAck方式を示す情報をデータフレーム生 成部 14に出力する。
[0122] Ack方式切替部 19における Ack方式の切り替え基準は特に限定されない。本実施 形態では、例えば、 Ack方式切替部 19は、初期設定として BlockAck方式を選択する 。そして、 Ack方式切替部 19は、 BlockAck方式でデータ通信を行っている際、次回 のデータフレーム送信において、未送信のデータフレームを送信できない場合に、 BlockAck方式から NormalAck方式に切り替えるものとする。
[0123] なお、 Ack方式切替部 19は、未送信最小フレーム番号記憶部 17が記憶する未送 信最小フレーム番号、受信局バッファサイズ記憶部 18が記憶するノ ッファサイズ、お よび、エラーフレーム番号記憶部 20が記憶するエラーフレーム番号を基にして、次 回のフレーム送信において、未送信のデータフレームを送信できないことを判断する ことができる。上述したように、 BlockAck方式においては、エラーフレーム番号のうち 最小の Sequence Number (n) +バッファサイズ(例えば、 8)以上の Sequence Number に対応するデータフレームを送信できない。なぜなら、受信局において、該データフ レームを格納するための受信バッファの空き容量がないからである。そのため、 Ack 方式切替部 19は、エラーフレーム番号記憶部 20が記憶するエラーフレーム番号のう ち最小の Sequence Numberと受信局バッファサイズ記憶部 18が記憶するバッファサイ ズとを加えた値が、未送信最小フレーム番号記憶部 17が記憶する未送信最小フレ ーム番号と同じである場合、次回のフレーム送信において、未送信のデータフレーム を送信できな 、と判断し、 BlockAck方式力も NormalAck方式に切り替える。
[0124] データフレーム生成部 14は、受信局へ送信するデータフレームを生成するもので ある。データフレーム生成部 14は、 BlockAck方式でデータフレームを生成する BlockAck方式生成部 14aと、 NormalAck方式でデータフレームを生成する
NormalAck方式生成部 14bとを備えている。
[0125] BlockAck方式生成部 14aは、 Ack方式切替部 19から BlockAck方式である旨の Ack 方式種別情報を受けた場合に機能する構成部である。 BlockAck方式生成部 14aは 、 Ack Policyフィールドを BlockAck方式としてデータフレームを生成する。 BlockAck 方式生成部 14aは、未送信最小フレーム番号記憶部 17が記憶する未送信最小フレ ーム番号、受信局バッファ容量記憶部 18が記憶するバッファサイズ、エラーフレーム 番号記憶部 20が記憶するエラーフレーム番号を基に、 1つのフェイズにおいて送信 するデータフレームを生成する。なお、上述したように、 BlockAck方式においては、 送信局 1が複数のデータフレームを送信または再送した後で BlockAckReqフレームを 送信し、それに対する BlockAckフレームを受信局が送信するまでの処理を 1つのフエ ィズとする。
[0126] BlockAck方式生成部 14aは、生成したデータフレームを送信部 11に送る。これに より、送信部 11は、 1つのフェイズにおいて送信すべきデータフレームを連続して送 信する。
[0127] また、 BlockAck方式生成部 14aは、送信部 11がデータフレームを送信した後、 1つ のフェイズで送信したデータフレームの中で最小の Sequence Numberである送信最 小フレーム番号を Ack要求フレーム生成部 13に出力する。
[0128] さらに、 BlockAck方式生成部 14aは、未送信であったデータフレームを送信した場 合には、未送信最小フレーム番号記憶部 17の未送信最小フレーム番号を更新する
[0129] 例えば、未送信最小フレーム番号が「6」であり、バッファサイズが「8」であり、エラー フレーム番号力 S「2, 5」である場合を仮定する。このとき、 BlockAck方式生成部 14aは 、データフレーム D2および D5、ならびに、エラーフレーム番号の最小値「2」とバッフ ァサイズ「8」との加算値「10」未満の未送信のデータフレーム D6 - D7 - D8 - D9を、 1 つのフェイズで送信するデータフレームとして生成し、送信部 11に送る。さらに、 BlockAck方式生成部 14aは、送信したデータフレームの中の最小の Sequence Numberである送信最小フレーム番号「2」を Ack要求フレーム生成部 13に出力する。
[0130] NormalAck方式生成部 14bは、 Ack方式切替部 19から NormalAck方式である旨の Ack方式種別情報を受けた場合に機能するブロックである。 NormalAck方式生成部 1 4bは、 Ack Policyフィールドを NormalAck方式としてデータフレームを生成する。
[0131] NormalAck方式生成部 14bは、エラーフレーム番号記憶部 20がエラーフレーム番 号を記憶して 、る場合、該エラーフレーム番号に対応する一つのデータフレームを 生成する。なお、エラーフレーム番号記憶部 20が複数のエラーフレーム番号を記憶 している場合、 NormalAck方式生成部 14bは、該複数のエラーフレーム番号の中で 最小の Sequence Numberに対応する一つのデータフレームを生成する。
[0132] 一方、エラーフレーム番号記憶部 20がエラーフレーム番号を記憶していない場合 、 NormalAck方式生成部 14bは、未送信最小フレーム番号記憶部 17が記憶する未 送信最小フレーム番号に対応する一つのデータフレームを生成する。なお、 NormalAck方式生成部 14bは、上記 BlockAck方式生成部 14aと同様に、未送信であ つたデータフレームを送信した場合、未送信最小フレーム番号記憶部 17の未送信 最小フレーム番号を更新する。
[0133] NormalAck方式生成部 14bは、生成した一つのデータフレームを送信部 11に送る 。これにより、送信部 11は、 1つのフェイズにおいて 1つのデータフレームを送信する
[0134] このように、 NormalAck方式生成部 14bは、エラーフレーム番号記憶部 20が記憶す るエラーフレーム番号および未送信最小フレーム番号記憶部 17が記憶する未送信 最小フレーム番号の中で、最小の Sequence Numberに対応するデータフレームを生 成する。そのため、 BlockAck方式生成部 14aおよび NormalAck方式生成部 14bは、 NormalAck方式生成部 14bがある Sequence Numberのデータフレームを送信部 11を 介して送信した後、該 Sequence Numberよりも小さい Sequence Numberのデータフレ ームを送信することがない。
[0135] エラーフレーム処理部 16は、受信部 12が受信した BlockAckフレームまたは
NormalAckフレームを基に、受信局で受信に失敗したデータフレームに対応するエラ 一フレーム番号をエラーフレーム番号記憶部 20に書き込む。また、エラーフレーム処 理部 16は、受信局で受信に成功したデータフレームに対応するフレーム番号がエラ 一フレーム番号記憶部 20に記憶されている場合、該フレーム番号をエラーフレーム 番号記憶部 20から消去する。
[0136] さらに、エラーフレーム処理部 16は、一定回数 (m回)だけ再送に失敗したデータフ レーム、および、送信を開始して力 一定時間経過したデータフレームに対応するフ レーム番号をエラーフレーム番号記憶部 20から消去する。これにより、有効期限が切 れたデータフレームは、二度と再送されることがない。
[0137] エラーフレーム処理部 16は、 Ack方式切替部 19が BlockAck方式を選択しており、 かつ、有効期限が切れた受信失敗のデータフレームが発生した場合、 Ack要求フレ ーム生成指示信号を Ack要求フレーム生成部 13に出力する。
[0138] Ack要求フレーム生成部 13は、 Ack方式切替部 19が BlockAck方式を選択している 場合に、 BlockAckReqフレームを生成し、生成した BlockAckReqフレームを送信部 11 に送るものである。 Ack要求フレーム生成部 13は、 BlockAck方式生成部 14aより送信 最小フレーム番号を、エラーフレーム処理部 16より Ack要求フレーム生成指示信号 を受ける。
[0139] Ack要求フレーム生成部 13は、 BlockAck方式生成部 14aより送信最小フレーム番 号を受けた場合、受けた送信最小フレーム番号を Starting Sequence Numberに設定 した BlockAckReqフレームを生成する。
[0140] 一方、 Ack要求フレーム生成部 13は、エラーフレーム処理部 16より Ack要求フレー ム生成指示信号を受けた場合、未送信最小フレーム番号記憶部 17が記憶する未送 信最小フレーム番号を Starting Sequence Numberに設定した BlockAckReqフレームを 生成する。これ〖こより、図 8で示したように、受信局は、 Starting Sequence Number未 満のデータフレームについて、再送されないことを認識することができる。
[0141] 次に、本実施形態に係る受信局 5の構成について説明する。図 13は、受信局 5の 構成を示すブロック図である。
[0142] 図 13に示されるように、受信局 5は、受信部 51、送信部 52、データフレーム処理部 53、 BlockAckフレーム生成部 54、 NormalAckフレーム生成部 55、バッファ制御部( ノ ッファ制御手段) 56、バッファ 57、およびエラーフレーム番号記憶部 58を備えてい る。
[0143] 受信部 51は、送信局 1からの各種フレームを受信するものである。例えば、受信部 51は、 BlockAck方式または NormalAck方式のデータフレームや BlockAckReqフレー ムを受信する。受信部 51は、 BlockAck方式または NormalAck方式のデータフレーム を受信すると、受信したデータフレームをデータフレーム処理部 53に出力する。また 、受信部 51は、 BlockAckReqフレームを受信すると、該 BlockAckReqフレームをバッ ファ制御部 56および BlockAckフレーム生成部 54に出力する。
[0144] データフレーム処理部 53は、 Ack方式判定部 53aと受信成功判定部 53bとを備え ている。
[0145] Ack方式判定部 53aは、受信したデータフレームの Ack方式を判定するものである。
Ack方式判定部 53aは、データフレームに含まれる Ack Policyフィールドを基に、デ 一タフレームが BlockAck方式である力 NormalAck方式であるかを判定する。 Ack方式 判定部 53aは、受信したデータフレームが NormalAck方式であると判定した場合、該 データフレームの Sequence Numberをバッファ制御部 56に出力する。
[0146] 受信成功判定部 53bは、受信したデータフレームに含まれる誤り検出符号等を基 に、該データフレームの受信が成功したか否かを判定するものである。受信成功判 定部 53bは、受信に成功したデータフレームをバッファ 57に格納する。
[0147] また、受信したデータフレーム力 ck方式判定部 53aにより BlockAck方式であると 判定された場合、受信成功判定部 53bは、一つのフェイズの中で受信に失敗したデ 一タフレームに対応する Sequence Numberを、エラーフレーム番号としてエラーフレ ーム番号記憶部 58に格納する。
[0148] 一方、受信したデータフレームが Ack方式判定部 53aにより NormalAck方式であると 判定された場合、受信成功判定部 53bは、該データフレームの受信に成功したか否 かを示す受信状況情報を NormalAckフレーム生成部 55に出力する。
[0149] BlockAckフレーム生成部 54は、受信部 51から BlockAckReqフレームを受けて、
BlockAckフレームを生成し、生成した BlockAckフレームを送信部 52に出力するもの である。
[0150] BlockAckフレーム生成部 54は、 BlockAckReqフレームに含まれる Starting
Sequence Numberと、バッファ 57に格納されているデータフレームのうち最大の Sequence Numberとを比 する。
[0151] BlockAckフレーム生成部 54は、 Starting Sequence Numberがバッファ 57に格納さ れているデータフレームの最大の Sequence Number以下である場合、 Starting Sequence Number以上のエラーフレーム番号をエラーフレーム番号記憶部 58から読 み出す。そして、 BlockAckフレーム生成部 54は、読み出したエラーフレーム番号の データフレームの受信に失敗した旨を示す BlockAckフレームを生成する。また、この とき、 BlockAckフレーム生成部 54は、 Starting Sequence Number未満のエラーフレー ム番号をエラーフレーム番号記憶部 58から消去する。
[0152] 一方、 BlockAckフレーム生成部 54は、 Starting Sequence Numberがバッファ 57に 格納されているデータフレームの最大の Sequence Numberよりも大きい場合、該 Starting Sequence Numberに対応するデータフレームが未受信である旨を示す BlockAckフレームを生成する。また、このとき、 BlockAckフレーム生成部 54は、 Starting Sequence Number未満のエラーフレーム番号をエラーフレーム番号記憶部 5 8から消去する。
[0153] NormalAckフレーム生成部 55は、受信成功判定部 53bからデータフレームの受信 に成功したか否かを示す受信状況情報を受け、該受信状況情報が受信に成功した 旨を示していた場合は、 NormalAckフレームを生成し、生成した NormalAckフレーム を送信部 52に出力するものである。該受信状況情報が受信に失敗した旨を示してい た場合は何も生成しない。
[0154] バッファ 57は、受信部 51が正常に受信したデータフレームを一時的に格納するた めのものである。
[0155] バッファ制御部 56は、バッファ 57に格納されたデータフレームの中力も上位層に通 知すべきデータフレームを読み出すものである。そして、ノ ッファ制御部 56は、読み 出したデータフレームを上位層に通知する。なお、バッファ制御部 56は、バッファ 57 力も読み出したデータフレームについて、バッファ 57から消去する。
[0156] 上述したように、バッファ制御部 56は、受信部 51より BlockAckReqフレームを、 Ack 方式判定部 53 aより Sequence Numberを受ける。
[0157] 受信部 51より BlockAckReqフレームを受けた場合、バッファ制御部 56は、
BlockAckReqフレームに含まれる Starting Sequence Numberと、バッファ 57に格納さ れて 、るデータフレームのうち最大の Sequence Numberとを比較する。
[0158] バッファ制御部 56は、 Starting Sequence Numberがバッファ 57に格納されているデ 一タフレームのうちの最大の Sequence Number以下である場合、 Starting Sequence Number未満のデータフレーム、および、 Starting Sequence Numberに対応するデー タフレーム力も連続して受信に成功したデータフレームまでをバッファ 57から読み出 し、上位層に通知する。
[0159] 一方、バッファ制御部 56は、 Starting Sequence Numberがバッファ 57に格納されて いるデータフレームのうちの最大の Sequence Numberより大きい場合、バッファ 57に 格納されて ヽる全てのデータフレームを読み出し、上位層に通知する。 [0160] また、 Ack方式判定部 53aより Sequence Numberを受けた場合、バッファ制御部 56 は、受けた Sequence Number未満のデータフレーム、および、受けた Sequence Numberのデータフレームから連続して受信に成功したデータフレームまでをバッファ 57から読み出し、上位層に通知する。すなわち、ノ ッファ制御部 56は、ノーマル AC K方式を要求するデータフレームを受信した際に、該ノーマル ACK方式を要求する テータフレームの Sequence Numberよりも古 ヽ Sequence Numberを持つテータフレー ムをバッファ 57から読み出して上位層に通知するとともに、読み出したデータフレー ムをバッファ 57から削除する。
[0161] 次に、図 1を参照しながら、本実施形態における送信局 1および受信局 5における データ通信処理をフェイズごとに説明する。
[0162] なお、事前の処理により、受信局 5のバッファサイズ(Buffer Size)は 8であることが送 信局に通知されているものとする。すなわち、送信局 1の受信局バッファサイズ記憶 部 18は、ノ ッファサイズ「8」を記憶しているものとする。また、送信局 1のエラーフレー ム処理部 16は、各データフレームの再送回数を監視しており、 m回だけ再送に失敗 したデータフレームに対応する Sequence Numberをエラーフレーム番号記憶部 20か ら消去するものとする。
[0163] <フェイズ 1 >
フェイズ 1の送信局 1において、 Ack方式切替部 19は、初期設定である BlockAck方 式を選択する。また、 BlockAck方式生成部 14aは、初期設定として 5つのデータフレ ーム、つまり、データフレーム D1— D5を生成する。このとき、 BlockAck方式生成部 1 4aは、未送信最小フレーム番号「6」を未送信最小フレーム番号記憶部 17に格納す る。そして、送信部 11は、該データフレーム D— D5を受信局 5に送信する。
[0164] さらに、 Ack要求フレーム生成部 13は、 Starting Sequence Numberが「1」の
BlockAckReqフレームを生成し、送信部 11は、該 BlockAckReqフレームを受信局 5に 送信する。
[0165] 一方、フェイズ 1の受信局 5において、データフレーム処理部 53の受信成功判定部 53bは、データフレーム D2および D5のみ受信に失敗したと判定し、ノ ッファ 57にデ 一タフレーム D1 · D3 · D4を格納するとともに、エラーフレーム番号記憶部 58にエラ 一フレーム番号「2」「5」を格納する。
[0166] また、上記 BlockAckReqフレームを受けたバッファ制御部 56は、データフレーム D2 が受 1§失敗しているため、 Starting Sequence Numberと同じ Sequence Numberのテー タフレーム D1のみをバッファ 57から読み出し、上位層へ通知する。このとき、ノッファ 制御部 56は、読み出したデータフレーム D1をバッファ 57から消去する。
[0167] さらに、上記 BlockAckReqフレームを受けた BlockAckフレーム生成部 54は、エラー フレーム番号記憶部 58からエラーフレーム番号「2」「5」を読み出し、データフレーム
D2および D5の受信に失敗した旨を示す BlockAckフレームを生成する。そして、送 信部 52は、該 BlockAckフレームを送信する。
[0168] そして、上記 BlockAckフレームを受けた送信局 1において、エラーフレーム処理部
16は、エラーフレーム番号「2」「5」をエラーフレーム番号記憶部 20に格納する。
[0169] <フェイズ 2 >
次に、フェイズ 2の送信局 1において、 BlockAck方式生成部 14aは、エラーフレーム 番号記憶部 20が記憶するエラーフレーム番号「2」「5」を基に、該エラーフレーム番 号に対応するデータフレーム D2および D5を生成する。
[0170] さらに、 BlockAck方式生成部 14aは、未送信最小フレーム番号記憶部 17が記憶す る未送信最小フレーム番号「6」から、エラーフレーム番号「2」と受信局バッファサイズ 記憶部 18が記憶するバッファサイズ「8」との加算値「 10」未満のデータフレーム D6 一 D9を生成する。このとき、 BlockAck方式生成部 14aは、未送信最小フレーム番号
「10」として未送信最小フレーム番号記憶部 17を更新する。
[0171] そして、送信部 11は、データフレーム D2, D5— D9を受信局 5に送信する。
[0172] さらに、 Ack要求フレーム生成部 13は、 Starting Sequence Numberが「2」の
BlockAckReqフレームを生成し、送信部 11は、該 BlockAckReqフレームを受信局 5に 送信する。
[0173] 一方、フェイズ 2の受信局 5において、データフレーム処理部 53の受信成功判定部 53bは、データフレーム D2および D5のみ受信に失敗したと判定し、ノ ッファ 57にデ 一タフレーム D6— D9を格納するとともに、エラーフレーム番号「2」「5」としてエラー フレーム番号記憶部 58を更新する。 [0174] また、上記 BlockAckReqフレームを受けたバッファ制御部 56は、データフレーム D2 が受信失敗しているため、 Starting Sequence Numberと同じ Sequence Number「2」の データフレーム D2をバッファ 57から読み出すことができない。つまり、バッファ制御部 56は、どのデータフレームもバッファ 57から読み出さない。
[0175] さらに、上記 BlockAckReqフレームを受けた BlockAckフレーム生成部 54は、エラー フレーム番号記憶部 58からエラーフレーム番号「2」「5」を読み出し、読み出したエラ 一フレーム番号に対応するデータフレーム D2および D5の受信に失敗した旨を示す BlockAckフレームを生成する。そして、送信部 52は、該 BlockAckフレームを送信す る。
[0176] そして、該 BlockAckフレームを受けた送信局 1において、エラーフレーム処理部 16 は、エラーフレーム番号「2」「5」としてエラーフレーム番号記憶部 20を更新する。
[0177] 以上のように、フェイズ 1とフェイズ 2では、 BlockAck方式を用いており、ここで D2と D5の受信に失敗して 、たとする。
[0178] <フェイズ 3 >
次に、フェイズ 3の送信局 1において、 Ack方式切替部 19は、エラーフレーム番号 記憶部 20が記憶する最小の Sequence Number Γ2 Jと受信局バッファサイズ記憶部 18 が記憶するノ ッファサイズ「8」とを加えた値が、未送信最小フレーム番号記憶部 17 が記憶する未送信最小フレーム番号「10」と同じであることを確認し、 BlockAck方式 力 NormalAck方式に切り替える。
[0179] Ack方式切替部 19力NormalAck方式に切り替えたことにより、 NormalAck方式生成 部 14bは、 Ack Policyフィールドを「NormalAck方式」としたデータフレームを生成する 。なお、 NormalAck方式生成部 14bは、エラーフレーム番号記憶部 20が記憶するェ ラーフレーム番号および未送信最小フレーム番号記憶部 17が記憶する未送信最小 フレーム番号のうち最小の Sequence Number (ここでは、「2」である)に対応するデー タフレーム D2を生成する。
[0180] そして、送信部 11は、 Ack Policyフィールドで「NormalAck方式」である、データフレ ーム D2を受信局 5に送信する。
[0181] 一方、フェイズ 3の受信局 5において、データフレーム処理部 53の Ack方式判定部 53aは、データフレーム力 NormalAck方式であると判定するとともに、データフレーム 処理部 53の受信成功判定部 53bは、データフレーム D2の受信に失敗したと判定す る。
[0182] また、 Ack方式判定部 53aは、受信した NormalAck方式のデータフレームの
Sequence Number「2」をバッファ制御部 56に出力する。これにより、バッファ制御部 5 6は、受けた Sequence Number「2」以下のデータフレームをバッファ 57から読み出し、 上位層に通知する。この場合、バッファ 57が Sequence Number「2」以下のデータフレ ームを記憶していないため、バッファ制御部 56は、バッファ 57からデータフレームを 読み出さない。
[0183] そして、データフレーム処理部 53は、データフレーム D2の受信に失敗した旨を示 す受信状況情報を NormalAckフレーム生成部 55に出力する。その結果、 NormalAck フレームが受信局 5から送信されな 、。
[0184] 送信局 1においては、 NormalAckフレームが受信されないので、エラーフレーム番 号記憶部 20は更新されな 、。
[0185] <フェイズ 4一 n>
以降、受信局 5がつねにデータフレーム D2の受信に失敗するとする。そして、フエ ィズ nにお!/、て、データフレーム D2に対する NormalAckフレームを受信しな!、ことに より、送信局 1のエラーフレーム処理部 16は、 m回再送に失敗したことを検知して、ェ ラーフレーム番号「2」をエラーフレーム番号記憶部 20から消去する。
[0186] 以上のように、フェイズ 3では、 BlockAckフレームにお!/、て d2と d5の受信に失敗し たことが通知される。 D2の受信が成功しておらず、受信局の Buffer Sizeが 8であるこ とから、 D10を送信すると受信局 5でバッファが不足することを送信局 1は算出できる ので、それ以降のデータフレームは送信できないことがわかる。よって、送信局 1は送 達確認処理の効率を考慮して BlockAck方式力も NormalAck方式に切り替える。ここ で送信局 1は d2と d5のどちらを先に送信するべきかを決定しなければならないが、こ のときに IEEE802.11e標準においては送信順序を決定するルールが規定されていな いのに対して、本発明ではく追加ルール 1 >が規定されている。これにより、送信局 1は、 d5を NormalAck方式送信するとその後 d2を NormalAck方式で送信することがで きないため、 d2を先に送信すると決定する。その後、送信局 1は d2を NormalAck方式 でフェイズ nまで再送し続けて ヽる。
[0187] <フェイズ n+ l >
次に、フェイズ n+ 1の送信局 1において、 NormalAck方式生成部 14bは、エラーフ レーム番号記憶部 20が記憶するエラーフレーム番号および未送信最小フレーム番 号記憶部 17が記憶する未送信最小フレーム番号のうち最小の Sequence Number (こ こでは、「5」である)に対応するデータフレーム D5を生成する。
[0188] そして、送信部 11は、 Ack Policyフィールドで「NormalAck方式」を示す、データフレ ーム D5を受信局 5に送信する。
[0189] 一方、受信局 5において、データフレーム処理部 53の Ack方式判定部 53aは、デー タフレーム力 SNormalAck方式であると判定する。また、データフレーム処理部 53の受 信成功判定部 53bは、データフレーム D5の受信に成功したと判定し、該データフレ ーム D5をバッファ 57に格納するものとする。
[0190] また、 Ack方式判定部 53aは、受信した NormalAck方式のデータフレームの
Sequence Number「5」をバッファ制御部 56に出力する。これにより、バッファ制御部 5 6は、受けた Sequence Number「5」未満のデータフレーム(つまり、データフレーム D3 および D4)、および、データフレーム D5から連続して受信に成功したデータフレーム (つまり、データフレーム D5— D9)をバッファ 57から読み出し、上位層に通知する。
[0191] 以上のように、 RetryLimitが所定の回数に到達したり、 d2の DelayBoundが経過した りした等の理由でフェイズ nにおいて、送信局が d2の再送をあきらめたとすると、フエ ィズ n+ 1にお!/、て、 d5の NormalAck方式での再送を開始する。
[0192] ここで、 d5の受信に成功したとすると、受信局はどのデータフレームを上位層に通 知するかを決定する。受信局は D2をまだ受信できておらず、 3以上の Starting Sequence Numberを持つ BlockAckReqフレームも受信していないため、この
NormalAckが BlockAckの代用であると認識した場合にはまだどのフレームも上位層 に通知できな 、のに対して、本発明では <追加ルール 2 >が規定されて!、るので、 送信局が d2の再送をあきらめたことがわかる。よって、 d2の受信を待つことなぐ D3 と D4を上位層に通知することができる。また、 D5— D9についても受信データフレー ムに抜けが無 、ので上位層に通知することができる。
[0193] 本発明を適用することにより、前記第 1の課題として述べた 2つの課題、すなわち、 送信局が NormalAck方式から BlockAck方式に復帰するまでの時間に関する規定が 無いため、これが長引いた場合には未受信データフレームが無効になったという事 実を受信局が知るまでの遅延が大きくなり、したがってそれに続いて正常に受信した データフレームを受信局が上位層に通知できるまでの遅延が大きくなるという課題を 解決できる。
[0194] (第 2の実施の形態)
本発明の第 2の実施の形態は前記の第 2の課題がく変更ルール 1 >で示したルー ルの変更を適用することによって解決された例である。第 2の実施の形態について、 図 2および図 14を参照しながら説明する。図 2の記述方法については (第 2の課題) として述べた図 11と同様である。また、説明の便宜上、前記実施形態 1にて説明した 図面と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
[0195] 図 14は、本実施形態の受信局 105の構成を示すブロック図である。図 14に示され るように、受信局 105は、受信部 51、送信部 52、データフレーム処理部 53、 BlockAckフレーム生成部 54、 NormalAckフレーム生成部 55、バッファ制御部(リソ一 ス制御手段) 59、タイマ 60、タイマ制御部(タイマ制御手段) 61、ノ ッファ 57、および エラーフレーム番号記憶部 58を備えて 、る。
[0196] タイマ制御部 61は、タイマ 60のリセットを制御するものである。タイマ制御部 61は、 Ack方式判定部 53aよりデータフレームで指定された Ack方式の種別を取得する。タ イマ制御部 61は、取得した Ack方式が BlockAck方式である場合に、タイマ 60をリセッ トする。すなわち、タイマ制御部 61は、 BlockAck方式を要求するデータフレームを受 信したときに、タイマ 60をリセットする。
[0197] バッファ制御部 59は、上記バッファ制御部 56の機能に加えて、タイマ 60が
BlockAck Timeoutで示される所定の時間に到達した場合に、 BlockAck方式の使用 が終了したとみなし、バッファ 57における BlockAck方式のためのリソースを開放する 機能を有している。
[0198] 図 2は BlockAck方式を使用してフレームを送信している時に、途中で NormalAck方 式に切り替えた場合の例を示して 、る。
[0199] 従来は Ack Policyの指定に関わらずデータフレームを受信したときにはいつでもタ イマをリセットしていた力 本実施の形態では、 <変更ルール 1 >で示したルールの 変更を適用して 、るので、 AckPolicyとして BlockAck方式の指定されて!、るデータフ レームを受信した時にだけタイマ 60がリセットされることになる。よって、受信局 105が 最後に AckPolicyとして BlockAck方式が指定されたデータフレームを受信した時点( T3)以降は、タイマ 60がリセットされなくなつている。その後、タイマ 60が BlockAck Timeoutで示される時間に到達し、受信局は BlockAck方式の使用が終了したことを 検出し、リソースを開放することができる。
[0200] (第 3の実施の形態)
本発明の第 3の実施の形態は前記の第 2の課題がく変更ルール 2 >で示したルー ルの変更を適用することによって解決された例である。
[0201] 本実施形態の受信局の構成は、上記第 2の実施の形態と比較して、タイマ制御部 6 1における機能のみが異なる。すなわち、本実施形態のタイマ制御部 61は、受信部 5 1が BlockAckReqフレームを受信した場合にのみ、タイマ 60をリセットする。
[0202] 第 3の実施の形態について、図 3を参照しながら説明する。図の記述方法について は (第 2の課題)として述べた図 11と同様である。
[0203] 図 3は BlockAck方式を使用してフレームを送信している時に、途中で NormalAck方 式に切り替えた場合の例を示して 、る。
[0204] 従来は Ack Policyの指定に関わらずデータフレームを受信したときにはいつでもタ イマをリセットしていた力 本実施の形態では、 <変更ルール 2 >で示したルールの 変更を適用しているので、 BlockAckReqフレームを受信した時にだけタイマがリセット されることになる。よって、受信局が最後に BlockAckReqフレームを受信した時点 (T1 )以降は、タイマがリセットされなくなつている。その後、タイマが BlockAck Timeoutで 示される時間に到達し、受信局は BlockAck方式の使用が終了したことを検出し、リソ ースを開放することができる。
[0205] (第 4の実施の形態)
本発明の第 4の実施の形態は前記の第 2の課題がく変更ルール 3 >で示したルー ルの変更を適用することによって解決された例である。
[0206] 本実施形態の受信局の構成は、上記第 2および第 3の実施の形態と比較して、タイ マ制御部 61における機能のみが異なる。すなわち、本実施形態のタイマ制御部 61 は、受信部 51が NormalAck方式を要求するデータフレームを受信したとき、および、 受信部 51が BlockAckReqフレームを受信したときに、タイマ 60をリセットする。
[0207] 第 4の実施の形態について、図 4を参照しながら説明する。図の記述方法について は (第 2の課題)として述べた図 11と同様である。
[0208] 図 4は BlockAck方式を使用してフレームを送信している途中で NormalAck方式に 切り替えた場合の例を示して 、る。
[0209] 従来は Ack Policyの指定に関わらずデータフレームを受信したときにはいつでもタ イマをリセットしていた力 本実施の形態では、 <変更ルール 3 >で示したルールの 変更を適用して 、るので、 AckPolicyとして BlockAck方式の指定されて!、るデータフ レームか BlockAckReqフレームを受信した時にだけタイマがリセットされることになる。 よって、受信局が最後に BlockAckReqフレームを受信した時点 (T4)以降は、タイマ 力 Sリセットされなくなつている。その後で、タイマが BlockAck Timeoutで示される時間 に到達し、受信局は BlockAck方式の使用が終了したことを検出し、リソースを開放す ることがでさる。
[0210] このように、本発明を適用することにより、前記第 2の課題として述べた、送信局が BlockAck方式によるデータ通信を終了し、 NormalAck方式に移行する場合に、送信 局から受信局に対して送信される「BlockAck方式を終了する」というメッセージを受信 局がそのメッセージの再送期限内に正しく受信できな力つた状況において、受信局 においてタイムアウトが検出されず、受信局はいつまで経っても BlockAck用に確保し たリソースを開放できな 、と 、う課題を解決できる。
[0211] なお、上記各実施の形態の送信局 1および受信局 5 · 105の各部や各処理ステップ は、 CPUなどの演算手段が、 ROM (Read Only Memory)や RAMなどの記憶手段に 記憶されたプログラムを実行し、キーボードなどの入力手段、ディスプレイなどの出力 手段、あるいは、インターフェース回路などの通信手段を制御することにより実現する ことができる。したがって、これらの手段を有するコンピュータ力 上記プログラムを記 録した記録媒体を読み取り、当該プログラムを実行するだけで、上記各実施の形態 の送信局 1および受信局 5· 105の各種機能および各種処理を実現することができる 。また、上記プログラムをリムーバブルな記録媒体に記録することにより、任意のコン ピュータ上で上記の各種機能および各種処理を実現することができる。
[0212] この記録媒体としては、マイクロコンピュータで処理を行うために図示しないメモリ、 例えば ROMのようなものがプログラムメディアであっても良いし、また、図示していな V、が外部記憶装置としてプログラム読取り装置が設けられ、そこに記録媒体を挿入す ることにより読取り可能なプログラムメディアであっても良い。
[0213] また、何れの場合でも、格納されているプログラムは、マイクロプロセッサがアクセス して実行される構成であることが好ましい。さらに、プログラムを読み出し、読み出され たプログラムは、マイクロコンピュータのプログラム記憶エリアにダウンロードされて、そ のプログラムが実行される方式であることが好ましい。なお、このダウンロード用のプロ グラムは予め本体装置に格納されて 、るものとする。
[0214] また、上記プログラムメディアとしては、本体と分離可能に構成される記録媒体であ り、磁気テープやカセットテープ等のテープ系、フレキシブルディスクやハードデイス ク等の磁気ディスクや CDZMOZMDZDVD等のディスクのディスク系、 icカード( メモリカードを含む)等のカード系、あるいはマスク ROM、 EPROM (Erasable
Programmable Read Only Memory;、 EEPROM (Electrically Erasable Programmable Read Only Memory)、フラッシュ ROM等による半導体メモリを含めた固定的にプロ グラムを担持する記録媒体等がある。
[0215] また、インターネットを含む通信ネットワークを接続可能なシステム構成であれば、 通信ネットワーク力 プログラムをダウンロードするように流動的にプログラムを担持す る記録媒体であることが好まし 、。
[0216] さらに、このように通信ネットワーク力もプログラムをダウンロードする場合には、その ダウンロード用のプログラムは予め本体装置に格納しておくか、あるいは別な記録媒 体力 インストールされるものであることが好ましい。
[0217] 尚、発明を実施するための最良の形態の項においてなした具体的な実施態様また は実施例は、あくまでも、本発明の技術内容を明らかにするものであって、そのような 具体例にのみ限定して狭義に解釈されるべきものではなぐ本発明の精神と次に記 載する特許請求の範囲内で、いろいろと変更して実施することができるものである。 産業上の利用の可能性
本発明は、 1つのフレームに対する送達確認を 1つのフレームで返送するノーマル ACK方式と、複数のフレームに対する送達確認をまとめて 1つのフレームで返送する ブロック ACK方式の両方を同時に使用しうる通信方法、該通信方法に従う送信局お よび受信局に適用することができる。

Claims

請求の範囲
[1] データフレームに所定の順序番号が付番されて送信され、前記データフレームに 対する受信局からの ACKとしてノーマル ACK方式とブロック ACK方式の両方が同 時に使用される通信方法に従う送信局であって、
ある順序番号のデータフレームをノーマル ACK方式で送信した場合は、前記順序 番号よりも古 、順序番号のデータフレームを送信しな 、送信局。
[2] データフレームに所定の順序番号が付番されて送信され、前記データフレームに 対する受信局からの ACKとしてノーマル ACK方式とブロック ACK方式の両方が同 時に使用される通信方法に従う受信局であって、
ノーマル ACK方式を要求するデータフレームを受信した際に、その時点で受信済 みだが上位層に通知して ヽな 、データフレームの内、前記ノーマル ACK方式を要 求するデータフレームの順序番号よりも古い順序番号を持つデータフレームを上位 層に通知する受信局。
[3] 所定の順序番号が付番されたデータフレームを受信し、受信したデータフレームに 対する ACKとしてノーマル ACK方式とブロック ACK方式との両方が使用可能な受 信局であって、
受信したデータフレームを一時的に格納するためのバッファと、
ノーマル ACK方式を要求するデータフレームを受信した際に、該ノーマル ACK方 式を要求するデータフレームの順序番号よりも古い順序番号を持つデータフレーム を前記バッファ力も読み出して上位層に通知するとともに、読み出したデータフレー ムを前記バッファから削除するバッファ制御手段とを備える受信局。
[4] データフレームに所定の順序番号が付番されて送信され、前記データフレームに 対する受信局からの ACKとしてノーマル ACK方式とブロック ACK方式の両方が同 時に使用される通信方法であって、
送信局にぉ 、て、ある順序番号のデータフレームをノーマル ACK方式で送信した 場合は、前記順序番号よりも古 ヽ順序番号のデータフレームを送信せず、
受信局において、ノーマル ACK方式を要求するデータフレームを受信した際に、 その時点で受信済みだが上位層に通知して!/、な!/、データフレームの内、前記ノーマ ル ACK方式を要求するデータフレームの順序番号よりも古い順序番号を持つデー タフレームを上位層に通知する通信方法。
[5] IEEE802. 11標準(ANSlZlEEE Std. 802. 11, 1999 Edition)及び IE
EE802. l ie標準のドラフト(IEEE P802. l le/D6. 0, November 2003)に 準拠する通信方法であって、
ある TIDのストリームについて、ストリームの送信局において、ある Sequence Nu mberの QoS Data Frameを Ack Policyフィールドに Normal Ackを示す情報 を含めて送信した場合は、前記 Sequence Numberよりも小さな値を持つ QoS D ata
Figure imgf000043_0001
ある TIDのストリームについて、ストリームの受信局において、 Ack Policy field に Normal Ackを示す情報が含まれている QoS Data Frameを受信した場合は
、その時点で受信済みだが上位層に通知していない QoS Data Frameの内、前 記受信した QoS Data Frameに含まれている Sequence Numberよりも小さな S equence Numberを持つ QoS Data Frameを上位層に通知する通信方法。
[6] 受信したデータフレームに対する受信局からの ACKとしてノーマル ACK方式とブ ロック ACK方式の両方が同時に使用される通信方法に従う受信局であって、 ノーマル ACK方式を要求するデータフレームを受信したかどうかに関わらず、所定 の期間内に、ブロック ACK方式を要求するデータフレームを受信できな力つた場合 には、ブロック ACK方式の使用が終了したとみなし、ブロック ACK方式のために使 用していたリソースを開放する受信局。
[7] 受信したデータフレームに対する受信局からの ACKとしてノーマル ACK方式とブ ロック ACK方式の両方が同時に使用される通信方法であって、
受信局にお 、て、ノーマル ACK方式を要求するデータフレームを受信したかどう かに関わらず、所定の期間内に、ブロック ACK方式を要求するデータフレームを受 信できなかった場合には、ブロック ACK方式の使用が終了したとみなし、ブロック AC
K方式のために使用して 、たリソースを開放する通信方法。
[8] 受信したデータフレームに対する受信局からの ACKとしてノーマル ACK方式とブ ロック ACK方式の両方が同時に使用される通信方法に従う受信局であって、 データフレームを受信したかどうかに関わらず、所定の期間内にブロック ACK送信 要求フレームを受信できな力つた場合には、ブロック ACK方式の使用が終了したと みなし、ブロック ACK方式のために使用して 、たリソースを開放する受信局。
[9] 受信したデータフレームに対する受信局からの ACKとしてノーマル ACK方式とブ ロック ACK方式の両方が同時に使用される通信方法であって、
受信局において、データフレームを受信したかどうかに関わらず、所定の期間内に ブロック ACK送信要求フレームを受信できなかった場合には、ブロック ACK方式の 使用が終了したとみなし、ブロック ACK方式のために使用していたリソースを開放す る通信方法。
[10] 受信したデータフレームに対する受信局からの ACKとしてノーマル ACK方式とブ ロック ACK方式の両方が同時に使用される通信方法に従う受信局であって、 データフレームを受信したかどうかに関わらず、所定の期間内にブロック ACK方式 を要求するデータフレーム、または、ブロック ACK送信要求フレームを受信できなか つた場合には、ブロック ACK方式の使用が終了したとみなし、ブロック ACK方式の ために使用して 、たリソースを開放する受信局。
[11] 受信したデータフレームに対する受信局からの ACKとしてノーマル ACK方式とブ ロック ACK方式の両方が同時に使用される通信方法であって、
受信局において、データフレームを受信したかどうかに関わらず、所定の期間内に ブロック ACK方式を要求するデータフレーム、または、ブロック ACK送信要求フレー ムを受信できな力つた場合には、ブロック ACK方式の使用が終了したとみなし、ブロ ック ACK方式のために使用して 、たリソースを開放する通信方法。
[12] IEEE802. 11標準(ANSlZlEEE Std. 802. 11, 1999 Edition)及び IE EE802. l ie標準のドラフト(IEEE P802. l le/D6. 0, November 2003)に 準拠する通信方法であって、
ある TIDのストリームについて、受信局において、 Ack Policyフィールドに Norma 1 Ackを示す情報が含まれている QoS Data Frameを受信したかどうかに関わら ず、 Block Ack Timeoutで示される期間内に Ack Policyフィールドに Block A ckを示す情報が含まれている QoS Data Frameを受信できなかった場合は、 Bio ck Ackの伝送のために使用して 、たリソースを開放する通信方法。
[13] IEEE802. 11標準(ANSlZlEEE Std. 802. 11 , 1999 Edition)及び IE
EE802. l ie標準のドラフト(IEEE P802. l le/D6. 0, November 2003)に 準拠する通信方法であって、
ある TIDのストリームについて、受信局において、 QoS Data Frameを受信した かどうかに関わらず、 Block Ack Timeoutで示される期間内に、 Block Acknow ledgement Request Frameを受信できなかった場合は、 Block Ackの伝送の ために使用して 、たリソースを開放する通信方法。
[14] IEEE802. 11標準(ANSlZlEEE Std. 802. 11 , 1999 Edition)及び IE
EE802. l ie標準のドラフト(IEEE P802. l le/D6. 0, November 2003)に 準拠する通信方法であって、
ある TIDのストリームについて、受信局において、 Ack Policyフィールドに Norma
1 Ackを示す情報が含まれている QoS Data Frameを受信したかどうかに関わら ず、 Block Ack Timeoutで示される期間内に Ack Policyフィールドに Block A ckを示す情報が含まれている QoS Data Frame、または、 Block Acknowledge ment Request Frameを受信できなかった場合は、 Block Ackの伝送のために 使用していたリソースを開放する通信方法。
[15] 受信したデータフレームに対する ACKとしてノーマル ACK方式とブロック ACK方 式の両方を同時に使用する受信局であって、
タイマと、
所定の期間内にブロック ACK方式を要求するデータフレーム、および、ブロック A CK送信要求フレームのうち少なくとも一方の受信時に前記タイマをリセットするタイ マ制御手段と、
前記タイマが所定時間経過した場合に、ブロック ACK方式の使用が終了したとみ なし、ブロック ACK方式のために使用していたリソースを開放するリソース制御手段と を備える受信局。
[16] コンピュータに請求項 1または請求項 2の送信局として動作させるための手順を記 述した通信プログラム。 コンピュータに請求項 3または請求項 6または請求項 8または請求項 10または請求 項 15の受信局として動作させるための手順を記述した通信プログラム。
請求項 16または請求項 17に記載の通信プログラムを記録したコンピュータ読み取 り可能な記録媒体。
PCT/JP2004/018412 2003-12-18 2004-12-09 送信局、受信局、通信方法、通信プログラム、通信プログラムを記録したコンピュータ読み取り可能な記録媒体 WO2005060198A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005516301A JP4223513B2 (ja) 2003-12-18 2004-12-09 送信局、受信局、通信方法、通信プログラム、通信プログラムを記録したコンピュータ読み取り可能な記録媒体
US10/582,986 US7734978B2 (en) 2003-12-18 2004-12-09 Communication method enabling use of both a normal acknowledgement scheme and a block acknowledgement scheme
CN200480037907XA CN1894921B (zh) 2003-12-18 2004-12-09 接收台、通信方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003-420303 2003-12-18
JP2003420303 2003-12-18

Publications (1)

Publication Number Publication Date
WO2005060198A1 true WO2005060198A1 (ja) 2005-06-30

Family

ID=34697247

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/018412 WO2005060198A1 (ja) 2003-12-18 2004-12-09 送信局、受信局、通信方法、通信プログラム、通信プログラムを記録したコンピュータ読み取り可能な記録媒体

Country Status (4)

Country Link
US (1) US7734978B2 (ja)
JP (1) JP4223513B2 (ja)
CN (1) CN1894921B (ja)
WO (1) WO2005060198A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007060145A (ja) * 2005-08-23 2007-03-08 Nippon Telegr & Teleph Corp <Ntt> 無線通信システムおよび無線通信方法
JP2007096933A (ja) * 2005-09-29 2007-04-12 Toshiba Corp 無線通信装置および無線通信システム
JP2008053783A (ja) * 2006-08-22 2008-03-06 Nec Access Technica Ltd データ転送バッファ制御装置及びデータ転送制御方法
JP2009088915A (ja) * 2007-09-28 2009-04-23 Sony Corp 無線送信装置、無線送信方法、無線通信システム及びプログラム
GB2465900A (en) * 2005-06-29 2010-06-09 Intel Corp Block acknowledgement using a scoreboard of temporary records
JP2011528536A (ja) * 2008-07-15 2011-11-17 クゥアルコム・インコーポレイテッド レガシーwlan受信機との並列通信のためのシステムおよび方法
JP2012213171A (ja) * 2008-01-31 2012-11-01 Industrial Technology Research Inst 通信システム用の送信方法及び送信装置
JP2014517627A (ja) * 2011-06-09 2014-07-17 クゥアルコム・インコーポレイテッド 複数のデバイスからの通信をアクノレッジするためのシステムおよび方法
WO2022254793A1 (ja) * 2021-06-02 2022-12-08 ソニーグループ株式会社 無線通信装置および方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101461181A (zh) * 2006-04-24 2009-06-17 诺基亚公司 无线网络中可靠的多播/广播
JP2008109277A (ja) * 2006-10-24 2008-05-08 Toshiba Corp 無線通信装置
PL2119110T3 (pl) * 2007-03-12 2019-04-30 Nokia Technologies Oy Ustanowienie niezawodnej multiemisji/rozgłaszania w sieci bezprzewodowej
US7574539B2 (en) * 2007-08-30 2009-08-11 Intel Corporation Dynamic A-MSDU enabling
US9686049B2 (en) * 2007-09-12 2017-06-20 Avago Technologies General Ip (Singapore) Pte. Ltd Method and system for Bluetooth (BT) delayed acknowledgement (ACK)
KR100924833B1 (ko) * 2007-12-18 2009-11-03 한국전자통신연구원 다중 주파수 채널 동시 접속 단말기 및 그 프로토콜 데이터유닛 순서 정렬 방법
WO2009090255A2 (en) * 2008-01-18 2009-07-23 Nxp B.V. Method of communication between a transmitter and a receiver based on frames and communication node
US8239720B2 (en) * 2008-06-19 2012-08-07 Microsoft Corporation Communication over plural channels with acknowledgment variability
JP2010226455A (ja) * 2009-03-24 2010-10-07 Sony Corp ネットワーク通信装置
JP5645609B2 (ja) 2010-11-04 2014-12-24 キヤノン株式会社 通信装置、通信装置の制御方法、およびプログラム
US8761089B2 (en) * 2011-10-18 2014-06-24 Brillio, Llc Frame acknowledgment in a communication network
US20140153416A1 (en) * 2012-12-03 2014-06-05 Shai Brandes Method, wireless communication station, and system for reducing data starvation
WO2017033531A1 (ja) 2015-08-27 2017-03-02 ソニー株式会社 通信装置および通信方法
JP6740274B2 (ja) * 2018-03-29 2020-08-12 日本電信電話株式会社 情報処理装置、情報処理方法、および、情報処理プログラム
US11057157B2 (en) * 2018-06-29 2021-07-06 Hewlett Packard Enterprise Development Lp Transmission frame counter
US11558777B2 (en) * 2018-12-28 2023-01-17 Intel Corporation Methods of multi-link buffer management without block acknowledgement (BA) negotiation
US11777656B2 (en) * 2020-12-07 2023-10-03 Apple Inc. Group addressed frame delivery over multi-link systems
CN115174003B (zh) * 2022-07-20 2023-11-24 普联技术有限公司 块确认控制方法、装置、计算机可读存储介质及终端设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07123079A (ja) * 1993-09-01 1995-05-12 Toshiba Corp データ伝送装置
WO2003028314A1 (en) * 2001-09-19 2003-04-03 Sharp Kabushiki Kaisha Communication method, communication apparatus, reception apparatus, communication program, computer-readable recording medium containing communication program, and network system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5570367A (en) * 1994-07-29 1996-10-29 Lucent Technologies Inc. Asymmetric protocol for wireless communications
US6629285B1 (en) * 2000-01-04 2003-09-30 Nokia Corporation Data transmission
US8483105B2 (en) * 2003-10-15 2013-07-09 Qualcomm Incorporated High speed media access control
US20050111416A1 (en) * 2003-11-24 2005-05-26 Boris Ginzburg Method, system and device of fragmentation with group acknowledgement in wireless networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07123079A (ja) * 1993-09-01 1995-05-12 Toshiba Corp データ伝送装置
WO2003028314A1 (en) * 2001-09-19 2003-04-03 Sharp Kabushiki Kaisha Communication method, communication apparatus, reception apparatus, communication program, computer-readable recording medium containing communication program, and network system

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2465900A (en) * 2005-06-29 2010-06-09 Intel Corp Block acknowledgement using a scoreboard of temporary records
JP2007060145A (ja) * 2005-08-23 2007-03-08 Nippon Telegr & Teleph Corp <Ntt> 無線通信システムおよび無線通信方法
JP4485432B2 (ja) * 2005-08-23 2010-06-23 日本電信電話株式会社 無線通信システムおよび無線通信方法
US7773601B2 (en) 2005-09-29 2010-08-10 Kabushiki Kaisha Toshiba Wireless communication apparatus
JP2007096933A (ja) * 2005-09-29 2007-04-12 Toshiba Corp 無線通信装置および無線通信システム
JP4575265B2 (ja) * 2005-09-29 2010-11-04 株式会社東芝 無線通信装置
JP4690271B2 (ja) * 2006-08-22 2011-06-01 Necアクセステクニカ株式会社 データ転送バッファ制御装置及びデータ転送制御方法
JP2008053783A (ja) * 2006-08-22 2008-03-06 Nec Access Technica Ltd データ転送バッファ制御装置及びデータ転送制御方法
JP2009088915A (ja) * 2007-09-28 2009-04-23 Sony Corp 無線送信装置、無線送信方法、無線通信システム及びプログラム
JP2012213171A (ja) * 2008-01-31 2012-11-01 Industrial Technology Research Inst 通信システム用の送信方法及び送信装置
JP2011528536A (ja) * 2008-07-15 2011-11-17 クゥアルコム・インコーポレイテッド レガシーwlan受信機との並列通信のためのシステムおよび方法
US8897209B2 (en) 2008-07-15 2014-11-25 Qualcomm Incorporated Systems and methods for parallel communication with legacy WLAN receivers
JP2014517627A (ja) * 2011-06-09 2014-07-17 クゥアルコム・インコーポレイテッド 複数のデバイスからの通信をアクノレッジするためのシステムおよび方法
US9148871B2 (en) 2011-06-09 2015-09-29 Qualcomm Incorporated Systems and methods for acknowledging communications from a plurality of devices
JP2016103837A (ja) * 2011-06-09 2016-06-02 クゥアルコム・インコーポレイテッドQualcomm Incorporated 複数のデバイスからの通信をアクノレッジするためのシステムおよび方法
JP2017108425A (ja) * 2011-06-09 2017-06-15 クゥアルコム・インコーポレイテッドQualcomm Incorporated 複数のデバイスからの通信をアクノレッジするためのシステムおよび方法
WO2022254793A1 (ja) * 2021-06-02 2022-12-08 ソニーグループ株式会社 無線通信装置および方法

Also Published As

Publication number Publication date
CN1894921A (zh) 2007-01-10
JPWO2005060198A1 (ja) 2007-12-13
US7734978B2 (en) 2010-06-08
CN1894921B (zh) 2010-08-25
JP4223513B2 (ja) 2009-02-12
US20070162813A1 (en) 2007-07-12

Similar Documents

Publication Publication Date Title
WO2005060198A1 (ja) 送信局、受信局、通信方法、通信プログラム、通信プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4198741B2 (ja) 通信機器、通信システム、通信方法、通信プログラム、通信回路
JP4966411B2 (ja) Harqを用いるデータ伝送方法
KR100964829B1 (ko) 무선 통신 시스템에서 데이터 전송 신뢰도를 개선하기 위한방법 및 장치
US7746786B2 (en) Retransmission control method and device
CN102474392B (zh) 在针对采用多点协作传输接收的分组的nack传输中引入延迟
US8473825B2 (en) Evolved universal terrestrial radio access acknowledged mode radio link control status report for segmented protocol data units
KR100539879B1 (ko) 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 송수신 장치 및 방법
JP5144812B2 (ja) 通信方法
JP5252331B2 (ja) メッセージ再送方法及び装置
JP2006311543A (ja) 無線通信システムで伝送状態をポーリングする方法及び装置
CN108768596B (zh) 信号自动重传请求方法与装置
JP2002542662A (ja) フレキシブル無線リンク制御プロトコル
JP2007089174A (ja) 無線通信システムにおける信号の伝送速度を改善する方法及び装置
WO2009085628A1 (en) Techniques for maintaining quality of service for connections in wireless communication systems
CN111510260A (zh) Harq编号确定方法、网络设备、终端和计算机存储介质
US10530538B2 (en) Hybrid automatic repeat request method and system
JP4379800B2 (ja) 受信装置およびそのメモリ解放方法
CN113765628B (zh) 数据处理方法、装置、相关设备及存储介质
CN112887505B (zh) 一种提高卫星大时延丢包环境下传真成功率的装置及方法
JP2006191368A (ja) ネットワーク伝送装置
JP2008079330A (ja) 通信機器、通信方法、通信プログラム、通信回路、携帯電話、表示装置、印刷装置、記録装置
CN101369954A (zh) 状态报告的发送方法、系统、及能够生成状态报告的装置
CN111405609B (zh) 一种数据传输方法、装置、系统、介质和设备
CN109690991B (zh) 反馈信息发送方法、接收方法、装置及系统

Legal Events

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

Ref document number: 200480037907.X

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005516301

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2007162813

Country of ref document: US

Ref document number: 10582986

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

122 Ep: pct application non-entry in european phase
WWP Wipo information: published in national office

Ref document number: 10582986

Country of ref document: US