Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
USE OF MULTIPLE DEVICE-TO-DEVICE (D2D) DISCOVERY MESSAGE RESOURCES FOR TRANSMISSION OF A SERVICE MESSAGE IN A WIRELESS NETWORK
Document Type and Number:
WIPO Patent Application WO/2016/173644
Kind Code:
A1
Abstract:
An example technique is provided for controlling sending, by a first user device to an access node, a request for a plurality of D2D discovery message resources to be used to transmit a service message, the request indicating a number of requested D2D discovery message resources and including a single message indication that indicates the requested D2D discovery message resources are requested for the transmission of one service message; controlling receiving, by the first user device from the access node, an indication of a plurality of D2D discovery message resources allocated to the first user device; segmenting, by the first user device, the service message into a plurality of service message segments; and controlling sending, by the first user device to a second user device, each of the service message segments via a respective one of the D2D discovery message resources.

Inventors:
YU LING (FI)
VAN PHAN VINH (FI)
Application Number:
PCT/EP2015/059336
Publication Date:
November 03, 2016
Filing Date:
April 29, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
NOKIA SOLUTIONS & NETWORKS OY (FI)
International Classes:
H04W8/00; H04W72/04
Domestic Patent References:
WO2013179268A12013-12-05
WO2011143496A12011-11-17
Foreign References:
GB2499633A2013-08-28
Other References:
ZTE: "Discussion on the D2D discovery message size", vol. RAN WG2, no. Valencia, Spain; 20140331 - 20140404, 22 March 2014 (2014-03-22), XP050792662, Retrieved from the Internet [retrieved on 20140322]
"3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Study on LTE Device to Device Proximity Services; Radio Aspects (Release 12)", 3GPP STANDARD; 3GPP TR 36.843, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. RAN WG1, no. V12.0.1, 27 March 2014 (2014-03-27), pages 1 - 50, XP050770026
TSG SA WG1: "New WID for Study on LTE support for V2X services (FS_V2XLTE), from S1- 150284", vol. TSG SA, no. Shanghai; 20150311 - 20150313, 4 March 2015 (2015-03-04), XP050940425, Retrieved from the Internet [retrieved on 20150304]
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A method comprising:

controlling sending, by a first user device to an access node, a request for a plurality of device-to-device (D2D) discovery message resources to be used to transmit a service message, where a size of the service message is larger than one D2D discovery message, the request indicating a number of requested D2D discovery message resources and including a single message indication that indicates the requested D2D discovery message resources are requested for the transmission of one service message;

controlling receiving, by the first user device from the access node, an indication of a plurality of D2D discovery message resources allocated to the first user device; segmenting, by the first user device, the service message into a plurality of service message segments; and

controlling sending, by the first user device to a second user device, each of the service message segments via a respective one of the D2D discovery message resources.

2. The method of claim 1 wherein the request also includes a quality of service (QoS) parameter, including at least one of the following:

a priority for the service message; and

a maximum time delay or latency for the plurality of D2D discovery message resources to be used for the transmission of the service message.

3. The method of claim 2 wherein the controlling receiving, by the first user device from the access node, an indication of a plurality of D2D discovery message resources allocated to the first user device comprises controlling receiving an indication of a plurality of D2D discovery message resources that are scheduled within a maximum latency or maximum period of time based on the QoS parameter.

4. The method of any of claims 1-3 wherein the received plurality of D2D discovery message resources are provided during one discovery period.

5. The method of any of claims 1-4 wherein a header is provided for each of the V2X service message segments, each header comprising:

a message identifier that identifies or is associated with the service message; a segment identifier that identifies an order of the service message segment within the service message; and

a more/last segment flag that indicates whether or not the segment is a last service message segment for the service message.

6. The method of any of claims 1-5 wherein the service message comprises a vehicle-to-X (V2X) service message.

7. The method of any of claims 1-6 wherein the service message comprises at least one of the following:

a vehicle-to-vehicle (V2V) D2D message;

a vehicle-to-infrastructure (V2I) D2D message; and

a vehicle-to-person (V2P) D2D message.

8. The method of any of claims 1-7 and further comprising:

determining a size of a service message to be sent;

determining a number of D2D discovery message resources required for sending the service message; and

wherein the request for a plurality of device-to-device (D2D) discovery message resources includes an indication of the required number of D2D discovery message resources required for sending the service message.

9. An apparatus, comprising:

at least one processor; and

at least one non-transitory computer-readable storage medium comprising instructions, when executed by the at least one processor, are configured to cause the apparatus to:

control sending, by a first user device to an access node, a request for a plurality of device-to-device (D2D) discovery message resources to be used to transmit a service message, where a size of the service message is larger than one D2D discovery message, the request indicating a number of requested D2D discovery message resources and including a single message indication that indicates the requested D2D discovery message resources are requested for the transmission of one service message;

control receiving, by the first user device from the access node, an indication of a plurality of D2D discovery message resources allocated to the first user device;

segment, by the first user device, the service message into a plurality of service message segments; and

control sending, by the first user device to a second user device, each of the service message segments via a respective one of the D2D discovery message resources.

10. The apparatus of claim 9 wherein the request also includes a quality of service (QoS) parameter, including at least one of the following:

a priority for the service message; and

a maximum time delay or latency for the plurality of D2D discovery message resources to be used for the transmission of the service message.

1 1. The apparatus of claim 10 wherein causing the apparatus to control receiving, by the first user device from the access node, an indication of a plurality of D2D discovery message resources allocated to the first user device comprises causing the apparatus to control receiving an indication of a plurality of D2D discovery message resources that are scheduled within a maximum latency or maximum period of time based on the QoS parameter.

12. The apparatus of any of claims 9-11 wherein the received plurality of D2D discovery message resources are provided during one discovery period.

13. The apparatus of any of claims 9-12 wherein a header is provided for each of the service message segments, each header comprising:

a message identifier that identifies or is associated with the service message; a segment identifier that identifies an order of the service message segment within the service message; and a more/last segment flag that indicates whether or not the segment is a last service message segment for the service message.

