WO2014146266A1 - Application recommendations - Google Patents

Application recommendations Download PDF

Info

Publication number
WO2014146266A1
WO2014146266A1 PCT/CN2013/072948 CN2013072948W WO2014146266A1 WO 2014146266 A1 WO2014146266 A1 WO 2014146266A1 CN 2013072948 W CN2013072948 W CN 2013072948W WO 2014146266 A1 WO2014146266 A1 WO 2014146266A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
pdu
indication
information identifying
pdu includes
Prior art date
Application number
PCT/CN2013/072948
Other languages
French (fr)
Inventor
Canfeng Chen
Jia Liu
Original Assignee
Nokia Corporation
Nokia (China) Investment Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Corporation, Nokia (China) Investment Co., Ltd. filed Critical Nokia Corporation
Priority to CN201380074876.4A priority Critical patent/CN105144651A/en
Priority to EP13878655.3A priority patent/EP2976864A4/en
Priority to US14/768,750 priority patent/US9973876B2/en
Priority to PCT/CN2013/072948 priority patent/WO2014146266A1/en
Publication of WO2014146266A1 publication Critical patent/WO2014146266A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/21Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0225Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
    • H04W52/0229Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is a wanted signal
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • the present application relates to application recommendations.
  • An application is shared by providing a link to the application on the Windows Store.
  • Application sharing by NFC is point-to-point in that a target device needs to be tapped onto the donor device (i.e. they need to be in contact.
  • Application sharing by email or social network requires a data connection to the Internet to succeed, and so is not possible in situations when a connection to the Internet is not possible, and may incur data usage costs for the user.
  • a first aspect of the invention provides apparatus configured:
  • PDU packet data unit
  • the information identifying an application may comprise a unique identifier for the application.
  • the information identifying an application may comprise a full name of the application or it may comprise a truncated name of the application.
  • the information identifying an application may comprise a version number of the application.
  • the PDU may include a header and a payload and wherein the information identifying an application that may be installed on the apparatus may be included in the payload.
  • the PDU may include a header and a payload, and wherein the indication that the PDU may include an application recommendation may be included in the payload.
  • the indication that the PDU may include an application recommendation may comprise one or more bits in an AD Type field of the payload.
  • the indication that the PDU may include an application recommendation may be an indication that the PDU may include an application identifier, or it may include an application recommendation may be an indication that the PDU may include an application name.
  • the indication that the PDU may include an application recommendation may be an indication that the PDU may include an application name along with a version identifier.
  • the advertising message may be a Bluetooth Low Energy Link Layer packet.
  • the PDU may be an ADV_NONCONN_IND PDU.
  • the apparatus may be configured to create the PDU in response to a user input constituting a request for an advertisement recommendation.
  • the apparatus may be configured to broadcast the advertising message.
  • a second aspect of the invention provides apparatus configured:
  • PDU packet data unit
  • the apparatus may be configured to use the information identifying an application to identify the application in an on-line application marketplace from which the apparatus can download and install applications.
  • a third aspect of the invention provides a method comprising:
  • an apparatus creating an advertising message including a packet data unit [PDU] including information identifying an application that may be installed on the apparatus and an indication that the PDU may include an application recommendation; and the apparatus causing the advertising message to be broadcast.
  • PDU packet data unit
  • the information identifying an application may comprise a unique identifier for the application.
  • the information identifying an application may comprise a full name of the application or it may comprise a truncated name of the application.
  • the information identifying an application may comprise a version number of the application.
  • the PDU may include a header and a payload and wherein the information identifying an application that may be installed on the apparatus may be included in the payload.
  • the PDU may include a header and a payload, and wherein the indication that the PDU may include an application recommendation may be included in the payload.
  • the indication that the PDU may include an application recommendation may comprise one or more bits in an AD Type field of the payload.
  • the indication that the PDU may include an application recommendation may be an indication that the PDU may include an application identifier, or it may include an application recommendation may be an indication that the PDU may include an application name.
  • the indication that the PDU may include an application recommendation may be an indication that the PDU may include an application name along with a version identifier.
  • the advertising message may be a Bluetooth Low Energy Link Layer packet.
  • the PDU may be an ADV_NONCONN_IND PDU.
  • the method may comprise the apparatus creating the PDU in response to a user input constituting a request for an advertisement recommendation.
  • the method may comprise the apparatus broadcasting the advertising message.
  • a fourth aspect of the invention provides a method comprising:
  • an apparatus receiving an advertising message including a packet data unit
  • PDU including information identifying an application that may be installed on another apparatus and an indication that the PDU may include an application recommendation
  • the apparatus using the information identifying an application to provide an option to install the application.
  • the method may comprise the apparatus using the information identifying an application to identify the application in an on-line application marketplace from which the apparatus can download and install applications.
  • a computer program comprising instructions that when executed by a computer apparatus control it to perform the method above.
  • a fifth aspect of the invention provides a non-transitory computer-readable storage medium having stored thereon computer-readable code, which, when executed by computing apparatus, may cause the computing apparatus to perform a method comprising:
  • PDU packet data unit
  • the information identifying an application may comprise a unique identifier for the application.
  • the information identifying an application may comprise a full name of the application or it may comprise a truncated name of the application.
  • the information identifying an application may comprise a version number of the application.
  • the PDU may include a header and a payload and wherein the information identifying an application that may be installed on the apparatus may be included in the payload.
  • the PDU may include a header and a payload, and wherein the indication that the PDU may include an application recommendation may be included in the payload.
  • the indication that the PDU may include an application recommendation may comprise one or more bits in an AD Type field of the payload.
  • the indication that the PDU may include an application recommendation may be an indication that the PDU may include an application identifier, or it may include an application recommendation may be an indication that the PDU may include an application name.
  • the indication that the PDU may include an application recommendation may be an indication that the PDU may include an application name along with a version identifier.
  • the advertising message may be a Bluetooth Low Energy Link Layer packet.
  • the PDU may be an ADV_NONCONN_IND PDU.
  • the computer-readable code when executed by the computing apparatus may cause the computing apparatus to perform creating the PDU in response to a user input constituting a request for an advertisement recommendation.
  • a sixth aspect of the invention provides a non-transitory computer-readable storage medium having stored thereon computer-readable code, which, when executed by computing apparatus, may cause the computing apparatus to perform a method comprising:
  • PDU packet data unit
  • the computer-readable code when executed by the computing apparatus may cause the computing apparatus to perform using the information identifying an application to identify the application in an on-line application marketplace from which the apparatus can download and install applications.
  • a seventh aspect of the invention provides apparatus, the apparatus having at least one processor and at least one memory having computer-readable code stored thereon which when executed may control the at least one processor:
  • PDU packet data unit
  • the information identifying an application may comprise a unique identifier for the application.
  • the information identifying an application may comprise a full name of the application or it may comprise a truncated name of the application.
  • the information identifying an application may comprise a version number of the application.
  • the PDU may include a header and a payload and wherein the information identifying an application that may be installed on the apparatus may be included in the payload.
  • the PDU may include a header and a payload, and wherein the indication that the PDU may include an application recommendation may be included in the payload.
  • the indication that the PDU may include an application recommendation may comprise one or more bits in an AD Type field of the payload.
  • the indication that the PDU may include an application recommendation may be an indication that the PDU may include an application identifier, or it may include an application recommendation may be an indication that the PDU may include an application name.
  • the indication that the PDU may include an application recommendation may be an indication that the PDU may include an application name along with a version identifier.
  • the advertising message may be a Bluetooth Low Energy Link Layer packet.
  • the PDU may be an ADV_NONCONN_IND PDU.
  • the computer-readable code when executed may control the at least one processor to perform creating the PDU in response to a user input constituting a request for an advertisement recommendation.
  • the computer-readable code when executed may control the apparatus to perform broadcasting the advertising message.
  • An eighth aspect of the invention provides apparatus, the apparatus having at least one processor and at least one memory having computer-readable code stored thereon which when executed may control the at least one processor:
  • PDU packet data unit
  • the computer-readable code when executed may control the at least one processor to perform using the information identifying an application to identify the application in an on-line application marketplace from which the apparatus can download and install applications.
  • Figure 1 is a schematic diagram of two devices that are used to discuss the general principle of embodiments of the invention
  • Figure 2 presents an Advertising Data format used in embodiments of the invention
  • Figure 3 is a flow chart illustrating operation of a device operating as a recommender
  • Figure 4 is a flow chart illustrating operation of a device operating as a receiver or destination
  • Figure 5 is a schematic diagram of a Bluetooth device that may form one of the devices of Figure 1;
  • Figure 6 shows an example embodiment of a tangible memory media
  • Figure 7 shows software of an example embodiment of a Bluetooth device that may form one of the devices of Figure 1.
  • embodiments of the invention provide for the creation and consumption of broadcast advertising messages that constitute application recommendations.
  • the messages include information identifying an application that is installed on the origination apparatus and an indication that the PDU includes an application recommendation.
  • the application recommendation advertising message is wirelessly broadcast by an advertiser or donor device, which may also be called a recommending device, and is received by one or more receiving or destination devices.
  • the receiving device can provide the user of the device with an option to download and install the application with a small number of user inputs, possibly just one input.
  • Causing sending of the application recommendation advertising message can be made to be a simple process by suitable configuration of the recommending device.
  • the recommending device may be configured to cause broadcast of the application recommendation advertising message in response to receiving a particular user input (e.g. a long press followed by a selection of a share option) in relation to an icon for the application that is being recommended.
  • a particular user input e.g. a long press followed by a selection of a share option
  • the operation of receiving devices may be simplified.
  • Bluetooth Low Energy (BLE) is used to carry the application recommendation advertising messages.
  • BLE is a new wireless
  • BLE Bluetooth Core Specification Version 4.0.
  • BLE is a lower power, lower complexity, and lower cost wireless communication protocol, designed for applications requiring lower data rates and shorter duty cycles. Inheriting the protocol stack and star topology of classical Bluetooth, BLE redefines the physical layer specification, and involves many new features such as a very-low power idle mode, a simple device discovery, and short data packets, etc.
  • BLE technology is aimed at devices requiring a low power consumption, for example devices that may operate with one or more button cell batteries such as sensors, key fobs, and/or the like.
  • BLE can also be incorporated into devices such as mobile phones, smart phones, tablet computers, laptop computers, desktop computers etc. Bu using BLE to communicate application recommendations, recommendations can be made quickly and with very low power utilisation.
  • BLE Bluetooth Low Energy LE: Low Energy
  • GAP Generic Access Profile
  • AV Application Version Figure l shows a system according to embodiments of the invention.
  • the system 10 includes a first device 11 and a second device 12.
  • the first device 11 includes a BLE module 13, which operates according to the BLE standard.
  • the second device 12 includes its own BLE module 15.
  • the BLE module 15 also operates according to the BLE standard.
  • the mobile devices 11, 12 may be mobile phones, smart phones, tablet computers, laptop computers etc.
  • the mobile devices 11, 12 may be based around any suitable operating system, for instance Symbian, Windows Phone 8 or Android, although any other operating system may instead be used.
  • the devices 11, 12 may run different operating systems or they may run the same operating system.
  • the devices 11, 12 comprise processing circuitry, including one or more processors, and a storage device, comprising a single memory unit or a plurality of memory units.
  • the storage device stores computer program instructions that, when loaded into the processing circuitry, control the operation of the device.
  • the BLE modules 13, 15 may take any suitable form.
  • the BLE modules 13, 15 comprise processing circuitry, including one or more processors, and a storage device comprising a single memory unit or a plurality of memory units.
  • the storage device stores computer program instructions that, when loaded into the processing circuitry, control the operation of the BLE modules 13, 15.
  • the BLE modules 13, 15 each include a communication stack that is implemented at least partly in software using processor and memory resources, all of which are included within the BLE modules 13, 15.
  • Each of the first and second devices 11, 12 includes a respective collection of installed applications 14, 16. Each application within the collections 14, 16 is installed in the respective device 11, 12 according to the requirements of the operating system running on the device 11, 12.
  • FIG. 1 illustrates an overview of principles of embodiments of the invention.
  • a user of the first device 11 can want to recommend or share an application from the collection of applications 14 that are installed on the first device 11.
  • the user enters through a user interface provided by the first device 11 that they want to make or provide an application recommendation by BLE.
  • the first device 11 prepares an advertising message including a packet data unit (PDU) including information identifying the application that the user wants to share and an indication that the PDU includes an application recommendation.
  • PDU packet data unit
  • the first device 11 transmits the advertising message by broadcasting it as a BLE advertising message.
  • PDU packet data unit
  • the second device 12 On receiving the broadcast advertising message, the second device 12 identifies the recommended application and provides a notification through a user interface of the second device 12.
  • the notification includes an option to download and install the recommended application.
  • the notification may also include an option to view more details about the application, selection of which by the user leads to more information and options to cancel and to download and install.
  • the second device 12 may operate in the same way as the first device 11.
  • the latest version of the BLE specification defines three advertising channels, which serve for device discovery and other broadcasting purpose.
  • the PDU that is prepared and transmitted by the first device 11 is in these
  • an ADV_NONCONN_IND PDU which is an advertising PDU type that is defined in the BLE specification, although it may take some other form of advertising PDU or non-advertising PDU.
  • the ADV_NONCONN_IND PDU includes two main sections. The first is the header, and the second is the payload.
  • the header here has 16 bits (two octets).
  • the payload has a length that is between zero and 37 octets, as per the length field in the header part of the PDU.
  • the payload is shown in Figure 2.
  • the payload section of the ADV_NONCONN_IND PDU includes two main fields. The first is six octets long and is called AdvA. The second part is between zero and 31 octets long and is called AdvData.
  • FIG. 2 shows the Generic Access Profile (GAP) Advertising Data format.
  • the payload of an advertising PDU includes AdvA and AdvData fields.
  • the AdvData field when applied to GAP, has a fixed length of 31 octets.
  • the AdvData field falls into two parts, a significant part and a non-significant part, both of which are shown in Figure 2.
  • the significant part carries the advertising data and is encapsulated within multiple AD Structures.
  • the non-significant part is all zero bits, that is it includes no information.
  • each AD Structure contains a Length field and a Data field.
  • Each Data field further contains AD Type and AD Data. Definitions of the AD Type and AD Data fields can be found in the Bluetooth Assigned Numbers document that is available at httpsi/ Avww.bluetooth.org/technical/assignednumbers/home.htm at the time of writing.
  • Each AD Structure is formed of two fields, namely a Length field and a Data field.
  • the Length field here is one octet in size.
  • the Data field has a length that is defined by the data included in the Length field.
  • an AD Type field In the Data field, there is provided an AD Type field and an AD Data field.
  • the AD Type field is populated with the value for the appropriate application recommendation AD Type, the options for which are discussed below.
  • the AD Data field is populated with the information identifying the application, the options for which are discussed below.
  • the AI is a unique identifier for the application
  • AI Identifier
  • the AN is a user-friendly identifier of the
  • the AV is an auxiliary identifier of the
  • AD Types The values of the AD Types given here are 0x20, 0x21 and 0x22 as examples, although they may take some other reserved values.
  • the example values are referred to in the following explanation, but these values are not limiting.
  • AD Structure 1 The appropriate AD Type is included in the message in the manner shown in Figure 2.
  • the significant part includes a first AD Structure named AD Structure 1.
  • Other AD Structures may follow the first AD Structure.
  • Multiple AD Structures can be included in the significant part, each of which contains its own information. As explained below, in these embodiments either one or two AD Structures are included in an application recommendation PDU.
  • the length of the AD Structure 1 field is variable, and is set by the data included in the Length field, the length of the AD Data field may vary.
  • the length of the AD Data field is dictated by the data that is required to be included in the PDU, and the value in the Length field varies accordingly.
  • the maximum length of the AD Data field is 29 octets. This is calculated as 31 octets for the payload minus 2 octets for the AD Type, and allows only one AD Structure to be included.
  • the first device 11 is the recommending device and the second device 12 is the destination device.
  • Figure 3 relates to operation of the recommending device 11 and
  • Figure 4 relates to operation of the destination device 12.
  • the operation of Figure 3 starts at step Si.
  • the operation of Figure 3 commences when the user indicates to the device 11 that they require to share a recommendation of an application by BLE. This can occur for instance in response to the user providing a long press on an icon for the application, which may for instance be in a list of installed applications or may be a page for the application in an application store or marketplace, and selecting an option to recommend via BLE in the menu that is provided by the device 11 after detecting a long press.
  • Figure 3 may start at step Si in response to the user providing a user input to drag the icon representing the application off of the screen of the device 11 (at a low level, by making a touch input at the location of the icon for a duration that is shorter than the duration at which a long press is determined and then moving the position of the input off an edge of the area of the screen), or any other configured user input.
  • step S2 memory is allocated for the BLE application recommendation advertising message.
  • the identifier for the application (Application Identifier) that is to be recommended is obtained.
  • the Application Identifier AI or App_ID parameter
  • PFN Package Family Name
  • Application Identifier can be the application's package name, which is declared in the application's manifest file. For other operating systems, the Application Identifier may take some other form.
  • the value for the parameter can be obtained by the operating system of the recommending device 11 through various system calls that depend on the particular operating system being run on the recommending device 11. In the following, Application Identifier is the value of the App_ID parameter.
  • step S4 it is determined whether the Application Identifier can be included in a single PDU. In the case of using a BLE ADV_NONCONN_IND PDU, this involves determining whether the Application Identifier has a length that is greater than 29 octets. 29 octets is the limit of the size of the AD Data field, as discussed above.
  • the recommending device 11 obtains the Application Name (AN or App_Name parameter value) and Application Version (AV or App_Version parameter value). The values of these parameters can be obtained by the operating system of the recommending device 11 through various system calls that depend on the particular operating system being run on the recommending device 11.
  • Application Name is the value of the App_Name parameter and Application Version is the value of the App_Version parameter.
  • step S6 it is determined whether Application Name has a length greater than 29 octets. On a negative determination, the operation proceeds to step S7, where the Application Name is added to the PDU. On a positive determination from step S6, the Application Name is truncated to 29 octets at step S8. Truncation involves discarding the characters of the Application Name that are not completed by the first 29 octets of the parameter. Following step S8, the truncated Application Name is added to the PDU at step S7.
  • step S9 it is determined by the recommending device 11 whether there is space or room in the PDU for the Application Version. This is performed by determining whether the sum of the length of the App_Name parameter and the length of the App_Version parameter exceeds 29 octets. If it does not, it is determined that there is room for the Application Version in the PDU, and the operation proceeds to step S10. Here the Application Version is added to the PDU. If it is determined at step S4 that the length of the App_ID parameter is less than 29 octets, at step S12 the Application Identifier is added to the PDU.
  • step S10 or a negative determination from step S9, or following step S12, messages including the PDU are transmitted until a timeout occurs at step S11.
  • the PDU includes the AD Structure(s) discussed above and a non-significant part comprised of zeros to fill the entire 31 octet AdvData field.
  • Step S11 involves the processor of the recommending device 11 instructing the BLE module 13 to transmit the PDU by broadcasting it.
  • Each message includes the same PDU.
  • Messages are transmitted a number of times within an advertising period. For instance, messages may be transmitted at an interval advlnterval that is equal to a random value within the range 20ms to 50ms, for an advertising period of 1 second.
  • the PDU includes data that depends on a number of factors, notably the lengths of certain parameters. If the App_ID parameter has a length that is sufficiently short that the Application Identifier can be included in the PDU, this occurs at step S12.
  • the Application Name is included in the PDU at step S7.
  • the Application Version may or may not be included in the PDU.
  • the Application Version is included in the PDU if the length of the App_Name parameter is sufficiently short that there is available space in the PDU for the Application Version. If there is not sufficient room, then the PDU includes only the Application Name, as defined by the App_Name parameter. Only one of the Application Identifier and the Application Name is included in the PDU, not both.
  • the Application Identifier as defined by the App_ID parameter, is unique to the application, this parameter is given a higher priority and is included in the PDU if there is sufficient space in the PDU. Only if there is insufficient space for the Application Identifier is the Application Name, as defined by the App_Name parameter, included in the PDU. Since the Application Name, and particularly the first 29 octets of the name if it is truncated at step S8, may not be unique, the inclusion of the Application Name in the PDU may not result in unambiguous identification of an application in the store or marketplace. The inclusion of the Application Version, as defined by the App_Version parameter may serve to disambiguate if there are multiple applications that include the same Application Name, if the Application Name is sufficiently short that the
  • Application Version can be included in the PDU and if only one of the possible applications has a version history that is consistent with the Application Version.
  • the PDU is included in the advertising data section of the PDU. The same applies in the case of a PDU that includes only the Application Name.
  • the PDU is provided with first and second AD Structures.
  • the first AD Structure relates to the Application Name, and includes an AD Type that identifies the Structure as including the
  • AD Type field indicates the contents or the AD Data field of the sole AD Structure.
  • Application Identifier constitutes an indication that the PDU includes an application recommendation.
  • the provision of data in the AD Type field indicating that the PDU includes an Application Name constitutes an alternative indication that the PDU includes an application recommendation.
  • the value of AD Type that indicates that the data structure includes an Application Version is a further indication that the PDU includes an application recommendation, although in the above-described example the AD Type indicating an Application Version is included only in PDUs that also include an AD Type indicating that the PDU includes an Application Name.
  • the Application Identifier constitutes information identifying the application, the application being one that is in the collection of applications 14 installed on the recommending device 11.
  • the Application Name also constitutes information identifying the application that forms part of the collection of applications 14 and is installed on the recommending device 11.
  • the Application Version information is information that further identifies the application.
  • Operation starts at step Si.
  • the operation may be triggered by a user of the destination device 12 selecting an option to enable BLE scanning. Whilst in scanning mode, the BLE module 15 of the destination device 12 monitors for packets transmitted in advertising channels. Scanning is illustrated in Figure 4 at step S2.
  • step S3 When an advertising PDU is received at step S3, the operation proceeds to step S5. If no advertising PDU is received at step S3, it is determined at step S4 whether a scanning timeout has expired. On a negative determination, the operation returns to step S2 where BLE advertising scanning is continued. Upon step S4 determining that the scanning timeout has expired, the operation ends at step S15.
  • step S5 After an advertising PDU has been received, at step S5 it is determined whether the PDU is an ADV_NONCONN_IND PDU. On a negative determination, the destination device 12 performs normal or general PDU processing at step S6. This is outside the scope of the specification and so is not described here. Following step S6, the operation proceeds to step S4, where it is determined whether the scanning timeout has occurred.
  • the value of the timer used in the scanning timeout at step S4 may take any suitable value. For instance, it may be ten seconds. The provision of a timeout on the scanning period prevents the scanning for PDUs being performed potentially indefinitely.
  • step S7 it is determined at step S7 whether the PDU includes an Application Identifier. This is determined by detecting the value in the AD Type field of the first AD Structure in the PDU and determining whether the value indicates the presence of an Application Identifier in the AD Structure, or in another AD Structure in the PDU. In the above, the value indicating the presence of an Application Identifier is 0x20.
  • the destination device 12 determines whether the PDU includes an Application Name. This is performed by determining whether the value in an AD Type field in one of the AD Structures in the PDU indicates that the AD Structure includes the name of an application. In the above, the value indicating the presence of an Application Name is 0x21.
  • step S6 Following a negative determination from step S8, general PDU processing is performed at step S6.
  • steps S5 to S8 ensures that any advertising PDUs that are not
  • ADV_NONCONN_IND PDUs are processed in the normal way, and also that any ADV_NONCONN_IND PDUs that do not indicate the presence of an Application Identifier or an Application Name, so do not indicate an application recommendation, are processed in the normal way.
  • the Application Name is retrieved from the PDU at step S9. In particular, it is retrieved from the AD Data field of the AD Structure including the value 0x21 in the AD Type field.
  • step S10 it is determined whether Application Version exists in the PDU. This is performed by examining the AD Type fields of the AD Structures included in the PDU and determining whether the value of any of the data in the AD Type fields indicates 0x22. On a positive determination, the Application Version is retrieved from the AD Data part of the appropriate AD Structure at step S11. If it is determined at step S7 that an Application Identifier exists in the PDU, at step S14 the Application Identifier is retrieved from the PDU. In particular, this involves extracting the data from the AD Data field of the AD Structure that includes the value 0x20 in the AD Type field. Following step S11 or step S14 or following a negative determination from step S10, a link to the recommended application is generated at step S12.
  • AI denotes the value of the App_ID parameter (the Application Identifier) and AN denotes the value of the App_Name parameter (the Application Name).
  • AV denotes the value of the App_Version parameter (the Application Version) and is included in the link only if it is was received in the PDU and thus is known.
  • the destination device 12 navigates to the URL denoted by the link and provides a user notification at step S13.
  • the notification includes an option to download and install the recommended application, which is the application identified in the PDU.
  • the notification may include text such as "App recommendation received from ⁇ recommender's name or device identifier > of ⁇ Application Name> ⁇ Application Version>".
  • the notification may also include an option to view more details about the application, selection of which by the user leads to more information and options to cancel and to download and install the application.
  • step S13 of Figure 4 the user of the destination device 12 provides a user input to download and install the application, the application becomes part of the collection of applications 16 that are installed on the destination device 12.
  • step S13 the operation ends at step S15.
  • step S12 and step S13 may be conditional on the destination device 12 recognising the recommending device 11 as a trusted device. This may be performed in any suitable way. For instance, it may be performed by determining whether the recommending device 11 and the destination device 12 have been paired previously. Alternatively, it may be dependent on the data in the advertising message that identifies the sender, in this case the recommending device 11, being included in a list of trusted devices within a memory of the destination device 12. This may involve the addressing convention described in co-pending application number PCT/CN2012/078599.
  • Configuration of the recommending device 11 and the destination device 12 to perform the operations of Figures 3 and 4 respectively may require changes to the stacks in the BLE modules 13, 15.
  • the correct operation of the application recommendation operations is not dependent on the devices 11, 12 running the same version of the same operating system or even running the same operating system.
  • the PDU is operating system neutral, put another way it is not dependent on the operating system. As long as the information included in the PDU allows the marketplace or store that is accessed by the destination device 12 to identify the application, the destination device 12 and its user can benefit from the application recommendation by the recommending device 11.
  • FIG. 5 shows an example embodiment of a BLE-equipped device which may constitute the device 11 or the device 12.
  • BLE-equipped device 1201 contains computer code in an executable form 1303 in the memory unit 1302, which may comprise RAM and/ or ROM.
  • Memory unit 1302 is connected to one or more processors 1304 on which the instructions are executed.
  • Messages including PDUs are transmitted and received using a transceiver 1305.
  • Transceiver 1305 is connected to an antenna 1308 for transmitting and receiving packets from another Bluetooth device.
  • the transceiver 1305 is the BLE modules 13, 15 of Figure 1.
  • a display 1306 is connected to the processor. Messages are presented to a user of the device 1201 by the processor 1304 causing them to be displayed on the display 1306.
  • Input keys 1307 are provided.
  • the input keys 1307 allow a user to enter information into the device 1201.
  • the input keys 1307 may be hardware keys and/ or may be soft or virtual keys provided by a touch screen display or the like. Information can include selection of an option as well as information such as a text.
  • Figure 6 shows an example embodiment of a tangible memory media.
  • Media 1401 may be a tangible storage media according to the present invention having program content.
  • Media 1401 may be any form of storage media such as magnetic, solid state, optical media, and/or the like.
  • Figure 7 shows a software SW view of an example embodiment of a BLE-equipped device. This figure shows an example of the main software components that may be implemented on such an apparatus or device.
  • this software SW of the apparatus has an operating system OS 1503 and hardware HW drivers 1505.
  • the OS timers used by the OS functions are shown in 1507.
  • the man machine interface MMI which may be a single button or several buttons, is shown in 1510. This utilises the display 1306 and the keys 1307.
  • the interface specific components are a BLE radio interface protocol control stack 1501, an actual air interface 1502 which is controlled by the drivers 1505 to select RX or TX, and a message manager 1504 which controls the BLE message structures and queues.
  • the apparatus may comprise at least a sleep timer 1506.
  • Timers 1507 may be used to schedule scan and advert broadcast activities, as described above with reference to Figures 3 and 4.
  • the apparatus may comprise other SW components 1508, for example a BLE profile manager.
  • the BLE profile manager may manage the mode the device is in, define additional messages it may be expected to provide or respond too, etc.
  • a device may be simple and have only one profile. Alternatively, a device may be more complex and have or support several profiles.
  • the apparatus may comprise further optional SW components which are not described in this specification since they may not have direct interaction to embodiments of the invention.
  • Embodiments of the present invention may be implemented in software, hardware, application logic or a combination of software, hardware and application logic.
  • the software, application logic and/or hardware may reside on memory 1302, or any computer media of which an example is shown as 1401.
  • the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media.
  • “computer-readable medium” may be any media or means that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer, with one example of a computer described and depicted in Figure 5.
  • a computer-readable medium may comprise a computer- readable storage medium that may be any tangible media or means that can contain or store the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer as defined previously.
  • the different functions discussed herein may be performed in a different order and/ or concurrently with each other. Furthermore, if desired, one or more of the above-described functions may be optional or may be combined.
  • a first advantage is that both of the embodiments described above are fully compatible with the BLE specification version 4.0. As such, implementing the embodiments is backward compatible with previous versions of the BLE specification.
  • the advantages are achieved in the embodiments with a relatively low complexity and with a relatively low overhead of data communication for utilisation of hardware resources.
  • non-low energy Bluetooth e.g. version 3, or even version 1 or version 2
  • application recommendation PDUs are broadcast by apparatus acting as a Bluetooth advertiser, so that it application recommendations can be obtained by other Bluetooth scanner devices.
  • wi-fi IEEE 802.11
  • the bearer communication protocol IEEE 802.11
  • application recommendation PDUs are broadcast by apparatus acting as a wi-fi beacon, so that it application recommendations can be obtained by wi-fi scanner devices. All of the above embodiments involve broadcast of advertising messages, that is the messages are not addressed to any device or group of devices.
  • the computer program according to any of the above aspects may be implemented in a computer program product comprising a tangible computer-readable medium bearing computer program code embodied therein which can be used with the processor for the implementation of the functions described above.
  • the computer program instructions may arrive at the apparatus via an electromagnetic carrier signal or be copied from a physical entity such as a computer program product, a memory device or a record medium such as but not exclusively a CD-ROM or DVD, and/or an article of manufacture that tangibly embodies the computer program.
  • references to "computer-readable storage medium”, “computer program product”, “tangibly embodied computer program” etc, or a “processor” or “processing circuit” etc. should be understood to encompass not only computers having differing architectures such as single/multi processor architectures and sequencers/parallel architectures, but also specialised circuits such as field programmable gate arrays FPGA, application specify circuits ASIC, signal processing devices and other devices.
  • References to computer program, instructions, code etc. should be understood to express software for a programmable processor firmware such as the programmable content of a hardware device as instructions for a processor or configured or configuration settings for a fixed function device, gate array, programmable logic device, etc.
  • nob-volatile memory such as ROM, Flash, optical storage, magnetic storage etc.
  • volatile memory such as RAM, DRAM, SDRAM, Flash etc.

Abstract

Disclosed is apparatus configured: to create an advertising message including a packet data unit [PDU] including information identifying an application that may be installed on the apparatus and an indication that the PDU may include an application recommendation; and to cause the advertising message to be broadcast. Another apparatus is configured: to receive an advertising message including a packet data unit [PDU] including information identifying an application that may be installed on another apparatus and an indication that the PDU may include an application recommendation; and to use the information identifying an application to provide an option to install the application.

Description

APPLICATION RECOMMENDATIONS
Field
The present application relates to application recommendations.
Background
Applications are usually of interest to mobile users. Apart from random searching, a user in many cases would like to install applications according to recommendations by others, particularly by friends and colleagues but also by reviewers, bloggers, etc. For example, in local scenarios where people gather together, they may be curious in finding interesting applications in friends' mobile phones and sharing with each other those they would like to have.
In mobile platforms, most applications are not such simple portable software, though. The user usually has to download the installation file of the program and perform a new installation even it is already installed in friend's mobile device and even if the application is free (i.e. the cost is zero). In practice, getting the recommended application from others commonly involves following steps: l) getting the name of the application; 2) launching an application market or store; 3) inputting the Application Name and starting searching; 4) screening the results for the targeted application and, finally, 5) selecting a 'download' or 'install' option. Some users may find this process to be inconvenient.
Some smartphones provided by Nokia, including the Lumia 920, provide a mechanism for sharing installed applications with other devices by NFC, email or social networks, which many users may find to be more convenient. An application is shared by providing a link to the application on the Windows Store. Application sharing by NFC is point-to-point in that a target device needs to be tapped onto the donor device (i.e. they need to be in contact. Application sharing by email or social network requires a data connection to the Internet to succeed, and so is not possible in situations when a connection to the Internet is not possible, and may incur data usage costs for the user.
Summary
Various aspects of examples of the invention are set out in the claims. A first aspect of the invention provides apparatus configured:
to create an advertising message including a packet data unit [PDU] including information identifying an application that may be installed on the apparatus and an indication that the PDU may include an application recommendation; and
to cause the advertising message to be broadcast.
The information identifying an application may comprise a unique identifier for the application. The information identifying an application may comprise a full name of the application or it may comprise a truncated name of the application. The information identifying an application may comprise a version number of the application.
The PDU may include a header and a payload and wherein the information identifying an application that may be installed on the apparatus may be included in the payload. The PDU may include a header and a payload, and wherein the indication that the PDU may include an application recommendation may be included in the payload.
The indication that the PDU may include an application recommendation may comprise one or more bits in an AD Type field of the payload. Here, the indication that the PDU may include an application recommendation may be an indication that the PDU may include an application identifier, or it may include an application recommendation may be an indication that the PDU may include an application name.
The indication that the PDU may include an application recommendation may be an indication that the PDU may include an application name along with a version identifier.
The advertising message may be a Bluetooth Low Energy Link Layer packet. Here, the PDU may be an ADV_NONCONN_IND PDU.
The apparatus may be configured to create the PDU in response to a user input constituting a request for an advertisement recommendation. The apparatus may be configured to broadcast the advertising message. A second aspect of the invention provides apparatus configured:
to receive an advertising message including a packet data unit [PDU] including information identifying an application that may be installed on another apparatus and an indication that the PDU may include an application recommendation; and
to use the information identifying an application to provide an option to install the application.
The apparatus may be configured to use the information identifying an application to identify the application in an on-line application marketplace from which the apparatus can download and install applications.
A third aspect of the invention provides a method comprising:
an apparatus creating an advertising message including a packet data unit [PDU] including information identifying an application that may be installed on the apparatus and an indication that the PDU may include an application recommendation; and the apparatus causing the advertising message to be broadcast.
The information identifying an application may comprise a unique identifier for the application. The information identifying an application may comprise a full name of the application or it may comprise a truncated name of the application. The information identifying an application may comprise a version number of the application.
The PDU may include a header and a payload and wherein the information identifying an application that may be installed on the apparatus may be included in the payload. The PDU may include a header and a payload, and wherein the indication that the PDU may include an application recommendation may be included in the payload.
The indication that the PDU may include an application recommendation may comprise one or more bits in an AD Type field of the payload. Here, the indication that the PDU may include an application recommendation may be an indication that the PDU may include an application identifier, or it may include an application recommendation may be an indication that the PDU may include an application name. The indication that the PDU may include an application recommendation may be an indication that the PDU may include an application name along with a version identifier.
The advertising message may be a Bluetooth Low Energy Link Layer packet. Here, the PDU may be an ADV_NONCONN_IND PDU.
The method may comprise the apparatus creating the PDU in response to a user input constituting a request for an advertisement recommendation.
The method may comprise the apparatus broadcasting the advertising message.
A fourth aspect of the invention provides a method comprising:
an apparatus receiving an advertising message including a packet data unit
[PDU] including information identifying an application that may be installed on another apparatus and an indication that the PDU may include an application recommendation; and
the apparatus using the information identifying an application to provide an option to install the application.
The method may comprise the apparatus using the information identifying an application to identify the application in an on-line application marketplace from which the apparatus can download and install applications.
A computer program comprising instructions that when executed by a computer apparatus control it to perform the method above.
A fifth aspect of the invention provides a non-transitory computer-readable storage medium having stored thereon computer-readable code, which, when executed by computing apparatus, may cause the computing apparatus to perform a method comprising:
creating an advertising message including a packet data unit [PDU] including information identifying an application that may be installed on the computing apparatus and an indication that the PDU may include an application recommendation; and
causing the advertising message to be broadcast. The information identifying an application may comprise a unique identifier for the application. The information identifying an application may comprise a full name of the application or it may comprise a truncated name of the application. The information identifying an application may comprise a version number of the application.
The PDU may include a header and a payload and wherein the information identifying an application that may be installed on the apparatus may be included in the payload. The PDU may include a header and a payload, and wherein the indication that the PDU may include an application recommendation may be included in the payload.
The indication that the PDU may include an application recommendation may comprise one or more bits in an AD Type field of the payload. Here, the indication that the PDU may include an application recommendation may be an indication that the PDU may include an application identifier, or it may include an application recommendation may be an indication that the PDU may include an application name.
The indication that the PDU may include an application recommendation may be an indication that the PDU may include an application name along with a version identifier.
The advertising message may be a Bluetooth Low Energy Link Layer packet. Here, the PDU may be an ADV_NONCONN_IND PDU.
The computer-readable code when executed by the computing apparatus may cause the computing apparatus to perform creating the PDU in response to a user input constituting a request for an advertisement recommendation.
The computer-readable code when executed by the computing apparatus may cause the computing apparatus to perform broadcasting the advertising message. A sixth aspect of the invention provides a non-transitory computer-readable storage medium having stored thereon computer-readable code, which, when executed by computing apparatus, may cause the computing apparatus to perform a method comprising:
receiving an advertising message including a packet data unit [PDU] including information identifying an application that may be installed on another apparatus and an indication that the PDU may include an application recommendation; and
using the information identifying an application to provide an option to install the application.
The computer-readable code when executed by the computing apparatus may cause the computing apparatus to perform using the information identifying an application to identify the application in an on-line application marketplace from which the apparatus can download and install applications.
A seventh aspect of the invention provides apparatus, the apparatus having at least one processor and at least one memory having computer-readable code stored thereon which when executed may control the at least one processor:
to create an advertising message including a packet data unit [PDU] including information identifying an application that may be installed on the computing apparatus and an indication that the PDU may include an application recommendation and
to cause the advertising message to be broadcast.
The information identifying an application may comprise a unique identifier for the application. The information identifying an application may comprise a full name of the application or it may comprise a truncated name of the application. The information identifying an application may comprise a version number of the application.
The PDU may include a header and a payload and wherein the information identifying an application that may be installed on the apparatus may be included in the payload. The PDU may include a header and a payload, and wherein the indication that the PDU may include an application recommendation may be included in the payload. The indication that the PDU may include an application recommendation may comprise one or more bits in an AD Type field of the payload. Here, the indication that the PDU may include an application recommendation may be an indication that the PDU may include an application identifier, or it may include an application recommendation may be an indication that the PDU may include an application name.
The indication that the PDU may include an application recommendation may be an indication that the PDU may include an application name along with a version identifier.
The advertising message may be a Bluetooth Low Energy Link Layer packet. Here, the PDU may be an ADV_NONCONN_IND PDU.
The computer-readable code when executed may control the at least one processor to perform creating the PDU in response to a user input constituting a request for an advertisement recommendation.
The computer-readable code when executed may control the apparatus to perform broadcasting the advertising message.
An eighth aspect of the invention provides apparatus, the apparatus having at least one processor and at least one memory having computer-readable code stored thereon which when executed may control the at least one processor:
to receive an advertising message including a packet data unit [PDU] including information identifying an application that may be installed on another apparatus and an indication that the PDU may include an application recommendation; and
to use the information identifying an application to provide an option to install the application. The computer-readable code when executed may control the at least one processor to perform using the information identifying an application to identify the application in an on-line application marketplace from which the apparatus can download and install applications. Brief Description Of The Drawings
For a more complete understanding of example embodiments of the present invention, reference is now made to the following descriptions taken in connection with the accompanying drawings in which:
Figure 1 is a schematic diagram of two devices that are used to discuss the general principle of embodiments of the invention;
Figure 2 presents an Advertising Data format used in embodiments of the invention; Figure 3 is a flow chart illustrating operation of a device operating as a recommender; Figure 4 is a flow chart illustrating operation of a device operating as a receiver or destination;
Figure 5 is a schematic diagram of a Bluetooth device that may form one of the devices of Figure 1;
Figure 6 shows an example embodiment of a tangible memory media; and
Figure 7 shows software of an example embodiment of a Bluetooth device that may form one of the devices of Figure 1.
Detailed Description Of Various Embodiments
In summary, embodiments of the invention provide for the creation and consumption of broadcast advertising messages that constitute application recommendations. The messages include information identifying an application that is installed on the origination apparatus and an indication that the PDU includes an application recommendation. The application recommendation advertising message is wirelessly broadcast by an advertiser or donor device, which may also be called a recommending device, and is received by one or more receiving or destination devices.
On receiving the application recommendation advertising message, the receiving device can provide the user of the device with an option to download and install the application with a small number of user inputs, possibly just one input.
By broadcasting the application recommendation advertising message, sharing of application recommendations is simplified for the user because the user of the recommending device does not need to identify recipients for the message. Also, multiple destination devices may be provided with the application recommendation advertising message with no additional input or work on the part of the recommending user or device.
Causing sending of the application recommendation advertising message can be made to be a simple process by suitable configuration of the recommending device. For instance, the recommending device may be configured to cause broadcast of the application recommendation advertising message in response to receiving a particular user input (e.g. a long press followed by a selection of a share option) in relation to an icon for the application that is being recommended.
By ensuring that the whole of the application recommendation advertising message in one packet data unit, the operation of receiving devices may be simplified.
Additionally, the utilisation of radio resources may be minimised. In the main embodiments that follow, Bluetooth Low Energy (BLE) is used to carry the application recommendation advertising messages. BLE is a new wireless
communication technology published by the Bluetooth SIG as a component of
Bluetooth Core Specification Version 4.0. BLE is a lower power, lower complexity, and lower cost wireless communication protocol, designed for applications requiring lower data rates and shorter duty cycles. Inheriting the protocol stack and star topology of classical Bluetooth, BLE redefines the physical layer specification, and involves many new features such as a very-low power idle mode, a simple device discovery, and short data packets, etc. BLE technology is aimed at devices requiring a low power consumption, for example devices that may operate with one or more button cell batteries such as sensors, key fobs, and/or the like. BLE can also be incorporated into devices such as mobile phones, smart phones, tablet computers, laptop computers, desktop computers etc. Bu using BLE to communicate application recommendations, recommendations can be made quickly and with very low power utilisation.
The following acronyms are used in the specification and have the meanings referred to: BLE: Bluetooth Low Energy LE: Low Energy
BT SIG: Bluetooth Special Interest Group
GAP: Generic Access Profile
RFU: Reserved for Future Use
AD: Advertising
AI: Application Identifier
AN: Application Name
AV: Application Version Figure l shows a system according to embodiments of the invention. The system 10 includes a first device 11 and a second device 12. The first device 11 includes a BLE module 13, which operates according to the BLE standard. The second device 12 includes its own BLE module 15. The BLE module 15 also operates according to the BLE standard.
The mobile devices 11, 12 may be mobile phones, smart phones, tablet computers, laptop computers etc. The mobile devices 11, 12 may be based around any suitable operating system, for instance Symbian, Windows Phone 8 or Android, although any other operating system may instead be used. The devices 11, 12 may run different operating systems or they may run the same operating system.
Generally speaking, the devices 11, 12 comprise processing circuitry, including one or more processors, and a storage device, comprising a single memory unit or a plurality of memory units. The storage device stores computer program instructions that, when loaded into the processing circuitry, control the operation of the device.
The BLE modules 13, 15 may take any suitable form. Generally speaking, the BLE modules 13, 15 comprise processing circuitry, including one or more processors, and a storage device comprising a single memory unit or a plurality of memory units. The storage device stores computer program instructions that, when loaded into the processing circuitry, control the operation of the BLE modules 13, 15. The BLE modules 13, 15 each include a communication stack that is implemented at least partly in software using processor and memory resources, all of which are included within the BLE modules 13, 15. Each of the first and second devices 11, 12 includes a respective collection of installed applications 14, 16. Each application within the collections 14, 16 is installed in the respective device 11, 12 according to the requirements of the operating system running on the device 11, 12.
Figure 1 illustrates an overview of principles of embodiments of the invention. A user of the first device 11 can want to recommend or share an application from the collection of applications 14 that are installed on the first device 11. The user enters through a user interface provided by the first device 11 that they want to make or provide an application recommendation by BLE. In response, the first device 11 prepares an advertising message including a packet data unit (PDU) including information identifying the application that the user wants to share and an indication that the PDU includes an application recommendation. The first device 11 then transmits the advertising message by broadcasting it as a BLE advertising message.
On receiving the broadcast advertising message, the second device 12 identifies the recommended application and provides a notification through a user interface of the second device 12. The notification includes an option to download and install the recommended application. The notification may also include an option to view more details about the application, selection of which by the user leads to more information and options to cancel and to download and install.
The second device 12 may operate in the same way as the first device 11. The latest version of the BLE specification defines three advertising channels, which serve for device discovery and other broadcasting purpose.
The PDU that is prepared and transmitted by the first device 11 is in these
embodiments an ADV_NONCONN_IND PDU, which is an advertising PDU type that is defined in the BLE specification, although it may take some other form of advertising PDU or non-advertising PDU.
The ADV_NONCONN_IND PDU includes two main sections. The first is the header, and the second is the payload. The header here has 16 bits (two octets). The payload has a length that is between zero and 37 octets, as per the length field in the header part of the PDU. The payload is shown in Figure 2.
The payload section of the ADV_NONCONN_IND PDU includes two main fields. The first is six octets long and is called AdvA. The second part is between zero and 31 octets long and is called AdvData.
The AdvData part of the payload will now be described with reference to Figure 2. Figure 2 shows the Generic Access Profile (GAP) Advertising Data format. The payload of an advertising PDU includes AdvA and AdvData fields. The AdvData field, when applied to GAP, has a fixed length of 31 octets. The AdvData field falls into two parts, a significant part and a non-significant part, both of which are shown in Figure 2. The significant part carries the advertising data and is encapsulated within multiple AD Structures. The non-significant part is all zero bits, that is it includes no information.
In the significant part, each AD Structure contains a Length field and a Data field. Each Data field further contains AD Type and AD Data. Definitions of the AD Type and AD Data fields can be found in the Bluetooth Assigned Numbers document that is available at httpsi/ Avww.bluetooth.org/technical/assignednumbers/home.htm at the time of writing.
Each AD Structure is formed of two fields, namely a Length field and a Data field. The Length field here is one octet in size. The Data field has a length that is defined by the data included in the Length field. In the Data field, there is provided an AD Type field and an AD Data field.
The AD Type field is populated with the value for the appropriate application recommendation AD Type, the options for which are discussed below. The AD Data field is populated with the information identifying the application, the options for which are discussed below.
In these embodiments, three new AD Types are provided. The details of these AD Types follows: Value Description Information
0X20 Application The AI is a unique identifier for the application,
Identifier (AI) (n which may be package name, unique identity
octets) number, etc.
0X21 Application Name The AN is a user-friendly identifier of the
(AN) (n octets) application and may not be unique.
0X22 Application The AV is an auxiliary identifier of the
Version (AV) (n application.
octets)
The values of the AD Types given here are 0x20, 0x21 and 0x22 as examples, although they may take some other reserved values. The example values are referred to in the following explanation, but these values are not limiting.
The appropriate AD Type is included in the message in the manner shown in Figure 2. In particular, the significant part includes a first AD Structure named AD Structure 1. Other AD Structures may follow the first AD Structure. Multiple AD Structures can be included in the significant part, each of which contains its own information. As explained below, in these embodiments either one or two AD Structures are included in an application recommendation PDU.
Because the length of the AD Structure 1 field is variable, and is set by the data included in the Length field, the length of the AD Data field may vary. In this example, the length of the AD Data field is dictated by the data that is required to be included in the PDU, and the value in the Length field varies accordingly.
The maximum length of the AD Data field is 29 octets. This is calculated as 31 octets for the payload minus 2 octets for the AD Type, and allows only one AD Structure to be included.
Operation of the devices 11, 12 when sharing an application recommendation will now be described with reference to Figures 3 and 4. In the following example, the first device 11 is the recommending device and the second device 12 is the destination device. Figure 3 relates to operation of the recommending device 11 and Figure 4 relates to operation of the destination device 12.
Starting with the recommending device 11, the operation of Figure 3 starts at step Si. The operation of Figure 3 commences when the user indicates to the device 11 that they require to share a recommendation of an application by BLE. This can occur for instance in response to the user providing a long press on an icon for the application, which may for instance be in a list of installed applications or may be a page for the application in an application store or marketplace, and selecting an option to recommend via BLE in the menu that is provided by the device 11 after detecting a long press. Alternatively, Figure 3 may start at step Si in response to the user providing a user input to drag the icon representing the application off of the screen of the device 11 (at a low level, by making a touch input at the location of the icon for a duration that is shorter than the duration at which a long press is determined and then moving the position of the input off an edge of the area of the screen), or any other configured user input. At step S2, memory is allocated for the BLE application recommendation advertising message. At step S3, the identifier for the application (Application Identifier) that is to be recommended is obtained. For Windows Phone 8, the Application Identifier (AI or App_ID parameter) is the PFN (Package Family Name). For Android, the
Application Identifier can be the application's package name, which is declared in the application's manifest file. For other operating systems, the Application Identifier may take some other form. The value for the parameter can be obtained by the operating system of the recommending device 11 through various system calls that depend on the particular operating system being run on the recommending device 11. In the following, Application Identifier is the value of the App_ID parameter.
In step S4, it is determined whether the Application Identifier can be included in a single PDU. In the case of using a BLE ADV_NONCONN_IND PDU, this involves determining whether the Application Identifier has a length that is greater than 29 octets. 29 octets is the limit of the size of the AD Data field, as discussed above. On a positive determination from step S4, at step S5 the recommending device 11 obtains the Application Name (AN or App_Name parameter value) and Application Version (AV or App_Version parameter value). The values of these parameters can be obtained by the operating system of the recommending device 11 through various system calls that depend on the particular operating system being run on the recommending device 11. In the following, Application Name is the value of the App_Name parameter and Application Version is the value of the App_Version parameter. At step S6, it is determined whether Application Name has a length greater than 29 octets. On a negative determination, the operation proceeds to step S7, where the Application Name is added to the PDU. On a positive determination from step S6, the Application Name is truncated to 29 octets at step S8. Truncation involves discarding the characters of the Application Name that are not completed by the first 29 octets of the parameter. Following step S8, the truncated Application Name is added to the PDU at step S7.
Following step S7, at step S9 it is determined by the recommending device 11 whether there is space or room in the PDU for the Application Version. This is performed by determining whether the sum of the length of the App_Name parameter and the length of the App_Version parameter exceeds 29 octets. If it does not, it is determined that there is room for the Application Version in the PDU, and the operation proceeds to step S10. Here the Application Version is added to the PDU. If it is determined at step S4 that the length of the App_ID parameter is less than 29 octets, at step S12 the Application Identifier is added to the PDU.
Following step S10, or a negative determination from step S9, or following step S12, messages including the PDU are transmitted until a timeout occurs at step S11.
The PDU includes the AD Structure(s) discussed above and a non-significant part comprised of zeros to fill the entire 31 octet AdvData field.
Step S11 involves the processor of the recommending device 11 instructing the BLE module 13 to transmit the PDU by broadcasting it. Each message includes the same PDU. Messages are transmitted a number of times within an advertising period. For instance, messages may be transmitted at an interval advlnterval that is equal to a random value within the range 20ms to 50ms, for an advertising period of 1 second. It will be appreciated from analysis of the operation of Figure 3 that the PDU includes data that depends on a number of factors, notably the lengths of certain parameters. If the App_ID parameter has a length that is sufficiently short that the Application Identifier can be included in the PDU, this occurs at step S12. If, however, the length of the App_ID parameter is so long that it cannot be included in a PDU, the Application Name is included in the PDU at step S7. In this case, the Application Version may or may not be included in the PDU. In this example, the Application Version is included in the PDU if the length of the App_Name parameter is sufficiently short that there is available space in the PDU for the Application Version. If there is not sufficient room, then the PDU includes only the Application Name, as defined by the App_Name parameter. Only one of the Application Identifier and the Application Name is included in the PDU, not both.
Since the Application Identifier, as defined by the App_ID parameter, is unique to the application, this parameter is given a higher priority and is included in the PDU if there is sufficient space in the PDU. Only if there is insufficient space for the Application Identifier is the Application Name, as defined by the App_Name parameter, included in the PDU. Since the Application Name, and particularly the first 29 octets of the name if it is truncated at step S8, may not be unique, the inclusion of the Application Name in the PDU may not result in unambiguous identification of an application in the store or marketplace. The inclusion of the Application Version, as defined by the App_Version parameter may serve to disambiguate if there are multiple applications that include the same Application Name, if the Application Name is sufficiently short that the
Application Version can be included in the PDU and if only one of the possible applications has a version history that is consistent with the Application Version.
In the case of a PDU that includes only the Application Identifier, only one AD
Structure is included in the advertising data section of the PDU. The same applies in the case of a PDU that includes only the Application Name. In the case of a PDU that includes an Application Name and an Application Version, the PDU is provided with first and second AD Structures. Here, the first AD Structure relates to the Application Name, and includes an AD Type that identifies the Structure as including the
Application Name, and a second AD Structure relating to the Application Version, and including an AD Type indicating that the Structure relates to the Application Version. In the case of a PDU with only one AD Structure, the value in the AD Type field indicates the contents or the AD Data field of the sole AD Structure.
The provision of data in the AD Type field indicating that the PDU includes an
Application Identifier constitutes an indication that the PDU includes an application recommendation. The provision of data in the AD Type field indicating that the PDU includes an Application Name constitutes an alternative indication that the PDU includes an application recommendation. As such, there are two different AD Type values that could indicate that the PDU includes an application recommendation. The value of AD Type that indicates that the data structure includes an Application Version is a further indication that the PDU includes an application recommendation, although in the above-described example the AD Type indicating an Application Version is included only in PDUs that also include an AD Type indicating that the PDU includes an Application Name.
The Application Identifier constitutes information identifying the application, the application being one that is in the collection of applications 14 installed on the recommending device 11. The Application Name also constitutes information identifying the application that forms part of the collection of applications 14 and is installed on the recommending device 11. The Application Version information is information that further identifies the application.
Operation of the destination device 12 will now be described with reference to Figure 4.
Operation starts at step Si. The operation may be triggered by a user of the destination device 12 selecting an option to enable BLE scanning. Whilst in scanning mode, the BLE module 15 of the destination device 12 monitors for packets transmitted in advertising channels. Scanning is illustrated in Figure 4 at step S2.
When an advertising PDU is received at step S3, the operation proceeds to step S5. If no advertising PDU is received at step S3, it is determined at step S4 whether a scanning timeout has expired. On a negative determination, the operation returns to step S2 where BLE advertising scanning is continued. Upon step S4 determining that the scanning timeout has expired, the operation ends at step S15.
After an advertising PDU has been received, at step S5 it is determined whether the PDU is an ADV_NONCONN_IND PDU. On a negative determination, the destination device 12 performs normal or general PDU processing at step S6. This is outside the scope of the specification and so is not described here. Following step S6, the operation proceeds to step S4, where it is determined whether the scanning timeout has occurred.
The value of the timer used in the scanning timeout at step S4 may take any suitable value. For instance, it may be ten seconds. The provision of a timeout on the scanning period prevents the scanning for PDUs being performed potentially indefinitely.
If step S5 reveals that an ADV_NONCONN_IND PDU has been received, it is determined at step S7 whether the PDU includes an Application Identifier. This is determined by detecting the value in the AD Type field of the first AD Structure in the PDU and determining whether the value indicates the presence of an Application Identifier in the AD Structure, or in another AD Structure in the PDU. In the above, the value indicating the presence of an Application Identifier is 0x20.
On a negative determination, at step S8, the destination device 12 determines whether the PDU includes an Application Name. This is performed by determining whether the value in an AD Type field in one of the AD Structures in the PDU indicates that the AD Structure includes the name of an application. In the above, the value indicating the presence of an Application Name is 0x21.
Following a negative determination from step S8, general PDU processing is performed at step S6.
The inclusion of steps S5 to S8 ensures that any advertising PDUs that are not
ADV_NONCONN_IND PDUs are processed in the normal way, and also that any ADV_NONCONN_IND PDUs that do not indicate the presence of an Application Identifier or an Application Name, so do not indicate an application recommendation, are processed in the normal way.
If it is determined at step S8 that an Application Name does exist in the PDU, the Application Name is retrieved from the PDU at step S9. In particular, it is retrieved from the AD Data field of the AD Structure including the value 0x21 in the AD Type field.
At step S10, it is determined whether Application Version exists in the PDU. This is performed by examining the AD Type fields of the AD Structures included in the PDU and determining whether the value of any of the data in the AD Type fields indicates 0x22. On a positive determination, the Application Version is retrieved from the AD Data part of the appropriate AD Structure at step S11. If it is determined at step S7 that an Application Identifier exists in the PDU, at step S14 the Application Identifier is retrieved from the PDU. In particular, this involves extracting the data from the AD Data field of the AD Structure that includes the value 0x20 in the AD Type field. Following step S11 or step S14 or following a negative determination from step S10, a link to the recommended application is generated at step S12. This can be performed in any suitable way that is appropriate to the operating system that is running on the destination device 12. For a Windows Phone device where the Application Identifier is received in the PDU, step S12 involves generating a link with the URL ms-windows-store:PDP?PFN=<AI>
With a Windows Phone device where the Application Identifier is not received in the PDU, this involves generating a link to a search result having the form ms-windows- store:Search?query=<AN+(AV)>
Details for how to create a link to an application in Windows Phone are currently provided at the following location http://msdn.microsoft.com/en- us/library/windows/ apps/hh974707. aspx For Android devices, step S12 involves, for PDUs that include the Application Identifier, generating a link with the following format market: / / details?id=<AI>
Where the PDU includes the Application Name but not the Application Identifier, the generation of a link to the application involves generating a search query URL having the following form market://search?q=<AN+(AV)>
Details for how to create a link to an application in Android are currently provided at the following location
http://developer.android.eom/distribute/googleplay/promote/linking.html#Performin gSearch
In the above, AI denotes the value of the App_ID parameter (the Application Identifier) and AN denotes the value of the App_Name parameter (the Application Name). AV denotes the value of the App_Version parameter (the Application Version) and is included in the link only if it is was received in the PDU and thus is known.
After a link to the application has been created, the destination device 12 navigates to the URL denoted by the link and provides a user notification at step S13. As discussed above, the notification includes an option to download and install the recommended application, which is the application identified in the PDU. The notification may include text such as "App recommendation received from <recommender's name or device identifier > of <Application Name> < Application Version>". The notification may also include an option to view more details about the application, selection of which by the user leads to more information and options to cancel and to download and install the application.
If after step S13 of Figure 4 the user of the destination device 12 provides a user input to download and install the application, the application becomes part of the collection of applications 16 that are installed on the destination device 12.
Following step S13, the operation ends at step S15.
Although not shown in Figure 4, the performance of step S12 and step S13 may be conditional on the destination device 12 recognising the recommending device 11 as a trusted device. This may be performed in any suitable way. For instance, it may be performed by determining whether the recommending device 11 and the destination device 12 have been paired previously. Alternatively, it may be dependent on the data in the advertising message that identifies the sender, in this case the recommending device 11, being included in a list of trusted devices within a memory of the destination device 12. This may involve the addressing convention described in co-pending application number PCT/CN2012/078599.
Configuration of the recommending device 11 and the destination device 12 to perform the operations of Figures 3 and 4 respectively may require changes to the stacks in the BLE modules 13, 15.
It will be appreciated that the correct operation of the application recommendation operations is not dependent on the devices 11, 12 running the same version of the same operating system or even running the same operating system. The PDU is operating system neutral, put another way it is not dependent on the operating system. As long as the information included in the PDU allows the marketplace or store that is accessed by the destination device 12 to identify the application, the destination device 12 and its user can benefit from the application recommendation by the recommending device 11.
Figure 5 shows an example embodiment of a BLE-equipped device which may constitute the device 11 or the device 12. BLE-equipped device 1201 contains computer code in an executable form 1303 in the memory unit 1302, which may comprise RAM and/ or ROM. Memory unit 1302 is connected to one or more processors 1304 on which the instructions are executed.
Messages including PDUs are transmitted and received using a transceiver 1305.
Transceiver 1305 is connected to an antenna 1308 for transmitting and receiving packets from another Bluetooth device. The transceiver 1305 is the BLE modules 13, 15 of Figure 1.
A display 1306 is connected to the processor. Messages are presented to a user of the device 1201 by the processor 1304 causing them to be displayed on the display 1306. Input keys 1307 are provided. The input keys 1307 allow a user to enter information into the device 1201. The input keys 1307 may be hardware keys and/ or may be soft or virtual keys provided by a touch screen display or the like. Information can include selection of an option as well as information such as a text. Figure 6 shows an example embodiment of a tangible memory media. Media 1401 may be a tangible storage media according to the present invention having program content. Media 1401 may be any form of storage media such as magnetic, solid state, optical media, and/or the like. Figure 7 shows a software SW view of an example embodiment of a BLE-equipped device. This figure shows an example of the main software components that may be implemented on such an apparatus or device.
In this software SW of the apparatus has an operating system OS 1503 and hardware HW drivers 1505. The OS timers used by the OS functions are shown in 1507. The man machine interface MMI, which may be a single button or several buttons, is shown in 1510. This utilises the display 1306 and the keys 1307.
The interface specific components are a BLE radio interface protocol control stack 1501, an actual air interface 1502 which is controlled by the drivers 1505 to select RX or TX, and a message manager 1504 which controls the BLE message structures and queues.
Further, the apparatus may comprise at least a sleep timer 1506. Timers 1507 may be used to schedule scan and advert broadcast activities, as described above with reference to Figures 3 and 4. The apparatus may comprise other SW components 1508, for example a BLE profile manager. The BLE profile manager may manage the mode the device is in, define additional messages it may be expected to provide or respond too, etc. A device may be simple and have only one profile. Alternatively, a device may be more complex and have or support several profiles.
The apparatus may comprise further optional SW components which are not described in this specification since they may not have direct interaction to embodiments of the invention. Embodiments of the present invention may be implemented in software, hardware, application logic or a combination of software, hardware and application logic. The software, application logic and/or hardware may reside on memory 1302, or any computer media of which an example is shown as 1401. In an example embodiment, the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media. In the context of this document, a
"computer-readable medium" may be any media or means that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer, with one example of a computer described and depicted in Figure 5.
A computer-readable medium, as depicted in Figure 6, may comprise a computer- readable storage medium that may be any tangible media or means that can contain or store the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer as defined previously.
If desired, the different functions discussed herein may be performed in a different order and/ or concurrently with each other. Furthermore, if desired, one or more of the above-described functions may be optional or may be combined.
Aspects of the invention provide a number of advantages. A first advantage is that both of the embodiments described above are fully compatible with the BLE specification version 4.0. As such, implementing the embodiments is backward compatible with previous versions of the BLE specification.
The above-described embodiments are seen as having a broad prospect for social applications.
Moreover, the advantages are achieved in the embodiments with a relatively low complexity and with a relatively low overhead of data communication for utilisation of hardware resources.
Although the embodiments are described with reference to Bluetooth Low Energy, it will be appreciated that the concepts may be applicable to other communication protocols. For instance, other embodiments of the invention relate to versions of Bluetooth that are not concerned with the Bluetooth Low Energy aspect of the
Bluetooth standard. In some embodiments, non-low energy Bluetooth (e.g. version 3, or even version 1 or version 2) is used as the bearer communication protocol. Here, application recommendation PDUs are broadcast by apparatus acting as a Bluetooth advertiser, so that it application recommendations can be obtained by other Bluetooth scanner devices.
Other embodiments relate instead to other communication protocols, which may take any suitable form of wireless protocol, whether radio, optical or other. In some embodiments, wi-fi (IEEE 802.11) is used as the bearer communication protocol.
Here, application recommendation PDUs are broadcast by apparatus acting as a wi-fi beacon, so that it application recommendations can be obtained by wi-fi scanner devices. All of the above embodiments involve broadcast of advertising messages, that is the messages are not addressed to any device or group of devices.
All of the above-described embodiments involve the sending of application
recommendation messages directly, that is there is no network intervening the broadcast transmission medium (e.g. BLE module) and the apparatus that creates the PDU.
According to various embodiments of the previous aspect of the present invention, the computer program according to any of the above aspects, may be implemented in a computer program product comprising a tangible computer-readable medium bearing computer program code embodied therein which can be used with the processor for the implementation of the functions described above.
The computer program instructions may arrive at the apparatus via an electromagnetic carrier signal or be copied from a physical entity such as a computer program product, a memory device or a record medium such as but not exclusively a CD-ROM or DVD, and/or an article of manufacture that tangibly embodies the computer program.
Reference to "computer-readable storage medium", "computer program product", "tangibly embodied computer program" etc, or a "processor" or "processing circuit" etc. should be understood to encompass not only computers having differing architectures such as single/multi processor architectures and sequencers/parallel architectures, but also specialised circuits such as field programmable gate arrays FPGA, application specify circuits ASIC, signal processing devices and other devices. References to computer program, instructions, code etc. should be understood to express software for a programmable processor firmware such as the programmable content of a hardware device as instructions for a processor or configured or configuration settings for a fixed function device, gate array, programmable logic device, etc.
Where computer code or software is executed, this is performed by one or more processors acting under an operating system. The operating system and the software are stored in nob-volatile memory, such as ROM, Flash, optical storage, magnetic storage etc., and stored temporarily along with data in volatile memory, such as RAM, DRAM, SDRAM, Flash etc., during execution.
Although various aspects of the invention are set out in the independent claims, other aspects of the invention comprise other combinations of features from the described embodiments and/ or the dependent claims with the features of the independent claims, and not solely the combinations explicitly set out in the claims.
It is also noted herein that while the above describes example embodiments of the invention, these descriptions should not be viewed in a limiting sense. Rather, there are several variations and modifications which may be made without departing from the scope of the present invention as defined in the appended claims.

Claims

WHAT IS CLAIMED IS:
1. Apparatus configured:
to create an advertising message including a packet data unit [PDU] including information identifying an application that is installed on the apparatus and an indication that the PDU includes an application recommendation; and
to cause the advertising message to be broadcast.
2. Apparatus as claimed in claim l, wherein the information identifying an application comprises a unique identifier for the application.
3. Apparatus as claimed in claim 1 or claim 2, wherein the information identifying an application comprises a full name of the application.
4. Apparatus as claimed in claim 1 or claim 2, wherein the information identifying an application comprises a truncated name of the application.
5. Apparatus as claimed in any preceding claim, wherein the information identifying an application comprises a version number of the application.
6. Apparatus as claimed in any preceding claim, wherein the PDU includes a header and a payload and wherein the information identifying an application that is installed on the apparatus is included in the payload.
7. Apparatus as claimed in any preceding claim, wherein the PDU includes a header and a payload, and wherein the indication that the PDU includes an application recommendation is included in the payload.
8. Apparatus as claimed in claim 7, wherein the indication that the PDU includes an application recommendation comprises one or more bits in an AD Type field of the payload.
9. Apparatus as claimed in any preceding claim, wherein the indication that the PDU includes an application recommendation is an indication that the PDU includes an application identifier.
10. Apparatus as claimed in any of claims l to 8, wherein the indication that the PDU includes an application recommendation is an indication that the PDU includes an application name.
11. Apparatus as claimed in claim 10, wherein the indication that the PDU includes an application recommendation is an indication that the PDU includes an application name along with a version identifier.
12. Apparatus as claimed in any preceding claim, wherein the advertising message is a Bluetooth Low Energy Link Layer packet.
13. Apparatus as claimed in claim 12, wherein the PDU is an
ADV_NONCONN_IND PDU.
14. Apparatus as claimed in any preceding claim, configured to create the PDU in response to a user input constituting a request for an advertisement recommendation.
15. Apparatus as claimed in any preceding claim, configured to broadcast the advertising message.
16. Apparatus configured:
to receive an advertising message including a packet data unit [PDU] including information identifying an application that is installed on another apparatus and an indication that the PDU includes an application recommendation; and
to use the information identifying an application to provide an option to install the application.
17. Apparatus as claimed in claim 16, configured to use the information identifying an application to identify the application in an on-line application marketplace from which the apparatus can download and install applications.
A method comprising: an apparatus creating an advertising message including a packet data unit [PDU] including information identifying an application that is installed on the apparatus and an indication that the PDU includes an application recommendation; and
the apparatus causing the advertising message to be broadcast.
19. A method as claimed in claim 18, wherein the information identifying an application comprises a unique identifier for the application.
20. A method as claimed in claim 18 or claim 19, wherein the information identifying an application comprises a full name of the application.
21. A method as claimed in claim 18 or claim 19, wherein the information identifying an application comprises a truncated name of the application.
22. A method as claimed in any of claims 18 to 21, wherein the information identifying an application comprises a version number of the application.
23. A method as claimed in any of claims 18 to 22, wherein the PDU includes a header and a payload and wherein the information identifying an application that is installed on the apparatus is included in the payload.
24. A method as claimed in any of claims 18 to 23, wherein the PDU includes a header and a payload, and wherein the indication that the PDU includes an application recommendation is included in the payload.
25. A method as claimed in claim 24, wherein the indication that the PDU includes an application recommendation comprises one or more bits in an AD Type field of the payload.
26. A method as claimed in any of claims 18 to 25, wherein the indication that the PDU includes an application recommendation is an indication that the PDU includes an application identifier.
27. A method as claimed in any of claims 18 to 25, wherein the indication that the PDU includes an application recommendation is an indication that the PDU includes an application name.
28. A method as claimed in claim 27, wherein the indication that the PDU includes an application recommendation is an indication that the PDU includes an application name along with a version identifier.
29. A method as claimed in any of claims 18 to 28, wherein the advertising message is a Bluetooth Low Energy Link Layer packet.
30. A method as claimed in claim 29, wherein the PDU is an
ADV_NONCONN_IND PDU.
31. A method as claimed in any of claims 18 to 30, comprising the apparatus creating the PDU in response to a user input constituting a request for an
advertisement recommendation.
32. A method as claimed in any of claims 18 to 31, comprising the apparatus broadcasting the advertising message.
33. A method comprising:
an apparatus receiving an advertising message including a packet data unit [PDU] including information identifying an application that is installed on another apparatus and an indication that the PDU includes an application recommendation; and
the apparatus using the information identifying an application to provide an option to install the application.
34. A method as claimed in claim 33, comprising the apparatus using the information identifying an application to identify the application in an on-line application marketplace from which the apparatus can download and install applications.
35. A computer program comprising instructions that when executed by a computer apparatus control it to perform the method of any of claims 18 to 34.
36. A non-transitory computer-readable storage medium having stored thereon computer-readable code, which, when executed by computing apparatus, causes the computing apparatus to perform a method comprising:
creating an advertising message including a packet data unit [PDU] including information identifying an application that is installed on the computing apparatus and an indication that the PDU includes an application recommendation; and
causing the advertising message to be broadcast.
37. A non-transitory computer-readable storage medium as claimed in claim 36, wherein the information identifying an application comprises a unique identifier for the application.
38. A non-transitory computer-readable storage medium as claimed in claim 36, wherein the information identifying an application comprises a full name of the application.
39. A non-transitory computer-readable storage medium as claimed in claim 36, wherein the information identifying an application comprises a truncated name of the application.
40. A non-transitory computer-readable storage medium as claimed in claim 36, wherein the information identifying an application comprises a version number of the application.
41. A non-transitory computer-readable storage medium as claimed in claim 36, wherein the PDU includes a header and a payload and wherein the information identifying an application that is installed on the apparatus is included in the payload.
42. A non-transitory computer-readable storage medium as claimed in claim 36, wherein the PDU includes a header and a payload, and wherein the indication that the PDU includes an application recommendation is included in the payload.
43. A non-transitory computer-readable storage medium as claimed in claim 42, wherein the indication that the PDU includes an application recommendation comprises one or more bits in an AD Type field of the payload.
44. A non-transitory computer-readable storage medium as claimed in claim 36, wherein the indication that the PDU includes an application recommendation is an indication that the PDU includes an application identifier.
45. A non-transitory computer-readable storage medium as claimed in claim 36, wherein the indication that the PDU includes an application recommendation is an indication that the PDU includes an application name.
46. A non-transitory computer-readable storage medium as claimed in claim 45, wherein the indication that the PDU includes an application recommendation is an indication that the PDU includes an application name along with a version identifier.
47. A non-transitory computer-readable storage medium as claimed in claim 36, wherein the advertising message is a Bluetooth Low Energy Link Layer packet.
48. A non-transitory computer-readable storage medium as claimed in claim 47, wherein the PDU is an ADV_NONCONN_IND PDU.
49. A non-transitory computer-readable storage medium as claimed in claim 36, wherein the computer-readable code when executed by the computing apparatus causes the computing apparatus to perform creating the PDU in response to a user input constituting a request for an advertisement recommendation.
50. A non-transitory computer-readable storage medium as claimed in claim 36, wherein the computer-readable code when executed by the computing apparatus causes the computing apparatus to perform broadcasting the advertising message.
51. A non-transitory computer-readable storage medium having stored thereon computer-readable code, which, when executed by computing apparatus, causes the computing apparatus to perform a method comprising: receiving an advertising message including a packet data unit [PDU] including information identifying an application that is installed on another apparatus and an indication that the PDU includes an application recommendation; and
using the information identifying an application to provide an option to install the application.
52. A non-transitory computer-readable storage medium as claimed in claim 51, wherein the computer-readable code when executed by the computing apparatus causes the computing apparatus to perform using the information identifying an application to identify the application in an on-line application marketplace from which the apparatus can download and install applications.
53. Apparatus, the apparatus having at least one processor and at least one memory having computer-readable code stored thereon which when executed controls the at least one processor:
to create an advertising message including a packet data unit [PDU] including information identifying an application that is installed on the computing apparatus and an indication that the PDU includes an application recommendation; and
to cause the advertising message to be broadcast.
54. Apparatus as claimed in claim 53, wherein the information identifying an application comprises a unique identifier for the application.
55. Apparatus as claimed in claim 53, wherein the information identifying an application comprises a full name of the application.
56. Apparatus as claimed in claim 53, wherein the information identifying an application comprises a truncated name of the application.
57. Apparatus as claimed in claim 53, wherein the information identifying an application comprises a version number of the application.
58. Apparatus as claimed in claim 53, wherein the PDU includes a header and a payload and wherein the information identifying an application that is installed on the apparatus is included in the payload.
59. Apparatus as claimed in claim 53, wherein the PDU includes a header and a payload, and wherein the indication that the PDU includes an application
recommendation is included in the payload.
60. Apparatus as claimed in claim 59, wherein the indication that the PDU includes an application recommendation comprises one or more bits in an AD Type field of the payload.
61. Apparatus as claimed in claim 53, wherein the indication that the PDU includes an application recommendation is an indication that the PDU includes an application identifier.
62. Apparatus as claimed in claim 53, wherein the indication that the PDU includes an application recommendation is an indication that the PDU includes an application name.
63. Apparatus as claimed in claim 62, wherein the indication that the PDU includes an application recommendation is an indication that the PDU includes an application name along with a version identifier.
64. Apparatus as claimed in claim 53, wherein the advertising message is a
Bluetooth Low Energy Link Layer packet.
65. Apparatus as claimed in claim 64, wherein the PDU is an
ADV_NONCONN_IND PDU.
66. Apparatus as claimed in claim 53, wherein the computer-readable code when executed controls the at least one processor to perform creating the PDU in response to a user input constituting a request for an advertisement recommendation.
67. Apparatus as claimed in claim 53, wherein the computer-readable code when executed controls the apparatus to perform broadcasting the advertising message.
68. Apparatus, the apparatus having at least one processor and at least one memory having computer-readable code stored thereon which when executed controls the at least one processor:
to receive an advertising message including a packet data unit [PDU] including information identifying an application that is installed on another apparatus and an indication that the PDU includes an application recommendation; and
to use the information identifying an application to provide an option to install the application.
69. Apparatus as claimed in claim 68, wherein the computer-readable code when executed controls the at least one processor to perform using the information identifying an application to identify the application in an on-line application marketplace from which the apparatus can download and install applications.
PCT/CN2013/072948 2013-03-20 2013-03-20 Application recommendations WO2014146266A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201380074876.4A CN105144651A (en) 2013-03-20 2013-03-20 Application recommendations
EP13878655.3A EP2976864A4 (en) 2013-03-20 2013-03-20 Application recommendations
US14/768,750 US9973876B2 (en) 2013-03-20 2013-03-20 Application recommendations
PCT/CN2013/072948 WO2014146266A1 (en) 2013-03-20 2013-03-20 Application recommendations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/072948 WO2014146266A1 (en) 2013-03-20 2013-03-20 Application recommendations

Publications (1)

Publication Number Publication Date
WO2014146266A1 true WO2014146266A1 (en) 2014-09-25

Family

ID=51579286

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/072948 WO2014146266A1 (en) 2013-03-20 2013-03-20 Application recommendations

Country Status (4)

Country Link
US (1) US9973876B2 (en)
EP (1) EP2976864A4 (en)
CN (1) CN105144651A (en)
WO (1) WO2014146266A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105938478A (en) * 2015-03-02 2016-09-14 三星电子株式会社 Content providing method of content providing system and electronic apparatus
EP3269161A4 (en) * 2015-03-12 2018-09-05 650 Industries, Inc. Method and apparatus for fast communication of information during bluetooth discovery phase

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10708842B2 (en) * 2016-01-13 2020-07-07 Locus Control LLC Low power communications system
CN108307516B (en) * 2016-09-30 2021-08-13 华为技术有限公司 Data transmission method and related equipment
US10840961B1 (en) * 2019-10-23 2020-11-17 Motorola Solutions, Inc. Method and apparatus for managing feature based user input routing in a multi-processor architecture using single user interface control
US11392536B2 (en) 2019-10-23 2022-07-19 Motorola Solutions, Inc. Method and apparatus for managing feature based user input routing in a multi-processor architecture

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101384011A (en) * 2008-10-28 2009-03-11 中兴通讯股份有限公司 Mobile phone and method for displaying multimedia information in mobile phone television playing process
US20100100615A1 (en) * 2008-10-17 2010-04-22 Samsung Electronics Co., Ltd. Apparatus and method for managing advertisement application
US20100306044A1 (en) * 2009-05-26 2010-12-02 Martin-Cocher Gaelle C System and method for reporting advertising metric data
US20120110568A1 (en) 2010-10-29 2012-05-03 Microsoft Corporation Viral Application Distribution
CN102662679A (en) * 2012-04-18 2012-09-12 奇智软件(北京)有限公司 Method and device for implementing personalized user interface

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2353910A (en) 1999-09-03 2001-03-07 Ibm Asset tracking using local beacons
US20010043573A1 (en) 2000-04-14 2001-11-22 Frank Kelly System and method for providing control of a two-way satellite system
JP3757131B2 (en) 2001-06-04 2006-03-22 富士通株式会社 Advertisement distribution method and advertisement acquisition method
FI111891B (en) 2001-12-20 2003-09-30 Nokia Corp Identification of a terminal device
US6856673B1 (en) 2002-03-13 2005-02-15 At&T Corp. Targeted advertising in a telephone dialing system
GB2408607A (en) 2002-09-27 2005-06-01 Hill Rom Services Inc Universal communications monitoring tracking and control system for a healthcare facility
CN1705245A (en) 2004-06-01 2005-12-07 上海迪比特实业有限公司 Authentication and connection method between mobile phones having bluetooth module
US8836580B2 (en) 2005-05-09 2014-09-16 Ehud Mendelson RF proximity tags providing indoor and outdoor navigation and method of use
US8423045B2 (en) 2005-09-23 2013-04-16 Avaya Inc. Location-based presence automation
US8005465B2 (en) * 2006-11-08 2011-08-23 Nokia Corporation Connectionless information transfer from advertising device
US7734717B2 (en) * 2006-12-05 2010-06-08 Nokia Corporation Software distribution via peer-to-peer networks
CN101212240A (en) 2006-12-25 2008-07-02 北京三星通信技术研究有限公司 Automatic contact information binding method for Bluetooth device
US8498673B2 (en) * 2009-07-23 2013-07-30 Nec Corporation Software output destination handling terminal, system, method, and program for the same
ES2551099T3 (en) 2009-12-22 2015-11-16 9Solutions Oy Position Tracking System
US9306813B2 (en) * 2009-12-23 2016-04-05 Apple Inc. Efficient service advertisement and discovery in a peer-to-peer networking environment with cooperative advertisement
US8208911B2 (en) 2010-02-26 2012-06-26 Research In Motion Limited System and method for identifying a contact associated with an electronic communication
CN201668510U (en) 2010-05-09 2010-12-15 金妍 Pulse pillow
US8554141B2 (en) 2010-06-24 2013-10-08 Broadcom Corporation Method and system for multi-stage device filtering in a bluetooth low energy device
US20120052802A1 (en) * 2010-08-24 2012-03-01 Nokia Corporation Advertisement of an existing wireless connection
CN103282927B (en) * 2011-01-04 2018-11-23 Aq株式会社 Advertising information provides system
US20120196534A1 (en) * 2011-02-01 2012-08-02 Nokia Corporation Method, apparatus, and computer program product for broadcasting in short-range communication
TW201242281A (en) * 2011-04-08 2012-10-16 Acer Inc Electronic apparatus, proximity network system and connecting method thereof
US20130178163A1 (en) * 2012-01-10 2013-07-11 Htc Corporation Systems for Facilitating Wireless Communication and Related Methods
US10360593B2 (en) * 2012-04-24 2019-07-23 Qualcomm Incorporated Retail proximity marketing
EP2856832B1 (en) * 2012-06-01 2017-03-01 Nokia Technologies Oy Method, apparatus, and computer program product for adaptive device discovery in wireless networks
WO2014008658A1 (en) * 2012-07-13 2014-01-16 Nokia Corporation Handling packet data units
US9560473B2 (en) * 2012-10-29 2017-01-31 Hsiung-Kuang Tsai Data transmission system
EP2929295A4 (en) * 2012-12-07 2016-07-27 Nokia Technologies Oy Handling positioning messages
US9008917B2 (en) * 2012-12-27 2015-04-14 GM Global Technology Operations LLC Method and system for detecting proximity of an end device to a vehicle based on signal strength information received over a bluetooth low energy (BLE) advertising channel
US8909143B2 (en) * 2013-02-25 2014-12-09 Lexmark International, Inc. Provisioning user attributes for use with mobile computing device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100100615A1 (en) * 2008-10-17 2010-04-22 Samsung Electronics Co., Ltd. Apparatus and method for managing advertisement application
CN101384011A (en) * 2008-10-28 2009-03-11 中兴通讯股份有限公司 Mobile phone and method for displaying multimedia information in mobile phone television playing process
US20100306044A1 (en) * 2009-05-26 2010-12-02 Martin-Cocher Gaelle C System and method for reporting advertising metric data
US20120110568A1 (en) 2010-10-29 2012-05-03 Microsoft Corporation Viral Application Distribution
CN102662679A (en) * 2012-04-18 2012-09-12 奇智软件(北京)有限公司 Method and device for implementing personalized user interface

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2976864A4

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105938478A (en) * 2015-03-02 2016-09-14 三星电子株式会社 Content providing method of content providing system and electronic apparatus
CN105938478B (en) * 2015-03-02 2021-06-08 三星电子株式会社 Content providing method of content providing system and electronic device
EP3269161A4 (en) * 2015-03-12 2018-09-05 650 Industries, Inc. Method and apparatus for fast communication of information during bluetooth discovery phase

Also Published As

Publication number Publication date
US9973876B2 (en) 2018-05-15
US20160007136A1 (en) 2016-01-07
CN105144651A (en) 2015-12-09
EP2976864A1 (en) 2016-01-27
EP2976864A4 (en) 2016-11-09

Similar Documents

Publication Publication Date Title
US9973876B2 (en) Application recommendations
KR102208438B1 (en) Method for proximity service data and an electronic device thereof
US11611863B2 (en) Method and apparatus for low energy discovery
CN110691412B (en) PUCCH conflict processing method and terminal
EP3741181B1 (en) Apparatus and method for performing vehicle to everything communication
EP2989813B1 (en) Communication service in communication modes
US20170127018A1 (en) Video interaction method, terminal, server and system
US20160227470A1 (en) Bluetooth low energy packets
US20150271625A1 (en) Handling packet data units
CN108040091B (en) Data processing method, device and storage medium
US20210337583A1 (en) Data transmission method and corresponding terminal
CN110035004B (en) User name card sharing method, friend adding method and related device
EP2853083A1 (en) System and method for persistent wireless docking
EP3829095A1 (en) Random access method and related device
EP3179693B1 (en) Method, apparatus, storage medium and computer program product for establishing a data connection
JP6325675B2 (en) Data sharing method and apparatus
CN106028266B (en) Information transmission method, device and system
WO2023151059A1 (en) Methods and apparatuses of applying downlink initial bwp, network device, terminal and storage medium
EP3493583B1 (en) Method for sending data, and mobile terminal
KR20150078263A (en) mobile terminal, and method for operating the same
CN113727298B (en) Layer two identification determining method, device and terminal
CN108370500B (en) Optimized settings for wireless devices
KR102596801B1 (en) PC5 link establishment methods, equipment and systems
CN107079052B (en) Efficient group communication with L TE-D discovery for application-layer contextual communication
WO2023280068A1 (en) Sidelink resource recommendation method and apparatus, information receiving method and apparatus, and terminal

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201380074876.4

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13878655

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14768750

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2013878655

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE