CROSS-REFERFENCE TO RELATED APPLICATIONS
Technical Field
[0001] The present disclosure relates generally to wireless communication, and more particularly,
to methods and apparatus for the secure relay of discovery information in wireless
networks.
Introduction
[0002] Wireless communication systems are widely deployed to provide various telecommunication
services such as telephony, video, data, messaging, and broadcasts. Typical wireless
communication systems may employ multiple-access technologies capable of supporting
communication with multiple users by sharing available system resources (e.g., bandwidth,
transmit power).
[0003] Increasingly, wireless environments have a high density of wireless devices, which
presents various opportunities, for example, for vendors of goods and services to
reach potential customers. However, the large number of wireless devices and limited
coverage areas also creates a challenge to quickly and efficiently discover those
most likely to be interested in the particular goods or services offered.
[0004] In some cases, relay devices may be utilized to effectively extend range of an advertising/announcing
device by relaying discovery information. The use of such relay devices creates security
issues, such as how to ensure integrity of a message that is simply relayed by a device
(e.g., how to ensure the relaying device has not altered the message content in any
way).
[0005] US 2004/103282 A1 discloses a method and system for handling roaming mobile nodes in a wireless network.
When a mobile node roams to a new access point, the access point obtains a network
session key from the Subnet Context Manager and validates the mobile node by computing
a new pairwise transient key from the network session key.
[0006] US 2009/316628 A1 discloses a dual-mode router for conveying process communication packets across a
plurality of distinct wireless process communication networks. The router includes
wireless communication circuitry and a controller coupled to the wireless communication
circuitry. The wireless communication circuitry is configured to interact with signals
from each of the plurality of distinct wireless process communication networks. The
controller is configured to adapt process communication packets from a first distinct
wireless process communication network for transmission over a second distinct wireless
process communication network.
[0007] US 2004/025018 A1 discloses a secure routing protocol for an ad hoc network which requires only that
the communicating end nodes have a security association.
SUMMARY
[0008] The invention is defined in the independent claims, additional embodiments are defined
in the dependent claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009]
FIGs. 1 and 1A illustrate an example environment in which aspects of the present disclosure
may be practiced.
FIGs. 2A-2C illustrate examples of expression assignment and management, in accordance
with aspects of the present disclosure.
FIG. 3 illustrates an example peer-to-peer communication mechanism, which may be utilized
in accordance with aspects of the present disclosure.
FIG. 4 illustrates example resources that may be allocated for peer-to-peer discovery,
in accordance with aspects of the present disclosure.
FIG. 5 illustrates how resources shown in FIG. 4 may be used for discovery of different
devices, in accordance with aspects of the present disclosure.
FIG. 6 illustrates how resources shown in FIG. 5 may be partitioned among different
devices, in accordance with aspects of the present disclosure.
FIG. 7A-7C illustrate example discovery frame formats and devices capable of communicating
using such formats, in accordance with aspects of the present disclosure.
FIG. 7D illustrates an example architecture for processing and relaying discovery
information, in accordance with aspects of the present disclosure.
FIGs. 7E-7F illustrate example discovery frame formats and devices capable of communicating
using such formats, in accordance with aspects of the present disclosure.
FIG. 8 illustrates an example environment in which discovery information may be relayed,
in accordance with aspects of the present disclosure.
FIGs. 9A and 9B illustrate example mechanisms for relaying discovery information,
in accordance with aspects of the present disclosure.
FIG. 10 illustrates an example sequence of relaying discovery information with compensation,
in accordance with aspects of the present disclosure.
FIG. 11 illustrates example operations for relaying discovery information, in accordance
with aspects of the present disclosure.
FIG. 12 illustrates an example diagram of maintaining a discovery database, in accordance
with aspects of the present disclosure.
FIG. 13A illustrates format for a discovery frame for open discovery, in accordance
with certain aspects of the present disclosure.
FIG. 13B illustrates the computation of a MIC, in accordance with certain aspects
of the present disclosure.
FIG 14 illustrates example operations, performed by an A-UE, in accordance with certain
aspects of the present disclosure.
FIG 15 illustrates example operations, performed by an R-UE, in accordance with certain
aspects of the present disclosure.
FIG 16 illustrates example operations, performed by a verifying entity, in accordance
with certain aspects of the present disclosure.
FIG 17 illustrates an example discovery frame format, in accordance with certain aspects
of the present disclosure.
FIG. 18 shows a timeline illustrating the relaying of discovery frames and the incrementing
of the relay-specific fields, in accordance with certain aspects of the present disclosure.
FIGs. 19A and 19B illustrate an example scenario of when a UE may act as a replayer,
in accordance with certain aspects of the present disclosure.
FIG. 20A illustrates an example discovery frame format for restricted discovery, in
accordance with certain aspects of the present disclosure.
FIG. 20B illustrates example computation using a time-varying one-way hash, in accordance
with certain aspects of the present disclosure.
FIG. 21 illustrates an example timeline for relaying of discovery frames when the
R-UE is known by the A-UE, in accordance with certain aspects of the present disclosure.
FIG. 22 illustrates an example timeline for relaying of expressions including the
identity of the R-UE, in accordance with certain aspects of the present disclosure.
FIG. 23 illustrates an example timeline for identification of an R-UE may be made
known to an A-UE by the network, in accordance with certain aspects of the present
disclosure.
FIG. 24 illustrates example operations, performed by an R-UE, in accordance with certain
aspects of the present disclosure.
FIG. 25 illustrates example operations, performed by a credit giver, in accordance
with certain aspects of the present disclosure.
FIG. 26 illustrates example operations, performed by a transacting entity, in accordance
with certain aspects of the present disclosure.
FIG. 27 illustrates example operations, performed by an R-UE, in accordance with certain
aspects of the present disclosure.
FIG. 28 illustrates example operations, performed by an A-UE, in accordance with certain
aspects of the present disclosure.
FIG. 29 illustrates example operations, performed by a monitoring entity, in accordance
with certain aspects of the present disclosure.
FIGs. 30A and 30B illustrate an example application programming interface (API) and
corresponding API calls, in accordance with certain aspects of the present disclosure.
FIG. 31 illustrates a block diagram of an access point and a user terminal in accordance
with certain aspects of the present disclosure.
FIG. 32 illustrates a block diagram of an example wireless device in accordance with
certain aspects of the present disclosure.
DETAILED DESCRIPTION
[0010] Aspects of the present disclosure provide techniques that may be used to enable secure
relaying of discovery information between devices (e.g. peer-to-peer, mesh, D2D, WAN,
LAN type networks). The present disclosure provides for a full range of processing
of expressions carrying discovery information, from initial registration of expressions
by entities, to a physical (PHY) and media access control (MAC) layer signaling protocol
to allow devices to participate in discovery, communications, and relaying, not only
of goods and services offered, but goods and services desired by users. As used herein,
the term "expression" generally refers to a transmission sent from a device that includes
information allowing discovery of that device and/or goods or services provided by
that device
[0011] As will be described herein, relaying of discovery information, for example in peer-to-peer
fashion (or other network arrangement) may effectively extend the wireless coverage
area of vendors. This can enable more potential customers to learn of goods and services
offered by those vendors. Components of networks can either be static or dynamic for
provision of relayed information. This can also enable users to passively receive
information to learn about information of interest.
[0012] As such, peer-to-peer relaying of discovery information may be considered a form
of referral. In some cases, a structure may be in place to provide economic incentive
structure for devices (or users thereof) to perform a referral. For example, a user
may be granted a credit if a referral results in an actual transaction at a vendor.
Such credit may be monetary or token/credits to be redeemed for goods and services
at the vendor (and/or other vendors).
[0013] The detailed description set forth below in connection with the appended drawings
is intended as a description of various configurations and is not intended to represent
the only configurations in which the concepts described herein may be practiced. The
detailed description includes specific details for the purpose of providing a thorough
understanding of various concepts. However, it will be apparent to those skilled in
the art that these concepts may be practiced without these specific details. In some
instances, well known structures and components are shown in block diagram form in
order to avoid obscuring such concepts.
[0014] Several aspects of telecommunication systems will now be presented with reference
to various apparatus and methods. These apparatus and methods will be described in
the following detailed description and illustrated in the accompanying drawings by
various blocks, modules, components, circuits, steps, processes, algorithms, etc.
(collectively referred to as "elements"). These elements may be implemented using
hardware, software, or combinations thereof. Whether such elements are implemented
as hardware or software depends upon the particular application and design constraints
imposed on the overall system.
[0015] By way of example, an element, or any portion of an element, or any combination of
elements may be implemented with a "processing system" that includes one or more processors.
Examples of processors include microprocessors, microcontrollers, digital signal processors
(DSPs), field programmable gate arrays (FPGAs), programmable logic devices (PLDs),
state machines, gated logic, discrete hardware circuits, and other suitable hardware
configured to perform the various functionality described throughout this disclosure.
One or more processors in the processing system may execute software. Software shall
be construed broadly to mean instructions, instruction sets, code, code segments,
program code, programs, subprograms, software modules, applications, software applications,
software packages, firmware, routines, subroutines, objects, executables, threads
of execution, procedures, functions, etc., whether referred to as software/firmware,
middleware, microcode, hardware description language, or otherwise.
[0016] Accordingly, in one or more exemplary embodiments, the functions described may be
implemented in hardware, software, or combinations thereof. If implemented in software,
the functions may be stored on or encoded as one or more instructions or code on a
computer-readable medium. Computer-readable media includes computer storage media.
Storage media may be any available media that can be accessed by a computer. By way
of example, and not limitation, such computer-readable media can comprise RAM, ROM,
EEPROM, PCM (phase change memory), flash memory, CD-ROM or other optical disk storage,
magnetic disk storage or other magnetic storage devices, or any other medium that
can be used to carry or store desired program code in the form of instructions or
data structures and that can be accessed by a computer. Disk and disc, as used herein,
includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD),
floppy disk and Blu-ray disc where disks usually reproduce data magnetically, while
discs reproduce data optically with lasers. Combinations of the above should also
be included within the scope of computer-readable media.
AN EXAMPLE WIRELESS ENVIRONMENT
[0017] Aspects of the present disclosure provide device to device (D2D) mechanisms that
may be utilized, in wireless environments with a high density of wireless devices,
to help match vendors of goods and services to potential customers. For example, aspects
of the present disclosure provide a physical (PHY) and media access control (MAC)
layer signaling protocol to facilitate discovery, communications, and relaying, not
only of goods and services offered, but goods and services desired by users.
[0018] As will be described in greater detail, device manufacturers may make such a protocol
available to application designers via an application programming interface (API)
that allows access to the discovery mechanism and information. Such an API may facilitate
customization and creation of applications (apps) that make use of the available D2D
services enabled by this system. Such apps may be vendor specific or general purpose
(e.g., for presentation, profile manipulation, alert customization, and the like).
In other words, the API described herein may provide discovered information to apps,
which allows a user to personalize what expressions they wish to be alerted about,
and also control what information is advertised (for others to discover).
[0019] FIG. 1 illustrates an example environment 100, in which vendors 102 may benefit by
peer-to-peer relaying of discovery information by a user 104 to expand their effective
coverage area, using aspects of the present disclosure. As an example, a user 104
within the actual coverage area of a vendor 102 may discover information regarding
goods (and/) or services provided by vendor 102.
[0020] The user 104 may then move, within a discoverable range of a user 106 who is outside
the actual coverage area of vendor 102, The user 104 may then relay the information
regarding goods or services provided by vendor 102 with user 106, in effect, referring
user 106 to vendor 102 for those goods or services.
[0021] As will be described in greater detail below, in some cases, user 104 may receive
some form of compensation if the referral results in a transaction. For example, user
104 may receive credits or actual/virtual currency redeemable at vendor 102 (and/or
some other vendor) for goods or services, The transaction may be executed at vendor
102 or, in some cases, at device 104 (e.g., via transfer of a credit, voucher, digital
media or digital rights).
[0022] User 104 may use any suitable mechanism (or mechanisms) to discover information from
vendor 102 and to share the discovered information with user 106. One example of such
a mechanism is referred to as long term evolution (LTE) Direct (LTE-D) discovery.
LTE-D enables a device to autonomously discover devices and their services in the
proximity of the device. LTE-D uses LTE spectrum and infrastructure, which may allow
mobile operators to offer a range of differentiated applications and services to users.
LTE-D is just one example of a type of mechanism that may be used for performing discovery
as described herein.
[0023] As illustrated in FIG. 1A, discovery of goods and services (e.g., LTE-D discovery)
may involve detecting "expressions" transmitted by various devices, such as an access
point/base station of a vendor 102 or mobile device 110 of a user 104, who is a potential
customer of vendor 102.
[0024] As note above, the term "expression" generally refers to a transmission sent from
a device that includes information allowing discovery of that device and/or goods
or services provided by that device. In addition, an expression may broadcast a set
of one or more goods and/or services of interest (e.g., needed or desired) by a user.
Thus, aspects of the present disclosure may help match users looking for certain goods
or services to corresponding vendors.
[0025] In other words, an expression may be used to convey any suitable type of information,
such as advertising goods/services for sale, knowledge of another user's goods/services
for sale, or a user's own personal interest in goods/services using expressions.
[0026] In some cases, an expression may include a service identifier (e.g., 64 or 128 bit)
for each service or good offered by a vendor (or device or user). As will be described
below, in some cases a relay device may make decisions regarding whether or not to
relay an original expression based on a match between a good or service indicated
by the original expression and a good or service indicated by an expression transmitted
by a potential recipient of the relayed expression. This may be referred to herein
as targeted relaying, an attempt to relay information that is of particular interest
to a recipient
EXAMPLE EXPRESSION REGISTRATION
[0027] In some cases, to help ensure expressions are unique (e.g., with unique service identifiers),
expressions may be registered. FIG. 2A illustrates an example of how expressions may
be registered. As illustrated, a vendor 202 (e.g., a merchant/corporation "registrant")
may establish an account via a server 204, referred to herein as a public expression
provider (PEP).
[0028] The registration may be for a particular business ID or an application ID and may
be made under a particular commercial category (e.g., lodging, entertainment, food,
etc.). The PEP may perform various actions, such as verifying the merchant owns the
corresponding business ID and ensuring the merchant meets certain commercial requirements.
This step may be followed by a procedure to assign an expression prefix (Expression
Name/Code) to a particular device (e.g., belonging to the merchant), which may involve
utilization of a ProSe Application, for example, designed to ensure uniqueness for
later validation and verification checks.
[0029] As illustrated, once registered, an entry may be created in a PEP database 206 that
tracks registered expression IDs. In this manner, registering via the PEP may be similar,
in some ways, to registering a domain name. In some cases, the registration may be
for a fixed period of time (e.g., for a year) and subject to renewal.
[0030] FIG. 2B illustrates how a registered expression may be used, in sequential operations,
for an example vendor ("FoodVendor"). At (1), the vendor obtains a Public Expression
Block under category Restaurant. At (2a), a ProSe Function (PF) associates an Expression
name (comm.restaurant.foodvendor.7891), in this example, with metadata "Drive Thru"
and assigns an Expression Code (0001.0..1.1..0.11..1) to a vendor device (e.g., an
access point at the drive thru location). As illustrated, an Expression name may be
a bitstring that describes the advertised goods or services at different levels (e.g.,
category, name, and metadata, such as location). In this manner, an expression may
represent an identity, location, service, interest and allow for discovery by others
in its proximity.
[0031] At (2b), the PF provides a record of the Expression to PEP server 204 and PEP database
206, while providing a mapping of the Expression name, Expression Code, and metadata,
at (3). At (4), a mobile device 110 retrieves the expression mapping, which allows
it to discover the corresponding services if it detects Expression Code broadcast
by the vendor.
[0032] FIG. 2C illustrates an example of how expressions may be managed. As described above,
a full or partial expression name (and code) may be assigned to a particular UE 110,
for example, by an operator PF 208, using available expression namespace, which may
have operator-scope, regional-scope, or global-scope, as defined by the PEP 202, with
a record of the assignment stored in PEP database 206. As noted above, the assignment
may be valid for a defined period of time.
[0033] After this validity time expires, the assignment may be renewed. In this case, the
UE may receive a new code for the same expression (as it continues to be the owner),
and the PEP database 206 may be updated accordingly. In addition, the PEP database
206 may be updated if there are any changes to the metadata associated with the assigned
expression (e.g., category, name, or location).
[0034] In some cases, metadata associated with an expression may include whether the assignee
of the expression has granted permission to relay the expression. For example, the
metadata may include an element <relayable> that might be set to "false" by default,
but the owner can set to "true" to allow the expression (or at least certain indicated
field) to be relayed, A UE detecting this expression may then look up the metadata
to see whether it can be relayed or not.
[0035] In some cases, granting permission to relay may involve application-layer signaling
between a UE interested in relaying and the owner of the expression. In some cases,
when a UE detects this expression, it may set up a connection (e.g., a WAN or direct
connection) with the announcer via an app, which may be indicated in metadata. In
this manner, the announcer may be able to know the identity of the UE wishing to relay
(and can decide whether or not to grant permission).
EXAMPLE EXPRESSION DISCOVERY
[0036] As described above, an expression may be used to facilitate discovery of any suitable
type of information, such as advertising goods/services for sale, knowledge of another
user's goods/services for sale, or a user's own personal interest in goods/services.
Any suitable wireless communications technology may be used for expression-based discovery,
which may leverage existing infrastructure.
[0037] For example, as illustrated in FIG. 3, UEs 110 may be able to perform LTE-D based
discovery, taking advantage of existing LTE structure. This may result in efficient
discovery and ensuing data connectivity (between devices) may be either through a
LTE network (e.g., between UEs 110 and a base station 320) or directly through LTE
Direct. This approach may leverage the existing LTE network infrastructure, for example,
for timing, resource allocation (to LTE Direct), as well as user authentication.
[0038] As illustrated in FIGs. 4 and 5, portions 410 of uplink (UL) LTE resources may be
allocated for LTE-D communications (e.g., discovery via expressions 108). This portion
may be a portion of UL bandwidth in an LTE FDD system or dedicated frames in a LTE
TDD system, The amount of resources allocated for LTE-D may be relatively small, resulting
in little impact on conventional LTE operation.
[0039] For example, as illustrated in FIG. 6, 64 subframes (64 ms assuming 1ms subframes)
periods may be allocated for LTE-D, while 20s periods (2000 subframes) may be reserved
for conventional LTE communications. FIG. 7 provides greater detail about how resource
blocks within the 64 subframes may be allocated to support discovery transmissions
by several different users.
[0040] LTE-D based discovery is just one example of a suitable mechanism for discovery and
other mechanisms may also be used. For example, according to certain aspects, discovery
may be performed on a wireless local area network (WLAN). In some cases, discovery
may be performed on a common (unlicensed) channel, rather than a licensed channel.
In such a case, a wide area network (e.g., 3G, UMTS, or 4G) may be used to provide
common timing to synchronize discovery on the unlicensed channel.
EXAMPLE DISCOVERY FRAME FORMATS
[0041] In general, expressions may be transmitted as discovery frames of any suitable format.
UEs participating in discovery may have suitable PHY and MAC layers configured to
generate and process discovery frames (e.g., of a suitable MAC packet format). FIGs.
7A-7C illustrate example discovery frame formats, which may include formats suitable
for multicast and unicast, as well as relay frame formats that accommodate credit
assignment capability (single hop, multi-hop). The frame formats illustrated in FIGs.
7A-7C may be used, for example, in the various discovery and relaying examples provided
herein. Byte lengths shown under certain fields are exemplary only and actual byte
lengths of different fields may vary.
[0042] FIG. 7A illustrates a first example discovery frame format 700 of a MAC packet. As
illustrated, the packet may have a MAC protocol data unit (PDU) protected by a cyclic
redundancy check (CRC). The MAC PDU components may include various fields, such as
fields for a Msg Type, ProSe App Code, MIC, and time calibration information (e.g.,
LSBs of a counter). As illustrated, the MsgType field may include Discovery Type and
Discovery Mode subfields, for example, which may be used to specify whether discovery
is open or restricted. Open discovery may intrinsically require no permission control
on who can monitor for the announced public expressions, while restricted discovery
may require application/user-level permission.
[0043] The ProSe App Code field may include a public land mobile network (PLMN) ID field,
with a mobile country code or mobile network (MCC/MNC) subfield, a Scope subfield
that indicates if the Temporary ID is PLMN, country-wide, or global (e.g., and a field
"E" that indicates whether the MCC and MNC are included), and the Temporary ID. The
Temporary ID may indicate various application-layer information useful in processing
the packet.
[0044] The MIC and time calibration fields may be used for verification by ProSe function
during Match Reports. As will be described in greater detail below, a monitoring UE
may need to figure a right time value that was used to compute the MIC and pass that
along to ProSe Function. In this regard, the time calibration information may help,
as these may be least significant bits (LSBs) of the UTC-based counter used in the
MIC computation. According to other aspects, instead of a time-calibration parameter,
a counter, sequence number, or random number ("nonce") may be used instead to impart
freshness to the compute MIC value.
[0045] FIG. 7B illustrates an example frame format 710 for a multicast (1-to-many) transmission.
In this example, the MAC PDU has destination and source ID fields and a plurality
of MAC service data units (SDUs), each with a MAC subheader. Each SDU may carry a
radio link control (RLC) PDU with one or more PDCP PDUs having an IP packet as an
encrypted data payload. As illustrated, the IP packet may, in turn, have a Source
IP address, Destination Address, and UDP/RTP data. An L1 Source Address subframe may
have an SA L1 ID field and L1 configuration information. The L1 configuration information,
for example, may include information such as a modulation and coding scheme (MCS),
timing advance (TA), and time and frequency location of data.
[0046] FIG. 7C illustrates a first example relay discovery frame format 720 for a relayed
packet (e.g., a, discovery frame detected-and relayed by a relay device). As illustrated,
the packet may have a MAC PDU protected by a CRC. The MAC PDU components may include
various fields, such as fields for a Msg Type, ProSe Relay Service Code, a ProSe Relay
L2 ID field, and possibly a security field. As with the format 700 of FIG. 7A, the
MsgType field may include Discovery Type and Discovery Mode subfields.
[0047] In this example, the ProSe Relay Service Code field may include a PLMN ID field,
access point name (APN) list field, and Status flags. The APN list may include a list
of APNs that this relay provides connectivity to, The Status (or maintenance) flags
may be used to indicate various conditions, such as whether the relay is temporarily
without connectivity or battery running low, so the Remote UEs can seek/reselect another
Relay, and whether it supports signaling for establishing additional packet data network
(PDN) connections. The ProSe Relay Layer-2 ID field may be used as a Layer-2 ID for
ProSe communication. The security field may include, for example, a MIC field and
possible other fields, such as time calibration information. Such a field may not
be useful for Public Safety out of coverage, but may be useful for various commercial
use cases.
[0048] FIG. 7D illustrates example UEs (UE A and UE B) capable of communicating via the
frame formats illustrated in FIGs. 7A-7C. As illustrated, each UE may have components
to communicate at the PHY layer 750, MAC layer 740, and ProSe Protocol layer 730.
For example, with the PHY layer passing the MAC PDUs up to the MAC layer. In turn,
the MAC layer may extract the ProSe Protocol information and pass it on the ProSe
layer for processing.
[0049] PHY layer processing may include for ProSe Direct Discovery and ProSe Direct Communication
between UEs may involve physical channel structures (referred to herein as "sidelink"
channels), similar to those used for uplink transmissions, but with certain changes.
For example, such sidelink transmissions may be limited to single cluster transmissions
for all the physical channels. Further, such sidelink transmissions may use a single
(1) symbol gap at the end of each sub-frame. The physical layer processing of transport
channels may also differ from UL transmission in various steps, For example, scrambling
for a physical sidelink data channel (PSDCH) and physical sidelink control channel
(PSCCH), may not be UE-specific.
[0050] Further, modulation of 64 QAM may not be supported and control channels for such
transmissions may be mapped to a particular set of control resources. Further, modulation
for data and control channels for such transmissions may utilize reference signals
similar to uplink demodulation reference signals (e.g., transmitted in the 4-th symbol
of the slot in normal CP and in the 3rd symbol of the slot in extended cyclic prefix).
These demodulation reference signals sequence lengths may equal the size (number of
sub-carriers) of the assigned resource and may be created based on a fixed base sequence,
cyclic shift and orthogonal cover code. For in-coverage operation, the power spectral
density of such transmissions may be influenced by the eNB.
[0051] MAC layer processing may include processing of a discovery channel. Content of discovery
information may be transparent to Access Stratum (AS) and there may be no distinction
made in AS for ProSe Direct Discovery models and types of ProSe Direct Discovery.
The UE may participate in announcing and monitoring of discovery information in both
idle and connected states, as per eNB configuration. The UE may announce and monitor
its discovery information subject to the half-duplex constraint (e.g., using resource
allocation as shown in FIGs. 4-6).
[0052] A UE that participates in announcing and monitoring may maintain the current UTC
(coordinated universal) time. The UE that participates in announcing transmits a discovery
message (e.g., according to one of the formats described above), which is generated
by the ProSe protocol taking into account the UTC time upon transmission of the discovery
message. In a monitoring UE, the ProSe protocol provides the message to be verified
together with the UTC time upon reception of the message to the ProSe function.
[0053] Radio Protocol Stack (AS) processing for ProSe Direct Discovery may involve only
MAC and PHY layers. The AS layer may perform various functions. The AS layer may interfaces
with upper layer (ProSe Protocol). For example, the MAC layer may receive the discovery
information from the upper layer (ProSe Protocol). The IP layer may not used for transmitting
the discovery information. For scheduling, the MAC layer may determine the radio resource
(e.g., per FIG. 6) to be used for announcing the discovery information received from
upper layer. For discovery PDU generation, the MAC layer may build the MAC PDU carrying
the discovery information and sends the MAC PDU to the physical layer for transmission
using the determined radio resource (e.g., with no MAC header added).
[0054] While the frame format 700 shown in FIG. 7A may be used in LTE D2D discovery, various
other frame formats may be used to participate in discovery (and relaying of discovery
information) using different radio access technologies (RATs).
[0055] For example, FIG. 7E illustrates an example discovery frame format 760 that may be
used for communicating via a local area network (e.g., Wi-Fi), such as a neighbor
aware network (NAN). As illustrated, the frame may have an Attribute ID, Length field,
Service ID, and Service Control Fields. In some cases, the Service ID may carry discovery
information. For example, the Service ID may be generated as a hash of a corresponding
domain name and, in some cases, may carry a user ID or code. As illustrated, the frame
may also include other fields, such as a Match Filter Length, Match Filter, Service
Response Filter Length, Service Response Filter, Service Info Length, and Service
Info fields. The Service Info field may be of variable length and may carry various
types of service discovery information.
[0056] FIG. 7F illustrates an example discovery frame format 770 that may be used for communicating
via a close proximity RAT, such as Blue Tooth Low-Energy (BTLE). As illustrated, the
frame may have a preamble, access address, and header fields. Discovery information
may be provided as payload (e.g., in an Advertising Channel PDU). As illustrated,
the payload may include an advertiser address field (which may carry a User ID/code),
as well as various advertising information that may include information that is passed
directly from an advertising application. Different types of advertising information
may be separated in data units, each having length, type, and value fields.
EXAMPLE PEER-TO-PEER RELAYING OF DISCOVERY INFORMATION
[0057] FIG. 8 illustrates an example environment in which discovery information may be relayed,
in accordance with aspects of the present disclosure (e.g., using the discovery frame
format, PHY and MAC processing described above), to effectively increase coverage
area of a vendor (device) A. The device advertizing goods or services for A may be
any type of device, such as a UE or a base station, such as a pico/micro/femto eNodeB,
which may have a local coverage area (indicated by the dashed line 802). A typical
LTE-D discovery range may vary from a few 10s of meters to a few hundred meters (e.g.,
500m) in an ideal environment (e.g., absent obstructions).
[0058] Vendor A (hereinafter, simply A) may be interested in advertising its goods or services
to potential customers B, C, and D (e.g., having corresponding UEs B, C, and D). A
may be particularly interested be interested in targeting B and C, due to their proximity
to A (which may translate into an increased probability of a resulting transaction
than if D were targeted). While both B and C are in the (theoretical) coverage area
of A, due to certain obstructions (e.g., due to buildings or other structures), the
actual coverage area of A (indicated by the solid line 804) may be substantially reduced
such that A may not be discoverable by C. As a result, A may not be able to reach
C with advertised goods or services.
[0059] According to certain aspects, device B may act as a "discovery relay" to effectively
extend the discovery area of A. By using discovery relays in this manner, it may be
possible to provide a more uniform coverage area. That is, by using discovery relays
it may be possible to extend the discovery range of an LTE-D device, such as device
A, to more closely meet (or expand) a maximum discovery rage (e.g., 500m) and "fill
in" range gaps that exist due to certain obstructions in the LTE-D environment (e.g.,
obstructions caused by a building).
[0060] In the example illustrate in FIG. 8, UEs C and D may be outside the actual discovery
range of device A. However, UE B may be able to act as a discovery relay to effectively
extend the discovery area of UE A to reach UEs C and D. That is, UE B may be able
to detect the presence of (and goods/services offered by) A and relay this information
to C and/or D.
[0061] For example, during an LTE-D discovery period, UE B may detect a transmitted expression
from A and relay that expression (or related information) to UEs C or D. In this manner,
by relaying the expression, UE B may effectively refer UEs C or D to A for the advertised
goods or services.
[0062] In some cases, when a device relays an expression, it may relay the expression as-received
or alter the expression, for example, adding some other information (e.g., a bid,
a hop-count, location information, information identifying the original transmitter,
information identifying the relaying device, or a referral token allowing relaying
to get credit if the referral results in a transaction).
[0063] In some cases, an expression may actually include an indication of whether the expression
should be relayed (which may be considered an explicit request for the relay device
to relay the original expression). Other mechanisms may also be used as "flood control"
to prevent a flood of expressions from being relayed (possibly from multiple relaying
devices). For example, as described above, expression metadata may include a field
indicating permission to relay the expression.
[0064] According to certain aspects, relaying discovery information (e.g., as expressions),
may be performed in various ways. For example, relaying expressions may be performed
"passively" with relatively little discretion or processing, or "reactively" with
"targeting" (e.g., by relaying expressions to target certain UEs or to relay only
when certain conditions are met).
[0065] FIG. 9A illustrates an example of passive relaying, in which a discovery node may
receive an expression from a device and relay the expression to a disparate device
(e.g., that is outside the range of the device transmitting the original expression
being relayed). In the illustrated example, device A may transmit expression EXP1,
which is detected (discovered) by UE B. In turn, UE B may then transmit (i.e., relay)
expression EXP2 to UE C. As noted above, EXP2 may be the same as or different from
EXP1.
[0066] With reactive or targeting relaying, a discovery relay may relay expressions based
on one or more criteria, rather than just blindly relaying all detected expressions-
as may be done with passive relaying. In some cases, a discovery relay may relay expressions
in response to a request from another device.
[0067] For example, referring to FIG. 9B, UE B may relay expression EXP1 from A to UE C
in response to a request from UE C (shown as EXP2). As illustrated, EXP1 may be relayed
as EXP3. In some cases, an expression from a device may only be considered a request
to relay if certain criteria are met (e.g., matching interest with an advertised good
or service).
[0068] In the example illustrated in FIG. 9B, location information is included in both EXP1
and EXP2. In some cases, this location information may be used to decide whether or
not to relay the expression (e.g., based on a distance between C and A calculated
based on the location information).
[0069] This distance criteria is just one example of how a discovery relay may relay an
expression based on a decision made by/at the discovery relay. As another example,
the discovery relay may be running a coffee application that causes the relay to decide
when to relay expressions indicating the presence/location of a coffee shop (e.g.,
to other devices that may be interested in coffee). That is, if a discovery relay
receives an expression related to coffee, the discovery relay may decide to relay
the expression based on an application stored on the discovery relay that knows to
relay expressions related to coffee.
[0070] While an interest in coffee serves as a good example due to the proliferation of
coffee shops in many communities, a wide variety of other scenarios of targeted relaying
(referral) may be envisioned. For example, expressions may be relayed based on musical
interest, food interests, product interests, social interests, educational interests,
sports interests, or any other type of interest.
[0071] In some cases, relayed expressions may assist in providing emergency services. For
example, the propagation of emergency-related information via relayed expressions
(a type of "reverse 911") may help first responders reach victims, which may help
rescue efforts. Similarly, various types of information may be relayed to first responders
to help coordinate rescue efforts.
[0072] Whatever the case, a relay node may discover interest (or potential interest) based
on information in an expression transmitted by a potential target device. In some
cases, the relay device may maintain a database of elements obtained from discovered
expressions and relay one or more expressions, if there is a match with an element
from an expression received from the potential target device. In this manner, a relay
device may aggregate several expressions related to advertised goods and services.
Similarly, the relay device may aggregate expressions from one or more potential target
devices and relay expressions to one or more of those devices when a matching expression
is discovered.
[0073] According to certain aspects, a discovery relay may decide (whether or not) to relay
an expression it receives based on other factors (other than matching expressions),
such as time of day. For example, a discovery relay that receives an expression related
to a restaurant may decide to relay that expression only during hours when people
are likely to be looking for somewhere to eat (e.g., lunchtime).
[0074] According to certain aspects, an expression may be relayed in a manner that allows
for security or protection of the relayed transmission. This security may encompass,
for example, integrity of the relayed information and the honoring of any other privacy
protection of the original expression. According to certain aspects, a discovery relay
may relay an expression only if there is a relationship between expressions (e.g.,
an element in EXP2 from a potential target matches an element in EXP from a vendor).
In other cases, a relay may relay an expression even if there is no relation between
the original and requesting expressions. In some cases, a device may relay an expression
if there is a relationship between the relaying and requesting devices. In some cases,
the device sending the original expression may explicitly request (or instruct) a
relaying device to relay an expression (and may even identify the potential targets
or the type/characteristics of potential targets),
EXAMPLE FLOOD CONTROL TO LIMIT RELAYING
[0075] As noted above, it may be desirable to limit when or how expressions are relayed
by relaying devices, For example, as the number of UEs grows, it may be desirable
to implement some sort of mechanism so a potential target is not flooded with the
same expression relayed from many relay devices. This flooding of expressions may
overwhelm a target device, lead to collisions, and/or needlessly waste system bandwidth
resources. A flood control mechanism may also be used to help ensure that, in a referral-based
system, users are given a fair chance to earn credits for referrals. In some cases,
various contention-based channel access mechanisms may be used to limit what devices
relay expressions (and when).
[0076] In addition to the conditional relaying mechanisms described above, various other
mechanisms may be used. As an example, relaying by one or more devices may be enabled/disabled
through network signaling.
[0077] In some cases, a target device may initially express interest in a good or service,
but stop expressing interest if it has received a relayed expression relating to that
interest. As a result, a relay device that detects the initial match (between interest
and advertised good/service) may decide not to relay an expression, assuming the target
device has already received a referral (from another device). In other words, it may
be assumed the request for information (from this target) related to a good or service
has been satisfied by another relay device. Thus, relaying of an expression may only
be "enabled" when a target is actively advertising interest in a good or service related
to (advertised in) that expression.
[0078] In accordance with certain aspects of the present disclosure, relaying of expressions
may be limited, for example, to only a few or one per subframe. Assuming the allocation
of LTE-D resources shown in FIG. 6, this may result in about 32 or 64 out of 1000-2000
received expressions (e.g., ProseAppIDs) transmitted/relayed in a given Window (of
LTE-D and conventional LTE subframes).
[0079] In a network-controlled resource allocation model, the network may manage who relays
expressions (e.g., ProseAppIDs), for example, based on certain network information.
For example, a buffer status report (BSR) may include an indication that a LTE-D UE
is going to relay an expression. An eNB may prohibit this LTE-D UE from transmitting
the expression if other LTE-D UEs have already been allowed to relay the same expression.
[0080] In some cases, a similar type of monitoring may be performed by relay UEs, themselves.
For example, relay UEs (discovery UEs) may monitor subframes/resource blocks to determine
whether a certain expression has already been relayed and determine whether to relay
the expression based on this determination. For example, according to certain aspects,
UEs may monitor a random access channel (RACH) to determine whether an expression
has already been sent. According to certain aspects, if a UE detects that a RACH is
not available (e.g., another UE is currently using the RACH), the UE may assume that
the expression has already been sent.
[0081] As noted above, relaying may be initiated by a target device. For example, a first
device (e.g., an LTE-D UE) may monitor for certain expressions containing relevant
information related to a good or service of interest. If the first device is not able
to detect the expressions, the first device may transmit an expression with an indication
requesting certain information be relayed (the "request" expression as described above
which may be considered a "Discovery Request"). In this manner "On-Demand" discovery
of expressions may be performed. If a second device that has "relaying" enabled (a
relay device) receives an expression containing that information, the second device
may transmit an expression with the requested information.
EXAMPLE ECONOMIC INCENTIVE FOR REFERRALS
[0082] According to certain aspects, a structure may be provided to provide economic incentive
for devices to relay information related to a vendors goods or services. Such a structure
may amount to a credit model, effectively compensating a relay device (with a credit/token
or some type of monetary compensation for use at a vendor) if a referral results in
a transaction (which may be considered a successful referral).
[0083] Such a credit model may be described with reference to in FIG. 10 which shows an
example of a referral, by UE B, that results in a successful transaction between UE
C and vendor A.
[0084] At T1, B (within the coverage area 1004 of A) may discover an expression (EXP1) from
A with information related to a good or service. At T2, B (within the discovery range
of C) discovers an expression EXP2 from C indicating interest in the goods or service
provided by A. At T3, based on the match between information in EXP1 and EXP2, B sends
a referral to C (letting C know that A provides the goods or services in which C is
interested).
[0085] At T4, C (having moved into the coverage area 1004 of A) transacts with A for the
goods or services, based on the referral. At T5, B receives a credit (in the form
of a token) as compensation for the successful referral. At T6, B redeems the credit,
for example, using the credit to obtain goods or services from A. In some cases, such
credits may be used at vendors other than vendor A (in addition to, or as an alternative
to vendor A).
[0086] Various mechanisms may be used to validate transactions (detect/avoid fraud), track
referrals, and administer credits. Example mechanisms for authentication and fraud
prevention may include various algorithms, for example, based on location, time of
day, electronic serial number (ESN), an ESN hash based on vendor ID, or the like.
In some cases, a discovery response may comprise information which is a function of
the expression received from a vendor and a function of the discovery relay. According
to certain aspects, an encryption model may be applied to the discovery response.
According to further aspects, when a referred device completes a transaction at a
vendor, the vendor may automatically detect that the transacting device was referred
to the vendor by the discovery relay.
[0087] As noted above, in some cases a transaction may actually be performed at a user device
acting as a discovery relay. In this manner, a user device may effectively act as
a surrogate sales representative for a vendor of electronic media, goods and/or services.
As an example, the user may purchase a song from a vendor and have a copy of that
song on their device. Later, that user may encounter a colleague and play the song
for them. If the colleague decides they like it and are considering purchasing a copy,
the purchasing user could transfer a digital copy of the song with limited rights
(e.g., with restrictions on forwarding until actually purchased it) allowing the colleague
to play a "sample" of the song, or all of the song for a limited number of plays or
for a limited number of hours/days. When the colleague references the copy of the
song (or when it expires) the colleague's device may provide them with an option to
purchase the song from the original vendor. If the colleague elects to purchase the
song, the original purchaser may receive a credit for the referral.
[0088] As described above, the discovery relay may determine if one of the elements in the
database matches an element included in an expression communicated by one or more
of the devices. The discovery relay may also decide a device no longer has interest
after receiving an expression lacking the matching element communicated by the device.
The discovery relay may discover interest comprises determining one or more of the
devices are members of a group associated with interest in the goods or services.
[0089] In some cases, discovering interest may involve discovering a plurality of devices
are interested in a plurality of goods or services and the sharing may include broadcasting
a plurality of elements corresponding to the plurality of goods or services. In some
cases, a discovery relay may discover interest based on a common attribute shared
by a group of devices send a multicast transmission with at least one element to the
group of devices. In some cases, the discovery relay may send a unicast transmission
with one or more elements to a single device. In some cases, the discovery relay may
determine whether to share an element via group-cast, or unicast messaging based,
at least in part, on how many devices are interested in a good or service associated
with the element.
[0090] In some cases, the discovery relay may perform a channel access procedure prior to
sharing the element. The channel access procedure may involve listening on a medium
prior to sharing the element.
[0091] FIG. 11 illustrates example operations 1100 for relaying discovery information, in
accordance with aspects of the present disclosure. The operations 1100 may be performed,
for example, by a device operating as a discovery relay, such as an LTE-D UE.
[0092] The operations begin, at 1102, by discovering, via device-to-device communications,
goods or services provided by one or more vendors. At 1104, the discovery relay maintains
a database of one or more elements related to the goods or services. At 1106, the
discovery relay discovers, via device-to-device communications, interest in the goods
or services by one or more devices. At 1108, the discovery relay decides to share
at least one element related to the goods or services based, at least in part, on
the discovery of interest and, at 1110, the discovery relay shares the at least one
element.
[0093] As described above, the discovery relay may determine if one of the elements in the
database matches an element included in an expression communicated by one or more
of the devices. The discovery relay may also decide a device no longer has interest
after receiving an expression lacking the matching element communicated by the device.
The discovery relay may discover interest comprises determining one or more of the
devices are members of a group associated with interest in the goods or services.
[0094] In some cases, discovering interest may involve discovering a plurality of devices
are interested in a plurality of goods or services and the sharing may include broadcasting
a plurality of elements corresponding to the plurality of goods or services. In some
cases, a discovery relay may discover interest based on a common attribute shared
by a group of devices send a multicast transmission with at least one element to the
group of devices. In some cases, the discovery relay may send a unicast transmission
with one or more elements to a single device. In some cases, the discovery relay may
determine whether to share an element via group-cast, or unicast messaging based,
at least in part, on how many devices are interested in a good or service associated
with the element.
EXAMPLE DISCOVERY DATABASE MAINTENANCE
[0095] In some cases, decisions on whether or not to relay discovered information may be
based on various considerations. As noted above, these considerations may include
comparing elements in a discovery database and recognizing that discovered information
is of interest to another device. A device may also queue discovery referral information
for relaying, monitor the channel for other users relaying attempts, and decide to
transmit or abort a relay attempt accordingly. In general, a device may apply a set
of access rules (e.g., governed by PHY and MAC protocols) to determine what to relay
and when it should be relayed.
[0096] As described above, a database of discovered expressions may be continually updated
based on received information on the RF carrier used to facilitate discovery of both
proximate discovery and relaying operations. In some cases, certain controls may be
placed when building a database of discovered expressions. Such controls may be designed
to limit the amount of entries stored locally and also for the aforementioned flood
control to limit the amount of relaying traffic on the medium. These controls may
include rank ordering entries in the database, for example, based on age, location,
relevance, and the like, all of which may be used to influence the decision on whether
to share (relay) discovered elements stored in the database.
[0097] FIG. 12 illustrates how a database of discovered goods and/or services in a prioritized
list may change as the list is propagated across multiple hops between wireless nodes
(e.g., relay UEs) of a D2D network 1200. In the illustrated example, nodes in each
group A, B, and C may have direct visibility of each other. Some nodes in group B
may see some nodes in group A, but nodes in group C can not see nodes in group A.
A propagation path in this exemplary case is assumed to be from nodes A to nodes B
to nodes C to nodes D only.
[0098] Nodes A1 and A2 illustrated in FIG. 12 may each relay a list of goods/services they
offer: [a|g] and [j], respectively. The list of goods/services may be represented
as the list of service identifiers (IDs). Adjacent nodes B1 and B2 may see the consolidated
availability of services [a|g|j] from peer nodes A1 and A2. Then, nodes B1 and B2
may concatenate their own services [m] and [x] with the list representing A1 and A2
services, and may transmit the concatenated advertisements [m|a|g|j|x] and [x a|g|j|m],
respectively.
[0099] The local cache of service IDs at a node of group B may contain group B's own services
and group A's aggregate service IDs. Each cache entry may comprise a service ID and
a list of node IDs that offer that particular service. It can be observed from FIG.
12 that only difference between the list of services offered by the node B1 and the
list of services offered by the node B2 may be the position of services [m] and [x]
in the prioritized list, as a node's own service may have a higher priority than the
service of another node.
[0100] Node C1 adjacent to nodes of group B may receive the concatenated list of services
of nodes A1, A2, B1, and B2. Nodes in group C may see service IDs of nodes from group
B and may also know about service IDs of nodes from group A. As illustrated in FIG.
5, the node C1 may generate the same list of services as nodes of group B, but C1's
own service [a] may be listed first, while services of nodes in group B may be listed
after that. Depending on the network congestion, the list of services at the node
C1 may also contain service IDs of nodes from group A as a third priority.
[0101] Therefore, nodes of the D2D network 1200 may prioritize the service entries in their
advertisement by a distance: nodes' own services may be listed first, then services
that are one hop away, and so on. A distance of each service may be measured as a
number of hops between a wireless node with a list of offered services comprising
said service and another wireless node that initiated advertisement of the service.
Furthermore, nodes may completely drop services of a specific distance from the list
of offered services. In this exemplary case, services of the distance three or more
may be dropped from the list. This is illustrated in FIG. 5 as the node D1 of group
D drops from the list those services that are originally announced at the nodes A1
and A2 since they are three hops away from the node D1.
[0102] Prioritization of offered goods/services (to store and/or relay) may be achieved
by various aspects. First, there may be a global prioritization established across
all known services in order to enable quick discovery of fundamental services over
value-add services, e.g. connectivity enablement over a specific application that
utilizes the enabled connectivity. Such global prioritization may be typically established
for all nodes by a governing entity of the D2D network. Second, each node may be configured
by its associated user with a user's preferred order of announced services. Combination
of global and user priorities may establish the node's own order of services. Third,
service entries may be prioritized by a distance, e.g. entries with the distance zero
may precede entries of neighbors (i.e. the distance equal or greater than one). Certain
embodiments of the present disclosure also support combining of various priorities
into a consolidated order announced by a node of the D2D network.
[0103] Various techniques may be applied for lifetime management of service entries. First,
the distance of a service entry (i.e., a location of a wireless node offering the
service) may determine whether a node may drop the service from its advertisement
or forward it. The distance limit may be a predetermined static value, it may vary
based on the service (e.g. a service with a high global priority may have a larger
distance limit), or it may vary dynamically based on a network loading and a node
density. Second, nodes may be configured with a maximum advertisement size limiting
an overhead of densely populated areas. The size limit may be a predetermined static
limit, may be applicable only to a subset of services (e.g. services with a high global
priority may be exempt), or the size limit may vary dynamically based on the network
loading and node density.
EXAMPLE SECURE RELAYING OF DISCOVERY INFORMATION IN WIRELESS NETWORKS
[0104] Aspects of the present disclosure provide techniques that may enhance security in
wireless environments employing device-to-device relaying schemes, such as the wireless
environment described above. That is, aspects of the present disclosure may provide
for the secure relay of discovery information (i.e., discovery frames/expressions)
in wireless networks. As used herein, the terms "discovery frame," "discovery information,"
and "expression" may be used interchangeably.
[0105] As will be described in greater detail below, by providing certain fields in an expression
that are changeable (or should be changeable) only by relay devices, in addition to
a MIC value, an authenticating entity may be able to detect whether a relayed expression
is valid. Such fields are referred to herein as "relay-specific" fields. In some cases,
such relay-specific fields may be used to augment existing discovery frame formats,
for example, as an alternative to existing fields or in addition to existing fields.
[0106] For example, FIG. 13A shows an existing format for a discovery frame 1300 for open
discovery. According to certain aspects a discovery frame may comprise various fields.
For example, a discovery frame may comprise a message type field 1302, a PLMN identification
(ID) field 1304, a temporary ID field 1306, and a MIC 1310. According to certain aspects,
the PLMN ID and temporary ID fields may collectively be considered a ProSe Application
(App) Code 1308.
[0107] As illustrated in FIG. 13B, a value for the MIC 1310 may be generated using an algorithm
(e.g., Advanced Encryption Standard-Cipher-based Message Authentication Code "AES-CMAC")
that takes, as input, a time parameter 1312, the Msg Type field 1302, ProSe App Code
1308, and a (provided secret) Discovery Key 1314. According to aspects, the discovery
key 1314 may be provided per code or per UE. The time parameter 1012 may be, for example,
a "UTC-based time parameter" 1312 associated with a discovery period/slot when the
MIC is announced. According to certain aspects, the UTC-based time parameter may not
be sent in its entirety over the air (OTA), assuming other devices nearby can arrive
at the same notion of time. For example, only a certain number of least significant
bits (LSBs) of the time parameter may be sent to avoid ambiguity arising from border
timing between discovery periods.
[0108] According to certain aspects, integrity of a message may be checked by "verifying"
a MIC received in the message, for example, by an entity such as the ProSe Function
(PF). For example the M-UE may provide the PF with information such as a Msg Type,
ProSe App Code, MIC, and a time parameter that is "inferred" by the M-UE. If a MIC
fails verification (e.g., a generated MIC value does not match the MIC value received
in the message) then the discovery frame may be considered willfully or inadvertently
compromised.
[0109] According to certain aspects, a discovery frame may be compromised, for example,
by an attack on the timing of an A-UE's eNB system information block (SIB), a UE impersonation
attack, an A-UE not authorized (or no longer authorized) to announce the discovery
frame, or an M-UE misreporting (e.g., due to a desire to cause trouble to the A-UE).
[0110] As mentioned above, according to certain aspects, relay-specific fields may be utilized
as a mechanism to provide for secure relaying of discovery information. As described
below, with reference to FIGs. 14-16, an A-UE may initialize values of relay-specific
fields, while a relay-UE adjusts the values of the relay-specific fields without altering
the MIC value, while a verifying device may validate a message by comparing a MIC
value received in the message to a MIC value generated based on other content in the
message (e.g., and the initialized values of the relay-specific fields).
[0111] FIG. 14 illustrates example operations 1400 performed, for example, by an A-UE to
allow for secure transmission of discovery information. Operations 1400 begin, at
1402, by constructing a discovery frame having one or more relay-specific fields changeable
by relay devices capable of relaying the discovery frame. At 1404, the one or more
relay-specific fields are initialized. At 1406, the A-UE generates a MIC value based,
at least in part, on a security key and the initialized one or more relay-specific
fields. At 1408, the A-UE transmits the discovery frame including the MIC value and
the relay-specific fields.
[0112] FIG. 15 illustrates example operations 1500 performed, for example, by an R-UE that
receives a discovery frame. Operations 1500 begin, at 1502, by receiving a discovery
frame having one or more relay-specific fields changeable by relay devices capable
of relaying the discovery frame and a MIC value generated based, at least in part,
on a security key and initial values of the one or more relay-specific fields. At
1504, the R-UE adjusts one or more of the one or more relay-specific fields. At 1506,
the R-UE transmits (relays) the discovery frame, including the MIC value as received
and the adjusted values of the relay-specific fields.
[0113] FIG. 16 illustrates example operations 1600 performed, for example, by a verifying
entity (e.g., the PF), to validate a relayed discovery frame. Operations 1600 begin,
at 1602, by providing a security key to be used to compute MIC values. At 1604, the
verifying entity receives a discovery frame including a MIC value and one or more
relay-specific fields changeable by relay devices capable of relaying the discovery
frame, wherein the MIC value was generated based, at least in part, on the security
key and initialized values of the one or more relay-specific fields, In some cases,
the MIC may be sent separately by the UE and, more generally, all elements that the
UE hears in one discovery frame may be dis-assembled and sent to the verifying entity
(e.g., ProSe Fct) in separate information elements (IBs) as part of the signaling
message.
[0114] At 1606, the verifying entity locally generates a MIC value based on the security
key, information in the discovery frame, and an adjusted values of the one or more
relay-specific fields. At 1608, the verifying entity performs a verification function
for the discovery frame based on a comparison of the MIC value included in the discovery
frame and the locally generated MIC value.
[0115] As illustrated in FIG. 17, in some cases, relay specific fields 1702 and 1704 may
be included as part of the temporary ID field of a discovery frame 1700.
[0116] The relay-specific fields 1702 and 1704 may contain different types of information.
For example, field 1702 may comprise information relating to a current hop count (Current_Hop_Count)
and/or a current discovery slot count (Current _DiscSlot_Count), while field 1704
may comprise information that indicates an allowable range of values for field 1702.
For example, field 1704 may include a maximum hop count and/or a maximum discovery
slot count.
[0117] According to certain aspects, the current hop count may relate to how many UEs away
from original A-UE the discovery frame has been transmitted. According to certain
aspects, the original A-UE may set the current hop count value to zero and, for every
"hop" the discovery frame makes, the relay UE (R-UE) may increment the current hop
count by 1.
[0118] According to certain aspects, the current discovery slot count may relate to how
many discovery slots have occurred since the discovery slot in which the original
A-UE first transmitted the discovery frame. According to certain aspects, the original
A-UE may set the current discovery slot count value to zero and, for every discovery
slot after the original discovery slot, the R-UE may increment the current hop count
by 1.
[0119] According to certain aspects, field 1702 may be changeable by a relay relaying the
discovery frame whereas field 1704 may only be set by the original transmitter of
the discovery frame (e.g., the A-UE), According to certain aspects, the A-UE (i.e.,
original transmitter of the discovery frame) may compute a MIC based, at least in
part, on the value it sets the maximum hop count and/or maximum discovery slot count
to. According to aspects, the A-UE may also generate the MIC based, at least in part,
on a time-varying parameter.
[0120] The use of relay-specific fields proposed herein may be described with reference
to various timelines for the relaying of discovery frames (e.g., that include information
regarding goods or services provided by one or more vendors).
[0121] For example, FIG. 18 illustrates an example timeline of relaying of discovery frames
and the incrementing of the relay-specific fields. At Time 1, device A, an A-UE may
set both the current hop count and the current discovery slot count (shown as relay-specific
fields 1802) to zero. Additionally, in this example, device A sets both the maximum
hop count and maximum slot count (shown as relay-specific fields 1804) to 2. Thereafter,
device A may transmit the discovery frame.
[0122] At Time 2, device B (e.g., an R-UE) may receive the discovery frame transmitted by
device A and increment the relay-specific fields (e.g., both the current hop count
and current discovery slot count) by 1. Device B may then transmit (relay) the discovery
frame (as Frame 2) with the adjusted relay-specific fields, but with the remaining
fields (such as the MIC value) unaltered.
[0123] At Time 3, device C (e.g., another R-UE) may receive Frame 2 from UE B, increment
both the current hop count and current discovery slot count by 1, and relay the discovery
frame (as Frame 3). As illustrated, after this incrementing, the current hop count
and current discovery slot count may have a value of 2, the maximum value).
[0124] At Time 4, device D (e.g., an M-UE) may receive Frame 3 from UE C. Subsequently,
UE D may send Frame 3 to a PF for verification. For example, the PF may verify that
the current hop count and/or the current discovery slot count do not exceed the maximum
hop count and/or the maximum discovery slot count. According to certain aspects, to
verify the MIC of the discovery frame, the PF may reset the current hop count and
current discovery slot count to zero (as these are the values device A used to generate
the MIC value) and locally generate a MIC value to compare with the MIC value received
in Frame 3.
[0125] According to certain aspects, the verifying entity (device D or the ProSe Function
itself) may ensure the values of the current hop count and discovery slot count are
valid, For example, for a maximum hop/discovery slot count of 2, valid combinations
for the current hop count and current discovery slot count may be 00, 11, 12, or 22
(where the first digit from left to right corresponds to the current hop count and
the second digit corresponds to the current discovery slot count).
[0126] The mechanisms provided herein may allow detection of a UE that acts as a "replayer"
instead of a "relayer". For example, FIGs. 19A and B illustrate a scenario of a UE
acting as a replayer. As illustrated in FIG. 19A, a legitimate A-UE may transmit/announce
Frame 1 at Time 1. According to certain aspects, a UE may be able to modify Frame
1 and replay the discovery frame at Time1+2
∗Disc _Period, as illustrated in FIG. 19B, with values for the current hop count and
discovery slot count both to 2. A verifying entity may discover this attack, however,
by examining the values of these fields-in light of a current slot time.
[0127] According to certain aspects, a verifying entity may handle a replayed discovery
frame in various ways. For example, the verifying entity may detect replay attacks/modifications
on the received discovery frames and reject discovery frames sent by M-UEs with a
time parameter that is too old. Alternatively, the PF may accept discovery frames
sent by M-UEs that were "heard" from relay (i.e., the discovery frame is marked relayed),
and the MIC passes with an old time parameter.
[0128] According to certain aspects, a PF may not be able to distinguish between a discovery
frame that is relayed and a discovery frame that is replayed. However, if the PF can
ensure that an authorized A-UE's discovery frame was meant to be relayed, then replaying
its announcement (within A-UE's authorized limits) may be viewed not as an attack,
but as a favor (e.g., as extending the A-UE's range).
[0129] According to certain aspects, a wormhole attack may still be possible, but may be
easily mitigated. For example, an A-UE may include location information in a discovery
frame and/or the verifying entity (M-UE) may include location information in a request
to the PF. Since a PF may know (at least roughly) where UEs are (e.g., based on at
least a PLMN, and possibly more granular like a CellID), the verifying entity may
use this location information to verify the discovery frame.
[0130] In some cases, a R-UE may attempt to perform a denial of service (DoS) attack against
an A-UE, for example, by not increasing/decreasing the current hop/discovery slot
counters. As a result, the discovery frame may be relayed further/longer than the
maximum hop/discovery slot count, which may result in a relayed frame failing to be
verified at the ProSE Function (hence no service can be provided to the Monitoring
UE) -which may result in a loss of the information in the relayed discovery frame.
Additionally, an R-UE may "max out" the current hop/discovery slot counters prematurely.
This may result in the discovery frame not being relayed as far as it could have been
and the verification, again, failing.
[0131] FIG. 20A illustrates an exemplary discovery frame format for restricted discovery.
Certain types of discovery frame formats may be susceptible to impersonation or replay
attacks. To mitigate these attacks, it may be desirable for the announced TempID 2006A
to be generated in a manner that allows for enhanced verification. For example, as
illustrated in FIG. 20B, the Announced TempID 2006B may be generated using a time-varying
one-way hash function 2004B, using a ProSe Code 2002B and a UTC-based time counter
2008B as input. As noted above, the time value used to calculate the one-way has may
not sent in its entirety explicitly (e.g., only the 4 LSBs may be sent). In accordance
with certain aspects, a MIC 2004A (as described before) may also be sent to add to
the security level.
[0132] Aspects of the present disclosure may be used in a credit awarding scheme in connection
with the relaying of information. For example, as noted above, a credit may be awarded
to an R-UE (or corresponding user) whose relayed discovery frames make it to a PF
and are valid.
[0133] In some cases, it may be possible for an M-UE to prevent an R-UE from getting a credit
for relaying a discovery frame (e.g., by attempting to remove information identifying
a corresponding R-UE). Certain mechanisms may help detect this scenario, however,
For example, if the identity of the R-UE is not known to the A-UE, the R-UE may add
a verifiable "mark" to the discovery frame that it is relaying. If the identity of
the R-UE is known to the A-UE, the A-UE may include this information in the discovery
frame and may also use R-UE's identity information when generating the MIC for the
discovery frame, In either case, an M-UE may not be able to modify the received discovery
frame to prevent the R-UE from getting the credit without the MIC failing.
[0134] On the other hand, it may be possible for an R-UE to receive credit without actually
relaying a discovery frame. For example, if the identity of an R-UE is not known at
the A-UE, then any R-UE might claim to have relayed the discovery frame (e.g., acting
in collusion with an M-UE that provides a false verification of a relayed frame).
Certain mechanisms may be utilized to detect and/or prevent this scenario. For example,
if the identity of the R-UE is known at the A-UE, the A-UE may include the R-UE's
identity in the discovery frame and the R-UE may include a relay MIC (R-MIC) in the
relayed discovery frame, The PF may then verify the MIC using the R-MIC. However,
the R-UE may choose not relay the discovery frame, and instead, have an M-UE add an
R-MIC to the discovery frame sent to PF. In this case, the PF would see the R-MIC
added by the M-UE and award a credit to the R-UE identified in the R-MIC even though
the R-UE did not relay a discovery frame.
[0135] According to certain aspects, another way to identify an R-UE may be to compute the
R-UEs handle from an existing ID and use this handle at an A-UE to include in the
discovery frame just like the full R_UE's identity as described herein..
[0136] According to certain aspects, preventing an R-UE from receiving undue credit may
require cooperation between M-UE(s), may require the R-UE identity to be known by
the A-UE, and may require additional OTA overhead, which may be prohibitive in some
cases,
[0137] FIG. 21 illustrates an example timeline for relaying of discovery frames when (identity
of) the R-UE is known by the A-UE. At 2102 the A-UE asks whether there are any R-UE's
in the A-UE's vicinity available to relay a discovery frame. At 2104 an R-UE (e.g.,
R-UE1 and/or R-UE2) may respond to A-UE with the R-UE's identity/handle. The A-UE
may subsequently select, at 2106, one or more of the R-UEs to relay the discovery
frame. As illustrated, in some cases, the R-UE handles may be assigned by an eNB (with
the PF/credit giver) and the A-UE may indicate, to the eNB which R-UE is chosen.
[0138] The A-UE may construct the discovery frame, at 2108 based, at least in part, on the
R-UE's identity/handle, a MIC, and a time parameter. The A-UE may then transmit the
discovery frame at Time1. At time Time2, R-UE1 (selected by the A-UE), may receive
the discovery frame, increment the discovery slot count, and relay the discovery frame
to an M-UE.
[0139] In some cases, credit may only be given if a passing MIC value is generated with
a valid time parameter. For example, as illustrated in FIG. 21, a discovery frame
from M-UE1 that passes with a MIC generated with a time (T-10) may result in credit
given to R-UE1. On the other hand, a discovery frame from M-UE2 that passes with a
MIC generated from an invalid time (e.g., T-10) may result in no undue credit being
given to R-UE1, as M-UE2 may have sent the frame without it actually being relayed
from R-UE 1.
[0140] Despite these mechanisms, in some cases, a verifying entity may not be able to distinguish
between a legitimate relayed discovery frame and one that was not relayed but was
sent to a verifying entity with a delay and purposely modified,
[0141] FIG. 22 illustrates an example of how an identity of a relay UE may be made known
to an A-UE, in the event discovery is requested by another device (this scenario may
be referred to as reactive relaying). As illustrated, at Time 1, device A (an A-UE)
may transmit an expression to UE B. At Time 2, UE C may transmit an expression (indicating
interest that matches the expression UE B received from A. Detecting the Match, at
Time 3, B may ask A permission to relay the expression and may provide its ID (i.e.,
a Bid to relay) to A. At Time 4, UE A may transmit another expression (EXP'), by broadcasting
it or transmitting it just to B, which may include the same information as EXP but
also including UE B's Bid, which may be protected by a MIC. According to certain aspects,
once a Bid is protected by a MIC, that Bid may no longer be removed/replaced from
the EXP. At Time 5, B relays the expression to C (e.g., as EXP"), including B's Bid.
UE C may receive EXP" and, and Time 6, forward it to a verifying entity (PF) for validation
and to identify B as the relay (e.g., for credit purposes).
[0142] FIG. 23 illustrates a "network-centric" example of how an identity of a relay UE
may be made known to an A-UE. In this example, at 2302, R-UEs may sign up with the
PF/credit-giver and periodically upload their location and status (e.g. battery, availability,
etc.). If PF authorizes them, the PF may send a Relay ID to the R-UE to be used when
relaying information (e.g., EXPs or discovery frames). According to certain aspects,
at 2304, relays may provide their relay capability and ID to the According to certain
aspects, Relay IDs may be public but temporary, self-configured, or distributed (e.g.,
assigned by eNB, ProSe Function (PF) or an Application Server).
[0143] At 2306, the A-UE may transmit a request to the network (PF/credit-giver) to have
the A-UE's discovery frames relayed, In some cases, to help the PF/credit-giver select
an appropriate relay, the A-UE may also upload its location and (optionally) the IDs
of relays it has detected nearby.
[0144] At 2308, the PF may select a relay based on the location (and/or other criteria such
as battery power and the like). The PF may then send an indication of the selected
relay ID (or a list of relay IDs to choose from) to the A-UE.
[0145] According to certain aspects, the A-UE may now include the ID of the (selected) R-UE
in a generated over the air (OTA) code. For example, the ID of the selected R-UE may
be used when generating a MIC for the discovery frame. According to aspects, when
an M-UE sends a relayed discovery frame to PF/credit giver, the PF may also verify
that discovery frame was relayed by an authorized relay.
[0146] The various techniques presented herein provide a flexible infrastructure that allows
for a relay device to receive compensation. FIGs. 24, 25, and 26 illustrate various
operations for utilizing such an infrastructure, from the perspective of a relay device,
a credit provider, and a transacting device, respectively.
[0147] FIG. 24 illustrates example operations 2400 that may be performed by a relay device
that receives compensation for relaying discovery information. As illustrated, the
operations 2400 begin, at 2402, by receiving, via a first wireless signal comprising
a first one or more data packets, discovery information regarding at least one of
goods or services provided by an entity. At 2404, the relay device relays the discovery
information to another entity via a second wireless signal comprising a second one
or more data packets. At 2406, the relay device receives compensation for the relaying
of the discovery information.
[0148] FIG. 25 illustrates example operations 2500 that may be performed by a device that
provides compensation for relaying discovery information. As illustrated, the operations
2500 begin, at 2502, by determining that a transaction between a consuming entity
and the vending entity for the goods or services resulted from the discovery information
relayed by the relaying device via a wireless signal comprising one or more data packets.
At 2504, the relay device is identified based on information included in the one or
more data packets. At 2506, compensation is provided to the relay device for relaying
the discovery information, based on the determination.
[0149] FIG. 26 illustrates example operations 2600 that may be performed by a device that
performs a transaction using relayed discovery information, As illustrated, the operations
2600 begin, at 2602, by receiving discovery information relayed by another apparatus
via a wireless signal comprising one or more data packets, the discovery information
regarding at least one of goods or services relayed by an entity different from the
other apparatus. At 2604, the entity is the identified based on information included
in the one or more packets. At 2606, a transaction is performed with the entity for
the goods or services.
[0150] The various techniques presented herein provide a flexible infrastructure that allows
for advertising and relaying of discovery information. FIGs. 27, 28, and 29 illustrate
various operations for utilizing such an infrastructure, from the perspective of a
relay device, an advertising (or announcing) device, and a monitoring device, respectively.
[0151] FIG. 27 illustrates example operations 2700 that may be performed by a relay device
that relays discovery information. As illustrated, the operations 2700 begin, at 2702,
by receiving, via a first wireless signal comprising a first one or more data packets,
a discovery frame having one or more fields containing discovery information regarding
at least one of goods or services provided by an entity. At 2704, the relay device
transmits, via a second wireless signal comprising a second one or more data packets,
based on one or more rules, a relay frame having one or more fields containing at
least a portion of the discovery information.
[0152] FIG. 28 illustrates example operations 2800 that may be performed by a device that
advertises discovery information for relaying by a relay device. As illustrated, the
operations 2800 begin, at 2802, by generating a discovery frame having one or more
fields containing discovery information regarding at least one of goods or services
provided by an entity associated with the apparatus. At 2804, the device transmits
the discovery frame. via a first wireless signal comprising a first one or more data
packets, to a relay device to relay at least a portion of the discovery information
in a relay frame.
[0153] FIG. 29 illustrates example operations 2900 that may be performed by a device that
performs a transaction using relayed discovery information. As illustrated, the operations
2900 begin, at 2902, by receiving, via a first wireless signal comprising a first
one or more data packets, a relay frame from another apparatus. At 2904, the device
processes the relay frame to obtain discovery information regarding at least one of
goods or services provided by an entity different from the other apparatus.
EXAMPLE APPLICATION PROGRAMMING INTERFACE (API)
[0154] As noted above, an API may be provided to allow some control over discovery and access
to discovery information (e.g., via vendor specific Apps). In some cases, such an
API may be provided (e.g., by device manufacturers) to application designers to facilitate
customization of the use of the D2D services described herein, that the underlying
communications system enables. These Apps may be vendor-specific or general purpose
(e.g., for presentation, profile manipulation, alert customization, etc.). The Discovery-Request
messages sent by UE to operator ProSe Function contain the ID of the requesting application.
If the application is not accepted, the request is denied. Open discovery intrinsically
requires no permission control on who can monitor for the announced public expressions,
while restricted discovery require application/user-level permission. This may be
achieved with the assistance of an application server who maintains discovery permissions
for its users.
[0155] In any case, the API may provide access to the discovery functionality and discovery
information, without an application designer needing to know the details of the underlying
PHY/MAC communications protocol, such as those details described above.
[0156] FIGs. 30A and 30B illustrate an example API and corresponding API calls. In general,
the API allows an operator to maintain control over which apps are allowed access
to discovery information (announce/monitor). As illustrated in FIG. 30A, the API may
allow an application to initiate expression announcement (e.g., for a given period
of time or until cancelled), cancel expression announcement, monitor for specified
expressions (e.g., by explicit names, categories, etc.), cancel monitoring, and obtain
(get) metadata for discovered expressions. As illustrated in FIG. 30B, the API may
also return a match of a given expression (e.g., when monitoring), an indication if
a monitored expression is not found (unmatched), and return various metadata (e.g.,
if set up for monitoring or triggered by certain conditions). Various other API calls
are possible and likely variants of those illustrated may be desirable and useful.
[0157] FIG. 31 illustrates a block diagram of a system 3100 with a transmitter system 3110
(e.g., which may correspond to a vendor base station or eNodeB) and a receiver system
3150 (e.g., also known as an access terminal may correspond to a discovery relay,
such as an LTE-D UE). At the transmitter system 3110, traffic data for a number of
data streams is provided from a data source 3112 to a transmit (TX) data processor
3114.
[0158] In one aspect of the present disclosure, each data stream may be transmitted over
a respective transmit antenna. TX data processor 3114 formats, codes, and interleaves
the traffic data for each data stream based on a particular coding model selected
for that data stream to provide coded data.
[0159] The coded data for each data stream may be multiplexed with pilot data using OFDM
techniques. The pilot data is typically a known data pattern that is processed in
a known manner and may be used at the receiver system to estimate the channel response.
The multiplexed pilot and coded data for each data stream is then modulated (i.e.,
symbol mapped) based on a particular modulation model (e.g., BPSK, QPSK, m-QPSK, or
m-QAM) selected for that data stream to provide modulation symbols. The data rate,
coding, and modulation for each data stream may be determined by instructions performed
by processor 3130.
[0160] The modulation symbols for all data streams are then provided to a TX MIMO processor
3120, which may further process the modulation symbols (e.g., for OFDM). TX MIMO processor
3120 then provides NT modulation symbol streams to NT transmitters (TMTR) 3122a through
3122t.
[0161] Each transmitter 3122 receives and processes a respective symbol stream to provide
one or more analog signals, and further conditions (e.g., amplifies, filters, and
upconverts) the analog signals to provide a modulated signal suitable for transmission
over the MIMO channel. NT modulated signals from transmitters 3122a through 3122t
are then transmitted from NT antennas 3124a through 3124t, respectively.
[0162] At receiver system 3150, the transmitted modulated signals may be received by NR
antennas 3152a through 3152r and the received signal from each antenna 3152 may be
provided to a respective receiver (RCVR) 3154a through 3154r. Each receiver 3154 may
condition (e.g., filters, amplifies, and downconverts) a respective received signal,
digitize the conditioned signal to provide samples, and further process the samples
to provide a corresponding "received" symbol stream.
[0163] An RX data processor 3160 then receives and processes the NR received symbol streams
from NR receivers 3154 based on a particular receiver processing technique to provide
NT "detected" symbol streams. The RX data processor 3160 then demodulates, deinterleaves,
and decodes each detected symbol stream to recover the traffic data for the data stream.
The processing by RX data processor 3160 may be complementary to that performed by
TX MIMO processor 3120 and TX data processor 3114 at transmitter system 3110.
[0164] A processor 3170 periodically determines which pre-coding matrix to use. Processor
3170 formulates a reverse link message comprising a matrix index portion and a rank
value portion. The reverse link message may comprise various types of information
regarding the communication link and/or the received data stream. The reverse link
message is then processed by a TX data processor 3138, which also receives traffic
data for a number of data streams from a data source 3136, modulated by a modulator
3180, conditioned by transmitters 3154a through 3154r, and transmitted back to transmitter
system 3110.
[0165] At transmitter system 3110, the modulated signals from receiver system 3150 are received
by antennas 3124, conditioned by receivers 3122, demodulated by a demodulator 3140,
and processed by a RX data processor 3142 to extract the reserve link message transmitted
by the receiver system 3150. In one aspect of the present disclosure, the aforementioned
two-step joint de-mapping algorithm for computing bit LLRs based on LMMSE detection
and sphere decoding may be performed at the transmitter system 3110, e.g., at the
processor 3130. In another aspect, the proposed two-step de-mapping algorithm may
be performed at the receiver system 3150, e.g., at the processor 3170. In one aspect
of the present disclosure, the aforementioned joint demodulation using MLM may be
performed at the transmitter system 3110, e.g., at the processor 3130 and/or other
processors and modules at the transmitter system 3110. In another aspect, the aforementioned
joint demodulation using MLM may be performed at the receiver system 3150, e.g., at
the processor 3170 RX data processor 3160, and/or other processors and modules at
the receiver system.
[0166] FIG. 32 illustrates various components that may be utilized in a wireless device
3202, for example, that may be employed as a vendor device transmitting expressions
regarding goods or services or as a discover relay. Thus, the wireless device 3202
is an example of a device that may be configured to implement the various methods
described herein.
[0167] The wireless device 3202 may include a processor 3204 which controls operation of
the wireless device 3202. The processor 3204 may also be referred to as a central
processing unit (CPU). Memory 3206, which may include both read-only memory (ROM)
and random access memory (RAM), provides instructions and data to the processor 3204.
A portion of the memory 3206 may also include non-volatile random access memory (NVRAM).
The processor 3204 typically performs logical and arithmetic operations based on program
instructions stored within the memory 3206. The instructions in the memory 3206 may
be executable to implement the methods described herein.
[0168] The wireless device 3202 may also include a housing 3208 that may include a transmitter
3210 and a receiver 3212 to allow transmission and reception of data between the wireless
device 3202 and a remote location. The transmitter 3210 and receiver 3212 may be combined
into a transceiver 3214. A single or a plurality of transmit antennas 3216 may be
attached to the housing 3208 and electrically coupled to the transceiver 3214. The
wireless device 3202 may also include (not shown) multiple transmitters, multiple
receivers, and multiple transceivers.
[0169] The wireless device 3202 may also include a signal detector 3218 that may be used
in an effort to detect and quantify the level of signals received by the transceiver
3214. The signal detector 3218 may detect such signals as total energy, energy per
subcarrier per symbol, power spectral density and other signals. The wireless device
3202 may also include a digital signal processor (DSP) 3220 for use in processing
signals.
[0170] It is understood that the specific order or hierarchy of steps in the processes disclosed
above is an illustration of exemplary approaches. Based upon design preferences, it
is understood that the specific order or hierarchy of steps in the processes may be
rearranged. Further, some steps may be combined or omitted. The accompanying method
claims present elements of the various steps in a sample order, and are not meant
to be limited to the specific order or hierarchy presented.
[0171] The various operations of methods described above may be performed by any suitable
means capable of performing the corresponding functions. The means may include various
hardware and/or software component(s) and/or module(s), including, but not limited
to a circuit, an application specific integrated circuit (ASIC), or processor.
[0172] For example, means for transmitting may comprise a transmitter, such as the transmitter
unit illustrated in FIG. 2, the transmitter unit 3210 of the wireless device depicted
in FIG. 32, or a transmitter/receiver depicted in FIG. 31. Means for receiving may
comprise a receiver, such as the receiver unit 3212 of the wireless device depicted
in FIG. 32 or a transmitter/receiver unit depicted in FIG. 31. Means for processing,
means for determining, means for altering, means for generating, means for correcting,
and/or means for checking may comprise a processing system, which may include one
or more processors depicted in FIG. 31 or FIG. 32. The processing system may also
include a correlator.
[0173] Further, in some cases, rather than actually transmit a frame (or other structure),
an entity (e.g., a processor) may output such a structure via a transmit interface
to another entity (e.g., an RF front end or modem) for transmission. Similarly, rather
than actually receive a subframe (or other structure), an entity (e.g., a processor)
may receive such a structure from another entity (e.g., from an RF front end or modem)
via a receive interface. For example, the receive interface may include a bus interface
or other type interface.
[0174] As used herein, the term "determining" encompasses a wide variety of actions. For
example, "determining" may include calculating, computing, processing, deriving, investigating,
looking up (e.g., looking up in a table, a database or another data structure), ascertaining
and the like. Also, "determining" may include receiving (e.g., receiving information),
accessing (e.g., accessing data in a memory) and the like. Also, "determining" may
include resolving, selecting, choosing, establishing and the like.
[0175] Moreover, the term "or" is intended to mean an inclusive "or" rather than an exclusive
"or." That is, unless specified otherwise or clear from the context, the phrase, for
example, "X employs A or B" is intended to mean any of the natural inclusive permutations.
That is, for example the phrase "X employs A or B" is satisfied by any of the following
instances: X employs A; X employs B; or X employs both A and B. In addition, the articles
"a" and "an" as used in this application and the appended claims should generally
be construed to mean "one or more" unless specified otherwise or clear from the context
to be directed to a singular form. A phrase referring to "at least one of" a list
of items refers to any combination of those items, including single members. As an
example, "at least one of: a, b, or c" is intended to cover: a, b, c, a-b, a-c, b-c,
and a-b-c, as well as any combinations with multiples of the same element.
[0176] The previous description is provided to enable any person skilled in the art to practice
the various aspects described herein. Various modifications to these aspects will
be readily apparent to those skilled in the art, and the generic principles defined
herein may be applied to other aspects. Thus, the claims are not intended to be limited
to the aspects shown herein, but is to be accorded the full scope consistent with
the language claims, wherein reference to an element in the singular is not intended
to mean "one and only one" unless specifically so stated, but rather "one or more,"
Unless specifically stated otherwise, the term "some" refers to one or more. All structural
and functional equivalents to the elements of the various aspects described throughout
this disclosure that are known to those of ordinary skill in the art are intended
to be encompassed by the claims. No claim element is to be construed as a means plus
function unless the element is expressly recited using the phrase "means for."
1. Verfahren zur drahtlosen Kommunikation durch eine Vorrichtung, umfassend
Konstruieren (1402) eines Discovery-Frames mit einem oder mehreren relaisspezifischen
Feldern, die durch Relaisgeräte, die in der Lage sind, den Discovery-Frame weiterzuleiten,
geändert werden können;
Initialisieren (1404) des einen oder der mehreren relaisspezifischen Felder;
Erzeugen (1406) eines Message Integrity Check, MIC, -Wertes, der zumindest teilweise
auf einem Sicherheitsschlüssel, dem initialisierten einen oder den mehreren relaisspezifischen
Feldern, einer Kennung eines Relaisgeräts, das in der Lage ist, den Discovery-Frame
weiterzuleiten, und einem zeitveränderlichen Parameter basiert; und
Übertragen (1408), über ein erstes drahtloses Signal, das ein erstes oder mehrere
Datenpakete umfasst, wobei der Discovery-Frame den MIC-Wert und die relaisspezifischen
Felder enthält, aber nicht den Sicherheitsschlüssel.
2. Verfahren nach Anspruch 1, wobei der Discovery-Frame Information über Waren oder Dienstleistungen
enthält, die von einem oder mehreren Anbietern bereitgestellt werden.
3. Verfahren nach Anspruch 1, wobei das eine oder die mehreren relaisspezifischen Felder
mindestens eines von Folgendem umfassen: ein Hop-Count-Feld, das anzeigt, wie oft
der Discovery-Frame weitergeleitet wurde, oder ein Discovery-Slot-Count-Feld, das
die Anzahl der Discovery-Slots des Weiterleitens seit dem ursprünglichen Senden des
Discovery-Frames anzeigt.
4. Verfahren nach Anspruch 1, ferner umfassend das Erhalten, über ein zweites drahtloses
Signal, das ein zweites oder mehrere Datenpakete umfasst, der Identifikation des Relaisgeräts
als Antwort auf eine Abfrage nach Relaisgeräten, die zum Weiterleiten des Discovery-Frames
verfügbar sind,
oder ferner umfassend das Erhalten, über ein zweites drahtloses Signal, das ein zweites
oder mehrere Datenpakete umfasst, der Identifikation des Relaisgeräts über einen Discovery-Frame,
der von dem Relaisgerät übertragen wird,
oder ferner umfassend:
Übertragen, über ein zweites drahtloses Signal, das ein zweites oder mehrere Datenpakete
umfasst, einer Anforderung, die an ein Gerät weitergeleitet werden soll, das in der
Lage ist, den Discovery-Frame verifiziert zu bekommen; und
als Antwort, Empfangen, über ein drittes drahtloses Signal, das ein drittes oder mehrere
Datenpakete umfasst, der Identifikation des Relaisgeräts von dem Gerät, das in der
Lage ist, den Discovery-Frame zu verifizieren.
5. Verfahren zur drahtlosen Kommunikation durch eine Vorrichtung, umfassend:
Empfangen (1502), über ein erstes drahtloses Signal, das ein erstes oder mehrere Datenpakete
umfasst, eines Discovery-Frames mit einem oder mehreren initialisierten relaisspezifischen
Feldern, die von Relaisgeräten, die in der Lage sind, den Discovery-Frame weiterzuleiten,
geändert werden können, und einem Message-Integrity-Check, MIC, -Wert, der zumindest
teilweise basierend auf einem Sicherheitsschlüssel, dem initialisierten einen oder
den mehreren relaisspezifischen Feldern, einer Kennung eines Relaisgeräts, das in
der Lage ist, den Discovery-Frame weiterzuleiten, und einem zeitveränderlichen Parameter
erzeugt wird;
Inkrementieren (1504) eines oder mehrerer des einen oder der mehreren relaisspezifischen
Felder; und
Übertragen (1506) des Discovery-Frames, der den MIC-Wert wie empfangen und die inkrementierten
Werte der relaisspezifischen Felder enthält, über ein zweites drahtloses Signal, das
ein zweites oder mehrere Datenpakete umfasst.
6. Verfahren nach Anspruch 5, wobei der Discovery-Frame Information über Waren oder Dienstleistungen
enthält, die von einem oder mehreren Anbietern bereitgestellt werden,
oder wobei das eine oder die mehreren relaisspezifischen Felder mindestens eines von
Folgendem umfassen: ein Hop-Count-Feld, das anzeigt, wie oft der Discovery-Frame weitergeleitet
wurde, oder ein Discovery-Slot-Count-Feld, das die Anzahl der Discovery-Slots des
Weiterleitens seit dem ursprünglichen Senden des Discovery-Frames anzeigt.
7. Verfahren nach Anspruch 5, ferner umfassend
Empfangen, über ein drittes drahtloses Signal, das ein drittes oder mehrere Datenpakete
umfasst, einer Abfrage nach Relaisgeräten, die für das Weiterleiten des Discovery-Frames
verfügbar sind; und
Beantworten der Abfrage über ein viertes drahtloses Signal, das ein viertes oder mehrere
Datenpakete umfasst, mit einer Identifikation der Vorrichtung,
oder ferner umfassend das Senden einer Anfrage zum Weiterleiten des Discovery-Frames
über ein drittes drahtloses Signal, das ein drittes Datenpaket oder mehrere Datenpakete
umfasst.
8. Verfahren zur drahtlosen Kommunikation durch eine Entität, die in der Lage ist, einen
Discovery-Frame zu verifizieren, umfassend:
Bereitstellen (1602) eines Sicherheitsschlüssels, der zum Berechnen von Message-Integrity-Check,
MIC,-Werten, verwendet werden soll;
Empfangen (1604), über ein erstes drahtloses Signal, das ein erstes oder mehrere Datenpakete
umfasst, eines Discovery-Frames, der einen MIC-Wert und ein oder mehrere initialisierte
relais-spezifische Felder enthält, die durch Relaisgeräte, die in der Lage sind, den
Discovery-Frame weiterzuleiten, geändert werden können, wobei der MIC-Wert zumindest
teilweise basierend auf einem Sicherheitsschlüssel, dem initialisierten einen oder
den mehreren relais-spezifischen Feldern und einer Kennung eines Relaisgeräts, das
in der Lage ist, den Discovery-Frame weiterzuleiten, erzeugt wurde;
Zurücksetzen der Werte des einen oder der mehreren relaisspezifischen Felder;
Erzeugen (1606) eines MIC-Wertes lokal basierend auf dem Sicherheitsschlüssel, Information
im Discovery-Frame, den Rücksetzwerten des einen oder der mehreren relaisspezifischen
Felder, der Kennung des Relaisgeräts und einem zeitveränderlichen Parameter; und
Ausführen (1608) einer Verifizierungsfunktion für den Discovery-Frame basierend auf
einem Vergleich des in dem Discovery-Frame enthaltenen MIC-Wertes und des lokal erzeugten
MIC-Wertes und dem Sicherstellen, dass die empfangenen Werte des einen oder der mehreren
relaisspezifischen Felder gültig sind.
9. Verfahren nach Anspruch 8, wobei der Discovery-Frame Information über Waren oder Dienstleistungen
enthält, die von einem oder mehreren Anbietern bereitgestellt werden.
10. Verfahren nach Anspruch 8, wobei das eine oder die mehreren relaisspezifischen Felder
mindestens eines von Folgendem umfassen: ein Hop-Count-Feld, das anzeigt, wie oft
der Discovery-Frame weitergeleitet wurde, oder ein Discovery-Slot-Count-Feld, das
eine Übertragungsperiode für das Weiterleiten des Discovery-Frames anzeigt.
11. Verfahren nach Anspruch 8, ferner umfassend:
Einstellen von Werten des einen oder der mehreren relaisspezifischen Felder auf einen
Anfangswert vor dem Erzeugen des MIC-Wertes,
oder ferner umfassend
Empfangen, über ein zweites drahtloses Signal, das ein zweites oder mehrere Datenpakete
umfasst, einer Anfrage zum Abonnieren von einem Relaisgerät; und
Übertragen der Identifikation des Relaisgeräts über ein drittes drahtloses Signal,
das ein drittes oder mehrere Datenpakete umfasst, an das Relaisgerät,
oder ferner umfassend:
Empfangen, von einem Ansagegerät über ein zweites drahtloses Signal, das ein zweites
oder mehrere Datenpakete umfasst, einer Anforderung für den weiterzuleitenden Discovery-Frame;
als Reaktion auf die Anforderung, Auswählen eines Relaisgeräts zum Weiterleiten des
Discovery-Frames basierend auf einem oder mehreren Kriterien; und
Übertragen an das Ansagegerät über ein drittes drahtloses Signal, das ein drittes
Datenpaket oder mehrere Datenpakete umfasst, einer Identifikation des ausgewählten
Relaisgeräts.
12. Vorrichtung für drahtlose Kommunikation, umfassend
Mittel zum Konstruieren (1402) eines Discovery-Frames mit einem oder mehreren relaisspezifischen
Feldern, die von Relaisgeräten, die in der Lage sind, den Discovery-Frame weiterzuleiten,
geändert werden können;
Mittel zum Initialisieren (1404) des einen oder der mehreren relaisspezifischen Felder;
Mittel zum Erzeugen (1406) eines Message Integrity Check, MIC, -Wertes, der zumindest
teilweise auf einem Sicherheitsschlüssel, dem initialisierten einen oder den mehreren
relaisspezifischen Feldern, einer Kennung eines Relaisgeräts, das in der Lage ist,
den Discovery-Frame weiterzuleiten und einem zeitveränderlichen Parameter basiert;
und
Mittel zum Übertragen (1408), über ein erstes drahtloses Signal, das ein erstes oder
mehrere Datenpakete umfasst, wobei der Discovery-Frame den MIC-Wert und die relaisspezifischen
Felder enthält, aber nicht den Sicherheitsschlüssel.
13. Vorrichtung für drahtlose Kommunikation, umfassend:
Mittel zum Empfangen (1502), über ein erstes drahtloses Signal, das ein erstes oder
mehrere Datenpakete umfasst, eines Discovery-Frames mit einem oder mehreren initialisierten
relaisspezifischen Feldern, die von Relaisgeräten, die in der Lage sind, den Discovery-Frame
weiterzuleiten, geändert werden können, und einem Message Integrity Check, MIC, -Wert,
der zumindest teilweise basierend auf einem Sicherheitsschlüssel, dem initialisierten
einen oder den mehreren relaisspezifischen Feldern, einer Kennung eines Relaisgeräts,
das in der Lage ist, den Discovery-Frame weiterzuleiten, und einem zeitveränderlichen
Parameter erzeugt wird;
Mittel zum Inkrementieren (1504) eines oder mehrerer des einen oder der mehreren relaisspezifischen
Felder; und
Mittel zum Übertragen (1506), über ein zweites drahtloses Signal, das ein zweites
oder mehrere Datenpakete umfasst, des Discovery-Frames, der den MIC-Wert wie empfangen,
und die inkrementierten Werte der relaisspezifischen Felder enthält.
14. Vorrichtung, die in der Lage ist, einen Discovery-Frame zu verifizieren, umfassend:
Mittel zum Bereitstellen (1602) eines Sicherheitsschlüssels, der zum Berechnen von
Message Integrity Check-, MIC-, Werten verwendet werden soll;
Mittel zum Empfangen (1604), über ein erstes drahtloses Signal, das ein erstes oder
mehrere Datenpakete umfasst, eines Discovery-Frames, der einen MIC-Wert und ein oder
mehrere initialisierte relaisspezifische Felder enthält, die von Relaisgeräten, die
in der Lage sind, den Discovery-Frame weiterzuleiten, geändert werden können, wobei
der MIC-Wert zumindest teilweise basierend auf einem Sicherheitsschlüssel, dem einen
oder den mehreren initialisierten relaisspezifischen Feldern und einer Kennung eines
Relaisgeräts, das in der Lage ist, den Discovery-Frame weiterzuleiten, erzeugt wurde;
Mittel zum Zurücksetzen von Werten des einen oder der mehreren relaisspezifischen
Felder;
Mittel zum Erzeugen (1606) eines MIC-Wertes lokal basierend auf dem Sicherheitsschlüssel,
Information im Discovery-Frame, den Rücksetzwerten des einen oder der mehreren relaisspezifischen
Felder, der Kennung des Relaisgeräts und eines zeitveränderlichen Parameters; und
Mittel zum Durchführen (1608) einer Verifizierungsfunktion für den Discovery-Frame
basierend auf einem Vergleich des in dem Discovery-Frame enthaltenen MIC-Wertes und
des lokal erzeugten MIC-Wertes, und Mittel zum Sicherstellen, dass die empfangenen
Werte des einen oder der mehreren relaisspezifischen Felder gültig sind.
15. Computerprogramm-Produkt Anweisungen umfassend, wobei die Anweisungen von einem Computer
ausführbar sind, um ein Verfahren nach einem der Ansprüche 1 bis 11 durchzuführen.