14. The apparatus of any of claims 9-13 wherein the service message comprises a vehicle-to-X (V2X) service message.

15. The apparatus of any of claims 9-14 wherein the service message comprises at least one of the following:

a vehicle-to-vehicle (V2V) D2D message;

a vehicle-to-infrastructure (V2I) D2D message; and

a vehicle-to-person (V2P) D2D message.

16. The apparatus of any of claims 9-14 and further comprising:

determining a size of a service message to be sent;

determining a number of D2D discovery message resources required for sending the service message; and

wherein the request for a plurality of device-to-device (D2D) discovery message resources includes an indication of the required number of D2D discovery message resources required for sending the service message.

17. An apparatus comprising means for performing a method of any of claims

1-8.

18. A computer program product for a computer, comprising software code portions for performing the steps of any of claims 1-8 when said product is run on the computer.

19. A computer program product, the computer program product comprising a non-transitory computer-readable storage medium and storing executable code that, when executed by at least one data processing apparatus, is configured to cause the at least one data processing apparatus to perform a method comprising:

controlling sending, by a first user device to an access node, a request for a plurality of device-to-device (D2D) discovery message resources to be used to transmit a service message, where a size of the service message is larger than one D2D discovery message, the request indicating a number of requested D2D discovery message resources and including a single message indication that indicates the requested D2D discovery message resources are requested for the transmission of one service message;

controlling receiving, by the first user device from the access node, an indication of a plurality of D2D discovery message resources allocated to the first user device; segmenting, by the first user device, the service message into a plurality of service message segments; and

controlling sending, by the first user device to a second user device, each of the service message segments via a respective one of the D2D discovery message resources.

Description:
DESCRIPTION

TITLE

USE OF MULTIPLE DEVICE-TO-DEVICE (D2D) DISCOVERY MESSAGE

RESOURCES FOR TRANSMISSION OF A SERVICE MESSAGE IN A WIRELESS NETWORK

TECHNICAL FIELD

[0001] This description relates to wireless networks.

BACKGROUND

[0002] A communication system may be a facility that enables communication between two or more nodes or devices, such as fixed or mobile communication devices. Signals can be carried on wired or wireless carriers.

[0003] An example of a cellular communication system is an architecture that is being standardized by the 3 rd Generation Partnership Project (3GPP). A recent development in this field is often referred to as the long-term evolution (LTE) of the Universal Mobile Telecommunications System (UMTS) radio-access technology. E- UTRA (evolved UMTS Terrestrial Radio Access) is the air interface of 3GPP's Long Term Evolution (LTE) upgrade path for mobile networks. In LTE, access nodes, which are referred to as evolved Node Bs (eNBs), provide wireless access within a coverage area or cell. In LTE, mobile devices, or mobile stations are referred to as a user equipment (UE). LTE has included a number of improvements or developments. 5G wireless networks are also being developed. In addition, device-to-device (D2D) or proximity services (ProSe) wireless communications may be performed in which a user device directly communicates with another user device.

SUMMARY

[0004] According to an example implementation, a method may include controlling sending, by a first user device to an access node, a request for a plurality of device-to-device (D2D) discovery message resources to be used to transmit a service message, where a size of the service message is larger than one D2D discovery message, the request indicating a number of requested D2D discovery message resources and including a single message indication that indicates the requested D2D discovery message resources are requested for the transmission of one service message; controlling receiving, by the first user device from the access node, an indication of a plurality of D2D discovery message resources allocated to the first user device; segmenting, by the first user device, the service message into a plurality of service message segments; and controlling sending, by the first user device to a second user device, each of the service message segments via a respective one of the D2D discovery message resources.

[0005] According to an example implementation, an apparatus may include at least one processor and at least one memory including computer instructions, when executed by the at least one processor, cause the apparatus to: control sending, by a first user device to an access node, a request for a plurality of device-to-device (D2D) discovery message resources to be used to transmit a service message, where a size of the service message is larger than one D2D discovery message, the request indicating a number of requested D2D discovery message resources and including a single message indication that indicates the requested D2D discovery message resources are requested for the transmission of one service message; control receiving, by the first user device from the access node, an indication of a plurality of D2D discovery message resources allocated to the first user device; segment, by the first user device, the service message into a plurality of service message segments; and control sending, by the first user device to a second user device, each of the service message segments via a respective one of the D2D discovery message resources.

[0006] A computer program product may include a non-transitory computer- readable storage medium and storing executable code that, when executed by at least one data processing apparatus, is configured to cause the at least one data processing apparatus to perform a method including: controlling sending, by a first user device to an access node, a request for a plurality of device-to-device (D2D) discovery message resources to be used to transmit a service message, where a size of the service message is larger than one D2D discovery message, the request indicating a number of requested D2D discovery message resources and including a single message indication that indicates the requested D2D discovery message resources are requested for the transmission of one service message; controlling receiving, by the first user device from the access node, an indication of a plurality of D2D discovery message resources allocated to the first user device; segmenting, by the first user device, the service message into a plurality of service message segments; and controlling sending, by the first user device to a second user device, each of the service message segments via a respective one of the D2D discovery message resources.

[0007] According to another example implementation, an apparatus may include means for controlling sending, by a first user device to an access node, a request for a plurality of device-to-device (D2D) discovery message resources to be used to transmit a service message, where a size of the service message is larger than one D2D discovery message, the request indicating a number of requested D2D discovery message resources and including a single message indication that indicates the requested D2D discovery message resources are requested for the transmission of one service message; means for controlling receiving, by the first user device from the access node, an indication of a plurality of D2D discovery message resources allocated to the first user device; means for segmenting, by the first user device, the service message into a plurality of service message segments; and means for controlling sending, by the first user device to a second user device, each of the service message segments via a respective one of the D2D discovery message resources.

[0008] The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009] FIG. 1 is a block diagram of a wireless network according to an example implementation.

[0010] FIG. 2 is a diagram illustrating a device-to-device (D2D) wireless network according to an example implementation.

[0011] FIG. 3 is a flow chart illustrating operation of a user device according to another example implementation.

[0012] FIG. 4 is a diagram illustrating a segmentation of a service message into a plurality of discovery messages according to an illustrative example implementation.

[0013] FIG. 5 is a timing diagram illustrating operation of a wireless network according to an illustrative example implementation.

[0014] FIG. 6 is a block diagram of a network node (e.g., BS or user device) according to an example implementation.

DETAILED DESCRIPTION

[0015] FIG. 1 is a block diagram of a wireless network 130 according to an example implementation. In the wireless network 130 of FIG. 1 , user devices 131 , 132 and 133, which may also be referred to as mobile stations (MSs) or user equipments (UEs), may be connected (and in communication) with an access node, such as a base station (BS) 134, which may also be referred to as an access node or an enhanced Node B (eNB), network node, access node or any other suitable apparatus. BS 134 provides wireless coverage within a cell 136. Although only three user devices are shown within cell 136 (connected or attached to BS 134), any number of user devices may be provided. BS 134 is also connected to a core network 150 via a base station- core network (BS-core network) interface 151. A BS-core network interface may also be referred to as, for example, a S1 interface 151 or a backhaul connection. This is merely one simple example of a wireless network, and others may be used. According to an example implementation, at least part of the functionalities of a base station or (e)Node B (eNB) may be also be carried out by any node, server or host which may be operably coupled to a transceiver, such as a remote radio head.

[0016] According to an example implementation, a user device (user terminal, user equipment (UE)) may refer to a portable computing device that includes wireless mobile communication devices operating with or without a subscriber identification module (SIM), including, but not limited to, the following types of devices: a mobile station (MS), a mobile phone, a cell phone, a smartphone, a personal digital assistant (PDA), a handset, a device using a wireless modem (alarm or measurement device, etc.), a laptop and/or touch screen computer, a tablet, a phablet, a game console, a notebook, and a multimedia device, as examples. It should be appreciated that a user device may also be a nearly exclusive uplink only device, of which an example is a camera or video camera loading images or video clips to a network.

[0017] In LTE, core network 150 may be referred to as Evolved Packet Core (EPC), which may include a mobility management entity (MME) which may handle or assist with mobility/handover of user devices between BSs, one or more gateways that may forward data and control signals between the BSs and packet data networks or the Internet, and other control functions or blocks. Only a few of the blocks or functions of the example core network are described, and the core network 150 may include different and/or additional blocks/functions, for example. LTE may be used as an example.

However, the various implementations or techniques described herein may be applied to a 5G wireless network or other wireless networks.

[0018] According to an example implementation, user devices may operate in one of a plurality of communications modes, such as, for example: 1 ) a cellular communications mode in which a base station (or base stations) may provide wireless coverage via one or more cells, and communications/data between user devices may be transmitted through the BS. Thus, in a cellular communications mode, user devices may communicate via a BS. And, 2) a device-to-device (D2D) or proximity services (ProSe) communications mode in which user devices may directly communicate with each other. D2D (or ProSe) communications mode may also be referred to as sidelink

communications.

[0019] Also, in some cases, user devices may switch between communications modes, depending on the conditions or the situation. For example, a user device may initially operate in a cellular communications mode if a BS (or multiple BSs) are available to provide wireless services. However, in some cases, user devices may operate in a D2D communications mode if a BS is not available or if an infrastructure failure in the core network or network access has occurred, for example.

[0020] As an illustrative example, in some situations, the S1 interface 151 or link (or BS-core network interface or backhaul connection) may fail or break, which may interrupt or prevent transmission of (e.g., all or some of the) data or signals between the BS 134 and the core network 150. A failed or broken S1 interface 151 may occur due to a variety of circumstances, such as natural disasters (e.g., fire, earthquakes, hurricane or storm), war, failure of power company infrastructure, or other crisis or emergency. These are merely some example situations where a failed S1 interface 151 is likely to occur, but there may be other situations as well. A S1 interface failure may include, for example, a complete failure of the S1 interface 151 in which no signals or data may be transmitted or received over the S1 interface 151 , or a partial failure, in which the S1 interface 151 may operate in some degraded or reduced capacity. When the S1 interface 151 fails (complete failure), packets or data or signals from the core network 150 will no longer be received by the BS 134, and BS 134 is unable to send or forward data or other signals to the core network 150. In such a case, one or more user devices may switch to a D2D communications mode in which user devices may communicate directly with each other.

[0021] A user device may operate in a D2D communications mode for a variety of situations. For example, data/traffic may be offloaded from a BS or access node by allowing user devices to communicate directly with each other in a D2D communications mode.

[0022] In addition, in some situations, a BS or access node may not be available. According to an example implementation, a D2D communications network may be set up to provide wireless services to one or more select or limited classes of user devices. According to an example implementation, access to the D2D communications (or radio access) network may be limited to public safety user devices (e.g., policemen, firemen, doctors, and other emergency or rescue personnel). For example, after a natural disaster or other emergency situation, a D2D communications network may be set up to allow public safety (PS) users (e.g., firemen, policemen, doctors, military, rescue personnel) to communicate in a situation where a S1 interface has completely or partially failed, or the S1 interface does not exist, for example.

[0023] According to an example implementation, a user device operating in a D2D communications mode may be referred to as a D2D user/wireless device or simply a D2D wireless device. As described in greater detail herein, in some cases, D2D wireless devices may be provided in various locations or for various equipment or applications, such as a vehicle D2D wireless device (e.g., a D2D wireless device provided for or connected to a vehicle), an infrastructure D2D wireless device (e.g., a D2D wireless device provided for or part of infrastructure, such as transportation infrastructure, such as part of or connected to a traffic light and/or a road side unit (RSU)), a D2D wireless device on a person (e.g., a smartphone/wireless handset operating in a D2D communications mode), etc.

[0024] In addition, in an example implementation, D2D communications may occur as part of one or more vehicle-to-X (V2X) services, where X in this case may refer to a number of different D2D user devices, such as a vehicle D2D wireless device, an infrastructure D2D wireless device, or a D2D wireless device used by a person (e.g., a smartphone or handheld user device). Thus, V2X services may use or include communications between various user/wireless devices, such as, for example: vehicle- to-vehicle (V2V) D2D communications, vehicle-to-infrastructure (V2I) D2D

