Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CONTROLLING TRANSMISSIONS IN COMMUNICATION NETWORK
Document Type and Number:
WIPO Patent Application WO/2014/001602
Kind Code:
A1
Abstract:
There is provided a method, comprising determining, by a first node, the number of neighboring nodes in a communication network comprising a plurality of nodes (200); and determining whether or not to perform a transmission at least partly on the basis of the number of neighboring nodes (202).

Inventors:
TURUNEN MARKKU TAPIO (FI)
RANTALA ENRICO-HENRIK (FI)
LEPPAENEN KARI (FI)
KASSLIN MIKA (FI)
Application Number:
PCT/FI2012/050672
Publication Date:
January 03, 2014
Filing Date:
June 28, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
NOKIA CORP (FI)
TURUNEN MARKKU TAPIO (FI)
RANTALA ENRICO-HENRIK (FI)
LEPPAENEN KARI (FI)
KASSLIN MIKA (FI)
International Classes:
H04W56/00; H04W28/02; H04W72/12; H04W74/08; H04W84/18
Domestic Patent References:
WO2011150294A12011-12-01
Foreign References:
US20100135267A12010-06-03
US20070121521A12007-05-31
US20100260085A12010-10-14
Attorney, Agent or Firm:
NOKIA CORPORATION et al. (Jussi JaatinenKeilalahdentie 4, Espoo, FI)
Download PDF:
Claims:
Claims

1 . A method, comprising:

determining, by a first node, the number of neighboring nodes in a communication network comprising a plurality of nodes; and

determining whether or not to perform a transmission at least partly on the basis of the number of neighboring nodes.

2. The method of claim 1 , wherein the transmission is for a scanning message or user data.

3. The method of any of claims 1 to 2, wherein the number of neighboring nodes comprises the number of nodes within a single hop distance from the first node. 4. The method of any of claims 1 to 3, further comprising:

randomly selecting a number from a range of values which range is defined at least partly by the number of neighboring nodes; and

determining whether the selected number is smaller than, the same as or larger than a known threshold.

5. The method of claim 4, wherein the range comprises uniformly distribut-

6. The method of any of claims 4 to 5, further comprising:

determining whether or not to perform the transmission on the basis of whether the selected number is smaller than, the same as or larger than the known threshold.

7. The method of claim 6, further comprising:

upon detecting that the selected number is smaller than or the same as the known threshold, deciding to perform the transmission, or

upon detecting that the selected number is larger than the known threshold, deciding not to perform the transmission.

8. The method of any of claims 6 to 7, further comprising:

upon deciding not to transmit the data, listening to data transmission from other nodes or entering a doze mode.

9. The method of any of claims 1 to 8, further comprising:

determining the time interval between the current point of time and the point of time when the first node last performed a transmission; and

determining whether or not to perform the transmission at least partly on the basis of the time interval in addition to the number of neighboring nodes.

10. The method of any of claims 1 to 9, wherein the first node is one of a plurality of nodes in a device-to-device communication network in which each node is responsible for contending to a transmission; and the method further comprises:

carrying out the determining of whether or not to perform the transmission before the contention is entered; and

upon deciding not to perform the transmission, cancelling the contention.

1 1 . The method of any of claims 1 to 9, wherein the first node is one of a plurality of nodes in a device-to-device communication network in which each node is responsible for contending to a transmission; and the method further comprises:

carrying out the determining of whether or not to perform the transmission after the contention is done. 12. An apparatus, comprising:

at least one processor and at least one memory including a computer program code, wherein the at least one memory and the computer program code are configured to, with the at least one processor, cause the apparatus at least to:

determine the number of neighboring nodes in a communication network comprising a plurality of nodes; and

determine whether or not to perform a transmission at least partly on the basis of the number of neighboring nodes.

13. The apparatus of claim 12, wherein the transmission is for a scanning message or user data.

14. The apparatus of any of claims 12 to 13, wherein the number of neighboring nodes comprises the number of nodes within a single hop distance from the first node.

