Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR CONGESTION CONTROL
Document Type and Number:
WIPO Patent Application WO/2018/029525
Kind Code:
A1
Abstract:
Embodiments of the present disclosure relate to a method and device for congestion control. Specifically, the embodiments of the present disclosure relate to methods implemented at a network device and a terminal device and a corresponding network device and terminal device. For example, a method implemented at a network device comprises receiving a first congestion level report from a first terminal device located in an area of a cell of the network device, the first congestion level report indicating a first estimated congestion level of a resource pool assigned by the network device to the area, the first estimated congestion level being determined by the first terminal device; determining a congestion level of the resource pool at least partly based on the first estimated congestion level; and broadcasting congestion level information indicating the congestion level for reception by a second terminal device located in the area that is unable to estimate the congestion level of the resource pool directly.

Inventors:
LIU YONG (CN)
WILDSCHEK TORSTEN (GB)
Application Number:
PCT/IB2017/001081
Publication Date:
February 15, 2018
Filing Date:
July 27, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ALCATEL LUCENT (FR)
NOKIA SOLUTIONS & NETWORKS OY (FI)
International Classes:
H04W28/02
Domestic Patent References:
WO2015156925A22015-10-15
WO2016033742A12016-03-10
Foreign References:
GB2471287A2010-12-29
Other References:
NOKIA ALCATEL-LUCENT SHANGHAI BELL: "On random resource selection for V2P communication", vol. RAN WG1, no. Reno, USA; 20161114 - 20161118, 13 November 2016 (2016-11-13), XP051176822, Retrieved from the Internet [retrieved on 20161113]
CATT: "Consideration on design for eNB scheduling PC5 V2V", vol. RAN WG1, no. Anaheim, USA; 20151115 - 20151122, 15 November 2015 (2015-11-15), XP051003020, Retrieved from the Internet [retrieved on 20151115]
Attorney, Agent or Firm:
BERTHIER, Karine (FR)
Download PDF:
Claims:
I/We Claim:

1. A method implemented at a network device, comprising:

receiving a first congestion level report from a first terminal device located in an area of a cell of the network device, the first congestion level report indicating a first estimated congestion level of a resource pool assigned by the network device to the area, the first estimated congestion level being determined by the first terminal device;

determining a congestion level of the resource pool at least partly based on the first estimated congestion level; and

broadcasting congestion level information indicating the congestion level for reception by a second terminal device located in the area that is unable to estimate the congestion level of the resource pool directly

2. The method according to Claim 1, further comprising:

adjusting a transmission parameter for the second terminal device based on the congestion level of the resource pool; and

broadcasting the adjusted transmission parameter for reception by the second terminal device.

3. The method according to Claim 2, wherein the transmission parameter comprises at least one of the following:

a transmission power,

a number of retransmissions, and

a transmission period.

4. The method according to Claim 1, further comprising:

adjusting a configuration of the resource pool assigned to the area; and

broadcasting the adjusted configuration for reception by the first terminal device and the second terminal device.

5. The method according to Claim 1, further comprising:

selecting the first terminal device from a plurality of terminal devices located in the area based on a predetermined criterion.

6. The method according to Claim 1, wherein determining the congestion level comprises:

receiving a second congestion level report from a third terminal device located in the area, the second congestion level report indicating a second estimated congestion level of the resource pool determined by the third terminal device; and

determining the congestion level based on the first estimated congestion level and the second estimated congestion level.

7. The method according to Claim 1, wherein receiving the first congestion level report comprises:

receiving the first congestion level report from the first terminal device periodically

8. A method implemented at a terminal device, the terminal device being located in an area of a cell of a network device, the method comprising:

determining an estimated congestion level of a resource pool assigned by the network device to the area;

generating a congestion level report indicating the estimated congestion level; and sending to the network device the congestion level report for the network device to broadcast congestion level information, the congestion level information indicating a congestion level of the resource pool determined by the network at least partly based on the estimated congestion level.

9. The method according to Claim 8, wherein sending the congestion level report to the network device comprises sending the congestion level report in response to at least one of the following:

the estimated congestion level being higher than a predetermined threshold level, a change amount of the estimated congestion level exceeding a threshold change amount since a previous congestion level report is sent to the network device, and

detecting that the terminal device enters a new area from the area.

10. The method according to Claim 8, wherein sending the congestion level report to the network device comprises:

determining a report probability based on the estimated congestion level, the report probability decreasing as the estimated congestion level increases; and sending the congestion level report to the network device based on the report probability

11. The method according to Claim 8, wherein determining the estimated congestion level of the resource pool comprises:

determining the estimated congestion level based on an advancement data packet transmitted using the resource pool.

12. The method according to Claim 11, wherein the advancement data packet indicates at least one of the following of a corresponding terminal device:

position information,

an advancement speed, and

an advancement direction.

13. The method according to Claim 8, wherein sending the congestion level report comprises:

sending the congestion level report to the network device periodically.

14. A method implemented at a terminal device, the terminal device being located in an area of a cell of a network device and unable to estimate a congestion level of a resource pool assigned by the network device to the area directly, the method comprising:

receiving congestion level information broadcasted by the network device, the congestion level information indicating the congestion level of the resource pool, the congestion level being determined by the network device at least partly based on an estimated congestion level of the resource pool determined by another terminal device in the area.

15. The method according to Claim 14, further comprising:

adjusting a transmission parameter of the terminal device based on the congestion level.

16. The method according to Claim 15, wherein the transmission parameter comprises at least one of the following:

a transmission power,

a number of retransmissions, and a transmission period.

17. The method according to Claim 14, further comprising:

receiving a transmission parameter of the terminal device broadcasted by the network device, the transmission parameter being determined by the network device based on the congestion level.

18. The method according to Claim 14, further comprising:

receiving an adjusted configuration of the resource pool broadcasted by the network device.

19. A network device, comprising:

a transceiver configured to:

receive a first congestion level report from a first terminal device located in an area of a cell of the network device, the first congestion level report indicating a first estimated congestion level of a resource pool assigned by the network device to the area, the first estimated congestion level being determined by the first terminal device, and

broadcast congestion level information indicating a congestion level of the resource pool for reception by a second terminal device in the area that is unable to estimate the congestion level of the resource pool directly; and

a controller configured to determine the congestion level of the resource pool at least partly based on the first estimated congestion level.

20. The network device according to Claim 19, wherein the controller is configured to adjust a transmission parameter for the second terminal device based on the congestion level of the resource pool, and

wherein the transceiver is further configured to broadcast the adjusted transmission parameter for reception by the second terminal device.

21. The network device according to Claim 20, wherein the transmission parameter comprises at least one of the following:

a transmission power,

a number of retransmissions, and

a transmission period.