communications, and vehicle-to-person (V2P) D2D communications, as examples. According to a non-limiting illustrative example, V2X communications/services may, at least on some examples, be used to improve automobile (or vehicle) traffic safety and/or traffic congestion, for example, or for other vehicle-related application.

[0025] For example, vehicles on a road or highway may each be equipped with a vehicle D2D wireless device, e.g., including a processor, memory wireless transceiver, protocol stack and/or related software, which may be provided as part of a user device. However, in this example case, the vehicle D2D wireless device may be provided or used wireless/user device provided on or within a vehicle (e.g., automobile or other vehicle). A vehicle D2D wireless device may wirelessly discover other vehicle D2D wireless devices in proximity. After discovery of each other, for example, a first vehicle D2D wireless device may exchange one or more V2X service messages with a second vehicle D2D wireless device in close proximity (e.g., adjacent on the same highway). For example, vehicle D2D wireless devices (user devices on vehicles) in proximity may exchange messages (e.g., V2X service messages) regarding their speed, location, etc., in order to avoid a possible vehicle collision, or warn of an oncoming vehicle, indicate that the first vehicle is performing a lane change, provide a slow vehicle warning (e.g., vehicle traveling below a threshold speed on the road), or other message(s) that may be exchanged between vehicle D2D wireless devices, e.g., in order to improve vehicle safety, improve traffic congestion, etc.

[0026] As another example of a V2X service, vehicle-to-infrastructure (V2I) communications may allow vehicle D2D wireless devices to communicate with infrastructure D2D wireless devices that may be provided as part of transportation infrastructure, e.g., at or near stoplights, along a road or highway, at rest-stops, or other location. Infrastructure D2D wireless devices may be used to provide, e.g., traffic- related information to vehicle D2D user/wireless devices. Infrastructure D2D wireless devices may also be connected to the Internet or other network, and therefore, may also operate as a base station or access node, for example. In one illustrative example, a stop light D2D user/wireless device may notify a vehicle D2D wireless device that is approaching the traffic light of a time when the light is expected to turn green, and the vehicle D2D wireless device may then display this information to the driver (e.g., "next traffic light will turn green in 11.3 seconds") to the driver of the vehicle or suggest a speed to travel to time reaching the light just before it turns green. Or, an infrastructure D2D wireless device may determine a traffic congestion status (e.g., traffic accident, or lane closure) for a highway, and then may send one or more V2X service messages to one or more vehicle D2D wireless devices to notify vehicles of the lane closure or accident, request approaching vehicles to slow down, to request vehicles to change lanes to avoid closed lane, to request vehicles to exit off a exit #42 to proceed on alternate route to avoid an accident, etc. These are merely a few examples of V2X services and associated V2X service messages that may be communicated between D2D devices, and many other V2X services and V2X service messages may be used or provided.

[0027] FIG. 2 is a diagram illustrating a device-to-device (D2D) wireless network according to an example implementation in which vehicle-to-X (V2X) service messages are communicated between D2D wireless devices according to an example

implementation. With reference to FIG. 2, vehicles (e.g., which may be automobiles or other vehicles) 220 and 230 may include vehicle D2D wireless devices 222 and 232, respectively. Also, in this illustrative example, a traffic light 240 along a road may include an infrastructure D2D wireless device 242. For example, each D2D wireless device (e.g., provided on/in a vehicle, provided on/in an infrastructure equipment such as a traffic light, or provided on a person) may include an antenna, a wireless transceiver (transmitter/receiver) for transmitting and receiving wireless/radio messages or signals, a processor (e.g., a baseband processor or other processor), a memory (e.g., for storing data, computer instructions, software, and/or a protocol stack), input/output devices (such as a keypad, a pointing device, a display). In an example implementation, the D2D user/wireless devices 222, 232 and 242 may provide one or more V2X wireless services, and may exchange or communicate/transmit one or more V2X service messages, e.g., to improve traffic safety, reduce traffic congestion, or other vehicle- related application or service.

[0028] According to an example implementation, communication between D2D wireless devices may include a discovery phase in which D2D wireless devices may discover each other, and then a communication phase in which messages may be communicated between D2D wireless devices may be followed or not. In an illustrative example implementation, each D2D wireless device may announce its presence to peer D2D wireless devices by sending/broadcasting a discovery message that may include a reference signal sequence or a beacon. According to an example implementation, in order to transmit a discovery message, a D2D wireless device may obtain from a BS or access node a discovery message resource, e.g., by sending a discovery message resource request to the BS, and then receiving a discovery message resource grant indicating an allocation (or grant) of a discovery message resource to the requesting D2D wireless device. The D2D wireless device may then transmit a beacon or discovery message via the allocated discovery message resource, for example. A discovery message resource (or a resource) may include a radio resource, e.g., which may include one or more time-frequency resources, one or more resource blocks (e.g., physical resource blocks), and/or one or more OFDM (orthogonal frequency division multiplexing) symbols, by way of example.

[0029] According to an example implementation a discovery message resource may be a fixed size, e.g., 232 bits, or other fixed size, as an example. This size of a D2D discovery message resource is merely an illustrative example, and other sizes may be used for discovery message resources. Also, D2D wireless devices may also transmit service messages, e.g., V2X service messages to other D2D wireless devices. According to an example implementation, a D2D wireless device (e.g., V2V wireless device) may transmit a V2X service message via one or more discovery message resources. However, according to an example implementation, a service message (e.g., V2X service message) may have a flexible size, e.g., 50 bytes - 3000 bytes, and may, at least in some cases, be larger than a discovery message resource size. Therefore, a D2D wireless device may need to obtain multiple (or a plurality of) D2D discovery message resources from the BS or access node for transmitting a V2X service message. The D2D wireless device may, for example, send a request for multiple discovery message resources to a BS, and then receive, from the BS, an indication of a plurality of D2D discovery message resources allocated or granted to the D2D wireless device for the transmission of the V2X service message.

[0030] In one example implementation, the requesting D2D wireless device may indicate, within the request for discovery message resources, an indication of a number of requested discovery message resources that are being requested, and a single message indication to indicate that the requested discovery message resources will be used to transmit a single service message. Other information may be provided within the resource request, such as a QoS parameter, e.g., indicating a priority or urgency of the V2X service or V2X service message, or a maximum latency or time delay for the requested resources (e.g., 5 ms), or a request for a contiguous group of discovery message resources, e.g., because all of these requested resources may be used to transmit one (a single) V2X service message, and a high amount of delay/latency may be unacceptable for some V2X applications/services. The requesting D2D wireless device may then segment the V2X service message into a plurality of V2X service message segments, add a header to each segment, and then may send or transmit each of the V2X service message segments via a respective one of the allocated discovery message resources. A receiving D2D wireless device may receive each of the segments, strip off the header from each segment, and then may reassemble the V2X service message by concatenating the plurality of V2X service message segments in a correct order.

[0031] FIG. 3 is a flow chart illustrating operation of a user device according to an example implementation. According to an illustrative example implementation, a vehicle D2D wireless device may perform the operations described with reference to the flow chart of FIG. 3, e.g., as part of providing and/or obtaining a V2X service and/or to transmit or receive one or more V2X service messages.

[0032] With respect to the flow chart of FIG. 3, operation 310 may include controlling sending, by a first user device (e.g., user device 132 or vehicle D2D wireless device 222) to an access node (e.g., BS 134) a request for a plurality of device-to-device (D2D) discovery message resources to be used to transmit a service message (e.g., which may be a vehicle-to-X (V2X) service message), where a size of the service message is larger than one D2D discovery message, the request indicating a number of requested D2D discovery message resources and including a single message indication that indicates the requested D2D discovery message resources are requested for the transmission of one service message. Operation 320 may include controlling receiving, by the first user device from the access node, an indication of a plurality of D2D discovery message resources allocated to the first user device. Operation 330 may include segmenting, by the first user device, the service message into a plurality of service message segments. And, operation 340 may include controlling sending, by the first user device to a second user device, each of the service message segments via a respective one of the D2D discovery message resources. [0033] According to an example implementation of the method of FIG. 3, the request also may include a quality of service (QoS) parameter, including at least one of the following: a priority (or urgency) for the service message, a maximum time delay or latency for the plurality of D2D discovery message resources to be used for the transmission of the service message. The request may also include a contiguous resource request that requests a group of contiguous discovery message resources. In one example implementation, the single message indication included in the request may be a contiguous resource request that requests a group of contiguous discovery message resources, e.g., for transmission of the service message.

[0034] According to an example implementation of the method of FIG. 3, the controlling receiving, by the first user device from the base station, an indication of a plurality of D2D discovery message resources allocated to the first user device may include controlling receiving an indication of a plurality of D2D discovery message resources that are scheduled within a maximum latency or maximum period of time based on the QoS parameter, and/or provided within a contiguous group of discovery message resources.

[0035] According to an example implementation of the method of FIG. 3, the received plurality of D2D discovery message resources may be provided during one discovery period. For example, a D2D wireless device may send/submit a request for discovery message resources for an upcoming discovery period, where the discovery period may include a group of X discovery message resources (e.g., resources for a group of 100 discovery messages).

[0036] According to an example implementation of the method of FIG. 3, a header may be provided for each of the service message segments, each header may include, for example: a message identifier that identifies or is associated with the service message, a segment identifier that identifies an order of the service message segment within the service message, and a more/last segment flag that indicates whether or not the segment is a last service message segment for the service message.

[0037] According to an example implementation, the service message may be a vehicle-to-X (V2X) service message. According to another example implementation of the method of FIG. 3, the service message may include at least one of the following: a vehicle-to-vehicle (V2V) D2D message, a vehicle-to-infrastructure (V2I) D2D message, and a vehicle-to-person (V2P) D2D message. [0038] According to an example implementation of the method of FIG. 3, the method may further include determining a size of a service message to be sent, determining a number of D2D discovery message resources required for sending the service message, and wherein the request for a plurality of device-to-device (D2D) discovery message resources includes an indication of the required number of D2D discovery message resources required for sending the service message.

[0039] FIG. 4 is a diagram illustrating a segmentation of a service message, such as a V2X service message, into a plurality of discovery messages according to an illustrative example implementation. As shown in FIG. 4, a V2X service message 410 is provided, and may be, for example, a V2V service message (e.g., transmitted/received between vehicle D2D wireless devices), a V2I message (e.g., transmitted/received between a vehicle D2D wireless device and an infrastructure D2D wireless device), and a V2P message (e.g., transmitted/received between a vehicle D2D wireless device and a person D2D wireless device). The example V2X message 410 may be communicated as part of a V2X service, e.g., to improve traffic safety among vehicles, to improve traffic congestion, etc.

[0040] In the illustrative example shown in FIG. 4, the V2X service message 410 may be segmented into N V2X service message segments. For example, the transmitting D2D wireless device may determine a number of discovery message resources to be requested for transmission of the V2X service message, e.g., based on a size of the V2X service message 410, a total size of each D2D discovery message resource, and a header size for each D2D discovery message. For one illustrative example, a D2D discovery message may be 232 bits, with 32 bits allocated for a header, allowing 200 bits for each discovery message to transport data. If V2X service message 410 is 800 bits (100 bytes), then 800/200 = 4 discovery message resources (or four D2D discovery messages) would be required to transmit this example V2X service message 410, which is 800 bits in length.

[0041] Thus, as shown in FIG. 4, the V2X service message 410 is segmented (or divided) into four segments (or parts), and each segment is sent/transmitted via an associated discovery message resource. For example, V2X service message segment 1 , along with a header 420 appended thereto, is sent/transmitted via a first D2D discovery message resource. Similarly, other V2X service message segments are transmitted, along with a respective header appended thereto, via one of the D2D discovery message resources. For example, the V2X service message segment N, and appended header 430, may be sent/transmitted via an Nth D2D discovery message resource. In this manner, a larger service message (e.g., V2X service message 410, which may be variable size), is segmented (or divided into smaller parts), and then each segment is sent along with an associated header via one of the discovery message resources, which may be smaller in size than the service message. A receiving D2D wireless device may receive and then reassemble the original service V2X service message 410 based on a plurality of received service message segments and their associated headers.