15. The apparatus of any of claims 12 to 14, wherein the apparatus is further caused to: randomly select a number from a range of values which range is defined at least partly by the number of neighboring nodes; and

determine whether the selected number is smaller than, the same as or larger than a known threshold.

16. The apparatus of claim 15, wherein the range comprises uniformly distributed values.

17. The apparatus of any of claims 15 to 16, wherein the apparatus is fur- ther caused to:

determine whether or not to perform the transmission on the basis of whether the selected number is smaller than, the same as or larger than the known threshold. 18. The apparatus of claim 17, wherein the apparatus is further caused to: upon detecting that the selected number is smaller than or the same as the known threshold, decide to perform the transmission, or

upon detecting that the selected number is larger than the known threshold, decide not to perform the transmission.

19. The apparatus of any of claims 17 to 18, wherein the apparatus is further caused to:

upon deciding not to transmit the data, listen to data transmission from other nodes or enter a doze mode.

20. The apparatus of any of claims 12 to 19, wherein the apparatus is further caused to:

determine the time interval between the current point of time and the point of time when the apparatus last performed a transmission; and

determine whether or not to perform the transmission at least partly on the basis of the time interval in addition to the number of neighboring nodes.

21 . The apparatus of any of claims 12 to 20, wherein the apparatus is or is comprised in one of a plurality of nodes in a device-to-device communication network in which each node is responsible for contending to a transmission; and the apparatus is further caused to:

carry out the determining of whether or not to perform the transmission before the contention is entered; and upon deciding not to perform the transmission, cancel the contention.

22. The apparatus of any of claims 12 to 20, wherein the apparatus is or is comprised in one of a plurality of nodes in a device-to-device communication network in which each node is responsible for contending to a transmission; and the apparatus is further caused to:

carry out the determining of whether or not to perform the transmission after the contention is done. 23. An apparatus, comprising processing means configured to cause the apparatus to perform the method according to any of claims 1 to 1 1 .

24. A computer program product embodied on a distribution medium readable by a computer and comprising program instructions which, when loaded into an apparatus, execute the method according to any of claims 1 to 1 1 .

Description:
Controlling Transmissions in Communication Network Field

The invention relates generally to communication networks. More particularly, the invention relates to controlling transmission in wireless communication sys- terns.

Background

In some cases a transmitting node is responsible of contending a certain random time period before transmitting. Problems, such as collisions, may arise when a large number of nodes are present in the same system. Brief description of the invention

According to an aspect of the invention, there is provided a method as specified in claim 1 .

According to an aspect of the invention, there are provided apparatuses as specified in claims 12 and 23.

According to an aspect of the invention, there is provided a computer program product as specified in claim 24.

According to an aspect of the invention, there is provided a computer- readable distribution medium carrying the above-mentioned computer program product.

According to an aspect of the invention, there is provided an apparatus comprising processing means configured to cause the apparatus to perform any of the embodiments as described in the appended claims.

According to an aspect of the invention, there is provided an apparatus comprising a processing system configured to cause the apparatus to perform any of the embodiments as described in the appended claims.

According to an aspect of the invention, there is provided an apparatus comprising means for performing any of the embodiments as described in the appended claims.

Embodiments of the invention are defined in the dependent claims. List of drawings

In the following, the invention will be described in greater detail with reference to the embodiments and the accompanying drawings, in which

Figure 1 presents a communication network according to an embodiment; Figure 2 shows a method according to an embodiment; Figure 3 shows how to determine the neighboring nodes within a single- hop distance, according to an embodiment;

Figure 4 illustrates a method according to an embodiment;

Figure 5 presents an exemplary interval according to an embodiment; Figure 6 depicts a method according to an embodiment;

Figure 7 illustrates a method according to an embodiment; and Figure 8 shows an apparatus according to an embodiment.

Description of embodiments

The following embodiments are exemplary. Although the specification may refer to "an", "one", or "some" embodiment(s) in several locations of the text, this does not necessarily mean that each reference is made to the same embodiment(s), or that a particular feature only applies to a single embodiment. Single features of different embodiments may also be combined to provide other embodiments.

