The present disclosure relates to providing third party services to wireless devices and their users.
Service Set Identifiers (SSIDs) are used in wireless networks to advertise the presence of the wireless network to user devices. Typically, the SSID is used as the name of the wireless network, and the name may provide an indication to the user of the type and/or owner of the wireless network. For example, an SSID of “Public” would generally be used to advertise a publicly available network, and an SSID of “Alice's House” would indicate a private network for which a user may be required to supply a password from Alice to access the network.
An access point uses broadcast SSIDs to advertise services available to a user device within range of the access point. The access point receives information about a first service available from a first service provider, and generates a first SSID associated with the first service. The access point receives information about a second service available from a second service provider, and generates a second SSID associated with the second service. The access point broadcasts the first SSID during a first period of time in a wireless network, and broadcasts the second SSID in the wireless network during a second period of time that is non-overlapping with the first period of time.
Referring to
In one example, the difference between access points 120A, 120B, and 120C may be a difference in configuration, with each of the access points being configurable with a range and function similar to the other access points. In one example, access points 120A, 120B and 120C may broadcast a Service Set Identifier (SSID) for a wireless local area (e.g., Wi-Fi™) network, but may or may not have the capability to set up the wireless network. In order to conserve power, the access points 120A, 120B and 120C may advertise an available service by broadcasting the SSID for a wireless network, and require the user device 110 to receive the service through a separate network wireless connection, e.g., via access point 130. In one example, service providers 140A and 140B may provide services such as location-based advertising, promotional offers, customized user directions, proximity alerts, etc.
Only four access points and two service providers are shown in
The user device 110 may take a variety of forms, including a desktop computer, laptop computer, mobile/cellular phone, tablet computer, Internet telephone, etc. In one example, the access points may take the form of a low-energy wireless local area network (e.g., Wi-Fi) access point with an adjustable range , e.g., an adjustable broadcast power. In one example, the shape of the coverage area may be adjustable, in addition or instead of just the range of the coverage area being adjustable.
Access point 130 may take a variety of forms including a cellular tower or a full power wireless local area network (Wi-Fi) access point. Additionally, service providers 140A and 140B may take a variety of forms, including one or more desktop computers, servers, laptop computers, mobile/cellular phones, tablet computers, etc. Network 150 may be any type of network (e.g., any combination of Internet, intranet, local area network (LAN), wide area network (WAN), wired network, wireless network, etc.) that connects computing devices, e.g., service providers 140 with user devices 110 through access points 120 and/or 130.
Referring now to
Memory 220 may comprise read only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical/tangible (e.g., non-transitory) memory storage devices. The processor 210 is, for example, a microprocessor or microcontroller that executes instructions for implementing the processes described herein. Thus, in general, the memory 220 may comprise one or more tangible (non-transitory) computer readable storage media (e.g., a memory device) encoded with software comprising computer executable instructions and when the software is executed (by the processor 210) it is operable to perform the operations described herein.
Referring now to
Memory 320 may comprise ROM, RAM, magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical/tangible (e.g., non-transitory) memory storage devices. The processor 310 is, for example, one or more microprocessors or microcontrollers that execute instructions for implementing the processes described herein with respect to a plurality of virtual machines. Thus, in general, the memory 320 may comprise one or more tangible (non-transitory) computer readable storage media (e.g., a memory device) encoded with software comprising computer executable instructions and when the software is executed (by the processor 310) it is operable to perform the operations described herein.
Referring now to
In one example, twenty-five bytes of the SSID 400 are reserved for the domain name portion 420. The domain name portion 420 may comprise a domain name at which the user device 110 can contact the service provider 140. In one example, the domain name portion 410 may comprise a hashed version of a domain name that can be redirected to the full domain name of the service provider 140. In an example, four bytes of the SSID 400 are reserved for the location information portion 430. The location information portion 430 comprises information that allows the user device 110 to specify the physical location of the user device 110 when it contacts the service provider 140 at the domain name specified in the domain name portion 420.
In one example, the location information portion 430 may comprise the Media Access Control (MAC) address of the access point that is broadcasting the SSID 400. The MAC address of the access point identifies the particular access point, which may be associated with a specific physical position. When the user device 110 contacts the service provider and identifies the MAC address of the access point that provided the domain name, the service provider may determine that the user device 110 is in the general proximity of the physical position associated with the identified access point. Once the service provider has determined the approximate physical position of the user device 110, the service provider can provide location-based services to the user device 110. The accuracy of the determined physical position of the user device 110 may be adjusted by adjusting the range of the access point.
In another example, the operating system of the user device 110 may pass the SSID 400 to any or all applications on the user device 110. In this example, any application that can identify that SSID, e.g., through the header portion 410, may be able to contact the service provider at the domain name from the domain name portion 420.
In yet another example, a hash of the SSID 400 may be included instead of (or in addition to) the location portion 430 as part of the domain name portion 420. This gives the user device information on a separate SSID that may be used to access the service advertised with SSID 400.
In a further example, the message advertising the offered service may use a vendor-proprietary or non-proprietary data element type or format.
Referring now to
In one example, a third service, e.g., service C, becomes available from the access point, while service A and service B are also available. In this example, the access point will generate an SSID 400C encoded with the information needed for a user device to receive the service C. The access point will then start broadcasting management frame 454 comprising SSID 400A, SSID 400B, and SSID 400C.
In still another example, the access point may be instructed to remove the advertisement of service A, and add the advertisement of service C. In this example, the access point will start to broadcast the management frame 456 comprising SSID 400C and SSID 400B. Though the SSIDs 400A, 400B, and 400C are depicted at the beginning of the management frame, in other examples, the SSIDs may be broadcast in any time slot that does not overlap with another SSID.
Referring now to
In one example, the access point may select a channel in a wireless (e.g., Wi-Fi) network to advertise services. The access point may minimize co-channel interference by avoiding a channel with a strong signal that another access point is using. To provide location-based services the access point may limit the transmit power such that the service advertisements reach up to a maximum range (e.g., 10 feet). In a specific example, these advertising beacons may be transmitted at 100 millisecond intervals at 54 Mbps.
Referring now to
Referring now to
In summary, the techniques presented herein provide for using low power Wi-Fi tags/access points as beacon emitters for proximity detection in addition to advertising and delivering location-based services. An existing Wi-Fi infrastructure/backhaul may be used for management and monitoring of the tags. By using the SSID, which is typically passed to any application, for advertising services, any application may be able to use the service, rather than requiring a specific application to run in the background and intercept a service advertised in other forms (e.g., as a Bluetooth message).
In one example, the techniques presented herein provide for a method for wireless access point to use broadcast SSIDs to advertise services available to a user device within range of the access point. The access point receives information about a first service available from a first service provider, and generates a first SSID associated with the first service. The access point receives information about a second service available from a second service provider, and generates a second SSID associated with the second service. The access point broadcasts the first SSID during a first period of time in a wireless network, and broadcasts the second SSID in the wireless network during a second period of time that is non-overlapping with the first period of time.
In another example, an apparatus is provided comprising a network interface unit, a processor, and a wireless transceiver. The network interface unit is configured to enable communications over a network. The processor is configured to obtain from one or more messages received via the network interface unit information about a first service available from a first service provider and information about a second service available from a second service provider; generate a first Service Set Identifier (SSID) associated with the first service; generate a second SSID associated with the second service. The wireless transceiver is configured to broadcast the first SSID during a first period of time in a wireless network, and broadcast the second SSID during a second period of time in the wireless network. The processor also causes the first period of time and the second period of time to be non-overlapping.
In yet another example, a computer-implemented method is provided for a user device to receive advertisements for services and display the advertisement of services to a user. The user device receives from a wireless access point, a first SSID associated with a first service. The user device also receives from the wireless access point, a second SSID associated with a second service. The first SSID and the second SSID are provided to at least one application running on the user device. The user device displays a first indication of availability for the first service, and displays a second indication of availability for the second service.
The above description is intended by way of example only. Various modifications and structural changes may be made therein without departing from the scope of the concepts described herein and within the scope and range of equivalents of the claims.