This application claims priorities to Korean Patent Application No. 10-2013-0081947 filed on Jul. 12, 2013, and No. 10-2014-0085086 filed on Jul. 8, 2014 in the Korean Intellectual Property Office (KIPO), the entire contents of which are hereby incorporated by references.
1. Technical Field
Example embodiments of the present invention relate to a wireless personal area networking technology, and more specifically to methods for service discovery in a wireless personal area network which can minimize power consumption.
2. Related Art
According to diversification of a personal wireless communication market, a demand of simultaneously using various application services in the same wireless personal area network (WPAN) is currently increasing. Therefore, operators providing communication terminals and organizations standardizing communication specifications are trying to provide services satisfying different requirements by using multiple radio interfaces.
However, in the above-described network environment, in order for a terminal to use a specific desired service, the terminal should identify whether the specific service is provided by the network and whether the specific service is currently being used.
In the conventional wireless personal area network, a physical layer and a Medium Access Medium (MAC) layer are defined in order to provide a specific service domain. Through these, a scanning function used for network discovery is provided in order for a terminal to access a network providing a corresponding service.
However, such the network scanning function is restricted to a function to identify only whether a specific wireless network indicated by a network operation exists or not. Thus, there is a problem that it cannot be applied to a wireless communication system which tries to provide various services through various frequency bands.
Also, even though the specific service is discovered, if a communication terminal does not know actual operating radio channel frequency bands which are currently provided by a network, a problem that wireless communications cannot be actually performed may occur.
Thus, demanded are methods for a terminal to efficiently discover services and operating frequency channels in a wireless personal area communication network providing multiple services through multiple frequency bands or radio channels.
Accordingly, example embodiments of the present invention are provided to substantially obviate one or more problems due to limitations and disadvantages of the related art.
Example embodiments of the present invention provide methods for service discovery, which can identify whether a desired service exists or not and operating radio frequency channels of the desired service in a transport layer without supports of a upper layer, and search for the desired service with minimized power consumption, in a wireless personal area communication network environment providing multiple services over multiple frequency bands (channels).
In some example embodiments of the present invention, a method for identifying whether a desired service exists and searching operating radio frequency channels in a transport layer (a physical layer and a MAC layer) without support of a higher layer is provided.
In the present invention, each terminal transmits a service discovery request frame with the same long interval. Thus, a procedure for temporal synchronization between terminals may be omitted so that system complexity may be reduced.
Also, the present invention provides a CSMA-CA algorithm optimized for service discovery in a network where many terminals exist, and so reduces service discovery delay times due to retransmissions of command frames.
Also, a channel sampling procedure is performed by a terminal which searched a desired service so that service discovery of other terminals may be made possible with minimizing power consumption of the terminal.
Also, the reduction of service discovery delay time and the reduction of power consumption according to the channel sampling procedure may maximize the battery lifetime of the terminal and the life time of the network.
Also, in the present invention, service discovery may be efficiently performed by reducing the operation complexity of the terminal and minimizing the power consumption of the terminal needed for service discovery.
Example embodiments of the present invention will become more apparent by describing in detail example embodiments of the present invention with reference to the accompanying drawings, in which:
Example embodiments of the present invention are disclosed herein. However, specific structural and functional details disclosed herein are merely representative for purposes of describing example embodiments of the present invention, however, example embodiments of the present invention may be embodied in many alternate forms and should not be construed as limited to example embodiments of the present invention set forth herein.
Accordingly, while the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the invention to the particular forms disclosed, but on the contrary, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like numbers refer to like elements throughout the description of the figures.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. To aid in understanding the present invention, like numbers refer to like elements throughout the description of the drawings, and the description of the same element will not be reiterated.
Contents which are not explained specifically in the following example embodiments of the present invention may be supported by standard specifications (for example, IEEE 802.15) provided from organizations progressing standardization on wireless personal area network technologies.
The terminologies which are used in the present specification are defined as follows.
CS: Channel Sampling
BRB: Basic Repetition Block
LESD: Low Energy Service Discovery
LIFS: Long Inter Frame Spacing
MAC: Medium Access Control
MHR: MAC Header
MLME: MAC sublayer Management Entity
MLSDE: MAC sublayer Service Discovery Entity
PAC: Peer Aware Communication
PAN: Personal Area Network
PD: PAC Device
PLME: PHY layer Management Entity
SFD: Start frame delimiter
PIB: PAN information base
WPAN: Wireless Personal Area Network
Service discovery methods according to the present invention may provide Medium Access Control layer (MAC layer) technologies and Physical layer (PHY layer) technologies for low energy service discovery (hereinafter, referred to as ‘LESD’).
First, the MAC layer technologies for LESD will be explained.
Hereinafter, a passive LESD scanning procedure will be explained by referring to
Passive LESD Scanning Procedure (110)
For LESD, a terminal (PD: Peer-aware communication device) whose macLESDenbaled value is set to TRUE may perform a passive LESD scanning procedure based on a MLSDE-LESD-SCAN.request primitive.
A Next Higher Layer (NHL) 210 which is a higher layer of a MAC layer generates the MLSDE-LESD-SCAN.request primitive and transmits the generated primitive to a MAC sublayer Service Discovery Entity (MLSDE) 220 in order to perform the passive scan on a physical channel configured with LESDChannelID for identifying whether a service corresponding to a ServiceID exists or not (S201).
On the receipt of the MLSDE-LESD-SCAN.request primitive from the NHL 210, the MLSDE 220 of the terminal updates macServiceID which is an attribute of MAC PAN Information Base (PIB) with the ServiceID parameter of the MLSDE-LESD-SCAN.request primitive, updates macAvailableChannelID with an AvailableChannelID parameter of the MLSDE-LESD-SCAN.request primitive, and performs the passive LESD scan (S202).
If a frame is received while performing the passive LESD scan, a physical layer checks whether the received frame is a LESD response command frame or a LESD notification command frame based on a Start Frame Delimiter (SFD) field of the received frame. If the received frame is not one of the command frames, the physical layer does not proceed further decoding and discard the received frame.
If the physical layer receives a command frame (a LESD response command frame or a LESD notification command frame) including a valid SFD and transmits the received command frame to the MLSDE 220, the MLSDE 220 checks whether a ServiceID field of the received frame matches the macServiceID. In this case, the received frame is discarded when the ServiceID field of the received frame does not match the macServiceID. Otherwise, the MLSDE 220 notifies the higher layer 210 of the receipt of the command frame by using a primitive corresponding to the type of the received command frame.
That is, when the received frame is the LESD response command frame (S203), the MLSDE 220 reports it to the higher layer 210 by using a MLSDE-LESD.confirm primitive (S204). Also, when the received frame is the LESD notification command frame (S205), the MLSDE 220 reports it to the higher layer 210 by using a MLSDE-LESD-NOTIFY.indication primitive (S206).
Meanwhile, the terminal performs the passive LESD scan procedure 110 for at most macNumBRB×TBRB (S202). Here, TBRB is a time needed for receiving a single Basic Repetition Block (BRB), and macNumBRB is an attribute value indicating the number of repeated BRBs. Here, a BRB may comprise a synchronization header (SHR) and a physical layer header (PHR) of a physical layer frame, and a SHR may comprise a preamble and a Start Frame Delimiter (SFD).
If the passive LESD scan is completed, the MLSDE 220 of the terminal transmits the scan result to the higher layer 210 by using a MLSDE-LESD-SCAN.confirm primitive (S207).
If the terminal succeeds in finding a desired Peer-Aware Communication (PAC) service and a physical channel used by the service through the above-described passive scan, the higher layer of the terminal can access a corresponding Personal Area Network (PAN) providing the found service by generating a MLME-ASSOCIATE primitive (that is, a PAN joining state 140 of
Otherwise, the terminal does not find the desired PAC service and the physical channel used by the service, the terminal goes to an active LESD scan state 120 and continues service discovery.
Active LESD Scanning Procedure (120)
Hereinafter, an active LESD scanning procedure will be explained by referring to
If the terminal fails to find the desired PAC service through the passive LESD scanning procedure 110, it tries to find the desired service by performing the active LESD scanning procedure.
The NHL 310 makes the active LESD scanning procedure initiated by issuing a MLSDE-LESD.request primitive to the MLSDE 320 (S301).
On the receipt of the MLSDE-LESD.request primitive, the MLSDE 320 generates a LESD request command, and broadcasts the LESD request command via Carrier Sense Multiple Access-Collision Avoidance (CSMA-CA) algorithm which will be explained later (S302).
A MLSDE 330 of a neighbor terminal which receives the broadcasted LESD request command checks whether a ServiceID field of the received command frame matches macServiceID. If the ServiceID field of the received command frame does not match the macServiceID, the MLSDE 330 discards the received command frame.
Otherwise, if the ServiceID field of the received command frame matches the macServiceID, it may reports to the higher layer 340 that the LESD request command frame is received via a MLSDE-LESD.indication primitive (S303).
When the higher layer 340 of the neighbor terminal receives the MLSDE-LESD.indication primitive, it may transmit a MLSDE-LESD.response primitive to the MLSDE 330 (S304).
When the MLSDE 330 of the terminal receives the MLSDE-LESD.response primitive from the higher layer 340, it generates a LESD response command frame, and broadcasts the generated command frame via CSMA-CA algorithm (S305).
The MLSDE 320 which receives the broadcasted LESD response command frame checks whether a ServiceID field of the received command frame matches the macServiceID. If the ServiceID field of the received command frame does not match the macServiceID, the MLSDE 320 discards the received command frame.
Otherwise, if the ServiceID field of the received command frame matches the macServiceID, the MLSDE 320 updates a value of macCommunicationChannelID with a CommunicationChannelID parameter of the received frame, and reports to the higher layer 310 that the LESD response command frame is received by using a MLSDE-LESD.confirm primitive (S308).
In addition, the MLSDE 320 generates a LESD notification command frame, and broadcasts the generated command frame via CSMA-CA algorithm (S306). Through the broadcasting, it can be again notified to neighbor terminals that the corresponding service exists.
The MLSDE 330 of the neighbor terminal which receives the LESD notification command frame checks whether a ServiceID field of the received command frame matches the macServiceID. If they coincide with each other, the MLSDE 330 updates a value of macCommunicationChannelID with a CommunicationChannelID parameter of the received command frame, and notifies to the higher layer 340 that the LESD notification command frame is received by using a MLSDE-LESD-NOTIFY.indication primitive (S307).
If the above descriptions are summarized, terminals wanting to find a same service may find the service by receiving a LESD response command frame or a LESD notification commands including the same service. Then, if the service is found, a LESD request command frame, which they are to transmit for finding the service, is not transmitted. This can reduce frame collisions due to unnecessary frame transmissions.
After broadcasting the LESD request command frame, if the MLSDE 320 does not receive a LESD response command frame or a LESD notification command frame including the desired service for a macLESDResponseWaitTime which is a maximum standby time, the MLSDE 320 increases macNumLESDRequestRetries which indicates the number of LESD request retransmissions by one. If the increased value does not exceed a macMaxLESDRequestRetries which indicates the maximum LESD request retransmission number, the MLSDE 320 may retransmit the LESD request command frame via CSMA-CA algorithm.
If the increased macNumLESDRequestRetries exceeds the macMaxLESDRequestRetries, the MLSDE 320 sets a Status parameter of a MLSDE-LESD-SCAN.confirm primitive to EXCEED_NUM_TRIAL, and notifies to the higher layer 310 that the active LESD scan is not successful by using the configured MLSDE-LESD-SCAN.confirm primitive (S309).
If the terminal fails to find a desired PAC service through the above-described active LESD scanning procedure, the higher layer can try to initiate a new PAN by issuing a MLME-START primitive (a PAN start state 150 of
Channel Sampling Procedure (130)
Hereinafter, a channel sampling procedure will be explained by referring to
The channel sampling procedure can reduce power consumed in service discovery of a terminal.
A higher layer (NHL) 410 generates a MLSDE-LESD-CS.request primitive for channel sampling, and transmits the generated primitive to the MLSDE 420 (S401).
If the MLSDE 420 receives the MLSDE-LESD-CS.request primitive from the higher layer 410, the MLSDE 420 starts the channel sampling procedure. Also, the MLSDE 420 transmits a MLSDE-LESD-CS.confirm primitive to the higher layer 410 in response to the received MLSDE-LESD-CS.request primitive (S402).
On the receipt of the MLSDE-LESD-CS.request primitive, the MLSDE 420 sets a value of macLESDdone to TRUE, and updates values of macNumBRB and macCSDuration with a NumBRB parameter and a CSDuration parameter of the MLSDE-LESD-CS.request primitive. As shown in
Meanwhile, if the MLSDE 420 receives a LESD request command frame for the macCSDuration (S403), it checks whether a ServiceID field of the received command frame coincides with the macServiceID value. If they do not coincide, the MLSDE 420 discards the received command frame.
Otherwise, if the ServiceID field of the received command frame coincides with the macServiceID value, the MLSDE 420 reports to the higher layer 410 that the LESD request command frame is received via a MLSDE-LESD.indication primitive (S404).
On the receipt of the MLSDE-LESD.indication primitive, the higher layer 410 issues a MLSDE-LESD.response primitive to the MLSDE 420 in response to the MLSDE-LESD.indication primitive (S405).
If the MLSDE 420 receives the MLSDE-LESD.response primitive from the higher layer 410, it generates a LESD response command frame, and broadcasts the generated LESD response command frame via CSMA-CA algorithm (S406).
Hereinafter, MAC command frames according to the present invention will be explained in further detail.
LESD Request Command Frame
The LESD request command frame may be used for a terminal to request a neighbor terminal using a PAC service which the terminal wishes to search to reply information on whether the desired PAC service exists and used physical channel number.
The MHR of the LESD request command frame may include a ‘ServiceID’ field and an ‘AvailableChannelID’ field.
The ‘ServiceID’ field may be configured with 1 octet, and indicate the ID of PAC service which the terminal wishes to search. That is, the ‘Service ID’ field may have an identification number of the PAC service which the terminal wishes to search. The value of this filed is configured with the value of ServiceID parameter of MLSDE-LESD.request primitive received form a higher layer.
The ‘AvailableChannelID’ field may be configured with a set of octets, and indicate channel numbers of channels which the terminal can use. That is, the value of this field is configured with the value of AvailableChannelID parameter of MLSDE-LESD.request primitive received form a higher layer.
LESD Response Command Frame
The LESD response command frame may be used for a terminal to reply the result of the LESD request command.
The MHR of the LESD response command frame may include a ‘ServiceID’ field and a ‘CommunicationChannelID’ field.
The ‘ServiceID’ field may be configured with 1 octet, and indicate the ID of PAC service with which the terminal is associated. The value of this filed is configured with the value of ServiceID parameter of MLSDE-LESD.response primitive received form a higher layer.
The ‘CommunicationChannelID’ field may be configured with a set of octets, and indicate channel numbers of channels in use at the PAC WPAN with which the terminal is associated. That is, the value of this field is configured with the value of CommunicationChannelID parameter of MLSDE-LESD.response primitive received form a higher layer.
LESD Notification Command Frame
The LESD notification command frame may be used for a terminal to announce the result of its service discovery to the neighbor terminals in response to the received LESD response command frame.
The MHR of the LESD notification command frame may include a ‘ServiceID’ field and a ‘CommunicationChannelID’ field.
The ‘Service ID’ field may be configured with 1 octet, and indicate the ID of PAC service which is being used. The value of this filed is configured with the value of ServiceID field of the received LESD response command frame.
The ‘CommunicationChannelID’ field may be configured with a set of octets, and indicate channel numbers of channels in use at the PAC WPAN with which the terminal is associated. That is, the value of this field is configured with the value of CommunicationChannelID field of the received LESD response command frame.
Hereinafter, MAC primitives according to the present invention will be explained in further detail.
MLSDE-LESD-SCAN.request Primitive
The MLSDE-LESD-SCAN.request primitive is generated by a higher layer, and transmitted to a MLSDE. This primitive is used for instructing to start a passive LESD scan to for PAC service discovery.
As shown in
The NumBRB parameter indicates the number of BRB repetitions.
The ServiceID parameter indicates an ID of a PAC service which the terminal wishes to search.
The LESDChannelID parameter indicates a channel number used for service discovery.
The AvailableChannelID parameter indicates a list of channel numbers that the terminal can use.
When the MLSDE of the terminal receives the MLSDE-LESD-SCAN.request primitive from the higher layer, it respectively updates MAC PIB attributes macLESDChannelID, macServiceID, and macAvailableChannelID with parameters LESDChannelID, ServiceID, and AvailableChannelID of the MLSDE-LESD-SCAN.request primitive.
Then, the MLSDE performs the passive scan on a channel indicated by the macAvailableChannelID for at most macNumBRB×TBRB. Here, TBRB means a time needed for receiving a single BRB. After the scanning, the MLSDE reporting the scan result to the higher layer by using a MLSDE-LESD-SCAN.confirm primitive.
MLSDE-LESD-SCAN.confirm Primitive
The MLSDE-LESD-SCAN.confirm primitive may be used for a MLSDE to report the to passive scan result to a higher layer.
As shown in
The Status parameter indicates the result of the passive LESD scan request. According to the scan result, it may have one of SUCCESS, SCAN_IN-PROGRESS, INVALID_PARAMETER, NO_SERVIC_FOUND, etc.
While performing the passive LESD scan, if the MLSDE receives a LESD response command frame or a LESD notification command frame including a ServiceID parameter matching the macServiceID, the MLSDE generates the MLSDE-LESD-SCAN.confirm primitive including a corresponding Status parameter, and reports to the higher layer that the command frame is received. For example, if the LESD response command frame or the LESD notification command frame including the ServiceID parameter matching the macServiceID and a timer for the passive scan expires, the MLSDE sets the Status parameter to SUCCESS, and reports the completion of scan procedure to the higher layer via MLSDE-LESD-SCAN.confirm primitive.
Otherwise, if the LESD response command frame or the LESD notification command frame including the ServiceID parameter matching the macServiceID is not received until the timer for the passive scan expires, the MLSDE sets the Status parameter to NO_SERVICE FOUND, and reports the completion of scan procedure to the higher layer via MLSDE-LESD-SCAN.confirm primitive.
If the MLSDE receives the MLSDE-LESD-SCAN.request primitive from the higher layer while performing a previously initiated scan procedure, the MLSDE sets the Status parameter to SCAN_IN_PROGRESS, and reports to the higher layer that the previously initiated scan procedure is being performed via MLSDE-LESD-SCAN.confirm primitive.
MLSDE-LESD.request Primitive
The MLSDE-LESD.request primitive may be used for a MLSDE to make a LESD request command for service discovery request.
The MLSDE-LESD.request primitive may include parameters NumBRB, ServiceID, and AvailableChannelID.
The NumBRB parameter indicates the number of BRB repetitions.
The ServiceID parameter indicates an ID of a PAC service which the terminal wishes to search.
The AvailableChannelID parameter indicates a list of channel numbers that the terminal can use.
The MLSDE-LESD.request primitive is generated by a higher layer, and transmitted to a MLSDE. This primitive is used for instructing the MLSDE to start an active LESD scan for PAC service discovery.
If the MLSDE receives the MLSDE-LESD.request primitive from the higher layer, it may updates MAC PIB attributes macServiceID and macAvailableChannelID with the values of ServiceID parameter and AvailableChannelID parameter respectively. Also, the MLSDE generates a LES request command frame, and broadcasts the command frame by using a CSMA-CA algorithm. Then, the MLSDE increases macMaxLESDRequestRetries by one, and set a timer for macLESDResponseWaitTime to wait for a LESD response command frame.
MLSDE-LESD.indication Primitive
The MLSDE-LESD.indication primitive may be used to report the receipt of a LESD request command to a higher layer.
The MLSDE-LESD.indication primitive may include parameters ServiceID and AvailableChannelID.
The ServiceID parameter indicates an ID of a PAC service which the terminal wishes to search.
The AvailableChannelID parameter indicates a list of channel numbers that the terminal can use.
On the receipt of a LESD request command, the MLSDE checks the value of ServiceID field of the received command. If the value matches macServiceID of the terminal, the MLSDE generates MLSDE-LESD.indication primitive and notify the receipt of the command to the higher layer. If the value does not match the macServiceID of the terminal, the MLSDE discards the received command.
On receipt of the MLSDE-LESD.indication primitive, the higher layer instructs the MLSDE to generate a LESD response command via a MLSDE-LESD.response primitive.
MLSDE-LESD.response Primitive
The MLSDE-LESD.response primitive may be used for a higher layer to respond to the MLSDE-LESD.indication primitive received from a terminal.
The MLSDE-LESD.response primitive may include parameters PANID, ServiceID, and CommunicationChannelID.
The PANID parameter indicates an identifier of a PAN used by the terminal.
The ServiceID parameter indicates the service ID of the PAC WPAN with which the terminal is associated.
The CommunicationChannelID parameter indicates channel number of channels in use at the PAC WPAN with which the terminal is associated.
The MLSDE-LESD.response primitive is generated by the higher layer and issued to its MLSDE.
On the receipt of the MLSDE-LESD.response primitive, the MLSDE update the MAC PIB attribute macCommunicationChannelID with the value of CommunicationChannelID parameter. Then, the MLSDE generates a LESD response command frame, and broadcasts the command to the neighbor terminals.
MLSDE-LESD.confirm Primitive
The MLSDE-LESD.confirm primitive may be used for a MLSDE to report the result of the LED request command to a higher layer.
The MLSDE-LESD.confirm primitive may include PANID, ServiceID, CommunicationChannelID, and Status.
The PANID parameter indicates an identifier of a PAN used by the terminal.
The ServiceID parameter indicates the service ID of the PAC WPAN with which the terminal is associated.
The CommunicationChannelID parameter indicates channel number of channels in use at the PAC WPAN with which the terminal is associated.
The Status parameter indicates the result of the LESD request command.
When the MLSDE receives a LESD response command from a MLSDE of a neighbor terminal, the MLSDE checks the value of ServiceID field of the received command. If the value matches to the macServiceID of the terminal, the MLSDE updates the MAC PIB attribute macCommunicationChannelID with the value of CommunicationChannelID field in the received command and generates a MLSDE-LESD.confirm primitive with the Status parameter of SUCCESS and report the results of the LESD request to the higher layer.
Then, the MLSDE generates a LESD notification command and broadcasts it to neighbor terminals. If the value of ServiceID field of the received LESD response command does not match to the macServiceID of the terminal, the MLSDE discard the received command.
The MLSDE of the terminal sets the value of Status field to TRANSACTION_EXPIRED and reports to the higher layer if the LESD response command with ServiceID field matching the macServiceID is not received for at most macLESDResponseWaitTime after the terminal transmits the LESD request command. The value of Status parameter is set to INVALID_PARAMETER otherwise.
MLSDE-LESD-NOTIFY.indication Primitive
The MLSDE-LESD-NOTIFY indication primitive may be used for a MLSDE to report to a higher layer that a LES notification command frame is received.
The MLSDE-LESD-NOTIFY indication primitive may include parameters PANID, ServiceID, and CommunicationChannelID.
The PANID parameter indicates an identifier of a PAN used by the terminal.
The ServiceID parameter indicates the service ID of the PAC WPAN with which the terminal is associated.
The CommunicationChannelID parameter indicates channel number of channels in use at the PAC WPAN with which the terminal is associated.
This primitive is generated by the MLSDE and issued to its higher layer upon the reception of a LESD notification command frame with ServiceID field matching to macServiceID of the terminal. If the value of the ServiceID field of the LESD notification command does not match, MLSDE discard the received command.
On the receipt of the MLSDE-LESD-NOTIFY indication primitive, the higher layer is notified of the reception of a LESD notification command. The higher layer may be informed the PAC service and channel numbers in use among the terminals nearby. If the terminal is preparing a LESD request for the same PAC service, the terminal may not transmit the LESD request being prepared according to the receipt of the MLSDE-LESD-NOTIFY indication primitive.
MLSDE-LESD-CS.request Primitive
The MLSDE-LESD-CS.request primitive may be used for a MLSDE to initiate a CS procedure.
The MLSDE-LESD-CS.request primitive may include PANID, NumBRB, CSDuration, ServiceID, and CommunicationChannelID.
The PANID parameter indicates an identifier of a PAN used by the terminal.
The NumBRB parameter indicates the number of BRB repetitions. The time duration (NumBRB×(TBRB+TLIFS)) indicates one time cycle in which the terminal samples the channel for TBRB and sleeps for TLIFS as illustrated in
The CSDuration parameter indicates a time duration for which the terminal listens to a channel specified by macLESDChannelID.
The ServiceID parameter indicates an ID of a PAC service which the terminal wishes to search.
The CommunicationChannelID parameter indicates channel number of channels in use at the PAC WPAN with which the terminal is associated.
This primitive is generated by the higher layer when the terminal discovers the PAC service successfully or when the terminal does not discovery the service through passive and active LESD scan. If the terminal fails to discover the service through passive and active LESD scan, the corresponding service is regarded as unavailable. Thus, the terminal which performed the scan may newly initiate the corresponding service, and the terminal is supposed to enter into the CS procedure.
On the receipt of the primitive, the MLSDE updates the corresponding MAC PIB attributes. That is, the macLESDdone is set to TRUE, and macPANID, macNumBRB, macCSDuration, macServiceID, and macCommunicationChannelID are updated respectively with the parameters PANID, NumBRB, CSDuartion, ServiceID, and CommunicationChannelID.
MLSDE-LESD-CS.confirm Primitive
The MLSDE-LESD-CS.confirm primitive may be used for a MLSDE to report the result of a MLSDE-LESD-CS.request primitive to a higher layer.
The MLSDE-LESD-CS.confirm primitive may include a Status parameter.
The Status parameter indicates the result of the LESD CS request. According to the result, it may have one of SUCCESS, FAILURE, and INVALID_PARAMETER.
The MLSDE generates a MLSDE-LESD-CS.confirm primitive with the Status parameter of SUCCESS if it successfully updates the MAC PIB attributes with the values of corresponding parameters of MLSDE-LESD-CS.request primitive, and reports the result to the higher layer via the generated MLSDE-LESD-CS.confirm primitive.
If the MLSDE receives the MLSDE-LESD-CS.request primitive while performing other LESD MAC operation, the MLSDE may not perform the CS procedure and report the result to the higher layer via MLSDE-LESD-CS.confirm primitive with the status parameter of FAILURE. The value of Status parameter may be set to INVALID_PARAMETER otherwise.
Hereinafter, various methods for a terminal to transmit the above-described command frames will be explained.
A Back-Off Method for CSMA-CA
A terminal may access the channel by using a CSMA-CA algorithm when it tries to transmit the above-described command frames.
A serial CSMA-CA algorithm or a parallel CSMA-CA algorithm may be used as a channel access method of the terminal in consideration of a predicted discovery delay time, power consumption of the terminal, etc.
A Method for Frame Transmission Using a Serial CSMA-CA
Referring to
Then, the terminal changes its radio operation mode into a listening mode, and performs a clear channel assessment (CCA) procedure (S1802). The terminal may obtain channel samples on a symbol duration of predetermined bits (for example, 8 bits) in the CCA procedure, calculate an average value of the obtained channel samples, and compare the average value with a preconfigured threshold value (CCAThreshold) so as to determine a status of the channel (that is, busy or idle).
If the average value is greater than the threshold value, the terminal determines that the channel is in busy state. Otherwise, the terminal determines that the channel is in idle state (S1803).
If the channel is determined to be in busy state, the terminal performs a BRB check procedure for at most 2×TBRB−TCCA (S1804). Here, TBRB is a time needed for transmitting a single BRB, and TCCA is a time needed for performing the CCA. For example, TCCA may be a time duration corresponding to 8 bits.
While the terminal is performing the BRB check procedure, the radio operation mode of the terminal is set to a listening mode. The terminal determines whether a BRB is received or not (S1805). If a BRB is received, the terminal performs a BRB handling procedure (S1806). Otherwise, if a BRB is not received during the above time duration, the terminal performs the CSMA-CA procedure again from the step S1801.
Otherwise, if the channel state is determined to be in idle state at the step S1803, the terminal turns off a receiver, and determines whether the value of BC is 0 (S1807).
In the step S1807, if the BC is not 0, the terminal decreases the BC by one, waits for a time of UnitBackOff (S1808), and repeats the procedure S1807 of determining whether the BC becomes 0. Here, the UnitBackOff means a time duration for which the terminal waits every time when the BC decreases by one.
If the BC becomes 0 through the above procedure, the terminal sets its radio operation mode to a listening mode, and performs the CCA procedure (S1809).
Then, the terminal checks the CCA result (S1810). If the channel is in idle state, the terminal sets its radio operation mode to a transmission mode, and transmits a frame in standby state (for example, LESD request, LESD response, and LESD notification) via the channel (S1811).
Otherwise, if the channel is in busy state, the terminal performs a BRB check procedure during at most 2×TBRB−TCCA (S1812). While performing the BRB check procedure, the radio operation mode is set to a listening mode.
The terminal checks whether a BRB is received during the above time duration (S1813). If a BRB is received, the terminal performs a BRB handling procedure (S1814). Otherwise, if a BRB is not received during the above time duration, the terminal performs the CSMA-CA procedure again from the step S1801.
Hereinafter, the BRB check procedure performed in the steps S1804 and S1812 of
If the BRB check procedure is initiated, the terminal operates in the listening mode. In the BRB check procedure, the terminal performs a preamble detection through the channel for at most 2×TBRB−TCCA. If a preamble is detected during the above period, the terminal performs a frame synchronization using the detected preamble, and receives SDF and PHR of the BRB. If the PHR is received, the terminal determines that the BRB is received successfully, and the physical layer reports the receipt of the BRB to the MAC layer.
Hereinafter, the BRB handling procedure performed in the steps S1806 and S1814 of
When it is identified that the BRB is received successfully through the BRB check procedure, the terminal may perform follow-up processes on the received BRB.
The physical layer of the terminal performs a temporal synchronization on the received frame by using the preamble, and identifies the type of the received frame by using first 8 bits-symbol in the SIT) of the received frame. Then, the physical layer of the terminal performs processes on the received frame according to the type of frame waiting in a queue and the type of the received frame as follows.
1) A Case when the Type of Received Frame is a LESD Request Command Frame.
If the type of the received frame is a LESD request command frame, it is checked whether first 2 bits symbol of the PHR is 0b11. If the value is 0b11, the following 6 bits (BRBcount) indicates the number of BRB repetitions after the received BRB. After then, the terminal turns off its receiver for BRB repetition time (BRBcount−2)×(TBRB+TLIFS). Also, a current value of BC is stored, and a BC timer is stopped and enters into a wait state. After the (BRBcount−2)×(TBRB+TLIFS) elapses, the terminal activates its receiver so as to change its radio operation mode into a listening mode, receives the last BRB, and identifies the last 6 bits symbol of the PHR. This value indicates a length of PHY Service Data Unit (PSDU) which will be received after TLIFS elapses from a completion time of the BRB repetitions. After the time indicated by the above value, the terminal resumes the stopped BC timer. That is, the BC timer restarts decreasing.
2) A Case when the Type of Received Frame is a LESD Response Command Frame.
If the type of the received frame is a LESD response command frame, the physical layer of the terminal receives the PSDU after the currently received BRB, and notifies to the MAC layer that the LESD response command frame is received by using a primitive. The MAC layer identifies a ServiceID parameter of the received LESD response command, and compares the ServiceID parameter with its macServiceID. If the value of the ServiceID parameter matches the macServiceID, the MAC layer updates its to macCommunicationChannelID with a value of CommunicationChannelID of the received frame. Then, the MAC layer removes a command frame waiting in a transmission queue, stops the ongoing CSMA-CA, and notifies to a higher layer that the LESD response command is received by using a MLESD-LESD.confirm primitive.
Otherwise, if the value of the ServiceID parameter does not match to the macServiceID, the MAC layer declares that the processes on the received BRB are completed. Then, the MAC layer resumes the stopped BC timer. That is, the BC timer restarts decreasing.
3) a Case when the Type of Received Frame is a LESD Notification Command Frame.
If the type of the received frame is a LESD notification command frame, the physical layer of the terminal receives the PSDU after the currently received BRB, and notifies to the MAC layer that the LESD notification command frame is received by using a primitive.
The MAC layer identifies a ServiceID parameter of the received LESD notification command, and compares the ServiceID parameter with its macServiceID. If the value of the ServiceID parameter matches the macServiceID, the MAC layer updates its macCommunicationChannelID with a value of CommunicationChannelID of the received frame.
Then, the MAC layer removes a command frame waiting in a transmission queue, stops the ongoing CSMA-CA, and notifies to a higher layer that the LESD notification command is received by using a MLESD-LESD-NOTIFY.indication primitive.
Otherwise, if the value of the ServiceID parameter does not match the macServiceID, the MAC layer declares that the processes on the received BRB are completed. Then, the MAC layer resumes the stopped BC timer. That is, the BC timer restarts decreasing.
A Method for Frame Transmission Using a Parallel CSMA-CA
Referring to
Then, the terminal start a backoff count procedure illustrated in
Meanwhile, separately from the above-described backoff count procedure, the terminal changes its radio operation mode into a listening mode, and performs a CCA procedure at the same time (S1906). The terminal may obtain channel samples on a symbol duration of predetermined bits (for example, 8 bits) in the CCA procedure, calculate an average value of the obtained channel samples, and compare the average value with a preconfigured threshold value (CCAThreshold) so as to determine a status of the channel (that is, busy or idle) (S1907). Here, the terminal determines that the channel is in busy state when the average value is greater than the threshold value. Otherwise, the terminal determines that the channel is in idle state.
If the channel is determined to be in busy state, the terminal performs a BRB check procedure for at most 2×TBRB−TCCA (S1908). The terminal checks the receipt of a BRB (S1909), and performs a BRB handling procedure when a BRB is received (S1910). The BRB handling procedure is identical to the above described one. Otherwise, if a BRB is not received during the above time duration, the terminal performs the CSMA-CA procedure again from the step S1901.
Otherwise, if the channel state is determined to be in idle state at the step S1907, the terminal identifies whether the value of EndOfBackoff is set to TRUE (S1911).
If the EndOfBackoff is not set to TRUE in the step S1911, the terminal turns off its receiver, waits for (TBRB−TCCA) (S1912), and resume the CCA procedure. Otherwise, if the EndOfBackoff is set to TRUE in the step S1911, the terminal sets its radio operation mode to listening mode, and performs the CCA procedure (S1913).
Then, the terminal checks a status of the channel (that is, CCA result) (S1914). If the channel is in idle state, the terminal sets its radio operation mode to transmission mode, and transmits a frame in standby state via the channel (S1915).
Otherwise, if the channel is in busy state at the step S1914, the terminal perform a BRB check procedure during at most 2×TBRB−TCCA (S1916). While performing the BRB check procedure, radio operation mode is set to the listening mode.
The terminal checks the receipt of a BRB during the above time (S1917), and performs a BRB handling procedure when a BRB is received (S1918). Otherwise, if a BRB is not received during the above time duration, the terminal performs the CSMA-CA procedure again from the step S1901.
Hereinafter, the physical layer technologies for LESD will be explained.
The physical layer frame may comprise a synchronization header (SHR), a physical layer header (PHR), and a physical layer service data unit (PSDU). Here, the SHR and the PHR correspond to a BRB.
A preamble may be configured repetitions of a specific bit sequence (for example, ‘01010101’).
A SFD is used for indicating a start of a frame, and may have different values according to type of the frame.
As shown in
The physical layer header (PHR) may be configured with 1 octet, a first bit (T0) indicates the type of frame, and the rest of bits (L6-L0) indicate a length of the frame or the number of BRBs (BRBCount).
That is, if the type of frame is one of Request, Response, and Notification, the rest of bits may indicate a length of the frame. If the type of frame is a No PSDU frame, the rest of bits may indicate the number of BRB repetitions (that is, BRBCount).
For example, if the first bit is ‘0’, the frame type is a LESD PSDU frame (a frame having PSDU), and the rest of PHR indicates the length of the frame. Otherwise, if the first bit is ‘1’, the frame type is a No PSDU frame, and the rest of PHR indicates BRBCount.
In case of the No PDSU frame, the terminal may receive the BRBs according to the number of the rest BRB repetitions identified by the BRBCount. Thus, it is not necessary to receive BRBs unnecessarily until a preconfigured final time.
While the example embodiments of the present invention and their advantages have been described in detail, it should be understood that various changes, substitutions and alterations may be made herein without departing from the scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
10-2013-0081947 | Jul 2013 | KR | national |
10-2014-0085086 | Jul 2014 | KR | national |