Figure 1 shows an example communication network 100 where the em- bodiments of the invention are applicable to. The communication system 100 comprises a plurality of nodes 102 to 1 10, such as communication devices or peer- stations. Each node 102 to 1 10 may be, for example, user equipment (UE), such as a mobile user terminal, a palm computer, or any other apparatus capable of operating in a mobile communication network 100. The nodes 102 to 1 10 may be capable of performing device-to-device (D2D) communication between each other. The D2D communication may take place according to at least one of the following radio access technologies (RATs): Worldwide Interoperability for Microwave Access (WiMAX), Global System for Mobile communications (GSM, 2G), GSM EDGE radio access Network (GERAN), General Packet Radio Service (GRPS), Universal Mobile Tele- communication System (UMTS, 3G) based on basic wideband-code division multiple access (W-CDMA), high-speed packet access (HSPA), LTE, and/or LTE-A. The present embodiments are not, however, limited to these protocols.

In such system D2D network 100, peer-stations 102 to 1 10 may wake up periodically, although approximately at the same time, to transmit and receive mes- sages containing user data. However, before messages are allowed to be transmitted, peer-stations 102 to 1 10 may need to perform clock synchronization by a beaconing procedure or by listening messages which contain clock synchronization information. The beaconing procedure may require that each station 102 to 1 10 is responsible for contending to send a beacon. The contention may take place by any known contention procedures, such as by the carrier sense multiple access / collision avoidance (CSMA/CA) algorithm. The CSMA/CA protocol starts by a node listening to the channel (this is called carrier sense), and if the channel is found to be idle, the node may send the user data or beacon, for example, in the transmit queue. However, if the channel is sensed to be busy (either another node transmission or interference), the node waits till the end of the current transmission and then starts the contention by waiting a random amount of time. The node sets its contention timer to represent the random amount of time which may correspond to a certain number of slots the medium needs to be free. When its contention timer expires and if the channel is idle, the node may send the frame. In other words, the node having chosen the shortest contention delay may win the contention and possibly transmit a beacon or user data. The other nodes may need to wait for the next contention (at the end of this data transmission). It should be noted that according to the contention, each node is given an equal chance to access the channel. Therefore, in case of beaconing, the peer-station 102 to 1 10 who wins the contention may send the beacon. Thereafter, contention to transmit user data (messages) may be started by those peer-stations that either transmitted or received a beacon, i.e. have successful- ly been synchronized.

However, a problem may arise in dense communication networks 100 comprising a lot of nodes 102 to 1 10 single-hop away from each other. Let us assume that each peer-station participates in the beaconing. In such case a large number of beacons may collide or be corrupted by interference. This may be because the devices' contention timers expire so close to each other, or even the same, that collisions may not be avoided. Such drawback may take place regardless of the contention window size, but may be emphasized when the contention window is short. It should be noted that short windows may be beneficial in order to prevent other systems to access the channel. However, in such cases a large portion of beacon transmissions (or any data transmission) may unnecessary cause power drain and delays. The more beacon participants there are and the smaller the contention window is, the more likely that collision takes place.

Therefore, it is proposed, as shown in step 200 of Figure 2, to determine by a first node the number of neighboring nodes. The first node may be any one of the nodes 102 to 1 10, for example. In an embodiment, the number of neighbors may be obtained by detecting beacons, other scanning messages, or user data, from the neighboring nodes. For example, the first node, let's say the node 102, may increase the detected number of its neighboring nodes by one upon receiving user data or beacon from any of the other nodes 104 to 1 10. However, it should be noted that other mechanisms to determine the neighborhood size may be applied. For example, an estimate of the neighborhood size may be acquired from the observed traffic or there may be servers which know the nodes' 102 to 1 10 neighbor tables, such as neighbors' MAC-addresses and distance estimates. Alternatively or in addition to, the server may know GPS coordinates of the nodes 102 to 1 10. Such location information may be send to the server e.g. via the LTE by the nodes 102 to 1 10. As a consequence geographical neighbors may be extracted by the server from the location information. Thereafter, the neighboring information may be communicated to the nodes 102 to 1 10 via the LTE, for example.