22. The network device according to Claim 19, wherein the controller is further configured to adjust a configuration of the resource pool assigned to the area, and

wherein the transceiver is further configured to broadcast the adjusted configuration for reception by the first terminal device and the second terminal device.

23. The network device according to Claim 19, wherein the controller is further configured to select the first terminal device from a plurality of terminal devices located in the area based on a predetermined criterion.

24. The network device according to Claim 19, wherein the transceiver is further configured to:

receive a second congestion level report from a third terminal device located in the area, the second congestion level report indicating a second estimated congestion level of the resource pool determined by the third terminal device, and

wherein the controller is further configured to determine the congestion level based on the first estimated congestion level and the second estimated congestion level.

25. The network device according to Claim 19, wherein the transceiver is configured to receive the first congestion level report from the first terminal device periodically.

26. A terminal device, the terminal device being located in an area of a cell of a network device and comprising:

a controller configured to:

determine an estimated congestion level of a resource pool assigned by the network device to the area, and

generate a congestion level report indicating the estimated congestion level; and a transceiver configured to send to the network device the congestion level report for the network device to broadcast congestion level information, the congestion level information indicating a congestion level of the resource pool determined by the network device at least partly based on the estimated congestion level.

27. The terminal device according to Claim 26, wherein the transceiver is configured to send the congestion level information to the network device in response to at least one of the following:

the estimated congestion level being higher than a predetermined threshold level, a change amount of the estimated congestion level exceeding a threshold change amount since a previous congestion level report is sent to the network device, and

detecting that the terminal device enters a new area from the area.

28. The terminal device according to Claim 26, wherein the controller is further configured to determine a report probability based on the estimated congestion level, the report probability decreasing as the estimated congestion level increases; and

wherein the transceiver is further configured to send the congestion level report to the network device based on the report probability.

29. The terminal device according to Claim 26, wherein the controller is configured to: determine the estimated congestion level based on an advancement data packet transmitted using the resource pool.

30. The terminal device according to Claim 29, wherein the advancement data packet indicates at least one of the following of a corresponding terminal device:

position information,

an advancement speed, and

an advancement direction.

31. The terminal device according to Claim 26, wherein the transceiver is configured to send the congestion level report to the network device periodically.

32. A terminal device, the terminal device being located in an area of a cell of a network device and unable to estimate a congestion level of a resource pool assigned by the network device to the area directly, the terminal device comprising:

a controller; and

a transceiver coupled to the controller and configured by the controller to receive congestion level information broadcasted by the network device, the congestion level information indicating the congestion level of the resource pool, the congestion level being determined by the network device at least partly based on an estimated congestion level of the resource pool determined by another terminal device in the area.

33. The terminal device according to Claim 32, wherein the controller is further configured to:

adjust a transmission parameter of the terminal device based on the congestion level.

34. The terminal device according to Claim 33, wherein the transmission parameter comprises at least one of the following:

a transmission power,

a number of retransmissions, and

a transmission period.

35. The terminal device according to Claim 32, wherein the transceiver is further configured to:

receive a transmission parameter of the terminal device broadcasted by the network device, the transmission parameter being determined by the network device based on the congestion level.

36. The terminal device according to Claim 32, wherein the transceiver is further configured to:

receive an adjusted configuration of the resource pool broadcasted by the network device.

Description:
METHOD AND DEVICE FOR CONGESTION CONTROL

FIELD

[0001] Embodiments of the present disclosure generally relate to communication technology, and more specifically, to a method and device for congestion control. BACKGROUND

[0002] Currently, the study to long-term-evolution (LTE) based "vehicle to external" (V2X) services is carried out continuously with respect to the third generation partnership project (3GPP) to explore the opportunity to realize the "connected cars" (namely, internet cars) for the vehicle industry based on the widely deployed LTE networks. The LTE-based V2X comprises three parts: vehicle-to -vehicle (V2V), vehicle-to-pedestrian (V2P) (and the corresponding pedestrian-to-vehicle) and vehicle-to-infrastructure/network (V2I/N). V2P communication is expected to improve road safety for pedestrians.

[0003] To realize V2P (or P2V) communication, vehicles (such as cars) terminal devices and pedestrian terminal devices in a cell or a portion of a cell (also can be called "area") need to utilize a resource pool in the area continuously to send an advancement data packet that records their own advancement information. However, when there are too many UEs sending advancement data packets in a resource pool of the same area, it would cause data packets in the resource pool not to be sent normally, namely, resulting in congestion of the resource pool. At present, causes like power reduction make it impossible for terminal devices carried by the pedestrian to learn congestion condition of the resource pool.

SUMMARY

[0004] In general, embodiments of the present disclosure propose a method and a device for congestion control.

[0005] In a first aspect, embodiments of the present disclosure provide a method implemented at a network device. The method includes: receiving a first congestion level report from a first terminal device located in an area of a cell of the network device, the first congestion level report indicating a first estimated congestion level of the resource pool assigned by the network device to the area, the first estimated congestion level being determined by the first terminal device; determining a congestion level of the resource pool at least partly based on the first estimated congestion level; and broadcasting congestion level information indicating the congestion level for reception by a second terminal device located in the area that is unable to estimate the congestion level of the resource pool directly

[0006] In a second aspect, embodiments of the present disclosure provide a method implemented at a terminal device, the terminal device being located in an area of a cell of a network device. The method includes: determining an estimated congestion level of a resource pool assigned by the network device to the area; generating a congestion level report indicating the estimated congestion level; and sending to the network device the congestion level report for the network device to broadcast congestion level information, the congestion level information indicating a congestion level of the resource pool determined by the network at least partly based on the estimated congestion level.

[0007] In a third aspect, embodiments of the present disclosure provide a method implemented at a terminal device, the terminal device being located in an area of a cell of a network device and unable to estimate a congestion level of a resource pool assigned by the network device to the area directly. The method includes: receiving congestion level information broadcasted by the network device, the congestion level information indicating a congestion level of the resource pool, the congestion level being determined by the network device at least partly based on an estimated congestion level of the resource pool determined by another terminal device in the area.

[0008] In a fourth aspect, embodiments of the present disclosure provide a network device. The network device includes: a transceiver configured to: receive a first congestion level report from a first terminal device located in an area of a cell of the network device, the first congestion level report indicating a first estimated congestion level of a resource pool assigned by the network device to the area, the first estimated congestion level being determined by the first terminal device; and broadcast congestion level information indicating a congestion level of the resource pool for reception by a second terminal device located in the area that is unable to estimate the congestion level of the resource pool directly; and a controller configured to determine the congestion level of the resource pool at least in part based on the first estimated congestion level.