[0042] The header for each V2X service message segment, such as headers 420 and 430, may include one or more fields. Header 420, for example, may include a number of fields, including one or more of the following fields, as shown in FIG. 4: A transmitting device ID (identifier) 440 may identify the D2D wireless device that is transmitting the V2X service message segment. A receiving device ID 442 may identify the D2D wireless device that is receiving the V2X service message segment, or identifies the D2D wireless device to which the V2X service message segment is directed/addressed to, for example.

[0043] The header 420 may also include a service message ID (identifier) 444 that identifies the V2X service message for which this segment is associated with. A segment number 446 may identify the segment (or sequence) number of this segment with respect to the other segments for this service message, e.g., first segment, second segment, third segment, etc., so that the receiving device can concatenate the segments in the proper order to reassemble the service message. Also, a last indicator 448 indicates whether this segment is the last segment for this service message, or whether more (additional) segments will be sent (meaning that this segment is not the last segment). After a receiving device has received all the segments (including the last segment) for a V2X service message, the receiving device may then strip off each header and concatenate the segments in order to reassemble the V2X service message.

[0044] FIG. 5 is a timing diagram illustrating operation of a wireless network according to an illustrative example implementation. For example, a transmitting user device 232 (which may be, for example, a vehicle D2D wireless device 232, provided in vehicle 230) may transmit a V2X service message to user device 222 (which may be a vehicle D2D wireless device 222 provided in vehicle 220). To transmit this V2X service message, several operations may be performed as shown in FIG. 5.

[0045] At 510, user device 232 may determine a need for multiple D2D discovery messages (or multiple D2D discovery message resources) to transmit a V2X service message that is larger than the D2D discovery message. For example, user device 232 may want to send a V2X message of 1000 bits, e.g., to announce (e.g., to user device 222 of vehicle 220) that vehicle 230 will be changing lanes. With, for example, 32 bits used for an example header for each D2D discovery message (e.g., leaving 200 bits available for data in each D2D discovery message), it will require 1000/200 = 5 D2D discovery messages/discovery message resources to transmit the 1000 bit V2X service message to announce a lane change by vehicle 230, as an illustrative example. This example V2X message (and message size) is merely one example, and many other service messages and message sizes may be used.

[0046] At 512, user device 232 may send a resource request to a BS 134. The resource request may be, for example, a request for a plurality of D2D discovery message resources, e.g., to be used to transmit a V2X service message. The radio/wireless link from user device 232 to user device 222 may be referred to as a sidelink. Thus, sidelink information (of the resource request) may include, for example, a discTxResourceReq message to request the discovery message resources to be used for transmitting the V2X message over the sidelink.

[0047] At 512, the resource request may include a number of fields, including one or more of the following example fields: a UE ID identifying the requesting user device 232; a number of requested discovery message resources may identify a number of discovery message resources that are requested by the requesting D2D wireless device (e.g., this field may be set to 5 in the example above where 5 discovery message resources would be required to send a 1000 bit message); a single message indication may indicate that the requested resources will be used to transmit one (a single) message, e.g., and therefore, these resources should be grouped together as closely as possible to reduce delay or latency. Also, the resource request may include one or more QoS parameters, such as a priority/urgency that may indicate a priority of the V2X service or the V2X service message to be sent. For example, the higher the priority for the V2X service, then e.g., the higher priority should be to provide the requested number of resources as soon as possible and with as small as possible latency or time delay between the first resource and the last resource. For example, in some cases, a group of contiguous discovery message resources may be provided to reduce or minimize the latency or time delay between a first resource and a last resource to fulfill the request, since a receiving device cannot typically reassemble the service message until all segments of the message have been received. The resource request may also include a maximum delay/maximum latency to indicate a maximum delay or latency for the requested group of resources, e.g., the delay from the first resource to the last resource in the allocated group of discovery message resources. Also, the resource request may include a contiguous resource request that requests a group of contiguous discovery message resources for transmission of the service message. These are merely some example fields, and other fields may be provided.

[0048] At 514, the BS 134 receives the resource request, and may then allocate a group of D2D discovery message resources to the requesting user device, e.g., taking into account requests for such resources from all requesting user devices. For example, each resource request may request different or varying numbers of resources, and may have one or more fields or parameters that may be different or may vary, such as a single message indication, priority/urgency, maximum delay, a contiguous resource request, etc. For example, the BS 134 may allocate resources to requests in order of priority. Or resources may be allocated first to resource requests indicating a lowest latency or a contiguous resource request, followed by allocating any remaining resources to resource requests having lower priority or not indicating a contiguous resource request. These are merely some example techniques that a BS may use to allocate resources among competing requests, and other techniques may be used to allocate or grant discovery message resources to different user devices or requests. In this example, the BS 134 may grant or allocate a group of 5 discovery message resources, e.g., that may satisfy the maximum latency field, or that are contiguous, for example.

[0049] At 516, the BS 134 may send to user device 232 an indication of the one or more (or group) of D2D discovery message resources that have been allocated to or granted to user device 232. For example, the indication of resource grant at 516 may be provided via a RRCConnectionReconfiguration message, including an identification of the allocated resources, for example. Or the indication of resource grant at 516 may be provided via physical layer signaling message, e.g. by scheduling grant over PDCCH (physical downlink control channel). [0050] At 518, the user device 232 may receive the indication of allocated resources. User device 232 may then segment the V2X service message into a plurality of V2X service message segments, and may generate/add a header for each segment, e.g., as described above with reference to FIG. 4. User device 232 may then transmit/send each V2X service message segment and a header via one of the allocated discovery message resources. Thus, each segment and header may be sent via a D2D discovery message. However, rather than providing a beacon for device discovery, the discovery messages would include data for the V2X service message. For example, the discovery messages (or messages) sent via the discovery message resources may each include a header that includes one or more fields, such as, for example, the one or more fields for header 420, shown in FIG. 4. As shown in FIG. 5, at 520, a first segment and header may be sent via a first D2D discovery message, where the last field (448, FIG. 4) header may be set to 0, indicating more segments for this service message. The last field 448 for all discovery messages/segments may be set to 0, indicating more segments for this service message. At 522, a last segment (and last discovery message) is sent, with the last field 448 set to 1 , indicating that this segment/discovery message is the last segment/message for this service message.

[0051] According to an example implementation, an apparatus may include means (602A/602B, 604) for controlling sending, by a first user device (e.g., user device 132 or vehicle D2D wireless device 222) to an access node (e.g., BS 134) a request for a plurality of device-to-device (D2D) discovery message resources to be used to transmit a service message (e.g., which may be, for example, a vehicle-to-X (V2X) service message), where a size of the service message is larger than one D2D discovery message, the request indicating a number of requested D2D discovery message resources and including a single message indication that indicates the requested D2D discovery message resources are requested for the transmission of one service message; means (602A/602B, 604) for controlling receiving, by the first user device from the access node, an indication of a plurality of D2D discovery message resources allocated to the first user device; means (602A/602B, 604) for segmenting, by the first user device, the service message into a plurality of service message segments; and means (602A/602B, 604) for controlling sending, by the first user device to a second user device, each of the service message segments via a respective one of the D2D discovery message resources. [0052] According to an example implementation of the apparatus, the request also may include a quality of service (QoS) parameter, including at least one of the following: a priority (or urgency) for the service message, a maximum time delay or latency for the plurality of D2D discovery message resources to be used for the transmission of the service message. The request may also include a contiguous resource request that requests a group of contiguous discovery message resources. In one example implementation, the single message indication included in the request may be a contiguous resource request that requests a group of contiguous discovery message resources, e.g., for transmission of the service message.

[0053] According to an example implementation of the apparatus, the means for controlling receiving, by the first user device from the base station, an indication of a plurality of D2D discovery message resources allocated to the first user device may include means (602A/602B, 604) for controlling receiving an indication of a plurality of D2D discovery message resources that are scheduled within a maximum latency or maximum period of time based on the QoS parameter, and/or provided within a contiguous group of discovery message resources.

[0054] According to an example implementation of apparatus, the received plurality of D2D discovery message resources may be provided during one discovery period. For example, a D2D wireless device may send/submit a request for discovery message resources for an upcoming discovery period, where the discovery period may include a group of X discovery message resources (e.g., resources for a group of 100 discovery messages).

[0055] According to an example implementation of the apparatus, a header may be provided for each of the service message segments, each header may include, for example: a message identifier that identifies or is associated with the service message, a segment identifier that identifies an order of the service message segment within the service message, and a more/last segment flag that indicates whether or not the segment is a last service message segment for the service message.

[0056] According to an example implementation, the service message may be a vehicle-to-X (V2X) service message. According to another example implementation of the method of FIG. 3, the service message may include at least one of the following: a vehicle-to-vehicle (V2V) D2D message, a vehicle-to-infrastructure (V2I) D2D message, and a vehicle-to-person (V2P) D2D message. [0057] According to an example implementation of the apparatus, the apparatus may further include means (602A/602B, 604) for determining a size of a service message to be sent, means (602A/602B, 604) for determining a number of D2D discovery message resources required for sending the service message, and wherein the request for a plurality of device-to-device (D2D) discovery message resources includes an indication of the required number of D2D discovery message resources required for sending the service message.

[0058] According to an example implementation, an apparatus may include at least one processor; and at least one non-transitory computer-readable storage medium comprising instructions, when executed by the at least one processor, are configured to cause the apparatus to: control sending, by a first user device to an access node, a request for a plurality of device-to-device (D2D) discovery message resources to be used to transmit a service message, where a size of the service message is larger than one D2D discovery message, the request indicating a number of requested D2D discovery message resources and including a single message indication that indicates the requested D2D discovery message resources are requested for the transmission of one service message; control receiving, by the first user device from the access node, an indication of a plurality of D2D discovery message resources allocated to the first user device; segment, by the first user device, the service message into a plurality of service message segments; and control sending, by the first user device to a second user device, each of the service message segments via a respective one of the D2D discovery message resources.

[0059] According to an example implementation of the apparatus, the apparatus may also include a quality of service (QoS) parameter, including at least one of the following: a priority for the service message; and a maximum time delay or latency for the plurality of D2D discovery message resources to be used for the transmission of the service message.

[0060] According to an example implementation of the apparatus, the causing the apparatus to control receiving, by the first user device from the base station, an indication of a plurality of D2D discovery message resources allocated to the first user device may include causing the apparatus to control receiving an indication of a plurality of D2D discovery message resources that are scheduled within a maximum latency or maximum period of time based on the QoS parameter. [0061] According to an example implementation of the apparatus, the received plurality of D2D discovery message resources are provided during one discovery period.

[0062] According to an example implementation of the apparatus, a header is provided for each of the service message segments, each header may include at least one of: a message identifier that identifies or is associated with the service message; a segment identifier that identifies an order of the service message segment within the service message; and a more/last segment flag that indicates whether or not the segment is a last service message segment for the service message.

[0063] According to an example implementation of the apparatus, the service message may include a vehicle-to-X (V2X) service message.

[0064] According to an example implementation of the apparatus, the service message may include at least one of the following: a vehicle-to-vehicle (V2V) D2D message; a vehicle-to-infrastructure (V2I) D2D message; and a vehicle-to-person (V2P) D2D message.

[0065] According to an example implementation of the apparatus, causing the apparatus to determine a size of a service message to be sent may include causing the apparatus to determine a number of D2D discovery message resources required for sending the service message; and wherein the request for a plurality of device-to-device (D2D) discovery message resources includes an indication of the required number of D2D discovery message resources required for sending the service message.

[0066] A computer program product for a computer, comprising software code portions for performing any of the operations/steps described herein when the product is run on the computer.

[0067] According to another example implementation, a computer program product may include a non-transitory computer-readable storage medium and storing executable code that, when executed by at least one data processing apparatus, is configured to cause the at least one data processing apparatus to perform a method including: controlling sending, by a first user device to an access node, a request for a plurality of device-to-device (D2D) discovery message resources to be used to transmit a service message, where a size of the service message is larger than one D2D discovery message, the request indicating a number of requested D2D discovery message resources and including a single message indication that indicates the requested D2D discovery message resources are requested for the transmission of one service message; controlling receiving, by the first user device from the access node, an indication of a plurality of D2D discovery message resources allocated to the first user device; segmenting, by the first user device, the service message into a plurality of service message segments; and controlling sending, by the first user device to a second user device, each of the service message segments via a respective one of the D2D discovery message resources.

[0068] FIG. 6 is a block diagram of a network node (e.g., BS or user device or D2D wireless device) 600 according to an example implementation. The network node (or wireless station) 600 may include, for example, two RF (radio frequency) or wireless transceivers 602A, 602B, where each wireless transceiver includes a transmitter to transmit signals and a receiver to receive signals. The wireless station also includes a processor 604 to execute instructions or software and control transmission and receptions of signals, and a memory 606 to store data and/or instructions.

[0069] Processor 604 may also make decisions or determinations, generate frames, packets or messages for transmission, decode received frames or messages for further processing, and other tasks or functions described herein. Processor 604, which may be a baseband processor, for example, may generate messages, packets, frames or other signals for transmission via wireless transceiver 602. Processor 604 may control transmission of signals or messages over a wireless network, and may receive signals or messages, etc., via a wireless network (e.g., after being down-converted by wireless transceiver 602, for example). Processor 604 may be programmable and capable of executing software or other instructions stored in memory or on other computer media to perform the various tasks and functions described above, such as one or more of the tasks or methods described above. Processor 604 may be (or may include), for example, hardware, programmable logic, a programmable processor that executes software or firmware, and/or any combination of these. Using other terminology, processor 604 and transceiver 602 together may be considered as a wireless transmitter/receiver system, for example.

[0070] In addition, referring to FIG. 6, a controller (or processor) 608 may execute software and instructions, and may provide overall control for the network node 600, and may provide control for other systems not shown in FIG. 6, such as controlling input/output devices (e.g., display, keypad), and/or may execute software for one or more applications that may be provided on network node 600, such as, for example, an email program, audio/video applications, a word processor, a Voice over IP application, or other application or software.

[0071] In addition, a storage medium may be provided that includes stored instructions, which when executed by a controller or processor may result in the processor 604, or other controller or processor, performing one or more of the functions or tasks described above.

[0072] The embodiments are not, however, restricted to the system that is given as an example, but a person skilled in the art may apply the solution to other

communication systems. Another example of a suitable communications system is the 5G concept. It is assumed that network architecture in 5G will be quite similar to that of the LTE-advanced. 5G is likely to use multiple input - multiple output (MIMO) antennas, many more base stations or nodes than the LTE (a so-called small cell concept), including macro sites operating in co-operation with smaller stations and perhaps also employing a variety of radio technologies for better coverage and enhanced data rates.

[0073] It should be appreciated that future networks will most probably utilise network functions virtualization (NFV) which is a network architecture concept that proposes virtualizing network node functions into "building blocks" or entities that may be operationally connected or linked together to provide services. A virtualized network function (VNF) may comprise one or more virtual machines running computer program codes using standard or general type servers instead of customized hardware. Cloud computing or data storage may also be utilized. In radio communications this may mean node operations may be carried out, at least partly, in a server, host or node

operationally coupled to a remote radio head. It is also possible that node operations will be distributed among a plurality of servers, nodes or hosts. It should also be understood that the distribution of labour between core network operations and base station operations may differ from that of the LTE or even be non-existent.

[0074] Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Implementations may implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, a data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. Implementations may also be provided on a computer readable medium or computer readable storage medium, which may be a non-transitory medium. Implementations of the various techniques may also include implementations provided via transitory signals or media, and/or programs and/or software

implementations that are downloadable via the Internet or other network(s), either wired networks and/or wireless networks. In addition, implementations may be provided via machine type communications (MTC), and also via an Internet of Things (IOT).

[0075] 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, distribution medium, or computer readable medium, which may be any entity or device capable of carrying the program. Such carriers include a record medium, computer memory, readonly memory, photoelectrical and/or electrical carrier signal, telecommunications signal, and software distribution package, for example. Depending on the processing power needed, the computer program may be executed in a single electronic digital computer or it may be distributed amongst a number of computers.

[0076] Furthermore, implementations of the various techniques described herein may use a cyber-physical system (CPS) (a system of collaborating computational elements controlling physical entities). CPS may enable the implementation and exploitation of massive amounts of interconnected ICT devices (sensors, actuators, processors microcontrollers,...) embedded in physical objects at different locations. Mobile cyber physical systems, in which the physical system in question has inherent mobility, are a subcategory of cyber-physical systems. Examples of mobile physical systems include mobile robotics and electronics transported by humans or animals. The rise in popularity of smartphones has increased interest in the area of mobile cyber- physical systems. Therefore, various implementations of techniques described herein may be provided via one or more of these technologies.

[0077] A computer program, such as the computer program(s) described above, can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit or part of it suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network. [0078] Method steps may be performed by one or more programmable processors executing a computer program or computer program portions to perform functions by operating on input data and generating output. Method steps also may be performed by, and an apparatus may be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).

[0079] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer, chip or chipset. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data.

Generally, a computer also may include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in, special purpose logic circuitry.

[0080] To provide for interaction with a user, implementations may be implemented on a computer having a display device, e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, for displaying information to the user and a user interface, such as a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0081] Implementations may be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation, or any combination of such back-end, middleware, or front-end components. Components may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of

communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.

[0082] While certain features of the described implementations have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the various embodiments.