In an embodiment, the number of neighboring nodes comprises the number of nodes within a single-hop distance from the first node. Thus, those nodes, which are reachable only via some other node(s), are not considered to be part of the neighborhood of the first node. Let us take a look at Figure 3, which shows an exam- pie of how to determine the number of neighbors within a single-hop distance. The arrows in the Figure 3 show how each node may communicate with the other nodes. In case the first node is considered to be the node 102, the neighboring nodes are nodes 104 and 1 10 because they are directly reachable by the first node 102 with only a single-hop. The nodes 106 and 108 are not considered to belong to the neigh- borhood as they are two-hop away from the first node 102. In case the first node is considered to be the node 1 10, the neighboring nodes are all the other nodes 102 and 108 because they are directly reachable by the first node 1 10. The following table 1 shows the neighborhoods for the different nodes of Figure 3.

Table 1 : Neighboring nodes for the nodes of Figure 3

It should also be noted that, in an embodiment, the nodes detected and considered as neighboring nodes may remain as neighbors only for a predetermined duration of time. This is, for example, because the nodes may be mobile and move in the network 100, or some of the nodes may be switched off. Thus, a node which has been detected as a neighbor at point of time X, may or may not be a neighbor at a point of time Y which is later than X. For example, when a peer-station (node) has received a beacon or data message from another peer-station within a single-hop distance, this node may be considered as a neighboring node for some known period of time. The nodes may be equipped with internal clocks for allowing the application of a timer, for example. There may be a commonly known duration applied in the network 100 during which a neighboring node is considered as a neighbor. However, in an embodiment, the length of the time period/duration may depend on the detected mobility pattern or speed/velocity of the detected node. In this case it may be that the duration varies on the basis of the node which is detected as a neighbor, i.e. the length may be node-specific. For example, if the node 1 10 is detected to move rapidly, the duration during which the node 1 10 is considered as a neighbor may be shorter than if the node 1 10 was moving slowly. Similarly, the speed of the detecting device (i.e. the first node) may be considered here as well. The speed or mobility information of the nodes may be obtained from a server or from detected nodes, e.g. a node may calculate speed or mobility information of another node based on radio measurements, for example.

Let us take another look at Figure 2. In step 202, the first node determines whether or not to perform transmission at least partly based on the number of neighboring nodes. It may then happen that not all nodes 102 to 1 10 transmit the scanning messages, such as beacons, or user data, but some of the nodes 102 to 1 10 may cancel their transmission, as will be explained later. As a consequence, only a fraction of the nodes may participate in beaconing during that beacon interval (like 5 out of a neighborhood of 100 nodes). For example, in case of beaconing, each peer- station 102 to 1 10 may contend of beacon transmission and when contention is done and a beacon should be sent, the peer-station 102 to 1 10 may decide whether to transmit the beacon or not based on probability that is derived from the number of neighboring nodes. If drawing is successful, the peer-station may decide to send the beacon. Otherwise the node may cancel the beacon transmission.

In addition to the number of nodes, the probability to participate in beacon- ing may depend on the time interval between the current point of time and the point of time when the node last beaconed. In other words, the node may determine the time interval and, in addition to the number of neighboring nodes, take the time interval into account when determining whether or not to perform the transmission at least partly on the basis of the time interval. For example, if the time interval is long (above a certain threshold, which may be based on empirical derivation or simulations, for example), the probability to participate beaconing at the current point of time is increased from the value derived from the number of neighboring nodes. However, i the time interval is short (e.g. below the certain threshold), the probability is lowered. The motivation for such arrangement may be to improve the probability that all the neighbors have an opportunity to beacon in a given amount of time. This, on the other hand, may improve the estimation of the number of neighbors or the capability to keep an updated list of neighbors for any other purpose (such as presence notification). In an embodiment, the node (or peer-station, device) may, as shown in step 400 of Figure 4, randomly select a number from a range of values which range is defined at least partly by the number of neighboring nodes. Thereafter, in step 402, the node may determine whether the selected number is smaller than, the same as or larger than a known threshold. In step 404, the first node may determine whether or not to perform the transmission on the basis of whether the selected number is smaller than, the same as or larger than the known threshold.

Let us take a closer look at step 400. The range of values, or an interval, may, in an embodiment, comprise only integer numbers. In another embodiment, also fractional numbers may be comprised in the range of values. In an embodiment, the interval, from which the number is randomly selected, may be an increasing vector limited at least partly by the number of neighboring nodes, i.e. [0, 1 , 2, N] or [1 , 2, 3, ... N+1 ], where N is the number of neighboring nodes. The interval may, in an embodiment, be uniformly distributed, e.g. it may be comprise uniformly distributed values. In this example case, the probability for transmitting may be drawn from a uniform distribution as:

If [Uniform(1 , N+1 ) <= N B ]

Transmit

Else

Cancel Transmission

End

In the above illustration, N denotes the number of neighbors. Thus, in an embodiment, N represents the number of nodes that can be reached with a single- hop. Therefore, N+1 may denote the size of the neighborhood. I.e. in this case, the interval is defined at one end by the number of neighbors plus one, i.e. by the size of the neighborhood (=N+1 ). Parameter N B , on the other hand, denotes an expected or desired number of nodes involved in contention or transmission, such as beaconers. Thus, in an embodiment, N B may denote the desired number of nodes that participate beaconing during this beacon interval. This number N B may be fixed and correspond to the known threshold of step 402 of Figure 4. For example, if a node has 99 neighbors N, then the neighborhood size is 100 (=N+1 ). Thereafter, a uniform random number may be selected from the interval [1 ,...,100]. Alternatively, it should be noted that the interval may be [0, 99] without any loss of generality. In case the draw outputs any of values [1 ,...,N B ], the corresponding node may participate in transmission (such as beaconing), otherwise the node may cancel its transmission. It may be considered that N B represents a higher threshold and one represents a lower thresh- old. When the randomly selected number is between the lower and higher thresholds, transmission of beacon or user data message is allowed.

For example, let us assume that the threshold (i.e. N B ) is five (=5) and the uniform distribution approach is applied. As shown in Figure 5, if the first node ran- domly selects any of the values from 1 to 5, the first node may detect that the selected value is smaller than or the same as the threshold (shown with an arrow in Figure 5). Consequently, the first node may proceed with transmission. If the first node selects any of values from 6 to N+1 , the first node may detect that the selected value is larger than the threshold (=5) and, consequently, the first node may cancel the transmission.

It should be noted that alternative ways to determine whether or not to transmit than the uniform distribution approach may be applied. For example, Gaussian distribution of the interval may be applied as long as the threshold N B , or a lower threshold and a higher threshold, is/are selected appropriately so that only a subset of all the nodes participate in beaconing or perform the transmission while other nodes defer from transmission.

The known threshold N B may be preselected and known by each of the nodes 102 to 1 10. The objective may be to have enough beaconing devices 102 to 1 10 to allow all the devices 102 to 1 10 to get synchronized and allow others to find out fast and reliably the network with means of passive scanning. In an embodiment, the N B has a value of 5.

In an embodiment corresponding to the case where the time interval to the previous transmission is taken into account, the value of N B may be adjusted based on the time interval (e.g. increased or decreased, or kept the same). This adjustment may thus affect the probability according to which the node participates in beaconing/user data transmission.

In an embodiment, the value of N B is static and the same among all the nodes 102 to 1 10. In one embodiment, the limit N B is static in time but varies between the nodes 102 to 1 10. In yet another embodiment, the value of N B may vary between the nodes 102 to 1 10, e.g. it may be node-specific, and it may vary in time as well. This may be advantageous as different nodes may have different number of neighbors, as illustrated in Table 1 , and the size of the neighborhood may change in time. The value of N B may depend on various aspects. The value may be derived so that there are enough devices 102 to 1 10 that take care of the responsibilities of a beaconing device for each beacon interval. As said, the number may be variable and determined by each node 102 to 1 10 based on a set of rules that relate to the operating environment of the corresponding device/node 102 to 1 10. For example, in an embodiment, the value may depend on the number of neighbors. In other examples, the limit N B may depend on issues like:

• How dynamic/static the environment is? The faster the changes in the environment are, the higher the threshold may be. This is because in a dynamic environment beacons may be lost more frequently due to reasons other than collisions. Therefore, a larger number of beacons may be advantageous.

• How occupied the channels are in which we need to transmit beacons? Amount of other traffic in the channels may be taken into account in determining the limit N B .

Let us take a look at Figure 4 again. From step 404, the method may proceed either to step 406 where transmission is performed or to step 408 where transmission is cancelled. Which step to select, may depend on the relationship between the selected number and the known threshold N B . For example, in step 406, the first node may decide to perform transmission when the selected number is smaller than or the same as the known threshold. On the contrary, in step 406, the first node may decide not to perform transmission when the selected number is larger than the known threshold. Naturally different approaches are possible. For example, only if a value within a range [N-3, N-2, N-1 , N, N+1 ] is selected, the node is allowed to send (assuming five is the expected number of senders, N B ). Thus, in this case, transmis- sion is due if the selected number is larger than N+1 -N B .

It should be also noted that the decision of whether or not to perform the transmission may take place either before or after the contention. I.e. the node may first perform the contention and then decide whether to transmit or not. However, in another embodiment, the node determines the number of neighboring nodes before the contention and then decides, at least partly based on the detected number of neighboring nodes, whether to perform the transmission or not. In case, it decides not to perform the transmission, the node may not participate in the contention at this time. This may be beneficial as then the node need not necessarily perform in the contention and waste time for the contention.

Thus, the proposed solution may keep the number of beacon participants substantially constant for each beacon interval, in case the size of the neighborhood is above the threshold. As the beginning of an awake-time for each node may be reserved for beaconing, the proposed solution may allow the collision rate to stay approximately constant as well. As a result, the network 100 may stay or get synchro- nized more reliably. As the beaconing procedure is more reliably performed, the delays for starting the user data message contention may be decreased.

Table 2 illustrates simulated results for beaconing with and without the proposed solution. As can be seen, the beacon reception success increases signifi- cantly from, 5,7 % to 69,3 % when the collision avoidance procedure according to any of the embodiments is applied. In addition, the power consumption, the time when beaconing is performed, and the deviation in the synchronization advantageously is shown to decrease.

Table 2: Simulation results

Figure 6 depicts an example processes after the first node has decided not to transmit. It may be seen that the first node may, for example, listen to data transmission from other nodes according to step 600. In other words, after the beacon cancellation, the first node (peer-station) may wait for a beacon before the node may proceed to data message contention. This is because user data may not send user data before a beacon is received. It should be noted that the beginning of awake-period may be dedicated to beaconing.

In an embodiment, the first node receives a beacon before deciding whether or not to transmit the beacon itself. In such case, upon receiving a beacon from another node, the first node may immediately decide not to transmit a beacon (i.e. cancel the beacon transmission) because synchronization is already performed via the received beacon.

Alternatively, in case there is no user data to be sent by the first node, the first node may in step 602 enter a doze mode, or so called post back-off sleep. This may take place before a beacon is received during the beacon interval because there may not be any need for the first node to receive the beacon. It should be noted though that the first node may not have anything to send (beacon or data) but some other node may have something to send to the first node. Accordingly, the first node may need to listen whether there is something to receive or not. Such empty contention procedure may cause the node to stay awake long enough so that some other node(s) may start transmission to the first node in case there is anything to transmit to the first node.

It should be noted that throughout the application the data transmission may comprise transmission of a user data or a scanning message, such as a bea- con, a probe request, a probe response, a measurement pilot, etc. Thus, the solution is applicable to the scanning as well as to the user data transmission. The user data transmission may take place once the first node has successfully performed the beaconing procedure. Furthermore, the proposed approach may be used in order to allocate turns for scanning other D2D networks.

In an embodiment, as shown in Figure 1 for example, the first node is one of a plurality of nodes 102 to 1 10 in a device-to-device communication system in which each node is responsible for contending to a transmission. The transmission may be for beacons or user data, i.e. the transmission may carry beacons or user data, for example. The first node may then perform the determination of whether or not to transmit data after the contention is done. Let us look at this with reference to Figure 7. In step 700, the first node wakes up and consequently starts beacon contention in step 702. This may be because the beginning of the awake period is dedicated to beaconing. If the first node receives a beacon from another node in step 704, the method may proceed to step 714, where beacon transmission is cancelled. Furthermore, if the first node has something to transmit, it may proceed to step 712 for user data transmission contention. However, if the first node in step 704 does not receive any beacons during the beacon contention, the first node may determine in step 706 that the beacon contention is over.

Thereafter, in step 708, the node may determine whether or not to transmit the beacon according to any of the embodiments, e.g. at least partly based on the number of neighboring nodes. If the first node decides not to transmit the beacon, the method may proceed to step 714 where transmission is cancelled. Thereafter, the node may anyhow remain awake for a short time period in order to receive possible transmissions from other devices. On the other hand, if there is data to transmit, one may contend for channel to get the data transmitted. In an embodiment, the node may enter the post back-off sleep in step 715 after having waited the short time period and having no data to transmit. Alternatively, the step 716 may follow in which the first node receives a beacon from another node during the awake period and, thus, may perform synchronization. Thereafter, the process may continue in step 712 for user data transmission contention. However, if the first node in step 708 determines to transmit the beacon in step 710, the node may thereafter continue the process according to step 712, i.e. contention for user data transmission. It should be noted though that in case the decision of whether or not to perform transmission is performed before contending, the step 708 may be before the step 702. In case the answer to step 708 is positive, the node may start contending according to step 702. However, in case the answer to the determination in step 708 is negative, the node may not enter the contention step 702 at all, but may proceed to step 714 where the beacon transmission is cancelled. Thereafter, the process continues as described with reference to blocks 714, 715, 716 and 712, as the case may be.

An embodiment, as shown in Figure 8, provides an apparatus 800 com- prising a control circuitry (CTRL) 802, such as at least one processor, and at least one memory 804 including a computer program code (PROG), wherein the at least one memory 804 and the computer program code (PROG), are configured, with the at least one processor 802, to cause the apparatus 800 to carry out any one of the above-described pro-cesses. It should be noted that Figure 8 shows only the ele- ments and functional entities required for understanding a processing system of the apparatus 800. Other components have been omitted for reasons of simplicity. It is apparent to a person skilled in the art that the apparatus may also comprise other functions and structures.

In another embodiment, the apparatus 800 may comprise the terminal de- vice of a cellular communication system, e.g. a computer (PC), a laptop, a tabloid computer, a cellular phone, a communicator, a smart phone, a palm computer, or any other communication apparatus. That is, the apparatus 800 may be or be comprised in one of the nodes 102 to 1 10 of the network 100. The apparatus 800 may be capable of performing D2D communication with other nodes of the D2D network 100.

As said, the apparatus 800 may comprise a control circuitry 802, e.g. a chip, a processor, a micro controller, or a combination of such circuitries causing the apparatus to perform any of the embodiments of the invention. The control circuitry 802 may be implemented with a separate digital signal processor provided with suitable software embedded on a computer readable medium, or with a separate logic circuit, such as an application specific integrated circuit (ASIC). The control circuitry 802 may comprise an interface, such as computer port, for providing communication capabilities. The memory 804 may store software (PROG) executable by the at least one control circuitry 802.

The control circuitry 802 may comprise a neighbor detecting circuitry 810 for determining the number of neighboring nodes and, thus, the size of the neighborhood. It may do so by detecting the beacons or user data received from neighboring nodes or by obtaining information from a server or alike. There may be restrictions which the circuitry 810 may need to monitor, such as expiration of a timer for considering certain node as a neighbor, for example.

The control circuitry 802 may comprise a transmission decision circuitry 812 for determining whether or not to transmit a beacon or user data, according to any of the embodiments. The circuitry 812 may thus apply the knowledge of the neighborhood and base the decision at least partly on the information of the neighborhood.

The apparatus 800 may further comprise radio interface components (TRX) 806 providing the apparatus with radio communication capabilities with the radio access network and with the other nodes in so called D2D communication. The radio interface components 806 may comprise standard well-known components such as amplifier, filter, frequency-converter, (de)modulator, and encoder/decoder circuitries and one or more antennas.

The apparatus 800 may also comprise a user interface 808 comprising, for example, at least one keypad, a microphone, a touch display, a display, a speaker, etc. The user interface 808 may be used to control the apparatus 800 by the user.

As said, the apparatus 800 may comprise the memory 804 connected to the control circuitry 802. However, memory may also be integrated to the control circuitry 802 and, thus, no memory 804 may be required. The memory 804 may be im- plemented using any suitable data storage technology, such as semiconductor based memory devices, flash memory, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The memory 804 may be for storing data related to the neighborhood, the known threshold N B or thresholds, rules for determining the N B , rules for determining whether to transmit or not on the basis of the number of neighbors, for example.

As used in this application, the term 'circuitry' refers to all of the following: (a) hardware-only circuit implementations, such as implementations in only analog and/or digital circuitry, and (b) combinations of circuits and software (and/or firmware), such as (as applicable): (i) a combination of processor(s) or (ii) portions of processor(s)/software including digital signal processor(s), software, and memory(ies) that work together to cause an apparatus to perform various functions, and (c) circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present. This definition of 'circuitry' applies to all uses of this term in this application. As a further example, as used in this application, the term 'circuitry' would also cover an implementation of merely a processor (or multiple processors) or a portion of a processor and its (or their) accompanying software and/or firmware. The term 'circuitry' would also cover, for example and if applicable to the particular element, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, or another network device.

The techniques and methods described herein may be implemented by various means. For example, these techniques may be implemented in hardware (one or more devices), firmware (one or more devices), software (one or more modules), or combinations thereof. For a hardware implementation, the apparatus(es) of embodiments may be implemented within one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof. For firmware or software, the implementation can be carried out through modules of at least one chip set (e.g. procedures, functions, and so on) that perform the func- tions described herein. The software codes may be stored in a memory unit and executed by processors. The memory unit may be implemented within the processor or externally to the processor. In the latter case, it can be communicatively coupled to the processor via various means, as is known in the art. Additionally, the components of the systems described herein may be rearranged and/or complemented by addi- tional components in order to facilitate the achievements of the various aspects, etc., described with regard thereto, and they are not limited to the precise configurations set forth in the given figures, as will be appreciated by one skilled in the art.

Thus, according to an embodiment, the apparatus comprises processing means configure to carry out embodiments of any of the Figures 1 to 8. In an embod- iment, the at least one processor 802, the memory 804, and the computer program code form an embodiment of processing means for carrying out the embodiments of the invention.

Embodiments as described may also be carried out in the form of a computer process defined by a computer program. The computer program may be in source code form, object code form, or in some intermediate form, and it may be stored in some sort of carrier, which may be any entity or device capable of carrying the program. For example, the computer program may be stored on a computer program distribution medium readable by a computer or a processor. The computer program medium may be, for example but not limited to, a record medium, computer memory, read-only memory, electrical carrier signal, telecommunications signal, and software distribution package, for example.

Even though the invention has been described above with reference to an example according to the accompanying drawings, it is clear that the invention is not restricted thereto but can be modified in several ways within the scope of the appended claims. Therefore, all words and expressions should be interpreted broadly and they are intended to illustrate, not to restrict, the embodiment. It will be obvious to a person skilled in the art that, as technology advances, the inventive concept can be implemented in various ways. Further, it is clear to a person skilled in the art that the described embodiments may, but are not required to, be combined with other embodiments in various ways.