[0009] In a fifth aspect, embodiments of the present disclosure provide a terminal device which is located in an area of a cell of a network device and comprises: a controller configured to: determine an estimated congestion level of a resource pool assigned by the network device to the area; and generate a congestion level report indicating the estimated congestion level; and a transceiver configured to send to the network device the congestion level report for the network device to broadcast congestion level information, the congestion level information indicating a congestion level of the resource pool determined by the network at least partly based on the estimated congestion level. [0010] In a sixth aspect, embodiments of the present disclosure provide a terminal device which is located in an area of a cell of a network device and unable to estimate a congestion level of a resource pool assigned by the network device to the area directly, the terminal device comprising: a controller; and a transceiver coupled to and configured by the controller to receive congestion level information broadcasted by the network device, the congestion level information indicating the congestion level of the resource pool, the congestion level being determined by the network device at least partly based on a estimated congestion level of the resource pool determined by another terminal device in the area.

[0011] Through the following content, it will be understood that according to the embodiments of the present disclosure, a mechanism for adapting the transmission behavior of a user equipment (UE) that transmits advancement data packet based on a congestion level of a transmission (TX) resource pool can be realized, thus realizing congestion control. On the basis of realizing congestion control, normal transmission of data packet can be ensured, thereby avoiding collision between the traffic vehicle with UE and the pedestrian, and further improving road safety for the traffic vehicle and the pedestrian. [0012] It will be understood that the Summary part does not intend to define essential or important features of the embodiments of the present disclosure or to limit the scope of the present disclosure. Other features of the present disclosure will be made easy to be understood through the following description.

BRIEF DESCRIPTION OF THE DRAWINGS [0013] Through the following detailed description in combination with and with reference to the accompanying drawings, the above and other objectives, features, and advantages of example embodiments of the present disclosure will become more apparent. In the drawings, identical or similar reference numbers represent the same or similar elements, in which:

[0014] FIG. 1 illustrates a communication environment 100 in which embodiments of the present disclosure can be implemented;

[0015] FIG. 2 illustrates a overall data stream diagram 200 of a method for congestion control in some embodiments;

[0016] FIG. 3 illustrates a flow diagram of the congestion control method in some embodiments from the perspective of network device;

[0017] FIG. 4 illustrates a flow diagram of the congestion control method 400 in some embodiments from the perspective of the first terminal device;

[0018] FIG. 5 illustrates a flow diagram of the congestion control method 500 in some embodiments from the perspective of the second terminal device;

[0019] FIG. 6 illustrates a block diagram of an apparatus 600 in some embodiments;

[0020] FIG. 7 illustrates a block diagram of an apparatus 700 in some embodiments; [0021] FIG. 8 illustrates a block diagram of an apparatus 800 in some embodiments; and

[0022] FIG. 9 illustrates a block diagram of an apparatus 900 in some embodiments.

[0023] In all drawings, identical or similar reference numbers represent the same or similar elements.

DETAILED DESCRIPTION OF EMBODIMENTS

[0024] The embodiments of the present disclosure will be described with reference to the drawings in more detail. Though some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various manners and should not be interpreted as being limited to the embodiments set force herein. Conversely, these embodiments are provided for understanding of the present disclosure more thorough and complete. It should be understood that the drawings and embodiments are only for exemplary purpose, but not for limiting the protection scope of the present disclosure.

[0025] As used herein, the term "network device" refers to other entities or nodes having specific functions in a base station or a communication network. The term "base station" (BS) used herein can represent node B (NodeB or NB), an evolved node B (eNodeB or eNB), a remote radio unit (RRU), a radio frequency head (RH), a remote radio head (RRH), a relay, or a low power node such as a femto station and a pico station, etc. In the context of the present disclosure, for the sake of convenience of discussion, terms "network device" and "base station" can be used interchangeably and eNB may be mainly taken as an example of the network device. [0026] As used herein, the terms "terminal device" or "user equipment" (UE) refer to any terminal device that can perform wireless communication with the base station or with each other. As an example, a terminal device may include a mobile terminal (MT), a subscriber station (SS), a portable subscriber station (PSS), a mobile station (MS), or an access terminal (AT), and the above devices mounted on a vehicle. In the context of the present disclosure, for the sake of convenience of discussion, terms "network device" and "user device" can be used interchangeably.

[0027] As used herein, the term "includes" and its variants are to be read as open-ended terms that mean "includes, but is not limited to." The term "based on" is to be read as "based at least partly on." The term "one example embodiment" is to be read as "at least one example embodiment"; the term "another embodiment" is to be read as "at least one other embodiment." The relevant definitions of other terms will be given in the following description.

[0028] As briefly illustrated above, to realize V2P (or P2V) communication, vehicle-mounted UE and pedestrian UE such as in a cell or area need to use a resource pool in the area continuously to send an advancement data packet that records their own advancement information. However, a pedestrian UE is unable to determine a congestion condition of a resource pool assigned to a particular area in a cell. Specifically, a vehicle-mounted UE usually has a constant power supply and sends advancement data packets more frequently (such as every 100 millisecond) and thus, can receive advancement data packets sent by other UEs in the resource pool. As such, a vehicle-mounted UE can estimate a congestion level of a resource pool and can further take congestion control means to relieve congestion of the resource pool.

[0029] Pedestrian UE, in contrast, generally has power limitation to a certain extent. Hence, to reduce power consumption, the frequency for a pedestrian UE to send data packets is significantly lower than the vehicle-mounted UE, for instance, every 1 second.

Furthermore, a pedestrian UE does not receive advancement data packets sent by other UEs.

Therefore, a pedestrian UE is unable to estimate a congestion level of a resource pool directly through advancement data packets sent by other UEs, hence being unable to resolve situation of congestion of sending of advancement data packets due to congestion of the resource pool.

[0030] However, congestion level information is a vital input for congestion control. As it is impossible to determine the congestion condition, a pedestrian UE is unable to solve independently the problem of congestion of sending of advancement data packets caused by congestion of the resource pool. Therefore, a solution is in need to let a pedestrian UE obtain congestion level information, so that the pedestrian UE can realize congestion control for P2V communication. To solve these and other potential problems, embodiments of the present disclosure provide a mechanism for congestion control which helps a pedestrian UE to obtain congestion level information with the aid of the vehicle-mounted UE in the same area.

[0031] Generally, according to the embodiments of the present disclosure, first of all, one or more vehicle-mounted UEs estimate a congestion level and selectively send a congestion level report to a network device such as a base station. Then, the base station processes the congestion level information of these reports and broadcasts the relevant congestion level to the pedestrian UE. The pedestrian UE adjusts a transmission parameter based on the broadcasted congestion level to realize congestion control in the transmission resource pool.

[0032] For the sake of convenience of discussion, embodiments of the present disclosure will be discussed in combination with "areas" in a cell. As is known, in the radio access network layer 2 (RAN2), it is agreed that the mapping of the geographical positions and resources can be completed in the concept of area. Furthermore, the area concept can be implemented at the cell level. However, it should be understood that the embodiments of the present disclosure can also be applied at the cell level directly. In other words, an area in a cell can be the whole cell per se. Besides, the embodiments of the present disclosure can be completed in virtue of an interface that supports direct communication between UEs, for instance, PC5 air interface. However, the present invention can also be adapted to be suitable for other manners of communication, and are not limited to the vehicle UE and pedestrian UE. [0033] FIG. 1 illustrates a communication environment 100 in which embodiments of the present disclosure can be implemented. As shown in FIG. 1, a communication environment 100 comprises a cell 105 which includes a base station 110 and two areas that have been divided, namely, area 1 120 and area 2 130. The area 1 120 includes a plurality of UEs therein, namely, UE1 120-1, UE2 120-2, UE3 120-3 and UE4 120-4. The area 2 130 can also include a plurality of UEs, namely, UE5 130-1 and UE 6 130-2. A network device (such as a base station) 110 can communicate with UE1 120-1 to UE 6 130-2 in the cell 105, such as transmitting area configuration and so on. As an example, UEs shown in FIG. 1 may include vehicle-mounted UEs or pedestrian UEs. Of course, terminal devices of other types are also possible.

[0034] An area configuration includes information regarding area 120 or 130 and a resource pool associated with area 120 or 130. UE1 120-1 to UE6 130-2 in the cell 105 can determine which area they belong to based on their own positions and area configurations. It should be understood that the number of UEs shown in FIG. 1 is only for the purpose of illustration but not for limiting. Each area may include any proper number of UEs. It should be understood that the smaller the area in the cell is divided, the smaller the furthest relative distance between UEs in the area will be, so that the congestion level of the resource pool in the area obtained by the pedestrian UEs through vehicle-mounted UEs in the same area can be more accurate.

[0035] As stated above, UE1 120-1 to UE6 130-2 in the cell 105 may include, for instance, vehicle-mounted UEs and pedestrian UEs. As vehicle-mounted UEs have no or smaller power limit and thus can perform both transmission and reception of data packets. Therefore, by monitoring the transmission resource pool in the area, vehicle-mounted UEs can estimate the congestion level of the transmission resource pool directly through scheduling assignment (SA) decoding and energy measurement.

[0036] FIG. 2 illustrates an overall data stream diagram 200 of a method for congestion control in some embodiments. As shown in the figure, UE1 120-1 (such as a vehicle-mounted UE) determines (202) an estimated congestion level of a transmission resource pool in the area that it belongs to. Thereafter, UE1 120-1 sends (204) a congestion level report indicating the congestion level to a network device 110. After having received the congestion level report, the network device 110 determines (206) congestion level information of the resource pool at least partly based on the estimated congestion level and broadcasts (208) the congestion level information to UE2 120-2 (such as pedestrian UE) that is unable to sense the congestion level of the resource pool directly. After having received the broadcasted congestion level information, UE2 120-2 can adjust (210) its own transmission parameter according to the congestion level.

[0037] As illustrated in the figure, in some embodiments, more UEs can participate in the above process. Operations performed by these UEs are optional and thus are shown in dotted lines in FIG. 2. To be specific, in the example shown in FIG. 2, UE3 120-3, for example, can also be a vehicle-mounted UE and therefore can send an resource pool congestion level estimated by it to the network device 110. In such an embodiment, as will be illustrated in detail in the following content, the network device 110 can determine (206) the congestion level based on more estimation samples, thereby improving accuracy. UE4 120-4, for instance, can be a pedestrian UE and can acquire the congestion level indirectly by receiving the congestion level information broadcasted (208) by the network device 110 and make corresponding adjustment (210) to a transmission parameter. The properties and operations of these UEs are the same as those of UE1 120-1 and UE2 120-2 and will not be repeated here.

[0038] It should be understood that the number of UEs shown in FIG. 2 is only for the purpose of illustration but not for limiting. Furthermore, the various processes and actions shown in FIG. 2 (for example, UE2 120-2 and UE4 120-4 adjust their own transmission parameter based on the received and broadcasted congestion level information) are also merely for the purpose of illustration but not for limiting. In different embodiments, the number of UEs and the involved processes and actions can all be different.

[0039] Moreover, the embodiments of the present disclosure are not limited to one resource pool. Conversely, in some embodiments, one or more vehicle-mounted UEs can report the respective estimated congestion level of different resource pools in the area to the first terminal device 120-1. As such, the network device 110 can determine congestion levels of a plurality of resource pools.

[0040] Besides, in some embodiments, if it is determined that the resource pool in an area is overcrowded and requires more resources, the network device 110 can configure terminal devices in other areas (such as the adjacent areas) to report congestion levels, even if those areas are not overloaded (the congestion level is not higher than the threshold). Based on the congestion levels of these other areas, the network device 110 can redistribute available resources in the cell by adjusting resource pools for the area. [0041] The principles and detailed embodiments of the present disclosure will be described in detail in the following content with reference to FIG.s 3-5 from the perspective of base station 110, UE1 120-1 (vehicle-mounted UE) and UE2 120-2 (pedestrian UE). First of all, with reference to FIG. 3, a flow diagram of congestion control method 300 in some embodiments is illustrated from the perspective of the network device 110. It should to be understood that method 300 is implemented under the condition that a plurality of areas have been divided in the cell as illustrated above.

[0042] As shown in the figure, at step 302, the network device 110 selects a first terminal device 120-1 from a plurality of terminal devices located in an area of a cell of a network device 110 so as to receive a congestion level report. For example, at network device 110, it can be selected that the congestion level report can be received only from s first terminal device 120-1 which has radio resource control (RRC) connection. As such, only that or the selected first terminal devices 120-1 need to send congestion level reports to the network device 110 when conditions are satisfied.

[0043] It should be understood that the network device 110 can also select other terminal devices, such as the third terminal device 120-3, at the same time so as to receive the congestion level report. By selecting only the designated terminal devices to send the congestion level report, the signaling overheads required by establishing connection between the terminal device that sends the congestion level report and the network device 110 can be saved.

[0044] It should be understood that step 302 is not compulsory and for this reason, it is shown in dotted lines in the figure. For example, when there only exists one terminal device that can send the congestion level report in the area, or when the network device 110 desires to receive congestion level reports from all terminal devices that can send the congestion level reports in the area, the network device 110 does not need to select a particular first terminal device 120-1 to receive the congestion level information. For another example, one or more terminal devices may be determined in advance to send the congestion level report. In all of these cases, the action 302 can be omitted.

