Methods and apparatus for base station assisted peer discovery through aggregation of expressions

A method, an apparatus, and a computer program product for wireless communication are provided in which a UE is equipped to generate an expression associated with a wireless device for use in a peer discovery signal, generate an expression set from the expression, a first temporal frequency, and a first time duration, and transmit the generated expression set to a base station to allow the base station to broadcast each of the expressions included in the expression set at the first temporal frequency over the first time duration. Another method, apparatus, and computer program product for wireless communication are provided in which a base station is equipped to receive an expression set from a wireless device, process the received expression set to determine each of one or more instances of an expression, and transmit each of the one or more instances of the expression.

BACKGROUND

The present disclosure relates generally to communication systems, and more particularly, to base station assisted peer discovery to facilitate efficient peer-to-peer (P2P) communications.

For many applications (e.g., social networking applications) it is important for a device to discover other devices within the vicinity. A device may broadcast a peer discovery signal which conveys an “expression” that can identify itself. The peer discovery information is usually very small. Note that although the peer discovery information may be fixed in a long time period, the bits that encode this information may change rapidly due to privacy concerns. The device may also need to detect other devices' peer discovery signal. Due to the fast decaying of radio signals, a device may not be able to directly detect another peer device's peer discovery signal. Further, different devices may operate in different frequency bands or under different operators, and it may not be feasible for a device to transmit/receive in all possible bands to detect all other device's peer discovery signal.

Base stations can receive peer devices' peer discovery information, exchange this information among base stations, and rebroadcast the information so that peer devices in a wide area may discover each other. With base station relayed peer discovery, periodic transmission of time varying peer discovery expressions to the base station may cause an excessive amount of short message traffic in the wide area network (WAN) and may result in excessive overhead communications. Therefore, a system and method to assist in facilitating efficient communication of a peer-to-peer communication discovery expression is desired.

SUMMARY

In accordance with one or more aspects and corresponding disclosure thereof, various aspects are described in connection with base station assisted discovery to enable P2P communications. In one example, a UE is equipped to generate an expression associated with a wireless device for use in a peer discovery signal, generate an expression set from the expression, a first temporal frequency, and a first time duration, and transmit the generated expression set to a base station to allow the base station to broadcast each of the expressions included in the expression set at the first temporal frequency over the first time duration. In another example, a base station is equipped to receive an expression set from a wireless device, process the received expression set to determine each of one or more instances of an expression, and transmit each of the one or more instances of the expression.

According to related aspects, a method for base station assisted P2P discovery is provided. The method can comprise generating an expression associated with a wireless device for use in a peer discovery signal. Further, the method can include generating an expression set from the expression, a first temporal frequency, and a first time duration. Moreover, the method may include transmitting the generated expression set to a base station to allow the base station to broadcast each of the expressions included in the expression set at the first temporal frequency over the first time duration.

Another aspect relates to a wireless communications apparatus enabled to use base station assistance for P2P discovery. The wireless communications apparatus can include means for generating an expression associated with a wireless device for use in a peer discovery signal. Further, the wireless communications apparatus can include means for generating an expression set from the expression, a first temporal frequency, and a first time duration. Moreover, the wireless communications apparatus can include means for transmitting the generated expression set to a base station to allow the base station to broadcast each of the expressions included in the expression set at the first temporal frequency over the first time duration.

Another aspect relates to a wireless communications apparatus. The apparatus can include a processing system configured to generate an expression associated with a wireless device for use in a peer discovery signal. Further, the processing system may be configured to generate an expression set from the expression, a first temporal frequency, and a first time duration. Moreover, the processing system may further be configured to transmit the generated expression set to a base station to allow the base station to broadcast each of the expressions included in the expression set at the first temporal frequency over the first time duration.

Still another aspect relates to a computer program product, which can have a computer-readable medium including code for generating an expression associated with a wireless device for use in a peer discovery signal. Further, the computer-readable medium can include code for generating an expression set from the expression, a first temporal frequency, and a first time duration. Moreover, the computer-readable medium can include code for transmitting the generated expression set to a base station to allow the base station to broadcast each of the expressions included in the expression set at the first temporal frequency over the first time duration.

According to related aspects, a method for base station assisted P2P discovery is provided. The method can comprise receiving an expression set from a wireless device, wherein the expression set includes one or more instances of an expression, a first temporal frequency, and a first duration of time. Further, the method can include processing the received expression set to determine each of one or more instances of an expression for transmission at the first temporal frequency over the first duration of time. Moreover, the method may include transmitting each of the one or more instances of the expression at the first temporal frequency during the first duration of time.

Another aspect relates to a wireless communications apparatus enabled to use base station assistance for P2P discovery. The wireless communications apparatus can include means for receiving an expression set from a wireless device, wherein the expression set includes one or more instances of an expression, a first temporal frequency, and a first duration of time. Further, the wireless communications apparatus can include means for processing the received expression set to determine each of one or more instances of an expression for transmission at the first temporal frequency over the first duration of time. Moreover, the wireless communications apparatus can include means for transmitting each of the one or more instances of the expression at the first temporal frequency during the first duration of time.

Another aspect relates to a wireless communications apparatus. The apparatus can include a processing system configured to receive an expression set from a wireless device, wherein the expression set includes one or more instances of an expression, a first temporal frequency, and a first duration of time. Further, the processing system may be configured to process the received expression set to determine each of one or more instances of an expression for transmission at the first temporal frequency over the first duration of time. Moreover, the processing system may further be configured to transmit each of the one or more instances of the expression at the first temporal frequency during the first duration of time.

Still another aspect relates to a computer program product, which can have a computer-readable medium including code for receiving an expression set from a wireless device, wherein the expression set includes one or more instances of an expression, a first temporal frequency, and a first duration of time. Further, the computer-readable medium can include code for processing the received expression set to determine each of one or more instances of an expression for transmission at the first temporal frequency over the first duration of time. Moreover, the computer-readable medium can include code for transmitting each of the one or more instances of the expression at the first temporal frequency during the first duration of time.

DETAILED DESCRIPTION

Accordingly, in one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination 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, 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. Those skilled in the art will recognize how best to implement the described functionality presented throughout this disclosure depending on the particular application and the overall design constraints imposed on the overall system.

FIG. 1is a conceptual diagram illustrating an example of a hardware implementation for an apparatus100employing a processing system114. The processing system114may be implemented with a bus architecture, represented generally by the bus102. The bus102may include any number of interconnecting buses and bridges depending on the specific application of the processing system114and the overall design constraints. The bus102links together various circuits including one or more processors and/or hardware modules, represented generally by the processor104, and computer-readable media, represented generally by the computer-readable medium106. The bus102may also link various other circuits such as timing sources, peripherals, voltage regulators, and power management circuits, which are well known in the art, and therefore, will not be described any further. A bus interface108provides an interface between the bus102and a transceiver110. The transceiver110provides a means for communicating with various other apparatuses over a transmission medium.

The processor104is responsible for managing the bus102and general processing, including the execution of software stored on the computer-readable medium106. The software, when executed by the processor104, causes the processing system114to perform the various functions described infra for any particular apparatus. The computer-readable medium106may also be used for storing data that is manipulated by the processor104when executing software.

FIG. 2is a drawing of an exemplary peer-to-peer communications system200.

The peer-to-peer communications system200includes a plurality of wireless devices206,208,210,212. The peer-to-peer communications system200may overlap with a cellular communications system, such as for example, a wireless wide area network (WWAN). Some of the wireless devices206,208,210,212may communicate together in peer-to-peer communication, some may communicate with the base station204, and some may do both. For example, as shown inFIG. 2, the wireless devices206,208are in peer-to-peer communication and the wireless devices210,212are in peer-to-peer communication. The wireless device212is also communicating with the base station204.

The wireless device may alternatively be referred to by those skilled in the art as user equipment, a mobile station, a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a wireless node, a remote unit, a mobile device, a wireless communication device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile client, a client, or some other suitable terminology. The base station may alternatively be referred to by those skilled in the art as an access point, a base transceiver station, a radio base station, a radio transceiver, a transceiver function, a basic service set (BSS), an extended service set (ESS), a Node B, an evolved Node B, or some other suitable terminology.

The exemplary methods and apparatuses discussed infra are applicable to any of a variety of wireless peer-to-peer communications systems, such as for example, a wireless peer-to-peer communication system based on FlashLinQ, WiMedia, Bluetooth, ZigBee, or Wi-Fi based on the IEEE 802.11 standard. To simplify the discussion, the exemplary methods and apparatus are discussed within the context of FlashLinQ. However, one of ordinary skill in the art would understand that the exemplary methods and apparatuses are applicable more generally to a variety of other wireless peer-to-peer communication systems.

FIG. 3is a diagram300illustrating an exemplary time structure for peer-to-peer communication between the wireless devices100. An ultraframe is 512 seconds and includes 64 megaframes. Each megaframe is 8 seconds and includes 8 grandframes. Each grandframe is 1 second and includes 15 superframes. Each superframe is approximately 66.67 ms and includes 32 frames. Each frame is 2.0833 ms.

FIG. 4is a diagram400illustrating the channels in each frame of superframes in one grandframe. In a first superframe (with index0), frame0is a reserved channel (RCH), frames1-10are each a miscellaneous channel (MCCH), and frames11-31are each a traffic channel (TCCH). In the 2ndthrough 7thsuperframes (with index1:6), frame0is a RCH and frames1-31are each a TCCH. In an8thsuperframe (with index7), frame0is a RCH, frames1-10are each a MCCH, and frames11-31are each a TCCH. In the 9ththrough 15thsuperframes (with index8:14), frame0is a RCH and frames1-31are each a TCCH. The MCCH of superframe index0includes a secondary timing synchronization channel, a peer discovery channel, a peer page channel, and a reserved slot. The MCCH of superframe index7includes a peer page channel and reserved slots. The TCCH includes connection scheduling, a pilot, channel quality indicator (CQI) feedback, a data segment, and an acknowledgement (ACK).

FIG. 5is a diagram500illustrating an operation timeline of the MCCH and an exemplary structure of a peer discovery channel. As discussed in relation toFIG. 4, the MCCH of superframe index0includes a secondary timing synchronization channel, a peer discovery channel, a peer paging channel, and a reserved slot. The peer discovery channel may be divided into subchannels. For example, the peer discovery channel may be divided into a long range peer discovery channel, a medium range peer discovery channel, a short range peer discovery channel, and other channels. Each of the subchannels may include a plurality of blocks/resources for communicating peer discovery information. Each block may include a plurality of orthogonal frequency-division multiplexing (OFDM) symbols (e.g.,72) at the same subcarrier.FIG. 5provides an example of a subchannel (e.g., short range peer discovery channel) including blocks in one megaframe, which includes the MCCH superframe index0of grandframes0through7. Different sets of blocks correspond to different peer discovery resource identifiers (PDRIDs). For example, one PDRID may correspond to one of the blocks in the MCCH superframe index0of one grandframe in the megaframe.

Upon power up, a wireless device listens to the peer discovery channel for a period of time (e.g., two megaframes) and selects a PDRID based on a determined energy on each of the PDRIDs. For example, a wireless device may select a PDRID corresponding to block502(i=2 and j=15) in a first megaframe of an ultraframe. The particular PDRID may map to other blocks in other megaframes of the ultraframe due to hopping. In blocks associated with the selected PDRID, the wireless device transmits its peer discovery signal. In blocks unassociated with the selected PDRID, the wireless device listens for peer discovery signals transmitted by other wireless devices.

The wireless device may also reselect a PDRID if the wireless device detects a PDRID collision. That is, a wireless device may listen rather than transmit on its available peer discovery resource in order to detect an energy on the peer discovery resource corresponding to its PDRID. The wireless device may also detect energies on other peer discovery resources corresponding to other PDRIDs. The wireless device may reselect a PDRID based on the determined energy on the peer discovery resource corresponding its PDRID and the detected energies on the other peer discovery resources corresponding to other PDRIDs.

FIG. 6is a drawing of an exemplary wireless wide area network (WWAN) communications system600. The peer-to-peer communications system600includes a plurality of wireless devices602,606,610, and may include one or more base stations604,608. In one aspect, base stations604and608may be connected over a network connection616.

Wireless device602may generate an expression for discovery for peer-to-peer communications. As used herein an expression may be a unique naming structure defined by an application and may allow applications to discover one another. In one aspect, an expression may include a public expression and/or a private expression. A public expression may include an expression name and a corresponding expression code that may be efficiently transmitted over the air. Further, a private expression includes an expression name and a corresponding expression key that may have a time-varying hash function applied to them prior to being sent over the air. One way to keep the expression private is encryption. The device602may generate a private expression and a particular group of devices may share a common key, which may be used to encrypt/decrypt the private expression. This key may be changed from time to time and the key sequence as a function of time may be known by the device602and the group of devices with which the device602intends to share (e.g.,606). As such, devices with the key sequence can decrypt the expression. In one aspect, the expression may be included in a short bit string. For example, in FlashLinQ, the expression may include 70 bits of information. Further, in one aspect, a device's expression can be time variant.

Further, wireless device602may process the expression to generate an expression set612. In one aspect, the expression set612may be aggregated over a period of time and sent to the base station604using an uplink channel. As an example, the expression may be 70 bits long, and a peer discovery period may be 8 ms. Device602may aggregate all the expressions over the next hour (e.g., approximately 4K byte) in a packet and send the packet (e.g., expression set612) to the base station. After receiving the aggregated expression set612, the base station can reproduce the70bits expression for each 8 ms peer discover period and broadcast only the corresponding 70 bits expression614every 8 ms. In one aspect, base station604may communicate the expression set612and/or the expression614over the network connection616to base station608to transmit the expression. In such an aspect, wireless device610may receive the expression614associated with wireless device602even though it is served by a different base station608. In one aspect, base station604may receive the expression set612using a first frequency band and may transmit the expression614using one or more other frequency bands.

FIG. 7illustrates an example wireless communications network700including wireless device702, base station704, and one or more peer devices706. Wireless communications network700allows for improved base station assisted peer discovery processes to be implemented in a peer-to-peer network.

At act708, a wireless device702may generate an expression to be communicated as part of a peer discovery process.

At act710, the wireless device702may preprocess the expression so as to make the information accessible to various peer devices706. For example, the expression may be preprocessed as a private expression. One way to keep the expression private is encryption. The wireless device702with the private expression and a particular group of devices706may share a common key, which is used to encrypt/decrypt the expression. In one aspect, the key may be changed from time to time. In such an aspect, this key sequence, as a function of time, may be known by the device702and the group of devices706. Thus only devices with the key sequence can decrypt the expression.

At act712, the wireless device702may generate an aggregated expression value. In one aspect, wireless device703may aggregate expressions over a certain period of time. As an example, assume that the expression is 70 bits long, and the peer discovery period is 8 seconds. Wireless device702may aggregate all the expressions over the next hour (e.g., about 4K byte) into an aggregated expression packet. At act714, the aggregated expression packet may be transmitted to base station704.

At act716, base station704may reproduce wireless device702expressions and at act718, base station704may broadcast the expressions at a determined temporal frequency to various peer devices706. In other words, after base station704receives the aggregated expression, the base station704can reproduce the 70 bits expression for each 8 second peer discover period and broadcast only the corresponding 70 bits expression every 8 seconds. In one aspect, if wireless device702does not want to be discovered by other devices706, it may send a message (not shown) to the base station704to stop the broadcasting of its expression. As such, an uplink transmission may be used over a time duration (e.g., an hour), and overhead associated with sending expressions to the base station704may be greatly reduced.

FIG. 8is a flow chart800of an exemplary method. The method is performed by a wireless device. At block802, the wireless device may generate an expression for use in a peer discovery signal. In one aspect, the expression may be encrypted using one or more keys. At block804, the wireless device may generate an expression set from the expression, a temporal frequency and a time duration. In one aspect, the temporal frequency may be a temporal frequency used for broadcasting a peer discovery signal. In one aspect, the expression set may be encrypted using one or more keys. In another aspect, separately encrypted expressions may be aggregated into the expression set. At block806, the wireless device may transmit the expression set to a base station for eventual broadcasting of the expressions at the temporal frequency during the time duration. In one aspect, one or more rules may also be transmitted with the expression set. In such an aspect, the rules may be used by the base station to process the expression set to obtain each expression. Further, the one or more rules may indicate how to change an expression over time. For example, a time dependent hash function may be used to obtain each expression from the expression set. In another example, one or more time dependent encryption keys may be applied to each expression from the expression set.

FIG. 9is a conceptual block diagram900illustrating the functionality of an exemplary apparatus602′. The apparatus602′ includes an expression generation module902that is operable to generate an expression associated with the wireless device602′ for use in a peer discovery signal. The apparatus602′ may also include an expression set generation module904that is operable to generate an expression set from the expression908, a temporal frequency910and a time duration912. In such an aspect, the temporal frequency may coincide with a temporal frequency used for peer discovery transmissions. The apparatus602′ may further include a transmission module906that is operable to transmit the expression set914to a base station604. In one aspect, transmission module906may further include one or more rules with the expression set914to assist base station604in derive the expression908from the expression set914. In an optional aspect, apparatus602′ may further include an encryption module916that may be operable to encrypt expressions and/or expression sets using one or more keys918. The apparatus602′ may include additional modules that perform each of the steps in the aforementioned flow charts. Each step in the aforementioned flow charts may be performed by a module and the apparatus100/602′ may include one or more of those modules.

Referring toFIGS. 1,6, and9, in one configuration, the apparatus100/602/602′ for wireless communication includes means for generating an expression associated with a wireless device for use in a peer discovery signal, means for generating an expression set from the expression, a first temporal frequency, and a first time duration, and means for transmitting the generated expression set to a base station to allow the base station to broadcast each of the expressions included in the expression set at the first temporal frequency over the first time duration. In one aspect, the means for generating an expression set may further include means for encrypting the expression set using one or more keys. In another aspect, the means for generating an expression set may further include means for encrypting each expression separately in the expression set, and means for aggregating each separately encrypted expression into the expression set. In one aspect, the means for transmitting may further include means for transmitting one or more rules for generating an expression to transmit based on each expression in the expression set. In such an aspect, the one or more rules may include information indicating how to change the expression over time. The aforementioned means is the processing system114configured to perform the functions recited by the aforementioned means.

FIG. 10is a flow chart1000of an exemplary method. The method is performed by a wireless device. At block1002, the base station may receive an expression set from a wireless device including one or more instances of an expression, a temporal frequency and a time duration. In one aspect, the expression set may be received in a first frequency band. In one aspect, the expression set is encrypted used one or more keys. In such an aspect, the expression set may be decrypted by the base station and/or each expression may be separately decrypted by the base station. Further, the base station may re-encrypt each expression in the expression set prior to a subsequent transmission.

At block1004, the received expression set may be processed to obtain each instance of an expression. In one aspect, the expression set may be received with one or more rules to assist the base station in processing the received expression set. In such an aspect, the one or more rules may include information indicating how to change the expression over time. For example, a time dependent hash function may be used on each expression from the expression set. In another example, one or more time dependent encryption keys may be applied to each expression from the expression set.

At block1006, the base station may transmit each instance of the expression at the determined temporal frequency for the duration of time. In one aspect, the base station may transmit each instance of the expression to one or more other base stations to allow the one or more other base station to also transmit the expression. In another aspect, the base station may transmit the expression set to the one or more other base stations to allow the one or more other base stations to extract and to transmit the expression.

FIG. 11is a conceptual block diagram1100illustrating the functionality of an exemplary apparatus604′. The apparatus604′ includes a reception module1102that is operable to receive an expression set1108from a wireless device602. In one aspect, the expression set may also be received one or more rules to assist in processing the expression set. Further, the expression set1108may include one or more instances of an expression1110, a temporal frequency1112, and a time duration1114. The apparatus604′ may further include expression set processing module1104that may be operable determine each of the one or more instance of an expression1116by processing the expression set1108. In an optional aspect, where a received expression set1108is encrypted, decryption/encryption module1118may assist expression set processing module1104is decrypting and/or processing the encrypted expression set. The apparatus may further include transmission module1106that may transmit each expression1116at the temporal frequency1112for the time duration1114. In one optional aspect, the apparatus604′ may communication at least one of the expression set1108or each instance of the expression to one or more other base stations to allow the one or more other base stations to transmit the expression. Further, in an optional aspect, where the each expression1116is encrypted, decryption/encryption module1118may assist expression set processing module1104is re-encrypting the expression1116. In one aspect, transmission module1106may transmit the expression1116over a one or more different frequency bands than upon which the expression set1108was received. The apparatus604′ may include additional modules that perform each of the steps in the aforementioned flow charts. Each step in the aforementioned flow charts may be performed by a module and apparatuses100/604′ may include one or more of those modules.

Referring toFIGS. 1,6, and11, in one configuration, the apparatus100/604/604′ for wireless communication includes means for receiving an expression set from a wireless device, wherein the expression set includes one or more instances of an expression, a first temporal frequency, and a first duration of time, means for processing the received expression set to determine each of one or more instances of an expression for transmission at the first temporal frequency over the first duration of time, and means for transmitting each of the one or more instances of the expression at the first temporal frequency during the first duration of time. In one aspect, the means for receiving may further include means for receiving within a first frequency band, and the means for transmitting may further include means for transmitting within one or more other frequency bands. In one aspect, where the expression set is encrypted, the apparatus704′ may further include means for decrypting the encrypted expression set, and means for separately re-encrypt each expression in the expression set. In one aspect, where each expression is separately encrypted, the apparatus704′ may further include means for decrypting each expression in the expression set. In one aspect, the means for receiving may further include means for receiving one or more rules for generating an expression to transmit based on each expression in the expression set. In such an aspect, the one or more rules may include information indicating how to change the expression over time. In one aspect, the means for transmitting may further include means for transmitting each of the one or more instances of the expression to one or more other base stations to allow the one or more other base stations to transmit the one or more instances of the expression. In another aspect, the means for transmitting may further include means for transmitting the expression set to one or more other base stations to allow the one or more other base stations to process the expression set and transmit the one or more instances of the expression. The aforementioned means is the processing system114configured to perform the functions recited by the aforementioned means.