[0045] At step 304, the network device 110 receives a first congestion level report from the selected first terminal device 120-1, the first congestion level report indicating a first estimated congestion level of the resource pool assigned by the network device 110 to the area, the first estimated congestion level being determined by the selected first terminal device 120-1.

[0046] In some embodiments, it can be understood that after the resource pool in the area is configured in the network device 110, or the resource pool is designated to the area, the first terminal device 120-1 transmits an advancement data packet through the resource pool. The advancement data packet indicates at least some of position information, an advancement speed and an advancement direction of the first terminal device 120-1. Furthermore, the first terminal device 120-1 can receive an advancement data packet in the resource pool that is transmitted by other first terminal devices 120-1 and second terminal devices 120-2, thus monitoring the resource pool and estimating the first estimated congestion level of the resource pool through scheduling assignment decoding and energy measurement as mentioned above. After that, the first terminal device 120-1 sends a first congestion level report indicating the first estimated congestion level of the resource pool to the network device 110.

[0047] In some embodiments, the first terminal device 120-1 can report congestion level to the network device 110 through an UU interface between the first terminal device 120-1 and the network device 110 and via the control element (CE) of the RRC signaling and/or medium access control (MAC). [0048] In some embodiments, when sending the first congestion level report, the first terminal device 120-1 may contain the area index so that the network device 110 can obtain the area that the terminal device which sends the congestion level report is located in directly when terminal devices belonging to different areas send the congestion level report to the network device 110 at the same time. [0049] In some embodiments, if the associated signaling overheads is acceptable, then the first terminal device 120-1 can also report the first estimated congestion level of the resource pool and the position information of the first terminal device 120-1 (such as latitude and longitude) to the network device 110 at the same time. The position information can provide more information than the area index and can be useful for applications other than applications that require, for instance, the positioning operation. Meanwhile, the network device 110 can deduce the area index of the area that the first terminal device 120-1 is located in from the position of the first terminal device 120-1.

[0050] It should be understood that various embodiments of the present disclosure are mainly targeted at the condition that the first terminal device 120-1 and the second terminal device 120-2 share the same resource pool. In some embodiments, the network device 110 can assign a resource pool dedicated for use by the second terminal device 120-2 to transmit the advancement data packet to the second terminal device 120-2. Then, the first terminal device 120-1 in the same area is required to monitor the dedicated resource pool of the second terminal device 120-2 and determine the first estimated congestion level for the dedicated resource pool of the second terminal device 120-2.

[0051] Similarly, when the first terminal device 120-1 and the second terminal device 120-2 in the same area share the same resource pool, the advancement data packet transmitted by the first terminal device 120-1 and the second terminal device 120-2 can be divided. For example, the packet type can be indicated in the advancement data packet or SA so that the first terminal device 120-1 can estimate the first estimated congestion level caused separately by the advancement data packet transmitted by the second terminal device 120-2. Since the first terminal device 120-1 can estimate the congestion level of the resource pool directly, when the first terminal device 120-1 determines that the resource pool has congestion, it can adjust its own transmission parameter including a transmission power, a number of retransmissions and a transmission period for the purpose of congestion control.

[0052] Continuing to refer to FIG. 3, at the optional step 306, the network device 110 receives a second congestion level report from at least one third terminal device 120-3 located in the area, the second congestion level report indicating a second estimated congestion level of the resource pool determined by the third terminal device 120-3. As such, the network device 110 can receive the estimated congestion level report from another terminal device in the same area for further operation. It should be understood that the network device 110 can also receive the estimated congestion level report from more terminal devices in the same area and will not be repeated here. Of course, the network device 110 can receive the first congestion level report only from the first terminal device 120-1 and step 306 can be omitted under this condition.

[0053] At step 308, the network device 110 determines the congestion level of the resource pool at least partly based on the estimated congestion level indicated by the received congestion level report. Due to the terminal device itself and factors such as error and delay in network communication, the estimated congestion levels indicated by the congestion level reports received from different terminal devices may not be necessarily the same. Therefore, the estimated congestion level provided by the terminal device may not be necessarily the same as the actual congestion level. In some embodiments, the network device 110 may determine the congestion level of the resource pool by, for example, increasing or decreasing error amount and averaging (for the condition that two or more congestion level reports are received) based on the estimated congestion level indicated by the received congestion level report. [0054] In some embodiments, when determining the congestion level of the resource pool, the network device 110 can take comprehensive consideration, for example, of the congestion level reports sent by different terminal devices in the same area and the position of each terminal device for being able to determine the congestion level more accurately. Of course, in some embodiments, the network device 110 can directly select the estimated congestion level provided by some vehicle-mounted UE as the congestion level to be broadcast. For example, this is the case when there is only one terminal device 120-1 reporting the estimated congestion level to the network device 110. [0055] At step 310, the network device 110 broadcasts the congestion level information indicating the congestion level for reception by the second terminal device 120-2 located in the area. As stated above, the second terminal device 120-2 is unable to estimate directly the congestion level of the resource pool of the area in which it is located. Therefore, the network device 110 informs the second terminal device 120-2 of the congestion level of the resource pool in the manner of broadcasting.

[0056] In some embodiments, the network device 110 broadcasts the congestion level information to the second terminal device 120-2 via the system information block (SIB) and through the system information, and as stated above, the congestion level information can indicate the congestion level of the resource pool and the area index. In some embodiments, the network device 110 can also broadcast the specific position in the area and the congestion level in these positions for reception by the second terminal device 120-2 adjacent to the position.

[0057] At an optional step 312, the network device 110 can adjust the transmission parameter for the second terminal device 120-2 based on the congestion level of the resource pool and broadcast the adjusted transmission parameter for reception by the second terminal device 120-2. It can be understood that the network device 110 can acquire the estimated congestion level of the resource pool of the cell and the area in the cell comparatively accurately and information such as position information of the first terminal device 120-1 and the second terminal device 120-2 in the cell and the area in the cell. Furthermore, the network device 110 usually has a calculation capability greater than those of the first terminal device 120-1 and the second terminal device 120-2. Therefore, the network device 110 can calculate the adjusted transmission parameter for the second terminal device 120-2.

[0058] Similar to the first terminal device 120-1, a transmission parameter for the second terminal device 120-2 may include a transmission power, a number of retransmissions, a transmission period and so on. The network device 110 broadcasts the adjusted transmission parameter for the second terminal device 120-2 to the second terminal device 120-2 for reception by the second terminal device 120-2 and for further using for modify the transmission parameter of the second terminal device 120-2. It should be understood that the second terminal device 120-2 can adjust the transmission parameter automatically by receiving the broadcasted congestion level information. Hence, step 312 may be omitted under some conditions. [0059] At an optional step 314, the network device 110 can adjust configuration of the resource pool assigned to the area and broadcast the adjusted configuration for reception by the first terminal device 120-1 and the second terminal device 120-2. As stated above, when congestion level information received by the network device 110 indicates that the area is overcrowded and requires more resources, the network device 110 can redistribute the available resources in the cell by adjusting the resource pool for the area. After the configuration of the resource pool is adjusted, the network device 110 can broadcast the adjusted configuration to the user device (such as the first terminal device 120-1 and the second terminal device 120-2) in the cell.

[0060] It should be understood that the adjustment to the configuration of the resource pool is not compulsory. Thus, step 314 can be omitted under some conditions. It shall be understood that the execution order of steps like steps 312 and 314 is not fixed. Conversely, no matter what the order for implementing these steps is or whether these steps are implemented at the same time, the technical effect expected to be realized by the embodiments of the present disclosure will not be affected. [0061] Now, reference is made to FIG. 4 which illustrates a flow diagram of the congestion control method 400 in some embodiments from the perspective of the first terminal device 120-1. It should be understood that method 400 is implemented under the condition that there are a plurality of areas divided in the cell, as stated above. A first terminal device 120-1 is located in an area of a cell of the network device 110. [0062] As shown in the figure, at step 402, the first terminal device 120-1 determines an estimated congestion level of the resource pool assigned by the network device 110 to the area. In some embodiments, the first terminal device 120-1 determines the estimated congestion level based on an advancement data packet transmitted on the basis of the resource pool. It should be understood that the above advancement data packet is not limited to be transmitted by the first terminal device 120-1, but can be transmitted by other terminal devices such as the second terminal device 120-2, the third terminal device 120-3 and the like. Therefore, for the sake of taking comprehensive consideration of various advancement data packets, the first terminal device 120-1 can determine the estimated congestion level based on the advancement data packet transmitted by all the terminal devices in the area using the resource pool. The advancement data packet can indicate at least some of position information, an advancement speed and an advancement direction of the terminal device that sends the advancement data packet as stated above.

[0063] At step 404, the first terminal device 120-1 generates a congestion level report indicating the estimated congestion level. As stated above, in some embodiments, the congestion level report may include an area index of the area that the first terminal device 120-1 is located in or position information of the first terminal device 120-1, which can facilitate the network device 110 obtaining information such as the area that the first terminal device 120-1 is located in easily and performing following-up processing.

[0064] At step 404, the first terminal device 120-1 sends the congestion level report to the network device 110 for the network device 110 to broadcast congestion level information, the congestion level information indicating the congestion level of the resource pool determined by the network at least partly based on the estimated congestion level. The operation performed herein is similar to that performed in method 300 and thus will not be repeated here.

[0065] Particularly, as stated above, the first terminal device 120-1 can be a vehicle-mounted UE and thus has no power limit. However, in some embodiments, for the purpose of saving power, some measures can still be taken to reduce the frequency at which the first terminal device 120-1 transmits the congestion level report to the network device 110. For example, one or more predetermined conditions can be established. Only if these conditions are met does the terminal device 120-1 transmit congestion level report, which can reduce the scenarios where it is necessary to transmit the congestion level report to the network device 110.

[0066] For example, in some embodiments, the first terminal device 120-1 can send the congestion level report based on a comparison with a predetermined threshold. In other words, only if the estimated congestion level is higher than the predetermined threshold level that the estimated congestion level is reported to the network device 110. In this manner, the congestion level is reported only if the congestion is severe, thereby reducing the load of the first terminal device 120-1.

[0067] Alternatively or additionally, in some embodiments, the change amount of the estimated congestion level since the time when the network device 110 sends the previous congestion level report can be tracked. If this change amount exceeds the threshold change amount, then the estimated congestion level is transmitted, which can avoid sending the same or similar congestion level report frequently without obvious change of the congestion level. [0068] For another example, in some embodiments, it can be detected if the first terminal device 120-1 enters a new area from the current area. If it does, then the first terminal device 120-1 is triggered to send a congestion level report to the network device 110. It shall be understood that the assigned resource pool changes as the area changes. With this condition, it can be ensured that the first terminal device 120-1 reports the congestion level to the network device 110 when entering this new area for the first time. As such, the network device 110 can learn about the congestion condition of the resource pool in this new area directly.

[0069] In some embodiments, the first terminal device 120-1 can reduce the times of sending congestion level report to the network device 110 easily by sending a congestion level report to the network device periodically. It should be understood that the period for the first terminal device 120-1 to send the congestion level report to the network device 110 can be set by the first terminal device 120-1 automatically or by the first terminal device 120-1 assigned by the network device 110. By configuring the period for the first terminal device 120-1 to send a congestion level report to the network device 110 appropriately, the signaling overheads involved in sending a congestion level report by the first terminal device 120- lean be controlled to an acceptable level.

[0070] In some embodiments, an estimated congestion level can be determined for the first terminal device 120-1 to determine the report probability based on which the congestion level report is sent to the network device 110. Generally, the report probability decreases as the estimated congestion level grows. Specifically, when there are a plurality of terminal devices in the same area and the congestion is severe, each terminal device is likely to be confronted with congestion. At this time, the network device 110 can actually determine that the congestion in the area is severe when only a few terminal devices report severe congestion and thus, it is unnecessary for more terminal terminal devices to report the congestion level, respectively.

[0071] For example, in an embodiment, the report probability (represented as p t ) can be configured based on the estimated congestion level determined at the first terminal device 120-1 so that p t is smaller when the congestion level is higher. Furthermore, the first terminal device 120-1 can generate a random number p in the range from 0 to 1. If p is smaller than the report probability p t , then the first terminal device 120-1 reports the congestion level to the network device 110, otherwise not. In this fashion, when the report probability is lower, the chance that the random number p is smaller than p t will be slimmer. As such, the number of terminal devices that report the congestion level to the network device 110 can be reduced significantly when there are a plurality of terminal devices in the area.

[0072] Reference is made to FIG. 5 which illustrates a flow diagram of the congestion control method 500 in some embodiments from the perspective of the second terminal device 120-2. It should be understood that method 500 is implemented when there a plurality of areas divided in the cell. A second terminal device 120-2 is located in an area of a cell of a network device 110 and it is unable to estimate a congestion level of the resource pool directly.

[0073] As shown in the figure, at step 502, the second terminal device 120-2 receives congestion level information broadcasted by the network device 110. As stated above, the congestion level information indicates the congestion level of the resource pool assigned by the network device 110 to the area, while the congestion level is determined by the network device 110 at least in part based on an estimated congestion level of the resource pool determined by the first terminal device 120-1 in the area. The specific operation described in this step is similar to the corresponding operation in method 300 and 400 and will not be repeated here.

[0074] At an optional step 504, the second terminal device 120-2 receives a transmission parameter of the second terminal device 120-2 broadcasted by the network device 110 which are determined by the network device 110 based on the congestion level. The specific operation described in the step is similar to the corresponding operation in method 300 and will not be repeated here. After this, the second terminal device 120-2 can continue to transmit advancement data packet based on the transmission parameter determined by the network device 110 based on the congestion level. It should be noted that the network device 110 might not determine and broadcast the transmission parameter of the second terminal device 120-2. Hence, step 504 can be omitted.

[0075] At step 506, the second terminal device 120-2 adjusts the transmission parameter of the second terminal device 120-2, such as a transmission power, a number of retransmissions, a transmission period and so on based on the congestion level. Thereafter, the second terminal device 120-2 can continue to transmit the data packet based on the adjusted transmission parameter. As stated above, in some embodiments, the network device 110 can also broadcast the specific positions in the area and the congestion levels in these positions for reception by the second terminal device 120-2. Therefore, in these embodiments, the second terminal device 120-2 adjusts transmission parameter based on the congestion levels of the positions adjacent to its own position.

[0076] At an optional step 508, the second terminal device 120-2 receives the adjusted configuration of the source pool broadcasted by the network device 110. The specific operation described in this step and the corresponding operation in method 300 are similar and will not be repeated here. It should be understood that the network device 110 may not broadcasting the adjusted configuration of the resource pool. Therefore, step 508 can be omitted.

[0077] It should be understood that the execution order of steps in method 500, such as step 504, step 506 and step 508, is not definite and limited to the order shown in the figure. Conversely, no matter what the order for implementing these steps is or whether these steps are implemented at the same time, the technical effect expected to be achieved by the embodiments of the present disclosure will not be affected.

[0078] FIG. 6 illustrates a block diagram of an apparatus 600 in some embodiments. It can be understood that apparatus 600 can be implemented at the network device 110 shown in FIG. 1 and FIG. 2. As shown in FIG. 6, the apparatus 600 (such as network device 110) includes: a first receiving unit 605 is configured to receive a first congestion level report from a selected first terminal device 120-1 located in an area of a cell 105 of a network device 110, the first congestion level report indicating a first estimated congestion level of a resource pool assigned by the network device 110 to the area, the first estimated congestion level being determined by the selected first terminal device 120-1; a determining unit 610 configured to determine a congestion level of the resource pool at least partly based on the first estimated congestion level; and a first broadcasting unit 615 configured to broadcast congestion level information indicating the congestion level for reception by the second terminal device 120-2 located in the area, wherein the second terminal device 120-2 is unable to estimate the congestion level of the resource pool directly.

[0079] In some embodiments, the apparatus 600 further comprises: an adjusting unit configured to adjust a transmission parameter for the second terminal device 120-2 based on the congestion level of the resource pool; and a second broadcasting unit configured to broadcast the adjusted transmission parameter for reception by the second terminal device.

[0080] In some embodiments, the transmission parameter comprise at least one of the following: a transmission power, a number of retransmissions and a transmission period.

[0081] In some embodiments, the apparatus 600 may further comprise an adjusting unit configured to adjust a configuration of the resource pool assigned to the area; and a second broadcasting unit configured to broadcast the adjusted configuration for reception by the first terminal device 120-1 and the second terminal device 120-2. [0082] In some embodiments, the device 600 may further comprise a selecting unit configured to select the first terminal device 120-1 from a plurality of terminal devices located in the area based on a predefined criterion.

[0083] In some embodiments, the first receiving unit 605 may further comprise a second receiving unit configured to receive the first congestion level report from the first terminal device 120-1 periodically.

[0084] FIG. 7 illustrates a block diagram of an apparatus 700 in some embodiments. It can be understood that apparatus 700 can be implemented at UE120-1 shown in FIG. 1 and FIG. 2. As stated above, it is assumed that UE120-1 can estimate directly the congestion level of the resource pool assigned by a network device 110 to an area. [0085] As shown in FIG. 7, the apparatus 700 (such as the first terminal device 120-1) includes: a first determining unit 705 configured to determine an estimated congestion level of a resource pool assigned by the network device 110 to the area; a generating unit 710 configured to generate a congestion level report indicating the estimated congestion level; and a first transmitting unit 715 configured to send the congestion level report to the network device 110 for the network device 110 to broadcast congestion level information, the congestion level information indicating the congestion level of the resource pool determined by the network at least partly based on the estimated congestion level.

[0086] In some embodiments, the first transmitting unit 715 may further include a second transmitting unit configured to send a congestion level report to the network device 110 in response to at least one of the following: the estimated congestion level being higher than a predetermined threshold level, since the time when the network device 110 sends the previous congestion level report, a change amount of the estimated congestion level exceeding a threshold change amount, and detecting that the apparatus 700 enters a new area from the area.

[0087] In some embodiments, the first determining unit 705 may further comprise a second determining unit configured to determine a report probability based on the estimated congestion level, the report probability decreasing as the estimated congestion level increases; the first transmitting unit 715 may further comprise a third transmitting unit configured to transmit the congestion level report to the network device 110 based on the report probability

[0088] In some embodiments, the first determining unit 705 may further comprise a third determining unit configured to determine the estimated congestion level based on an advancement data packet transmitted using the resource pool.

[0089] In some embodiments, the advancement data packet indicates at least one of the following of the corresponding terminal device: position information, an advancement speed and an advancement direction.

[0090] In some embodiments, the first transmitting unit 715 may further include a fourth transmitting unit configured to transmit the congestion level report to the network device 110 periodically.

[0091] FIG. 8 illustrates a block diagram of an apparatus 800 in some embodiments. It can be understood that apparatus 800 can be implemented at UE120-2 shown in FIG. 1 and FIG. 2. As stated above, it is assumed that UE 120-2 is unable to estimate a congestion level of a resource pool assigned by a network device 110 to an area directly.

[0092] As shown in FIG. 8, apparatus 800 (such as the second terminal device 120-2) includes: a first receiving unit 805 configured to receive congestion level information broadcasted by the network device 110, the congestion level information indicating the congestion level of the resource pool, the congestion level being determined by the network device 110 at least partly based on an estimated congestion level of the resource pool determined by another terminal device (such as the first terminal device 120-1) in the area.

[0093] In some embodiments, the device 800 may further comprise an adjusting unit configured to adjust a transmission parameter of the apparatus 800 based on the congestion level. [0094] In some embodiments, the transmission parameter includes at least one of the following: a transmission power, a number of retransmissions, and a transmission period. [0095] In some embodiments, the first receiving unit 805 may further include a second receiving unit configured to receive the transmission parameter of the apparatus 800 broadcasted by the network device 110, the transmission parameter being determined by the network device 110 based on the congestion level. [0096] In some embodiments, the first receiving unit 805 may further include a third receiving unit configured to receive an adjusted configuration of the resource pool broadcasted by the network device 110.

[0097] It should be understood that each unit recited in apparatus 600, apparatus 700 and apparatus 800 corresponds to each step of method 300, method 400 and method 500 described with reference to FIGs 1-5. Thus, the operations and features described with reference to FIGs 1-6 in the above content also apply to apparatus 600, apparatus 700 and apparatus 800 as well as the units contained therein and have the same effect, hence the details will not be repeated here.

[0098] Units contained in apparatus 600, apparatus 700 and apparatus 800 can be implemented in various manners, including software, hardware or any combination thereof. In an embodiment, one or more units can be implemented using software and/or firmware, for instance, the machine-executable instructions stored on the storage medium. Apart from machine-executable instructions or as an alternative, a part of or all the units in apparatus 600, apparatus 700 and apparatus 800 can be at least partly implemented by one or more hardware logic components. As an example but not limitation, the available example hardware logic components include a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), application specific standard parts (ASSP), a system on chip (SOC), and a complex programmable logic device (CPLD) and so on.

[0099] The units shown in FIG. 6, FIG. 7 and FIG. 8 can be partly or wholly implemented as a hardware module, a software module, a firmware module or any combination thereof. Specifically, in some embodiments, the procedure, method or process described in the preceding context can be implemented by a base station or hardware in a terminal device. For example, the base station or the terminal device can implement method 300, method 400 and method 500 using their transmitters, receivers, transceivers and/or processors or controllers.

[00100] FIG. 9 illustrates a block diagram of an device 900 suitable for implementing the embodiments of the present disclosure. Device 900 can be used to implement the network device, such as the network device or the base station 110 shown in FIG. 1 and FIG. 2; and/or to implement the terminal device, such as UEl 120-1 and UE2 120-2 shown in FIG. 1 and FIG. 2.

[00101] As shown in the figure, the device 900 includes a controller 910 which controls the operations and functions of device 900. For example, in some embodiments, the controller 910 can implement various operations by means of the instructions 930 stored in the memory 920 coupled thereto. The memory 920 can be any proper type adapted to the local technical environment and can be implemented using any proper data storage technology, including but not limited to a semiconductor-based storage device, a magnetic storage device and system and an optical storage device and system. Although FIG. 9 only illustrates one memory unit, a plurality of physically different memory units can be stored in device 900.

[00102] The controller 910 can be any proper type adapted to the local technical environment and may include, but not limited to, a general purpose computer, a dedicated computer, a microcontroller, a digital signal processor (DSP) and one or more of the multi-core controller architecture based on the controllers. The device 900 may also include a plurality of controllers 910 which are coupled to the transceiver 940 that can implement information reception and transmission by means of one or more antennas 950 and/or other components.

[00103] When the device 900 serves as the network device 110, the controller 910 and the transceiver 940 can operate in cooperation to implement the method 300 described with reference to FIG. 3 in the above content. When the device 900 serves as the first terminal device 120-1, the controller 910 and the transceiver 940 can operate in cooperation to implement the method 400 described with reference to FIG. 4 in the above content. When device 900 serves as the second terminal device 120-2, controller 910 and the transceiver 940 can operate in cooperation to implement the method 500 described with reference to FIG. 5 in the above content. For example, in some embodiments, all the actions involving data/information transmission and reception described above can be implemented by transceiver 940 while other actions can be executed by the controller 910. All the features described above with reference to FIG. 3, FIG. 4 and FIG. 5 apply to device 900 and will not be repeated here. [00104] Generally, the various exemplary embodiments of the subject matter described herein may be implemented in hardware or application- specific circuits, software, logics, or in any combination thereof. Some aspects may be implemented in hardware, while the other aspects may be implemented in firmware or software executed by a controller, a microprocessor or other computing devices. When various aspects of the subject matter described herein are illustrated or described into block diagrams, flow charts, or other graphical representations, it would be understood that the block diagrams, apparatus, system, technique or method described here may be implemented, as non-restrictive examples, in hardware, software, firmware, dedicated circuit or logic, common software or controller or other computing devices, or some combinations thereof.

[00105] As an example, the embodiments of the subject matter disclosed herein can be described in a context of machine-executable instructions which are included, for instance, in the program module executed in the device on a target real or virtual processer. Generally, a program module includes routine, program, bank, object, class, component and data structure, etc. and performs a particular task or implements a particular abstract data structure. In the embodiments, the functions of the program modules can be combined or divided among the described program modules. The machine executable instructions for the program module can be executed locally or in a distributed device. In the distributed device, the program module can be located in both of the local and remote storage mediums.

[00106] The computer program code for implementing the method of the subject matter described herein may be complied with one or more programming languages. These computer program codes may be provided to a general-purpose computer, a dedicated computer or a processor of other programmable data processing apparatuses, such that when the program codes are executed by the computer or other programmable data processing apparatuses, the functions/operations prescribed in the flow chart and/or block diagram are caused to be implemented. The program code may be executed completely on a computer, partly on a computer, partly on a computer as an independent software packet and partly on a remote computer, or completely on a remote computer or server.

[00107] In the context of the subject matter described herein, the machine-readable medium may be any tangible medium including or storing a program for or about an instruction executing system, apparatus or device. The machine -readable medium may be a machine-readable signal medium or machine-readable storage medium. The machine-readable medium may include, but not limited to, electronic, magnetic, optical, electro-magnetic, infrared, or semiconductor system, apparatus or device, or any appropriate combination thereof. More detailed examples of the machine-readable storage medium include, an electrical connection having one or more wires, a portable computer magnetic disk, hard drive, random-access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical storage device, magnetic storage device, or any appropriate combination thereof.

[00108] Besides, although the operations are depicted in a particular order, it should not be understood that such operations are completed in a particular order as shown or in a successive sequence, or all shown operations are executed so as to achieve a desired result. In some cases, multi-task or parallel-processing would be advantageous. Likewise, although the above discussion includes some specific implementation details, they should not be explained as limiting the scope of any invention or claims, but should be explained as a description for a particular implementation of a particular invention. In the present description, some features described in the context of separate embodiments may also be integrated into a single implementation. On the contrary, various features described in the context of a single implementation may also be separately implemented in a plurality of embodiments or in any suitable sub-group.

[00109] Although the subject matter has been described in language specific to structural features and/or methodological actions, it should be understood that the subject matters specified in the appended claims are not limited to the specific features or actions described above. Rather, the specific features and actions described above are disclosed as example forms of implementing the claims.