The present application relates to wireless beacons and, more particularly, to methods and/or apparatus for generating, transmitting and/or using beacons.
Wireless beacons are being used in a wide range of applications. Often wireless beacons are used to transmit identifiers, advertisements, and/or otherwise provide information within range of the wireless beacon transmitter.
One application for beacon transmitters, particularly low power beacon transmitters such as Bluetooth beacon transmitters, is to make users aware of services or special offers in proximity to the beacon transmitter. For example, a coffee shop may use a beacon transmitter to transmit a beacon used to communicate special offers, line wait times and/or news about new products such as a special coffee blend or new dessert.
While different stores or shops in an area may each use there own beacon transmitter to advertise information corresponding to the particular store or shop, within a larger store it may be desirable to use beacons to advertise different information based on the merchandise available in a particular area of the store. This may involve, for example, placing a beacon transmitter in an individual area of the store which transmits a beacon advertising a product or service available in the area in which the individual beacon transmitter is located. Battery powered beacon transmitters may be used for this purpose. While placing beacon transmitters at different locations, e.g., at stands corresponding to different items, through out a store to advertise different items and/or communicate different locally relevant information is one way to take advantage of the ability of beacons to communicate locally relevant information to individuals as they move from one location to another in store, there are several disadvantages to using a large number of individual battery operated beacon transmitters.
The use of a large number of individual battery operated beacon transmitters at numerous different sites requires management of the individual devices often using mobile devices. Not only must the individual beacon transmitters be placed and situated throughout the store, their batteries must be maintained over time if they are to be useful. For example, in the case of battery powered beacon transmitters, it may be necessary to periodically replace the batteries of the devices. In addition, the devices need to be individually programmed with transmit power, transmit rate and the information they are to transmit in a beacon. Beacon transmitters located on stands and/or at ground level are also subject to damage as goods are moved and stocked as carts may bang into the beacon transmitters depending on where they are placed.
The placement of large numbers of beacon transmitters though out stores or other areas thus creates a variety of management, maintenance, cost and placement issues associated with the use of large numbers of beacon transmitters. In addition, if a venue owner wants to deliver messaging in new areas of venue they need to add or move beacons.
Using large numbers of beacon transmitters with relatively short range allows for individuals with a receiver to detect and receive locally relevant information in an environment, e.g., within a store, stadium or other venue as he/she moves throughout the environment. In cases where detection of beacons is reported to a server, information on which beacons were detected and when can also be used to facilitate tracking of an individual through a store or other environment where GPS and/or other location information may not be readily available.
Thus, while beacons offer many benefits, problems associated with the management, placement, cost and maintenance over large number of beacon transmitters limits the practical use of beacons.
In view of the above discussion it should be appreciated that there is a need for methods and apparatus which could facilitate the use of beacons but preferably without some or all of the disadvantages associated with having to place large numbers of individual beacon transmitters at different locations at a site, e.g., store or other environment.
Methods and apparatus for managing and transmitting beacons via base stations with the ability to transmit beacons on individual beams to provide the ability to place virtual tags in a space are described. The base stations may be sectorized base stations, e.g., sectorized Bluetooth base stations, which transmit Bluetooth Low Energy (BTLE) beacon signals using individual directional antennas or base stations with beam forming and/or steering capability. One or more unique beacons are broadcasted on the unique beams and received on a mobile device. In some embodiments beacon information obtained from received beacons such, such as a beacon ID and/or other information communicated with the beacon is communicated, optionally with sensor information from the mobile device such as received beacon signal strength and/or time of receipt to another device. The device to which the information is sent in at least some embodiments is a zone engine which identifies what zone the mobile device is in and returns a response to the mobile device providing information relating or relevant to the zone in which the mobile device reporting receipt of one or more beacons is located.
Additionally by using base stations with beam forming capability the number of base stations required to cover an area can be relatively low as compared to embodiments where battery operated tags, e.g., beacon transmitters with omni directional antennas, are used to transmit beacons into an area.
While the area covered by a single beacon signal beam may be used to define a zone for which information may be communicated, in some embodiments beacons received from multiple beams are used to allow zones to be defined based on the beacon coverage. Thus, a zone may be defined as an area covered by a particular set of beacons, a combination of areas covered by different beacons and/or an area covered by one or more beacons but outside the coverage area of a particular beacon. In addition, beacons signal strength may be taken into consideration when defining a zone. Thus, in accordance with various embodiments, a zone can be defined as a logical combination of beacon coverage areas where signal strength may also be taken into consideration in terms of defining a zone. Thus each portion of a zone is covered by at least one beacon signal but the zone may correspond to an intersection of beacon coverage areas and/or in terms of areas in which one or more beacon signals are received at or above a particular power level. Beacons identifiers in combination with minimum beacon signal strength indicators and logical operators used to show the relationship of beacon received signal strengths maybe and in some embodiments are used to define a zone. For example a first zone may be defined as the area covered by the intersection of beacon A and beacon B, e.g., Zone 1=intersection of beacon_A Area and beacon_B Area, where A and B are beacon identifiers. A second zone may be defined as the area covered by beacon A which is not covered by beacon B, e.g., Zone 2=beacon_A Area excluding beacon_B area. A third beacon area may simply be defined as the coverage area of a third beacon, e.g., Zone 3=beacon_C area.
Another Zone, e.g., Zone 4 maybe be defined in terms of one or more beacon areas taking into consideration received beacon power levels, for example Zone 4=Portion of beacon_A area at which beacon A is received at or above power level 1 plus portion of beacon_B area at which beacon_B is received at or above power level 2, wherein power level 1 and 2 are the same or different and may be expressed in terms of received signal strength values. It should be appreciated that a beacon area may also be defined as the area covered by individual beacons whether they intersect or not. For example Zone 5 may be expressed as the combination of area covered by beacon_A plus the area covered by beacon_B whether or not the beacons coverage areas overlap.
The beacons used to define a zone maybe transmitted by the same or different base stations.
In at least some such embodiments a wireless terminal detects beacon signals, generates a time stamp and received signal strength indicator for each received beacon signal and reports the receipt of the beacon signals with the corresponding signal strength and RSSI information to a zone correlation engine which can then determine the zone in which the mobile device is located from the one or more reported received beacon signals. The beacon signals may include one or more beacon identifiers with the beacon identifier or combination of beacon identifiers uniquely identifying the beacon. In some embodiments the beacons transmitted by a sector of a base station include information relevant to a zone into which the beacon signal is transmitted but in other embodiments the beacon communicates one or more beacon identifiers which can be used to identify information relevant to a zone into which the beacon communicating the identifier is transmitted. Thus a beacon can directly communicate information relevant to a zone in which it is transmitted or can map to information relevant to a zone into which the beacon is transmitted by an beacon identifier to information mapping or by a beacon identifier to zone to information mapping.
The zone correlation engine uses reported beacon identifier and beacon received signal strength indicator (the RSSI) information of received beacons reported by a wireless terminal, and knowledge of which beacons are transmitted by which sectors of base stations, to determine the zone or zones in which the wireless terminal is located during a time period for which beacon information is reported and to identify corresponding information relevant to the zone. In other embodiments, the zone correlation engine uses sensor information (e.g. accelerometer information) from the mobile device in addition to beacon information and/or RSSI information corresponding to one or more received beacons to determine which zone a mobile device is located in at a given time and, in some cases, to predict which zone the device will be in at a future time.
While in many cases the reported beacons are actual received beacons, in at least some embodiments reports of one or more received beacons may, and sometimes do, include a report of receipt of a virtual beacon signal. A virtual beacon signal is a logical beacon signal, the receipt of which is based on a device's knowledge of its location and knowledge of one or more virtual beacon transmitters and the coverage area of such transmitters.
In some embodiments a wireless terminal, e.g., a mobile device capable of receiving actual beacon signals, stores information indicating the location of a virtual beacon transmitter, the virtual beacon transmitter power and one or more beacon identifiers used to identify virtual beacons which are considered as being transmitted by the virtual beacon transmitter.
When, in such an embodiment, a wireless terminal determines that it is within the transmit range of a virtual beacon transmitter, it will estimate a received signal strength based on its location and determine the strength of the beacon that would have been received if the virtual transmitter had transmitted an actual beacon signal from a location indicated to be the location of the beacon transmitter. A predetermined path loss module and stored information about the virtual beacon transmitter power allows, based on the distance between the virtual beacon transmitter and the location of the wireless terminal, the wireless terminal or another device to determine the estimated received signal strength of a beacon that would have been received if transmitted by the virtual transmitter. The wireless terminal will, in some embodiments report to the zone engine receipt of a beacon signal when it is within transmit range of a virtual beacon transmitter. The reported received beacon will be indicated to have the received signal strength determined using the path loss model and wireless terminal location information. The report will indicate that the received beacon signal had a beacon ID of the beacon which corresponds to the virtual beacon transmitter. In such embodiments, reports of received beacon signals may be reports of actual received beacon signal or a report of the receipt of a virtual beacon signal. Since in some embodiments receipt of virtual beacon signals are reported in the same manner as the receipt of actual beacon signals a zone correlation engine need not, and may not, know the difference between received beacon signal messages corresponding to actual received beacon signals and received beacon signal messages corresponding to virtual beacon signals since in at least some embodiments the messages reporting real or virtual beacon signal receipt communicate same type of information. This allows devices which are designed to receive beacon reports and to provide information based on messages indicating one or more received beacons to respond to the device sending the report of a received beacon with meaningful information whether or not the reported beacon was actually received or not. This allows a device which provides information and/or determines wireless terminal locations based on reported received beacon signals to interact with a device which may not have received a beacon but reported receipt of a beacon signal based on stored virtual beacon information without having to have a different interface. In fact, since the reported virtual beacon signal appears to the device receiving the beacon reception report like it was actually received, the device receiving the report of a virtual beacon signal may not even know that the report corresponds to a virtual beacon signal as opposed to an actual beacon signal.
Zones maybe and in some embodiments are defined based on the coverage are of virtual beacon signals alone or in combination with the coverage area of virtual beacon signals. This allows for a wide range of possible zone constructs beyond those associated with simply actual beacon signals. Thus, zones maybe defined based on virtual beacons and their coverage areas in the same or similar way in which zones are defined based on actual beacon signals. When a device is determined to be in a zone corresponding to a virtual beacon signal, information corresponding to the zone will be returned to the device just as it would if the zone corresponded to one or more actual beacon signals. While the beacon signal or signals used to define a zone may be real or virtual, the zone corresponds to a real physical location in which the device reporting a real or virtual beacon signal may be located.
The use of virtual beacon signals and the reporting of the receipt of a beacon signal when determined to be in the coverage area of a virtual beacon transmitter, despite an actual signal not being received, allows for a wide range of options and use of network devices intended to respond to reports of receiving actual beacon signals to supply information corresponding to zones defined for regions where actual beacon transmitters are not located but for which virtual beacon transmitters can be specified.
Once a device is determined to be in a zone, defined based on the coverage area of one or more actual or virtual beacon signals, an information lookup operation is performed and information corresponding to the zone is then provided to the wireless device located in the zone. Each zone may correspond to one or more virtual BLE tags which is a set of information to be provided to devices in the zone corresponding to the tag.
A zone to tag information database is used in some embodiments to provide information to a user device, e.g., wireless terminal, detected to be in a zone.
Zones may be configured based on user selection of areas on a map to be associated with different tags or by a manager moving through the area in which zones are to be defined and signaling the location at which zones and thus tags are to be associated.
Beacon signal transmissions maybe and sometimes are controlled to facilitate defining of a portion of an area as a zone. In other embodiments beacon signals are transmitted and the zone designated by the manager is defined by the beacon signals known to be transmitted into the area corresponding to the zone and the measured or predicted strength of the beacon signals at the area corresponding to the zone which is to be defined.
Probability surfaces may be generated from the RSSI information of individual beam transmissions and then combined with probability surfaces from other beams to indicate the probability that a received signal strength indicator for a beacon and corresponding beam used to transmit the beacon correspond to a particular zone or zones. Based on probability information corresponding to different beacons and associated beams, a zone correlation engine can determine based on reported RSSI information corresponding to a set of received beacons which zone a device is located in. Upon determination that a device is in a defined zone, information corresponding to the zone is retrieved, e.g., from a tag information database, and provided to the device. The tag information database can include information which is to be supplied at different times for a zone based on an advertising schedule or items to be sold in the zone corresponding to a particular tag.
RF Environment modeling information, e.g., one or more path loss parameters used to generate probability surfaces, may be learned based on actual user data rather than measurements from known locations in a zone/venue. After RSSI information is received from a device determined to be in a zone, the parameters for the path loss model maybe, and in some embodiments are, updated based on the received signal information. The parameters which are updated in some embodiments include a path loss parameter and an intercept which can be used in a path loss based location determination model.
Many location systems require special site surveys which are known as supervised training to optimize the location accuracy. The system described here, in some embodiments, uses data from users of the system to continuously optimize the performance of the system. Over time the model parameters for a given area can be optimized continuously based on received signal strength from user data to maximize the probability that the path loss model will accurately detect presence in the zone based on beacon signals transmitted from different base stations by adjusting the parameters to maximize a joint probability that a reporting wireless terminal is in a zone covered by the signals transmitted from multiple different base stations.
While in some embodiments the presence in a zone is determined based on received beacon signals in other embodiments the beacon signals directly communicate information that is relevant to the zone covered by a beam used to transmit the beacon signal. In such embodiments the use of antenna beams allows zones to be defined in particular locations relative to a base stations which might not be possible if an omni-directional antenna was used.
To facilitate the correlation of antenna beams to actual geographic areas in a store or other area of interest, the base stations may include a distance measuring device such as an infrared distance measuring device and/or compass. Distance to ground information can be measured by the distance measuring device while the compass can provide general orientation information. The measured distance and compass based orientation information can be reported to a management device and can be used to predict the coverage area of different beams based on the reported information and general knowledge of a building floor plan or the overall shape of the area where the base stations are located. Base stations can listen to neighbor transmissions and report the signals they hear allowing for base stations to automatically discover their geographic relationship to neighbor base stations.
The reported base station neighbor information along with other reported information can be used to determine the coverage area of individual base station beams. Zones can then be defined based on the beam coverage areas and/or the intersection of beam coverage areas.
While various embodiments have been discussed in the summary above, it should be appreciated that not necessarily all embodiments include the same features and some of the features described above are not necessary for all embodiments. Numerous additional features, embodiments and benefits of various embodiments are discussed in the detailed description which follows.
Exemplary system 100 includes one or more sites of interest, e.g., stores, a communications network 112, and a site management/beacon/configuration and/or zone correlation server 120. As should be appreciated the configuration, management, zone correlation services can be provided by one server 120 or distributed through a plurality of servers which operate together to provide the functions provided by the exemplary server 120. The server 120 maybe, and sometimes is, located in a network and is thus sometimes referred to as a cloud sever since the physical location of the server is not critical to operation of the system even though the server 120 is normally not located at a customer site. However in some applications sever 120 may be, and is, located at a customer side or office location. The one or more sites of interest include store 1 102, . . . , store N 110. One or more wireless terminals 504 maybe present at a store or other site and can operate as a control device for configuring beacon signals transmitted by access points, zones and/or virtual beacons as will be discussed below. Wireless terminals may, and in various embodiments do, receive beacon signals and/or messages reporting the receipt of a virtual beacon signal and act on received beacon signal information. The wireless terminals can, and sometimes do, provide information to a network device such as a server which includes a zone correlation information which can determine the location of the wireless device from received signals, e.g., beacon signals reported to the zone correlation engine and which can and sometimes does return information, offers and/or store or sales position location information, corresponding to a beacon signal received by the WT or a zone in which the wireless terminal is determined to be located. As can be seen in the figure, store 1 102 includes access point 1 130 and access point 2 132 while store N includes an access point N 136. Each of the access points 130, 132, 136 has beam forming capability, e.g., capability of generating beams, that can be used to transmit one or more beacons. The beacons are used to communicate information, either directly via the contents of the beacon or by correlating one or more identifiers in the transmitted beacons to other information. The beacons are transmitted into regions of the corresponding stores in accordance with the features of the invention. Areas in the store may be defined in terms of the beacon signals which are expected to be received in a particular area. For example, zones may be defined by arbitrary shapes anywhere in the coverage area of the access points. In some embodiments each of the access points 130, 132, 136 is coupled to a backend server, e.g., site management/beacon service server 120, or other network device via a wireless connection or a wired connection. The backend server may, and in some embodiments does, include a zone correlation engine and a database for mapping zones to tags.
In some embodiments the access points 130, 132, 136 are located or incorporated into ceiling light fixtures and/or placed adjacent to such fixtures. In some embodiments the configuration and/or settings of each of the access points can be controlled by an administrator via a device which can communicate with the access points via the wireless connection or a wired connection coupling the access points to such a device. Similarly, in some embodiments each of the access points 130, 132, 136 can be controlled by the site management/beacon service server 120 which can communicate with the access points via the wireless connection or a wired connection over the network 112. The communications network 112 may be, e.g., a hybrid fiber-coaxial (HFC) network, satellite network, and/or internet.
The site management/beacon service server 120 is configured to control and/or configure the access points located at various sites to generate beams conveying beacons communicating information, e.g., advertisement and/or other relevant information, to one or more regions of the store intended to be covered by such beams. The site management/beacon service server 120 includes a memory 122, a processor 124 and a network interface 126. In some embodiments the memory 122 includes store floor plan and/or marketing information 140, 142 corresponding to the plurality of stores 102 through 110 in the system. The site management/beacon service server 120 uses the stored floor plan and/or marketing information 140, 142 to configure and/or control the access points 130, 132, 136 to generate beacons communicating information, e.g., advertisements/promotions, to one or more targeted regions in the stores 102, 110 via beams covering these targeted regions. The information and/or control signaling for controlling the access points can be communicated from the site management/beacon service server 120 via the network interface which coupled the site management/beacon service server 120, via the links 115, 117 to the access points and/or the communications network of the stores 102, 110.
Methods and/or apparatus for generating, transmitting and/or using wireless beacons are described. In various embodiments, rather than use individual beacon transmitters for each region of an environment, e.g., a store, office or other area, one or more access points with directional antenna beams are used. The beams of an access point, e.g., base station, cover different geographic areas of the environment. Individual beams transmit one or more beacons. The beacons communicate information directly in the beacon or indirectly via one or more identifiers included in the beacon which map to information. The mapping to information may be a direct mapping with an identifier included in the beacon corresponding directly to a corresponding piece of information which can be retrieved via a database lookup or through other techniques. Alternatively the identifiers of one or more beacons may be associated with a zone and the receipt of the beacons corresponding to a zone being used to determine the zone to which the received beacon or beacons correspond and then to obtain information which corresponds to the zone, e.g., from a database including a mapping of zones to information. which can be identified and accessed based on the identifier or identifiers included in the beacon. Thus, a transmitted beacon may include the information to be communicated or provide a receiving device a value or other identifier which can be used to retrieve information being communicated indirectly through a beacon to database look up or a beacon signal to zone mapping and than a zone to information mapping operation.
In some but not all embodiments, a beacon communicates a major id which maps to first information and a minor identifier which maps to second information where the information is known or accessible to a receiving device. A device receiving a beacon may recover the major and minor identifiers in a received beacon and then do a lookup in a previously stored or remotely accessible database to receiver the information being communicated by the beacon by doing lookup of the received identifier to the corresponding information.
While in some embodiments an individual beacons, e.g., transmitted using a beam of a BTLE (Blue Tooth Low Energy) base station directly communicates information, relevant to the particular geographic area to which the individual beam used to transmit the beacon corresponds, given that the beams are directional, they may cover an area extending over a long distance, e.g., 50 feet, 60 feet or more. For some embodiments such an area is larger than the area with which particular information is to be associated. In one particular embodiment, different beacons are transmitted on beams from different base stations. While each beam covers a relatively large area, the zone where multiple beams overlap may be far smaller than the total area of an individual beam.
By deploying multiple base stations with beam transmission capability, e.g. sectorized bases stations or base stations with steerable beams, an area such as an interior floor area or inside of a stadium can be covered with overlapping beacons transmitted using directional beams. The area can be divided for purposes of providing information into regions referred to herein as “zones”. While the number of base stations may be relatively small, the number of zones can be relatively high given that each base station may transmit using a plurality of relatively small beams and given that beam overlap may be used to precisely determine location and/or define different zones.
In various embodiments each beacon communicates an identifier which can be used to identify the transmitting base station and beam which was used to transmit the beacon. A device receiving a beacon makes a received signal strength measurement and generates an RSSI (Received Signal Strength Indicator) value indicating the strength of the received beacon signal. A time stamp indicating the time of receipt of the beacon signal is also generated. The RSSI value, time stamp indicating time of receipt, and information indicating the content of the beacon signal, e.g., one or more identifiers, is communicated to a zone correlation engine. Similar information is generated for each received beacon signal. Thus, while a device is in area into which multiple beacons are transmitted from different base stations, a wireless terminal may receive, measure and time stamp a plurality of beacon signals received on beams corresponding to different base stations.
The beacon information, signal measurements and time stamps for the received beacon signals are communicated to a zone correlation engine that processes the received information and determines the location, e.g., zone, in which a wireless terminal is located at a particular time.
The zone correlation engine provides the zone information to an information server which determines if there are one or more virtual tags stored for the zone. The virtual tags may be offers or other information stored for the zone in which the wireless terminal is determined to be located in. The virtual tag may be configured based on a schedule with different offers and information being scheduled to be provided for a zone based on different times and/or days of the week, e.g., based on a sale schedule or items which will be available in the zone at a particular time/day of the week.
In some embodiments, while a device detecting a beacon provides the identifier(s) included in the beam to the zone correlation engine, what is returned is not the information to which the identifier(s) directly map to but rather the tag information for the zone in which the zone correlates determines the beacons indicate the wireless terminal is located. In such an embodiment, while the beacons correspond to the information for the zone, there is not a direct one to one mapping in some cases between the beacon content and the returned information with the information that is returned in some cases depending on the fact that multiple beacons were received by the wireless terminal and the returned information depending on the receipt of multiple beacons indicating a zone that is smaller than the area covered by a beam used to transmit an individual beacon.
By using a tag information data base to map zones to information to be returned to a device reporting the receipt of a set of beacons corresponding to a zone, the identifiers transmitted in the beacon can be left unchanged and used to identify the transmitting base station and beam while the returned information provided in response to beacon identifiers can be changed to reflect a schedule, sale, promotions and/or other time varying constraints.
Because the returned information, in some but not necessarily all embodiments, corresponds to a zone which is defined by the intersection of multiple beams from different base stations, the number and size of zones can be relatively small and precise will the number of base stations used to transmit the beams can be keep relatively low.
To facilitate a consistent pattern of zones, base stations maybe deployed in a grid pattern in a ceiling or at other uniform spacing's at a site, e.g., on each wall of a hall or arena.
Thus, in at least some embodiments, the access points which support multiple distinct beams corresponding to different areas of an environment are ceiling or wall mounted. This allows a single access point to cover multiple locations in a store or other environment with different distinct beams. While ceiling mounting is preferred in many cases since often provides a relatively unobstructed path to multiple locations as compared to a floor based transmitter, the methods and apparatus described herein are not limited to ceiling or wall mounted access points. While a single base station can be used in some embodiments, in many but not necessarily all embodiments, multiple base stations with beam capability are used.
Since the beams are used to provide geographic precision to facilitate location determination and to allow a longer range then might be achieved if an omni-directional antenna was used, in some embodiments a single transmitter, e.g., transmitter chain, is time shared between the different beams of a base station with transmission on a single beam occurring at a given time in some such embodiments. Such an approach allows for low cost base station implementations since a separate transmitter need not be provided for each sector/beam of the base station. In other embodiments a separate transmitter is provided for each sector/beam allowing multiple beams to be transmitted in parallel, e.g., at the same time, from a base station.
By using a single access point which can support multiple distinct beams, transmitting multiple beacons associated with different areas of a location is achieved in some embodiments. Thus, a single access point can replace the use of multiple individual beacon transmitters which might otherwise be required to cover the same number of distinct locations.
By using multiple ones of such access points in combination, relatively small zones can be defined with a low number of base stations being required.
The access points with beam forming capability which are used in various embodiments may be coupled to a backend server or other network device via a wireless connection or a wired connection. In some embodiments, the access point uses a power line connection for both power and a data connection to the server or other network device. The access points of the present invention may be, and sometimes are, located or incorporated into ceiling light fixtures and/or placed adjacent to such fixtures. Accordingly, it should be appreciated that the access points of the present invention can be installed in ceiling tiles or other ceiling fixtures and obtain power by connecting to existing power lines such as those already present in a ceiling for lighting purposes. Thus, in at least some embodiments, the access points of the present invention are not battery powered and thus maintenance and replacement costs associated with battery usage can be avoided.
Given that a single beam forming access point of the present invention can cover a plurality of distinct regions with different beams tailored in terms of content and/or shape to each of a plurality of individual regions, an access point of the present invention can be used in place of a number of individual beacon transmitters that might otherwise be required to cover the distinct regions in an environment which are to be supplied with beacons.
Once installed in an area, the access points can be controlled and/or configured in terms of the beams that are generated and/or the information transmitted using one or more beacons on an individual beam. Since beacons can be transmitted on a periodic or other recurring basis and need not be transmitted continuously, the number of transmitter circuits required to support the multiple beams can be, and in many embodiments is, lower than the number of beams which are supported. In such a case transmitter and/or receiver circuits are used on a time shared basis between multiple beams. Thus, the beam forming access point of the present invention can use fewer transmitter circuits than would be required if separate transmitters were used for each region covered by a beam.
Use of access points beams and/or beam coverage can be controlled via a network connection to an access point or via wireless signals received at the access point, e.g., from a handheld device used to signal a desire to have a beacon transmission coverage of a particular geographic area. Once beam coverage is configured, information associating beams of an individual known access point with particular locations, e.g., portions of a store, can be stored and used to determine information to be communicated using one or more beacons transmitted to a particular region. In other embodiments, the information transmitted on the beams remains fixed and information in a data base which is accessed in response to detection of one or more beacons is updated to reflect information to be supplied in response to a device being located in a zone corresponding to the one or more detected beacons.
For example, information associating different beams of an access point or set of beams from a plurality of different access points which can be used to indicate a location, may be stored and known to correspond to particular product displays in a store. Information associating a particular access point beam or the intersection of beams from different access points, with a particular store display may be stored in a server along with corresponding information about one or more products on display at a given time. The access point can be signaled via the network connection to the server to transmit a beacon communicating information about the product currently on display at the location covered by the beacon. When the product on display is changed and/or a current promotion for the product changes and/or a new promotion emerges, the beacon may be changed via the network without having to physically visit or access the access point used to transmit the beacon or, in embodiments where the beacons are left unchanged the information in the database used to supply information corresponding to a zone may be updated so that when beacons corresponding to the zone are detected, the current information is supplied to the wireless device in the zone reporting the detection of the corresponding beacons Thus, management of beacons corresponding to particular areas they serve can be easily managed from a remote location and, in cases of national or other store chains, can be remotely configured to broadcast information corresponding to weekly specials or other specials consistent with marketing and the product which will be displayed at the location known to correspond to a particular access point beam. For example, product displays at the ends of different store isles used to showcase weekly specials in a grocery store may correspond to different beams. With knowledge of the product to be displayed at the end of each isle and the weekly promotion planned, a schedule can be developed so that beacons communicating the specials corresponding to the product on display at the end of the isle at a given time will be broadcast via the access point beam covering the individual end of isle display with the corresponding product.
Various configuration techniques can be used to control the coverage area of beams which may be used to transmit beacons into an environment where an access point is positioned. A wide range of beam forming techniques may be used by access points for purposes of generating beams which can be used to transmit beacons. For example switched beam forming where switching between fixed antennas occurs can be used, analog or digital beam forming can also be used. In various embodiments a combination of beam forming techniques can and are used.
It should be appreciated that once a beam of an access point is known to correspond to a particular region, this information can be used as part of determining what information should be communicated over a beacon transmitted on a particular beam.
Determining what regions should be covered by access point beams and/or determining which beams of an access point cover a particular region of an environment is an important management issue that can be, and depending on the embodiment is, addressed using one or more different approaches.
In one embodiment, configuration involves use of information about the location of an access point in an environment and the transmitter capabilities of the access point. From this information it is possible to determine what regions in an environment correspond to individual beams which may be generated by an access point located in the environment. In order to facilitate determination of the coverage area of beams of an access point, in one embodiment the access points include a compass and/or range detection device. The compass determines the orientation (e.g., relative North, South, East, West orientation) of the access point after installation. The range detection device included in the access point measures the height from the floor. Using the height from the floor, the orientation of the access point and information about the general location in the ceiling of an area which may be readily determined at time of installation via a measurement or count of ceiling tiles used to determine the access points location relative to one or more walls, the coverage area of the beams which can be, and sometimes are, calculated. Measurements of signals transmitted by an access point detected by other access points in the area can, and in some embodiments are, used to determine relative spacing between access points based on path loss measurements based on the strength of one or more received signals at neighboring access points. While not critical, in some embodiments the access points are mounted in an array pattern with each access point being oriented in the same direction. The access point spacing may be relatively uniform facilitating uniform coverage of an area.
In one embodiment, access point beam configuration for transmission purposes is determined without an administrator having to be physically present in the environment to indicate the region into which a beacon should be transmitted. In one such embodiment, an administrator, who maybe a store manager, marketing director and/or other user of the system can display a floor plan of the area into which one or more beacons are to be transmitted. The user can then simply mark on the floor plan, e.g., by touching a location on the screen corresponding to the desired location of a beacon or by clicking on the area using a mouse, to indicate the desire to transmit a beacon at the indicated location. The user can assign a name to the beacon to be transmitted and either at the time of designating the beacon or at a later time indicate the information to be communicated using the beacon. For example, a user may click or touch a displayed location corresponding to a tie rack to indicate a beacon is to be transmitted covering the indicated location, name the beacon, e.g., assignee the name tie rack to the beacon, and then associate information to be communicated by the beacon to be transmitted, e.g., “Special 3 ties for $10”. The user can also indicate a schedule on which the beacon is to be transmitted, e.g., weekdays but not weekends or on some schedule corresponding to a planned sale. A user may do this for multiple different locations in a store or other environment from a location at the store or remotely. Thus, configuration of beacons and information to be communicated to the beacons can be performed from a corporate headquarters or other location.
Rather than alter the transmission of beacons, the marking of a location on a floor plan is used to indicate a desired zone location. The beacons which are transmitted into the zone may but need not be altered. Information is stored in a database which is to be provided to a user when a user device, e.g., wireless terminal, reports beacon signals indicating that the user device is in the designated zone. The information to be provided when a device is detected to be present in a zone, e.g., based on reported RSSI information corresponding to received beacon signals, may be referred to as a TAG. By associating different tags with different zones, it is possible to control the information that will be supplied to a wireless terminal without having to alter the content of the beacon signals which are transmitted. In addition, since a zone may be defined in terms of the intersection of the coverage area of multiple beacon signals, or based on the location of the zone to one or more beacon transmitters, a zone maybe smaller than the coverage area of an individual beacon signal transmission or beam. The TAG information to be provided may be advertising or offer information for an item available in the zone. By designating Zones and associating tags with zones, offers and information may be changed by simply updating a tag database without the need to changing the beacon transmissions. However, in cases where beacons may not already be transmitted into an area corresponding to a zone, as part of configuring a Zone, one or more base stations maybe, and sometimes are, configured to transmit beacons into the zone to facilitate the ability to use detected beacons to determine the presence in the zone.
Based on beacon coverage area information, the server, e.g., system configuring beacon transmissions from one or more access points, determines which access point beam or beams corresponds to the user indicated desired beam location and associates the beam or beams with the beacon to be transmitted. The beacon will then be transmitted on the associated beam in accordance with the user configured transmission schedule or on a predetermined schedule. In this way beacon management can be done remotely without the need for the party configuring the beacon transmissions to walk through the store and indicate while at the store what beacons are to be transmitted or where the beacons are to be transmitted.
While access points may have beams which can cover all or the majority of a store, in at least some cases signals will not be transmitted into regions where beacons, e.g., used for advertising sale items and/or site specific offers, are not used to transmit signals when a user has not designated or specified that a beacon should be associated with the corresponding area of the store or other environment. However, in many cases beacons will be transmitted into all or most of the area to be covered allowing for detection of devices in zones whether or not tags with information to be provided are associated with an individual zone.
In addition to user devices detecting beacon transmissions, base stations, e.g., Access Points (APs) can monitor and report the detection of signals from wireless terminals. In this way, for purposes of detecting the presence of a wireless terminal in a zone, signals from wireless terminals can be used in addition to RSSI information relating to signals detected by wireless terminals.
While beacons may not be transmitted into all regions of an environment into which transmission are possible in some embodiments, APs monitor for signals form users and report detection of signals to a server or other central processing site. This allows movement of one or more individuals with a wireless device to be tracked as they move through a store or other environment. The path of the individual can be useful in determining special offers to present to the user via wireless signals and/or for determining future configuration of a store or other site.
While beacons, e.g., real or virtual beacons, may be designated on a floor plan by a user, in other embodiment a user such as a manager walks or otherwise moves through the store or other site with a mobile wireless device capable of transmitting signals to the one or more access points and also being capable of receiving signals from the access points. If an access point is available to transmit into the area on the floor plan designated to be covered by a beacon, the access point which can transmit into the area maybe, and in some embodiments is, configured to transmit a beacon into the designated region. Alternatively a virtual beacon maybe configured to cover the area. For example if a access point is not available to transmit into the region virtual beacon transmitter information can be configured in a database and a wireless terminal or network device will determine, using the stored virtual beacon transmitter information and a device's location, when a device or element, e.g., application in a device, is to be notified that the device received a beacon even though no beacon was actually received. In this way the report of the received beacon is of a “virtual” beacon but the device or element can act on the notification of receipt of a beacon signal as if an actual beacon signal was received.
The user, while in the environment to be covered by a beacon signal, positions a user device at a location to be covered by a beacon. Then selects a set beacon option on the mobile device. The mobile device then transmits a signal which is received by one or more access points in the vicinity, e.g., via antenna elements corresponding to different beams. The receiving access point(s) process signal strength measurements from each beam, creates a probability surface and then combines those surfaces to determine the devices location. Alternatively, signal strength measurements are reported back to a server and then the server decides which beam has the best coverage of the area from which the signal used to indicate a desired beacon location was transmitted. In addition to indicating a desire to have a beacon transmitted in the region from which the beacon location designation signal was transmitted, the signal transmitted to the access point or points may indicate a name to be used for the beacon associated with the beacon location. For example when signaling that a beacon should be added to cover a region corresponding to a tie stand, the user sending, from the location of the tie stand, the request to add a beacon may enter the phrase “tie rack” to be associated with the location into which the beacon is to be transmitted. The user can also signal to the access point sale and/or other information to be communicated by the use of a beacon and/or the time period in which the beacon should be transmitted. Alternatively, such information can be associated with the beacon at a later time. The access point communicates to the beacon server the received request to create a beacon along with information identifying the beam on which the beacon is to be transmitted and/or received signal strength information corresponding to different beams on which the request was received thereby providing the server information sufficient to determine which beam should be used for the requested beacon. The server stores the beacon and corresponding beam information in a database which can be accessed and updated by a user. For example, the user can associate sale information to be communicated via a beacon for a sale associated with the tie rack corresponding to the location of the new beacon.
By moving through a store and/or other environment, and signaling places where beacons are to be transmitted or a zone is to be placed, the user can associate beacons with particular locations without having a detailed map of the store and/or without knowing before hand how individual access point beams correspond to different areas of the environment. While the process of indicating where beacons are to be transmitted or where zones are to be defined within a geographic area may be similar in some ways to a manager going through a location and placing beacon transmitters at different places within the environment, the requirement that beacon transmitters be placed at individual locations is avoided along with the associates costs of maintaining large numbers of individual beacon transmitters that are distributed throughout a store, e.g., at ground level or on display racks.
It should be appreciated that the different methods of designating beacon and/or zone placement and coverage may be combined with some beacons/zones being signaled via indications made on a floor plan and other beacons/zones being designated as a manager walks through a store and indicates places to be covered by a beacon or where a zone is to be defined. A zone definition may be achieved by reporting back beacons detected at the zone in which case in the future receipt of the same beacons may indicate that a wireless terminal is in the zone defined as part of the configuration process.
Significantly, multimode cell phones with beacon transmission capability or which can otherwise interact with the access points can be used to signal the desired location of beacon coverage/zones and related information to be associated with an individual beacon transmissions or set of overlapping beacon transmissions.
Customer's and/or other individuals walking through the environment will receive the beacons and be able to recover the information that is communicated using the beacons or which corresponds to a set of received beacons, e.g., after reporting receipt of the beacons, time of receipt and received signal strength measurements to a zone correlation engine or other device capable of mapping received beacons to zones with which information to be provided is associated. The information maybe included directly in the beacon in some cases or may be recovered through a database lookup or from broadcast information which can be used to map a value or other identifier received in a beacon to information which is to be communicated through use of the beacon. Thus beacons can be used to communicate advertisements and/or other information directly or indirectly depending on the transmission standard and/or beacon protocol being used.
The beams may be individually used to transmit different beacons into the coverage areas corresponding to the beams. In some embodiments the access point 130 has beam forming capability, e.g., a beam forming antenna assembly, which can radiate beacon signals using one or more beams. Each of the wedges 204, 206, 208, 210, 212, 214, 216, 218 and 220 shows a corresponding coverage area of a beam that may be transmitted by the access point 130 to communicate beacons communicating information, e.g., advertisements. Each of the coverage areas 204, 206, 208, 210, 212, 214, 216, 218 and 220 may correspond to an area of a site of interest, e.g., a store, mall, food court etc. In accordance with the features of the present invention the access point may, and in some embodiments does, transmit beacons communicating promotional advertisements and/or other marketing information relevant to a given area of a site/store, using directed beams which cover these store areas and enable devices within the coverage area of the beam to receive the beacons.
While beacons may be transmitted using the beams, the AP can also receive signals using the beams. Based on received signal energy and/or signal to noise ratio (SNR) the AP 130 and/or a server, e.g., beacon service server 120, receiving signal information from the AP can determine the region from which a received signal was transmitted, e.g., with the region being the one from which the strongest signal was received.
Also shown in
In some other embodiments, information associating different beams of the access points 130, 132 is stored, e.g., in the device used by the administrator and/or at the beacon service server 120, and known to correspond to particular areas in the store. Information associating a particular access point beam with a particular store area, e.g., area corresponding to the BOOKS stand 308, may be stored in the user device used by the administrator and/or at the beacon service server 120 along with corresponding information about one or more products/items in that area on display at a given time. Thus in some embodiments APs are configured using information about the location of the APs in an environment, e.g., store 102, and the transmitter capabilities of the APs. In such embodiments it is determined what regions/areas in the store correspond to individual beams which may be generated by the access points located at the store. Based on this information that maps regions/store areas to corresponding beams, the administrator device and/or the beacons service server 120, determines which access point beam or beams corresponds to the selected regions/areas on the floor plan and associates the beam or beams with the beacon to be transmitted. In some such embodiments the access points can simply be signaled via a network connection to the user device and/or the beacon service server 120 to transmit a beacon communicating information about the product currently on display at the location covered by the beacon. In some such embodiments when the product on display is changed and/or a current promotion for the product changes and/or a new promotion emerges, the beacon information may be changed via the network without the administer having to physically visit or access the access points used to transmit the beacons. Thus in some embodiments the access points can be configured to transmit beacons corresponding to merchandise displayed at one or more locations in the store which are known to correspond to respective particular beams transmitted by the access points.
After the selection/tagging of area has been completed, the access points can transmit beams covering the selected areas at a desired time which may be indicated by the administrator and/or based on a stored schedule.
In some embodiments the information that may be communicated by the beacons include promotions, advertisements, special sales offers, menu items, newly added items, wait times at a location, specific announcement relating to an item or location, change in opening and/or closing time, store closing announcements etc.
In the illustrated embodiment shown in drawing 500 of
In other embodiments rather that having to visit the physical site at which zones are to be located, the zone definition/tagging operation is performed by an administrator/manager by selecting the different locations at which zones are to be placed using a user device that displays a visual representation of the floor plan. For example a user device, e.g., desktop, laptop, smart phone, and/or a tablet device, that stores or has access to the floor plan, is used by the administrator/manager to view a visual representation of the floor plan, e.g., the floor plan illustrated in
As will be discussed below, the zone correlation engine used in various embodiments uses reports of received beacons and the received signal strength of the beacons to detected the presence of a wireless device in a zone and to trigger providing of tag information corresponding to the zone to the wireless terminal determined to be in the zone.
The base station maybe, and in some embodiments is, a sectroized Bluetooth base station including a plurality of sectors, e.g., three, six or even more sectors depending on the embodiment. The wireless interface 704 includes a receiver 724 or 724′ and transmitter 726 or 726′ for each sector. The base station antenna maybe formed from elements corresponding to different sectors of the base station and thus in some embodiments is sectorized with different receive (725, 725′) and transmit elements (727 or 727′) of the sectorized antenna being provided for each sector. For example, receive sector antenna element 725 and transmit sector antenna element 727 may correspond to a first sector while receive sector antenna element 725 and transmit antenna element 727′ may correspond to an Nth sector of the multi-sector base station with the combination of sector elements forming the sectorized antenna. The sector antenna elements 725, 725′, 727, 727′ may be mounted on the base station or remote from the base station and oriented so that different sectors correspond to different geographic coverage regions.
In some embodiments base station 700 is a Bluetooth base station comprising a transmitter 729 in the form of the set of transmitter elements 726, 726′ which can be used to transmit into a plurality of sectors of the base station. The base station 700 includes a plurality of sector antenna elements 727, 727; and at least one processor 706 configured to control the transmitter 704 and transmitter elements 726, 726′ included therein to communicate different information into different geographic areas, corresponding to different sectors of the sectorized base station 700, by transmitting different Bluetooth Low Energy (BLE) beacons on different transmission beams of said Bluetooth base station, said different beams corresponding to different sets of sector antenna elements, e.g., a first set including element 726 and a second set including element 726′ but not element 726; and memory 712 coupled to said at least one processor 706.
In some embodiments the base station 700 is an access point that includes a transmitter 729 at least one processor 706 configured to control said transmitter 729 to transmit different beacons using a first plurality of transmission beams corresponding to a first set of different coverage areas, e.g., corresponding to different sectors, where the processor 706 is configured transmit a first set of beacons into a first coverage area corresponding to a first beam communicating information relevant to a zone in the first coverage area or mapping to information relevant to the zone in the first coverage area, as part of being configured to transmit said different beacons; and memory 712 coupled to said at least one processor 706.
The base station maybe, and in some embodiments is a ceiling or wall mounted device and, in some embodiments includes a compass 710 and distance to ground measurement device 706 which can be used to determine the orientation of the access point and height from the ground when deployed. This information is measured and automatically reported to a management server which can then predict the coverage area of beams transmitted by the access point 700.
The access point 700 includes a processor 706 and memory 712 coupled together via a bus 709 over which the various elements may interchange data and information. Memory 712 includes routines 730 and data/information 732. The access point 700 further includes a wired interface 702, a wireless interface 704 in addition to the compass 710 and distance to ground measurement device 706.
Via the wired interface 702 the access point 700 can be coupled to the communications network, external device and/or internet. The interface 702 in some embodiments includes receiver 720 and a transmitter 722. The wired interface 702 is capable of transmitting/receiving information over a wired link. In some embodiments the wired 702 is coupled to other nodes and/or a backhaul via a communications link. In some such embodiments via the interface 702 the access point 700 transmits/receives information to/from the network nodes such as the configuration server 120/1000. The access point 700 further includes a wireless interface 704 via which the access point 700 communicates with wireless devices. The wireless interface 704 includes a wireless receiver module 724 coupled to receive antenna 725, via which the access point 700 receives radio signals. The radio signals include, e.g., signals from one or more wireless terminals or other wireless devices. The wireless interface 704 further includes a wireless transmitter 726 coupled to transmit antenna 727 via which the device 700 transmits radio signals. The transmitted radio signals include beacon signals. In some embodiments, the same antenna is used for both input and output wireless communications signaling.
In some embodiments the access point 700 is a ceiling or wall mounted device and includes the compass 710 which is configured to determine the orientation of the access point or access point sectors relative to the magnetic north. The ground measurement device 706 is configured to determine the height of the access point from the ground once the access point 700 is deployed.
The processor 706 in various embodiments is configured to control the access point 700 to implement the methods of the present invention, e.g., method of flowchart 1800.
In one embodiment the access point is configured to receive, e.g., via the receiver 724 or receiver 720, a first zone configuration control signal from a control device at a first location within the coverage area of the access point, the first zone configuration control signal indicating a desire to designate an area from which the control signal was transmitted, as the first zone. The access point is further configured to receive, e.g., via the receiver 724, information from the control device indicating first beacon content to be communicated using the beacon signal to be transmitted using the beam covering the first location. In some embodiments the access point 700 is further configured to receive, e.g., via the receiver 724, information from the control device indicating a transmission schedule to be used to control transmission of the first beacon content to be communicated using the beacon signal to be transmitted using the beam covering the first location. In some embodiments the access point 700 is configured to receive, e.g., via the receiver 724, beacon information indicating a first beacon signal to be transmitted into the first area using the first beam, and a time period or schedule used to control transmission of the first beacon signal from the first access point. In some embodiments the processor 706 is configured to forward, e.g., via the interface 702, at least some information relating to the first zone and/or first beacon signal discussed above to a configuration server, e.g., such as the configuration server 120/1000.
In some embodiments the access point 700 is further configured to receive, e.g., via the receiver 724, a second zone configuration control signal from the control device while the control device is located at a second location within the coverage area of the first access point, the second zone configuration signal indicating a desire to designate a second area as a second zone. In some embodiments the access point 700 is further configured to receive, e.g., via the receiver 724, information from the control device indicating second beacon content to be communicated using a second beacon signal to be transmitted using the beam covering the second location and information indicating transmission schedule to be used to control transmission of the second beacon to be communicated using the beacon signal to be transmitted using the second beam covering the second location. In some embodiments the processor 706 is further configured to forward, e.g., via the interface 702, at least some information relating to the second zone and/or second beacon signal discussed above to a configuration server, e.g., such as the configuration server 120/1000.
In some embodiments the access point 700 is configured to receive, e.g., via the receiver 724 or 720, a user input identifying an area on a floor plan to be designated as the first zone. In some embodiments the processor 706 is further configured to control the access point 700 to store (e.g., in memory 712 along with data/information 732) information identifying one or more beacon signals transmitted on beams covering the first zone. In some embodiments the processor 706 is further configured to forward, e.g., via the interface 702, information identifying the area on the floor plan to be designated as the first zone and information identifying one or more beacon signals transmitted on beams covering the first zone at to the configuration server 120/1000.
In some embodiments the access point 700 is configured to receive, e.g., via the receiver 720, access point configuration information from a network device, e.g., such as the configuration server 120/1000. As part of receiving the access point configuration information the access point 700 is configured to receive, e.g., via the receiver 720, first access point configuration information from the network device, the access point configuration information providing first antenna pattern configuration information specifying a first beam forming pattern to be used to generate the first beam, the first beam forming pattern indicating antenna elements to be used to transmit signals corresponding to the first beam. In some embodiments the beam forming pattern information further indicates antenna beam gains to be applied to signals transmitted on at least some of the antenna elements corresponding to the first beam. In some embodiments the access point 700 is further configured to receive, e.g., via the receiver 720, additional first access point configuration information from the network device, the additional first access point configuration information providing second antenna pattern configuration information specifying a second beam forming pattern to be used to generate the second beam, the second beam forming pattern indicating antenna elements to be used to transmit signals corresponding to the second beam.
In various embodiments the processor 706 is configured to control the access point to configure one or more beacon transmission beams, e.g., in accordance with the received configuration information and beacon information. The processor 706 in some embodiments is configured to control the access point to configure the first beam to cover the geographic area including the first location and to configure the second beam to cover the geographic area including the second location. In various embodiments the processor 706 is further configured to control the access point to transmit, e.g., via transmitter 726, different beacons, using a first plurality of transmission beams corresponding to a first set of different coverage areas. As part of controlling transmission of different beacons, using a first plurality of transmission beams corresponding to a first set of different coverage areas the processor 706 is further configured to control the access point to transmit, via transmitter 726, a first set of beacons into a first coverage area corresponding to a first beam communicating information relevant to a first zone which is at least partially in the first coverage area or mapping to information relevant to the first zone area. In some embodiments the processor 706 is further configured to control the access point to transmit, via the transmitter 726, information corresponding to the beacon using at least two antenna elements, transmissions from the at least two antenna elements combining in a pattern which forms the first beam, as part of transmitting first set of beacons into a first coverage area. In some embodiments the processor 706 is further configured to control the access point to transmit, via the transmitter 726, a second set of beacons into a second coverage area corresponding to a second transmission beam, the first and second coverage areas being different, the second set of beacons communicating information relevant to a zone in the second coverage area or mapping to information relevant to the zone in the second coverage area. In some embodiments the access point is configured to receive, e.g., via the receiver 724 or receiver 720, beacon information, the beacon information indicating a first beacon signal to be transmitted into the first area using the first beam. In some embodiments the beacon information further indicates a time period or schedule used to control transmission of the first beacon signal from the first access point. In some embodiments the beacon information includes the schedule, the schedule corresponding to a product sale schedule for a product displayed in the coverage area of the first beam.
In some embodiments the first and second sets of beacons each include one or more beacons. In some embodiments the first access point is a sectorized access point and each beam corresponds to a different sector of the access point. In some embodiments the first access point includes a first antenna element used for transmitting from the first access point and the second sector includes a second antennal element used for transmitting from the second access point.
In some embodiments the first beam communicates information corresponding to at least one product in a geographic area covered by the first beam or maps to the information, the second beam communicates information corresponding to at least one product in a geographic area covered by the second beam or maps to the information. In some embodiments the first access point is a Bluetooth Low Energy and/o Bluetooth Access Point and the first and second sets of beacons include BLE (Bluetooth Low Energy) beacons.
Operation proceeds from step 802 to steps 804 and 806 which can be performed serially or in parallel. In step 804 one or more access points 130, 132, 136 sense positional information, e.g., height from a surface such as ground or floor beneath the access point, magnetic orientation of the access point and/or signals from nearby devices, e.g., access points within the reception range of the reporting access point. The height may be, and in some embodiments is, measured by a distance sensor in the access point which measures the AP's height. The orientation may be and in some embodiments is measured by a built in compass included in the reporting AP. Signal information may be measured by a wireless receiver which receives and measures signaling transmitted by neighboring APs. The signal strength of a received signal is measured and reported along with an indication of which sectorized antenna the signal was received along with an access point (AP) identifier identifying the received signal. Thus, from the measurements made and reported in step 804 it is possible to determine from the reported information the APs neighboring the reporting AP, the neighbor's position relative to the reporting AP as indicated by the information as to which sector received the signal, the APs height from the ground and the APs orientation which can be combined with known information about the APs sectorized antenna arrangement relative to the reported compass orientation. Strength of received signals from other APs can be used to estimate the distance between the reporting AP and the AP from which a signal was received. GPS determined location information, e.g., determined using a GPS circuit in an AP, or other AP location information may also be communicated to the configuration server, when available, which can then use the reported information. Thus, based on the information communicated in step 804, which may be communicated to the configuration server 120 from multiple APs 130, 132, 136, the configuration server is able to determine the locations and coverage areas corresponding to multiple APs which can be located at the same or different locations, e.g., stores.
While AP placement and orientation information can be automatically collected and reported in step 804, such information can also be entered manually, e.g., by a installer, using a WT 504 or other communications device which can transmit such information through an access point or other node to the configuration server 120. Thus, all or some of the information obtained in step 804 maybe manually entered and reported to the configuration server in step 806. In such a case received signal strength may not be reported for neighboring APs but the communicated information may, and sometimes does, identify APs and indicate their relative spacing and orientation at a site such as a store or other location which maybe identified via GPS coordinates, street address or using other information. In step 806 user input is received indicating access point location information and/or other configuration information such as sector orientation, adjacent access point information, etc. This information which can be received at a WT 504 or other device is communicated, e.g., via an AP 130 or 132 to the configuration server 120 which can then use the information in configuration beacon transmission control information and/or zones which may be defined based on AP beacon transmission coverage areas.
Operation proceeds from steps 804 and 806 to steps 808 which involves configuration server 120 operation with the configuration server receiving access point location information and other access point information, e.g., the information communicated in steps 804 and 806, for one or more access points. Step 820 includes steps 810 and/or step 812.
In step 810 the configuration server 120 receives information, e.g., sensed information, from access point(s) indicating location which may include height and/or GPS obtained position information and sector orientation information, information regarding detected signals from other access points which can allow for determination of access point spacing and/or relative orientation of access points and their sector antennas. In step 812, the configuration server receives user input indicating location of access points as well as orientation and/or spacing as well as other information which may be provided in step 806.
Since AP information is received, by the time step 808 has been completed, the configuration server 120 knows where APs are located and has sufficient information to determine sector orientation. From this information, coverage areas for access points and individual sector transmitters, e.g., sector antennas, included in the access points can be determined allowing the configuration server to determine which access points can transmit beacons covering different portions of a store or other location.
Operation proceeds from step 808 to step 816 via connecting node 814 which is part of
In step 818 the configuration server 120 determines based on the received beacon coverage area information obtained in step 816 if one or more access points are available for configuration to transmit one or more beacon signals into the desired coverage area. This decision maybe based on consulting the access point location and sector orientation information to determine if the APs known to the configuration server 120 can support actual beacon transmissions into the desired coverage area. If an access point is not available for transmitting into the desired beacon overage area, operation proceeds from step 818 to step 822 wherein a virtual beacon transmitter is configured to provide coverage without the use of an actual transmitter. If however in step 818 it is determined that one or more actual beacon transmitters is available for transmitting a beacon or beacons into the desired beacon coverage area, operation proceeds from step 818 to step 820. In step 820 a check is made as to whether a desired beacon transmit power was specified. If a desired beacon transmit power was specified operation proceeds directly to step 822 otherwise operation proceeds to step 821. In step 821 a beacon transmit power is determined, e.g., based on the location of the beacon coverage area and location of the access point beacon transmitter or transmitters that can transmit into the desired coverage area. The beacon transmitter may be a transmitter corresponding to a sector of an access point which can transmit a beacon covering the desired coverage area. The transmit power level may be determined as a function of the location of the beacon transmitter and desired beacon coverage area with the transmit power being determined to be a level sufficient for a transmitted beacon to cover the desired coverage area in the case where coverage of the entire area is possible using a single beacon signal.
With the beacon transmission power needed known from user input or the determination made in step 821 operation proceeds to step 822. In step 822 a determination is made if the access point or points to transmit the beacon or beacons to cover the desired area can transmit at the power level to be used to cover the area. If the access point or points can transmit at the required power level, operation proceeds from step 822 to step 824 wherein one or more actual access points are configured by the configuration server 120. If the access point or points can not transmit at the required power level or levels, meaning configuration of an actual access point to achieve the desired beacon coverage is not possible operation proceeds to step 822 which is a call to a virtual beacon configuration subroutine. While configuration of real or virtual beacons is shown in
Operation is seen in
Having described various aspects with regard to the receipt of access point information and desired beacon coverage area information, an exemplary virtual beacon transmitter configuration subroutine 900 shown in
Operation proceeds from start step 902 to step 904 in which a beacon transmitter ID is assigned for a virtual beacon transmitter to be designated as transmitting into a coverage area to be covered by a virtual beacon signal. The virtual beacon signal will be indicated as being transmitted from a transmitter located at an access point location indicated by someone entering such information or which was determined based on a signal received from a control device, e.g., WT 504. The virtual beacon transmitter may, and in some embodiments does, have the same format and form as an actual access point identifier or other identifier used to identify a real beacon transmitter. Thus, step 904 may and sometimes does include assigning an access point identifier, e.g., a base station identifier or SSID, to a virtual transmitter. The virtual transmitter ID assigned in step 904 can then be used in the system as if it identified an actual transmitter. Operation proceeds from step 904 to step 906. In step 906 one or more beacon IDs is assigned to the beacon signal to be considered as being transmitted by the virtual beacon transmitter identified in step 904. The beacon ID assigned in step 906 may have the same form and content of actual beacon signals which are transmitted by access points. Thus the beacon identifier or identifiers assigned in step 908 can be used in the same manner as actual beacon identifiers and can be located into databases or memory with beacon identifiers corresponding to real beacon signals without have to indicate that the beacon ID corresponds to a virtual beacon signal which may not actually be transmitted,
Operation proceeds from step 906 to step 908 where a check is made as to whether a transmit power to be used was specified. If a transmit power was not specified in received beacon information operation proceeds to step 910 in which a transmit power required to cover the intended beacon signal coverage area is determined. This step may, and in some embodiments does, involve use of a path loss model which takes into consideration location of the virtual beacon transmitter and, optionally, the frequency to which the virtual beacon transmission corresponds, to determine the amount of transmit power that will be required to cover the desired beacon coverage area. Virtual beacon transmitter characteristics may also be taken into consideration where, for example, the virtual beacon transmitter is considered to be a sector of a base station with a direction antenna.
Operation proceeds from transmit power determination step 910 to step 912. Operation proceeds directly from step 908 to step 912 if a beacon transmit power was specified in the received information avoiding the need for the transmit power determination of step 910. In step 912 the determined or indicated transmit power is associated, e.g., stored in an information database, with the assigned beacon transmitter ID and virtual beacon identifier or identifiers corresponding to the virtual beacon being configured. See for example
Operation proceeds from step 912 to step 914. In step 914 a determination is made as to whether a zone has been indicated as being associated with the beacon signal coverage area for which the virtual beacon is being established. If a zone was specified in the received information the virtual beacon and corresponding beacon transmitter is associated with the specified zone. Thus, when a WT or other device determines or receives a message indicating receipt of the virtual beacon, a determination can be made that the WT is within the corresponding zone. See for example column 1917 which indicates the Zone corresponding to the beacon signal of the row to which the Zone information corresponds. Operation proceeds from step 916 to step 922.
If in step 914 it is determined that no zone was specified to be associated with the desired beacon signal coverage operation proceeds from step 914 to step 918 in which a new zone corresponding to the coverage age of the virtual beacon signal is created and assigned a zone identifier. The virtual beacon signal being transmitted into the desired beacon coverage area is then associated with the zone so that there is a mapping between the virtual beacon signal and its contents, e.g., assigned beacon identifier and/or other information and the newly created zone.
Operation proceeds from step 920 to step 922. In step 922 as set of beacon information such as that shown in
Once the beacon transmitter, signal content information including beacon ID and/or other information and other information corresponding to the virtual beacon signal being configured to cover a desired beacon coverage area has been updated and/or stored, the information is then propagated to devices which use the virtual beacon information. The devices to which the beacon information is propagated, e.g., table 1900 shown in
Operation proceeds from step 924 to step 928 via connecting node C 926. In step 928 at least some of the information regarding virtual beacon signals is loaded into nodes, e.g., communications nodes in the network, which receive beacon signal reports and use reported beacon signal information or provide information in response to a report of a received beacon signal. Thus, the information in not only provided to nodes which determine if a virtual beacon signal is to be deemed to have been received but nodes which use beacon receipt and related information to provide other information or to take actions, e.g., based on the location of a transmitter which is known to have “transmitted” a reported beacon signal. In the case of a reported virtual beacon signal it will deem to have been transmitted from the location and at the power level indicated in the information loaded into one or more devices allowing them to treat reports of virtual beacon signals in the same way they use reports of actual received beacon signals.
With the information corresponding to a virtual beacon signal having been distributed to one or more devices and stored in the devices, e.g., in memory or long term storage, configuration of the virtual beacon is complete and operation returns via step 930 to the routine which made the call to the virtual beacon transmitter subroutine 902.
The server 1000 includes a processor 1008 and memory 1012 coupled together via a bus 1009 over which the various elements may interchange data and information. Memory 1012 includes various routines, modules and data/information which are used to control the operation of the server 1000 in accordance with the invention.
The server 1000 further includes an input device 1004, an input/output (I/O) interface 1006, and a network interface 1014 in addition to the processor 1008 and memory 1012. The various elements are coupled together via bus 1009 over which they exchange signals/information.
The input device 1004 may include one or more devices via which input can be provided to the server 1000 such as a keypad, a microphone for voice input, a touchpad etc. Via the I/O interface 1006 the configuration server 1000 can be coupled to one or more external devices. Via the network interface 1014 the configuration server 1000 is coupled to the communications network, e.g., network 112. Via the network interface 1014, the configuration server 1000 can exchange signals and/or information with other nodes and devices of the system such as the access points via the network 112. The interface 1014 supports the receipt and/or transmission of signals and/or information from/to different devices. To support the receipt and transmission of information, the interface 1014 includes a receiver and transmitter.
To control the server 1000, the processor 1008 uses information and/or routines including instructions stored in memory 1012. Routines 1020 include communications routines and control routines. In addition to the control routines 1020 the memory 1012 includes virtual beacon transmitter configuration subroutine 1051, zone correlation engine module 1021, and access point configuration subroutine 1053. The data/information stored in memory 1012 includes zone data/information 1023, access point (AP) configuration information 1031 and store information corresponding to a plurality of stores including store 1 information 1030, . . . , store N information 1032. The processor 706 in various embodiments is configured to control the configuration server 1000 to implement the methods of flowchart 800, 900, and 1700.
The user device 1100, includes a processor 1106 and memory 1112 coupled together via a bus 1109 over which the various elements may interchange data and information. Memory 1112 includes routines 1130 and data/information 1132. The user device 1100 further includes a wired interface 1102, a wireless interface 1104, a display 1108, an input device 1110, and a zone correlation engine 1111. In some embodiments the zone correlation engine 1111 is included in processor 1106. In some embodiments the memory 1112 includes a zone correlation engine 1131 implemented as a module within the memory 1112. In some embodiments one or more modules of the user device 1100 are, implemented fully in hardware within the processor 1106, e.g., as individual circuits. In other embodiments some of the modules are implemented, e.g., as circuits, within the processor 1106 with other modules being implemented, e.g., as circuits, external to and coupled to the processor. Alternatively, rather than being implemented as circuits, all or some of the modules may be implemented in software and stored in the memory 1112 of the device 1100 with the modules controlling operation of the user device 1100 to implement the functions corresponding to the modules when the modules are executed by a processor, e.g., processor 1106.
Via the wired interface 1102 the user device 1100 can be coupled to a communications network and/or external device using a wired link. The interface 1102 in some embodiments includes receiver 1120 and a transmitter 1122. In addition to receiver 1120 and a transmitter 1122 the interface 1102 in some embodiments further includes an optical interface and/or a power line interface for communicating with various devices and system elements. The wired interface 1102 is capable of transmitting/receiving information over a wired link. In some embodiments the wired and 1102 is one of an Ethernet interface or USB interface.
The user device 1100 further includes a wireless interface 1104 via which the users device 1100 communicates with wireless devices. The wireless interface 1104 includes a wireless receiver module 1124 coupled to receive antenna 1125, via which the user device 1100 receives radio signals. The radio signals include, e.g., beacon signals. The wireless interface 1104 further includes a wireless transmitter 1126 coupled to transmit antenna 1127 via which the device 1100 transmits radio signals. In some embodiments, the same antenna is used for both input and output wireless communications signaling. In some embodiments the wireless interface 1104 is a WAN (wide area network) radio module. In some embodiments the wireless interface 2204 includes a plurality of wireless transmitter/receiver modules capable of transmitting and receiving variety of wireless signals, e.g., WiFi signals, LTE direct beacon signals, iBeacons, Bluetooth beacons etc. Various other types of radio modules may be used in the wireless interface in some embodiments. Thus in some embodiments, the different radio modules in the wireless interface correspond to different communications technologies, different communications protocols and/or different frequency bands. While a variety of radio modules may be used in the user device 1100 in some embodiments, in accordance with one aspect of the invention even when the user device 1100 does not actually include a particular type of wireless receiver which would otherwise be needed to receive the particular type of beacon signal, it can still claim to have received a beacon (e.g., virtual beacon signal). The receivers included in the interfaces 1102, 1104 are configured to receive signals (e.g., control signals, beacon signals etc.) and process them to recover information and/or data communicated in a received signal.
As shown in
The RSSI and beacon information is applied to RF models used in generating probability surfaces reflecting the probability that the wireless terminal is located in a zone covered by a beam. For a given reported RSSI value a probability surface is determined by RF modeling engine 1206 for the beam on which the received beacon signal was transmitted. The probability surface indicates probabilities along the surface corresponding to the beam that the RSSI value corresponds to a particular zone or zones. For each reported RSSI value a probability surface is determined. The determined probability surfaces are then combined by a combiner 1207 which is used to determine a location of a peak in the probability surface resulting from combining the individual probability surfaces. Based on the peak of the combined probability surfaces, e.g., the area indicative of maximum overlap of the value of the individual probability surfaces, a peak analyzer 1208 determines the location of the wireless terminal, e.g., which zone, if any, the wireless terminal is located in. The location estimate is provided to a zone based tag information database which provides information corresponding to the zone in which the wireless terminal is located. The information corresponds to what is called a TAG for the location. The information output by the database 1114 is provided to the processor of the wireless terminal. Thus, while the wireless terminal reports receipt of beacon signals in the
While the lower portion of the zone correlation engine determines device location for purposes of retrieving information corresponding to a zone in which the wireless terminal is located. The upper set of elements 1206′, 1207′, 1208′, 1209, 1211 and 1213 related to RF parameter module updating based on received RSSI information.
Elements 1206′, 1207′ and 1208′ operate in the same or similar manner as elements 1206, 1207, 1208 but may operate at a higher rate with different parameter values being used by the RF module engine 1206 during different iterations using the same set of beacon RSSI signal inputs. The parameter optimizer 1209 may alter one or both of the path loss parameter and intercept used in the RF module implemented by RF module engine 1206′ with the output of the peak analyzer being provided to the parameter optimizer to determine if a change in the parameter or parameters has increased the maximum peak achieved by combining the probability surfaces as performed by combiner 1207′. In increase in the combined peak indicates that the change in parameters has increased the quality of the combined result and thus reflects an improvement in the accuracy of the RF model parameters. Decision step 1211 decides based on the output of the peak analyzer where an improvement in the achieved peak has been obtained which would merit replacing of the parameters used in the RF module engine 1206 with the updated parameters output by the parameters optimizer. If a decision is made in step 1211 to update the model parameters, the updated model parameters are supple dot the RF module 1206 however if in step 1213 the decision is not to use updated model parameters operation of the RF model engine 1206 continues with the parameters that have been in use by the engine 1206 as indicated by step 1213.
In some embodiments the update loop may operate at a rate much faster than the lower location determination path so that multiple different parameters values can be tested in the same amount of time the lower path makes a single location determination. However the relative rates of the module update path to the normal location estimation path is not critical.
It is worthy to note that in some embodiments while the RF model implemented by engine 1206 starts out using model parameters which are not based on measurements made at the area where the wireless terminal may be located, over time as RSSI values are reported the parameter values are updated and refined based on the received RSSI value providing a self learning approach which can be used to update and refine the model parameters for a particular location from which RSSI information is received.
While the above discussion relates to a first approach of RF modeling that is used in embodiments, another approach that can be used in some embodiments will now be discussed. In the second approach, first each location is determined using a set of beams, e.g., received beacons. Let us denote B to be the collection of the set of beacons transmitted on beams used to determine location estimates. Each set of beams in the collection yields a location estimate based on the beacon that is or could be received corresponding to the beam, by combining the probability surfaces generated from a PLE and intercept, to generate a highest probability.
In one implementation, for each set of beams in B the “machine learning” process iterates through intercept and PLE values. The per beam probability surfaces are generated, and combined to create a location estimate based on a received beacon signal strength. Each beam has a probability at the location estimate. The highest probability in the surface given only the beam and RSSI of the received beacon signal is determined. The ratio of the highest probability divided by the probability at the location estimate yields a per beam error term. The per beam error terms are summed for all beams that contributed to the single location estimate, and the attempted PLE/intercept value.
The error terms of all attempted locations are summed for each PLE/Intercept value, yielding a table of PLE/Intercept error terms. Each PLE/Intercept error term is generated from the same collection of beams. The PLE and intercept with the lowest error term is identified as that PLE and intercept that yield the most accurate location estimates.
A probability surface applicable to the environment shown in
By considering the probabilities that a device determines for each of the individual transmitters, an overall probability that a device receiving beacon signals 1, 2 and 3 is in Zone 1 can be generated by combining the probabilities obtained based on received RSSIs for beacons 1, 2 and 3 from the corresponding probability surfaces that indicate for a given RSSI the probability that the receiving device is in Zone 1.
The method begins in start step 1602. Then in step 1604 an RSSI surface is created for each access point, e.g., assuming an omni-direction antenna pattern, using a path loss model including at least two parameters (PLE and INT) which may be varied for a given distance d, where PLE stands for path loss exponent and Int refers to an Intercept.
In step 1606 RSSI the general RSSI surfaces created in step 1604 are modified for individual beams taking into consideration the directional characteristics of the particular beam. Data collected from mobile devices receiving beacons and packets of information 1607 communicated in such signals are used in step 1608 to create probability surfaces for each beam with the surface for an individual beam including multiple peaks and valleys. In step 1610 the probability surfaces for a beam are combined to identify values for PLE and INT which result in a path loss model, which when used for multiple beams, maximizes a peak which will be achieved when multiple probability surfaces are combined.
The process shown in
The operation of the RF module engine 1206 can be understood taking into consideration the exemplary RSSI path loss model shown below:
Rssi=PLE*log 10d+intercept
Here, “d” is a distance value from the transmitter with units, like meters. The intercept is a constant which maybe based on transmission angle, distance from the transmitter to the ground and/or other factors. Consider for example if the intercept is the value at 1 meter, as log 10(1)=0. PLE values may range from −20 (free space) to −32 (severe attenuation). Intercept for Bluetooth signals is normally about −59.
For the purposes of understanding, let us assume the path loss formula is perfect. That is, when you are 1 meter away, the RSSI is the intercept (−59)
When you are 10 meters away, the RSSI is the PLE*1+Intercept. If the PLE is −28, and the intercept is −59, for instance, the RSSI at 10 meters would always be −87. Forget about walls, and such, for the moment.
Now, it is possible that different environments have different PLEs. So let's start with the idea that Intercept is fixed and always correct, and path loss varies in environments, to a constant value. Consider the diagram shown in
The PLE of each of the dark (solid) lines 1308, 1310. 1318 is −28, and the PLE of each of the dotted lines 1302, 1304, 1306 is −22.
In the perfect world, a PLE of −28, the Location engine would yield no answer with respect to Zone 1 which is the intersection location of the three circles. The three dark lines do not intersect given such a PLE, and so the actual location is unknown. However, by iterating through PLE values, it would be possible to find the intersection with a PLE of −22. In this perfect world case, incorrect PLE values yield no answer at all, but correct ones yield an answer.
Also, in the perfect world, it is possible to determine both the intercept and the PLE by taking two different distances. Only a single pair of PLE and intercept will provide locations for two distinct locations.
Let us add one variable. Let us suppose that the path loss estimate (PLE) is perfect, and the intercept is perfect, but that the RSSI reading is imperfect. Randomly, in the real world, it varies due to power fluctuations, receiver issues, or other completely random reasons. So in the real world case, upon receipt of an RSSI reading, the actual distance is uncertain. Because of this, the actual distance from the beacon transmitter is probabilistic. The diagram in
There are various ways to model the variation in RSSI, Gaussian, Rayleigh, etc. In one implementation a Gaussian variation in the RSSI is used in the module.
A single RSSI reading, then, can place likely locations for the tag, based on the path loss model, and the probability function, to locations in an “n” dimensional space. In various embodiments the objective is to locate a wireless terminal within a plane, so construct distances to the zone in 3 space, and determine the probability in a plane, for each zone location given a reported RSSI value and knowledge of which beam was used to transmit the beacon signal to which the RSSI value corresponds.
The multiple probability planes corresponding to different beacons are combined using a mathematical function, to determine the most likely location, e.g., zone location, of the device.
An exemplary probability surface for a single high RSSI reading generated for a beacon signal transmitted from a directional antenna can be represented on a map using shading to represent probability of a given RSSI value. Dark, areas can be used in such a map to indicate areas where there is a high likelihood of a high RSSI reading. Lighter shades/colors indicate possible locations, but with lower probabilities for a high RSSI reading. Other readings (RSSI measurements and corresponding beacon information) from other beacons, with their corresponding probability surfaces, are combined mathematically to help locate the device to its most likely position, e.g., zone.
These combinations yield a location result. In general, due to errors, each “most likely” location is adjusted by other beacon measurements, and so each location determination is slightly off. Each set of beacon signal measurements has an error and thus the location determination has an “Error” associated with it as well.
Consider once again the diagram shown in
Upon creating a location estimate, each beacon signal will have an error value to the computed zone location, where it ideally would place the zone (the dark line) vs. where it actually places the tag (the dotted line). This yields a discrepancy between where each beacon signal would place the location, and where the beacons, collectively, indicate it is. The discrepancy can be used to create an error surface that is a function of the RF model e.g. PLE/INT. By finding the minimum on this error surface the RF model that minimizes the location error can be determined. This approach can eliminate the need for manual site surveys. In a world of consistent PLE, and intercept, selecting the PLE and intercept that minimizes the error over many estimated data points minimizes location error overall, despite that the actual location is not known. Experimentally, in some experiments the computed PLE and intercept values are within 5% of optimal values over some 4K samples.
The above discussion explains how to optimize two values, e.g., a path loss value and an intercept. The above discussion assumes a constant, the RSSI variation expected.
It is possible to use the guiding path loss equation, to determine environmental variables.
As an example, consider the diagram shown in
In the
Meanwhile, assume the two other beacon transmitters 1504, 1506 shown in
It is possible to determine that the beacon signal transmitted by beacon transmitter 1502 has been attenuated at specific points in the transmission path. The location of the attenuation can be determined by looking at errors in the probability surfaces, and noting discontinuities in error values over many samples, and attributing significant error to the beacon transmitted by beacon transmitter 1502. The final variable, the distribution of error, can similarly be determined through machine learning.
It is possible to determine the likelihood, statistically, of many samples to a given location. That is, the distribution of error. For instance, very high RSSI values indicate accurate locations of beacons with small error. It is possible to use these high probability locations to determine the variations in distant readings, and statistically, with large numbers, to determine the overall probability distribution given less reliable values.
In some embodiments multiple APs capable of transmitting beacons on different antenna beams are used at a location, e.g., store. Individual antenna beams transmit beacons into regions corresponding to different beams. Beacons provide information that is relevant to the geographic region into which the beacons are transmitted. The information may be included directly in the beacon signal or information in the beacon signal such as a beacon identifier, alone or in combination with received signal strength information, can be mapped, e.g., directly or via a zone determination operation to information relevant to the geographic region into which the beacon or beacons are transmitted. For example, a beam covering a tie rack may advertise ties while a beam covering a coffee counter may advertise coffee. The APs maybe Bluetooth APS which transmit BTLE beacons. The APS maybe mounted in a ceiling, e.g., of a store or other building. The APS can be configured remotely, e.g., via signals received from a device in the cloud or locally via signals received from a device, e.g., UE device, located in the store. Configuration may include indicating what area, e.g., zone, of the store is to be covered by a beacon and what information is to be transmitted on the beacon or provided to a wireless terminal when the wireless terminal is determined to be in the zone based on one or more received beacon signals alone or in combination with received signal strength information. In some embodiments an information database is maintained and included information corresponding to a zone to be provided to a wireless terminal when, based on one or more received beacon signals, it is determined that the wireless terminal is in the zone.
The method 1700, which may be implemented by configuration server 120, starts in step 1702 when called by another routine or device, e.g., by step 824 of the method shown in
Step 1704 includes in some embodiments one or both of steps 1706 and 1709. In step 1706 user input indicating the location of one or more access points is received along with user provided access point capability and/or configuration information of the type discussed above. The information maybe transmitted to the configuration server 120 via an access point with the information being entered by the user operating a WT 504 or other control device capable of communicating the information to the configuration server. In step 1709 the access point information is received from an access point. The information may include sensed position and orientation information as well as device capability and/or configuration information which was preloaded into the access point or which are known based on device type identification information stored in the access point and supplied to the configuration server 120.
Operation proceeds from step 1704 to step 1710 wherein the configuration receives input used to determine beacon coverage areas ne/or zones. The input may include information about users designation of desired beacon transmitter locations indicated on a floor plan or map along with corresponding zone information which may be communicated from a control device 504 to the configuration server via an access point. Alternatively or in addition the information received in step 1710 may be received signal information such as information indicating a location or sector from which a signal was received indicating a desire to place a beacon transmitter at the location from which the signal was received. Additional information that maybe and sometimes is received in step 1710 includes information such as a beacon identifier to be assigned to the beacon signal to be transmitted and/or information about a transmission schedule or beacon signal content to be transmitted. However, such information is optional and not provided in all embodiments.
Operation proceeds from step 1710 to step 1712 wherein the configuration server 120 identifies at least one access point corresponding to the desired beacon coverage area which can transmit a beacon signal into all or at least a portion of the beacon coverage area. Then in step 1714 a sector is identified for use in transmitting the beacon signal from the identified access point. The sector will normally be a sector which is facing the desired beacon coverage area. With the access point and sector transmitter to be used for transmitting a beacon having been determined, operation proceeds to step 1716 in which a beacon ID is assigned to a beacon signal to be transmitted by the identified sector.
Operation then proceeds to step 1718 wherein a check is made to determine if a power level was specified in received information for the beacon signal to be transmitted. If an step 1718 it is determined that a transmit power level was specified, operation proceeds to step 1722. However, if in step 1718 it is determined that a transmit power level was not specified for the beacon signal to be transmitted, operation proceeds to step 1720 in which a transmit power level is determined which when used by the identified sector transmitter of the identified access point will result in beacon signal coverage of the desired beacon signal coverage area.
Operation proceeds from step 1720 to step 1722. In step 1722 the beacon transmit power to be used for the beacon signal to be transmitted is step to the power level determined in step 1720 or specified in the received information. Operation then proceeds to step 1724 in which the information to be communicated in the beacon signal is determined. The information maybe and sometimes is one or more beacon identifiers. The information may in some but not all embodiments, include information corresponding to goods or services which are to be advertised and which correspond to the coverage area of the beacon signal, e.g., can be obtained from a location within the beacon coverage area or near the beacon coverage area.
Operation proceeds from step 1724 to step 1728 via connecting node D 1726. In step 1728 a beacon transmission schedule is determined. In some embodiments the beacon transmission schedule is a function of a sale schedule or when particular items or services are to be offered in the area into which the beacon is to be broadcast. Zone information in some embodiments is also determined and associated, in step 1729, with beacon signal to be transmitted. This allows the beacon ID to be associated with information corresponding to a zone when receipt of a beacon signal is reported, e.g., to a zone correlation engine. The beacon ID to zone correlation information maybe stored in the configuration server 120 and distributed to various devices which include zone correlation engines which correlate received beacon information to zones and information corresponding to the identified corresponding zone or zones.
Operation proceeds from step 1729 to step 1730 in which the beacon signal information is stored in memory. Then in step 1732 the beacon signal information to be communicated to the access point which has been selected for transmission of the beacon signal is stored. Then in step 1736 the information is communicated, e.g., transmitted from the configuration server 120 to the access point 130, 132 or 136 to be configured. In this manner the access point to transmit a beacon signal is supplied with the sector information indicating the sector or sectors into which a beacon signal is to be transmitted, the transmit power level, the information to be transmitted in the beacon signal, the beacon signal transmit schedule and in embodiments where multiple transmit frequencies or beacon signal types are supported the frequency and/or type of beacon signal to be transmitted. For access points which support beam forming capability information on the antenna weights and/or antenna identifiers used to control beam forming operations may also be communicated to the access point which is to transmit the beacon signal.
Operation proceeds from step 1736 to step 1738 which a return step. Operation proceeds back to the routine which called the access point configuration subroutine 1700 where operation can continue with the routine 1700 being potentially called multiple times to configure different access points to transmit different beacon signals or the same access to transmit multiple different beacon signals, e.g., from different sector antennas or with different transmit power levels, frequencies or signal formats.
The method starts in step 1802 with the access point implementing the method being powered on. Operation proceeds from step 1802 to step 1803 in which the access point makes various measurements, e.g., height from ground or floor, orientation of access point and sectors based on measurement made by internal compass, measurements of signals received from neighboring access points including sector on which an individual signal was received and received signal strength to allow distance estimates and relative orientation with respect to neighboring access point to be determined. In addition the access point reports the results of the measurements to another device, e.g., configuration server 120, along with access point capability information and/or type which, in some cases includes information about the number of sectors, maximum supported transmit power, supported transmission protocols and/or frequencies. Having provided location and capability information to the configuration server 120 the access point, e.g., access point 130 is ready to receive configuration information, e.g., from a control device such as the configuration server 120.
Operation proceeds from step 1803 to step 1804. In step 1804 the first access point receives information from a control device, e.g., WT 504 which can provide beacon signal and/or zone configuration information to be communicated to the control server 120 that can be used to control the configuration of the first access point 130. Receiving information in step 1804 can include receiving a first zone configuration control signal from a control device such as WT 504 at a first location within the coverage area of the first access point as indicated in sub step 1806. The first zone configuration control signal may and sometimes does indicate a desire to designate an area, from which the first zone configuration control signal was transmitted as a first zone. Thus, by transmitting a signal from a location in the coverage area of an access point, the WT 504 can signal to the access point a desire to configure a zone, which will be covered by at least one beacon signal. The zone configuration signal may indicate a desire to transmit a beacon signal covering the indicated zone. In step 1808 the access point receives information, e.g., a beacon ID or other information to be included as content in a first beacon signal to be transmitted in to the first zone. The information maybe indicated as being for transmission using a first beam covering the first location where the beam may correspond to a sector or be formed by transmission from multiple sector transmitters of the first access point. In addition to the signal indicating a desire to configure a zone into which a beacon signal is or will be transmitted, the first access point in step 1810 receives information from the control device WT 504 indicating a transmission schedule to be used to control transmission of a beacon signal including first beacon content to be communicated using the first beacon signal transmitted using a access point transmission beacon covering the first location from which the control signal is transmitted to the access point. Step 1812 which is included in some embodiments includes the access point receiving beacon information indicating a first beacon signal to be transmitted into the first area using the first beam and a time period or schedule to be used to control transmission of the first beacon signal from the first access point.
With the control information received from the wireless terminal 504 used to send control signals to the first access point 130 to be configured, operation proceeds to step 1814 in which the first access point forwards all or at least some of the zone/beacon/access point configuration information to the configuration server 120 for use in configuring the first access point. Thus, in cases where the WT 504 is located within the coverage area of the first access point 130 the first access point 130 can act as a conduit for the control information with the information being received and forwarded to the configuration server 120.
In addition to receiving configuration used to control configuration of a first zone the access point 130 can and does receive configuration information from the control device used to configure other zones and sectors of the first access point. Such signals may be sent as a user walks with the device 504 through the area covered by the first access point.
Operation proceeds from step 1814 to step 1816. In step 1816 the access point receives, from the control device 504, information for configuration a second zone, e.g., corresponding to a coverage area of a beacon which can be transmitted from a second sector of said first access point. In substep 1818 the firs access point receives a second zone configuration control signal from the control device 504 while the control device 504 is at a second location where the second location is within the coverage area of the first access point but is a different location than the first location, e.g., a location corresponding to the coverage area of a second sector. The user while present at the second location may send a signal to the access point via WT 504 to signal that a zone is to be established corresponding to the second location and a beacon transmission should be associated with the zone. Thus, the second zone configuration control signal indicates, at least in some embodiments a desire to designate a second area, e.g. an area of a predetermined or indicated size centered around the second location, as a second zone.
Step 1816 may also include substep 1820 in step 1820 information is received from the control device 504 indicating second beacon content to be communicated by a second beacon signal which is to be transmitted using a second beam covering the second location, e.g., a beam corresponding to a second sector of the first access point. Step 1816 also may and sometimes does include step 1822. In step 1822 information is received from the control device 504 indicating a transmission schedule to be used to control transmission of the second beacon signal and thus the content to be communicated by the second beacon signal. Thus, when transmission is implemented according to the second schedule the information, e.g., beacon Id mapping to information to be advertised or the actual information to be advertised, will be communicated by the second beacon signal according to the second schedule.
Operation proceeds from step 1816 to step 1824 in which at least some of the information received in step 181 is communicated to the configuration server 120. Thus as a manager moves from location to location he may signal to the access point covering an area that a beacon signal and/or zone is to be established for the area from which the signal is transmitted with the information being relayed to the configuration server along with, optionally, information identifying the access point which received the signal, sector of the access point which received the signal and received signal strength. From this information and the known location of the access point and potentially information from other access points which also detected one or more signals from the control device 504, the configuration server can determine the location of the zone and/or beacon coverage area to be configured.
As an alternative to receiving control signals transmitted from the physical locations where a user of the control device 504 would like to place a zone and beacon coverage area, similar to the way a user would place and configure an actual beacon transmitter, a user of the WT 504 or another control device can designate a zone and/or beacon coverage area on a map and configure the zone with the related configuration information and location of the beacon coverage area and corresponding zone being communicated to the configuration server 120 by way of a message sent through an access node or another network connection. In step 1826 the first access point may and in some embodiments does receive such configuration information from the control device 504. In step 1826 the first access point receives user input identifying an area on a floor plan to be designated as a zone, e.g., a third zone or another zone, into which a beacon signal is to be transmitted. As should be appreciated “third” in this context is simply used as a zone identifier and another identifier such as “first” could be used if first and second zone information has not already been received by the time step 1826 is implemented.
Following step 1826m the information received in step 1826 is stored, e.g., in memory along with information received from the control device 504 identifying one or more beacon signals to be transmitted using one or more beams covering all or a part of the third zone.
Operation proceeds from step 1828 to step 1830. In step 1830 information received and stored, e.g., in steps 1826 and 1828, is forwarded to the configuration server. The information indicates the location of the third zone, the information to be transmitted into the third zone with one or more beacon signals and optionally a desired transmit schedule. Thus, the configuration server 120 may be provided with map based beacon and zone configuration information from control device 504 which can forward such information to the control server 120 via an access point or another network node.
Operation proceeds from step 1830 to step 1834 via connecting node 1832. Thus, by the time step 1834 is performed various information relating to configuring one or more beacon signals and corresponding zones has been communicated to the configuration server 120. The configuration server 120 determines how to configure one more access points based on the received configuration information indicating desired zone, beacon coverage areas and the beacon IDs or information to be communicated by each of the coverage areas. As noted above a coverage area may correspond to an area which is at least partially covered by a beacon transmitter, e.g., an access point sector transmitter of a Bluetooth, WiFi or other type of base station.
In step 1834 the first access point 130 receives access point configuration information from a network device, e.g., control server 120. Step 1834 may and sometimes does includes steps 1836 and 1836. In step 1836 the first access point receives first access point configuration information providing first antenna pattern configuration information specifying a first beam forming pattern to be used to generate a first beam, the first beam forming pattern. In at least some embodiments the information received in step 1836 indicates which antenna elements are to be used to transmit signals corresponding to the first beam. Step 1836 is used where multiple sectors antennas may transmit at the same time with the sector antennas operating together to form a transmission beam that can be used to transmit one or more beacon signals. A single or multiple sector antennas can be used to form a beam.
In step 1838 first access point configuration information which provides information corresponding to a second antenna pattern to be used to generate a second beam is received. The second antenna pattern information may specify a different set of antennas, e.g., sector antennas, to be used in combination to form the second beam. The information received regarding the second beam indicates at least a second set of antenna elements to be used to form the second beam. The second set of antenna elements includes at least one antenna element, e.g., sector transmitter of the first access point, which is different from the antenna elements included in the set used to form the first beam.
Operation proceeds from step 1834 to step 1840 where the first access point configures one or more beacon transmission beams based on the received information. This may include setting switches which cause the first set of antenna elements to be used for transmission or reception when the first beam is to be used and setting switches which cause the second set of antenna elements to be used for transmission or reception when the second beam is to be used.
Step 1840 includes in some embodiments step 1842 which involves operating a first access point to configure the first beam to cover a geographic are including the first location, e.g., a geographic area corresponding to a portion or all of the first zone. Step 1840 may and in some embodiments also includes step 1844 which involves operating the first access point 130 to configure the second beam to cover a geographic are including the second location, e.g., a geographic area corresponding to a portion or all of the second zone. As part of step 1840 beacon transmission schedule information may also be stored so that the first access point 130 knows when to use the first and second beam configurations for transmitting beacon signals. The content of the beacon signal, type of beacon signal and frequency on which a beacon signal is to be transmitted can also be received by the first access point from the configuration server 120 and stored in the first access point, e.g., as part of step 1840.
Operation proceeds from step 1840 to step 1846. In step 1846 the first access point is used to transmit different beacons, e.g., using different beams, into different coverage areas, e.g., corresponding to different zones and/or beacon signals.
Step 1846 includes in some embodiments step 1848. In step 1848 the first access point transmits a first set of one or more beacon signals into a first coverage area corresponding to a first beam. The beacon signals communicate information, e.g., directly in the beacon signal or indirectly by providing a beacon ID which maps to information, relevant to the first zone. In at least some embodiments the first zone is at least partially in the first coverage area with the beacon signals providing information that is relevant to the first zone area.
Step 1848 includes in at least some beam forming embodiments, step 1850 which includes transmitting information using at least two antenna elements, transmission of the at least two antenna elements combining in a pattern which forms the first beam. In other embodiments the first beam may correspond to a single antenna element, e.g., sector transmitter.
Step 1846 may and sometimes also does include step 1852. In step 1852 the first access point transmits a second set of one or more beacon signals into the second coverage area corresponding to the second beam. The first and second coverage area are different in some embodiments, the second set of beacon signals may, and in some embodiments does communicate information relevant to the second zone to which the second coverage area corresponds. The information relevant to the second zone, such as information about goods or services available in the second zone maybe communicated directly in the beacon signals or by the beacon signal communicating a beacon ID or other identifier which maps to and thus can be used to retrieve, e.g., from a database, the information being communicated.
While step 1846 involves the transmission of beacon signals from the first access point 130, it should be appreciated that the first access point can receive additional configuration information and be configured to transit into multiple zones at different times, e.g., using sets of antennas corresponding to one or more different sectors of the first base station to form different beams as needed. To convey the idea of the ongoing operation, operation is shown proceeding from step 1846 back to step 1804 via goto node 1848.
While
It should be appreciated that in some embodiments the access point configured in accordance with the method of
Each row 1920, 1922, 1924, 1926, 1930 corresponds to a different beacon signal with the particular beacon signal to which the row corresponds being identified by the beacon identifier included in the third column, 1906, of the row. Thus, for example the first row 1920 corresponds to beacon 1 while row 3 corresponds to the beacon identified by beacon identifier Beacon 3. For each beacon signal various information is included. The first column 1902 includes a beacon transmitter used to transmit the beacon signal listed in the third column of the corresponding row. For example the transmitter identified by the identifier TX1 is used to transmit Beacon signal identified by beacon signal identifier Beacon 1. The second column of each row indicates the location, e.g., by coordinates in space or by GPS coordinates of the transmitter identified in column 1 of the same row. The location information may, and sometime does, allow the determination of the position of the transmitter within a building or above a floor or the ground. The fourth row 1908 indicates beacon content for the beacon of the particular row. The beacon content may include information in addition to the beacon identifier or be limited to one or more beacon IDs. The fifth column of a row indicates the type of beacon to which the row corresponds. This allows the transmitter to determine the format of the beacon signal to be transmitted. The sixth row 1912 indicates a frequency band in which the beacon signal of the row is transmitted. Different frequency bands may be used for different types of beacon signals and/or an access point may support multiple frequency bands making frequency band information 1912 useful with regard to informing an AP as to what frequency band to use for the beacon signal to which the row corresponds. Transmission power level information for the beacon identified in a row is specified in the seventh column 1914 of
All or some of the information shown in
Modules and/or apparatus used to determine the receipt of virtual beacon signals can use the information in table 1900 along with position information of a wireless terminal and a path loss model to determine when receipt of a virtual beacon signal should be declared and reported to another device or module.
Numerous other uses of the information included in table 1900 are possible. In some embodiments each row further include an entry indicating a beacon transmission time schedule of the beacon signal of the row in which the schedule is included.
Virtual beacons will now be discussed further with reference to the exemplary system shown in
As illustrated, in some embodiments the access points 2008, 2010, 2016 and the network node 2020 are coupled via a backhaul network, e.g., backhaul network. The network node 2020 is a node in the core network and is coupled to access points and/or other network nodes via the backhaul. The network node 2020 in some embodiments is a beacon information and/or configuration server which may be, and in some embodiments is, configured to implement the methods of the present invention discussed in flowchart 2100. In some embodiments the node 2020 provides beacon transmitter information indicating location and/or other information relating to actual and/or virtual beacon transmitters (e.g., access points transmitting beacon signals) in the system to the wireless terminal WT 2002, 2004, . . . , 2006.
In various embodiments one or more access points in system 2000 operate as beacon transmitters and may transmit, e.g., broadcast, beacon signals including information. Exemplary information in a beacon signal may include, e.g., device information, product advertisement, service advertisement, an offer of service, an offer of a product, location information, etc. For the purpose of illustration in
In accordance with one aspect of the invention, the system 2000 and the devices therein support both real and virtual beacons. While a real beacon is actually transmitted from a beacon transmitting device such as the access points, a virtual beacon as the name suggests is virtual and is not actually transmitted from a beacon transmitter. Thus while various access points are shown in
Operation starts in step 2102, where the communications device is powered on and initialized and proceeds to step 2104. In step 2104, the communications device receives input including beacon transmitter information. The beacon transmitter information in some embodiments includes a set of information, for a plurality of beacon transmitters and/or beacon signals, indicating one or more of the following: beacon transmitter identity, beacon transmitter location, whether the beacon transmitter is real or virtual, beacon signal identifier, beacon signal content (whether beacon is virtual or real), transmit power level, frequency band used for transmission etc. The information may be provided to the communications device in a variety of ways, e.g., entering the beacon transmitter information manually, providing the information to the communications device over the air from a management/configuration device etc.
Operation proceeds from step 2104 to step 2106. In step 2106 the beacon transmitter information is stored in a memory, e.g., as information in table 1900. In some embodiments the beacon transmitter information includes, for a first beacon signal, information indicating: i) a location of a first beacon transmitter which transmits the first beacon signal, ii) a transmit power level of the first beacon signal; and iii) information communicated by the first beacon signal. An exemplary beacon transmitter information table 1900 is shown in
Operation proceeds from step 2106 to step 2108. In step 2108 the communications device receives or otherwise determines location information indicating a location of a wireless terminal, e.g., wireless terminal which is to report reception of a beacon signal. In some embodiments the communications device is the wireless terminal itself which is to report receipt of a beacon, e.g., virtual beacon, and may either determine its own location, e.g., based on GPS signals or other received signals/information from other devices, or may receive information from a network node indicating the location of the wireless terminal. Regardless of the approach of location determination, the location of a wireless terminal is determined and considered. Operation proceeds from step 2108 to step 2110. In step 2110 the communications device monitors the location of the wireless terminal relative to locations of one or more beacon transmitters, e.g., beacon transmitters identified in the stored information. In various embodiments the monitoring for wireless terminal location is performed to determine whether the wireless terminal is in proximity and/or transmission range/coverage area of the one or more known beacon transmitters, e.g., such as those corresponding to which beacon transmitter information is stored. It should be appreciated that such determination can be made since the location of one or more beacon transmitters is included in the beacon transmitter information.
Operation proceeds from step 2110 to step 2112. In step 2112 the communications device determines whether the wireless terminal is in the transmission range of or more known beacon transmitters (virtual or real). If in step 2112 it is determined, based on the location of wireless terminal and the location of one or more beacon transmitters, that the wireless terminal is not in the transmission range of one or more beacon transmitters the operation proceeds from step 2112 back to step 2110 and the monitoring of wireless terminal location in comparison to the location of beacon transmitters continues. If in step 2112 it is determined, based on the location of wireless terminal and the location of one or more beacon transmitters, that the wireless terminal is in the transmission range of one or more beacon transmitters the operation proceeds from step 2112 to step 2114. In step 2114 the communication device determines, based on the location of the wireless terminal and the first beacon transmitter, a beacon signal to be reported, the beacon signal to be reported being a beacon signal which would be received by the wireless terminal if the beacon signal to be reported were transmitted in accordance with the stored beacon transmitter information. For example, during monitoring in step 2110 of the wireless terminal location relative to location of beacon transmitters may detect, based on the location of the wireless terminal at the given time, that the wireless terminal is in the transmission range of a known beacon transmitter (whether real or virtual). Based on the location comparison it can be determined which beacon transmitter has the wireless terminal in its transmission range since the location of beacon transmitters is indicated in the stored beacon transmitter information. Further based on the stored information it can also be determined what type of beacon signal and beacon content is expected from the beacon transmitter which has the wireless terminal in its transmission range. Thus in step 2114 the communication device identifies the beacon signal to be reported based on the location of the wireless terminal and the stored beacon transmitter information which indicates the location and other information corresponding to the beacon transmitter and beacon signal to be reported.
Operation proceeds from step 2114 to step 2116. In step 2116 the communications device determines a received signal strength for the beacon signal to be reported based on the location of said wireless terminal and based on stored transmit power level information corresponding the beacon signal to be reported. In some embodiments the communications device uses the indicated transmission power level corresponding to the beacon signal to be reported (virtual or real) indicated in the stored information and a path loss model to determine the received signal strength for the beacon signal to be reported. A predetermined path loss model and stored information about the virtual beacon transmitter power allows, based on the distance between the virtual beacon transmitter and the location of the wireless terminal, the wireless terminal or another device to determine the estimated received signal strength of a beacon that would have been received if transmitted by the virtual transmitter. In some embodiments the communications device includes a path loss determination device configured to calculate the path loss between the wireless terminal reporting the reception of virtual beacon signal and the virtual beacon transmitter. Those skilled in the art would readily appreciate that using the wireless terminal location, stored transmit power level information corresponding the beacon signal to be reported and the path loss, the received signal strength for the beacon signal to be reported can be determined.
Operation proceeds from step 2116 to step 2118. In step 2118 the communications device generates a message indicating reception of the beacon signal to be reported, the message including a beacon identifier identifying the beacon signal to be reported. In some embodiments the step 2118 of generating the message indicating reception of the beacon signal to be reported includes step 2120 of incorporating, in the message, information indicating the determined received signal strength. Thus in some embodiments the generated message indicating reception of the beacon signal to be reported includes a beacon identifier identifying the beacon signal whose reception is being reported and the determined received signal strength (e.g., determined in step 2116). In some embodiments the message reports receipt of a beacon signal which was not actually received by the wireless terminal, e.g., in the case of virtual beacons.
Operation proceeds from step 2118 to step 2122. In step 2122 the communications device communicates the message indicating reception of the beacon signal to be reported to the wireless terminal or a component in the wireless terminal which acts upon information indicating the receipt of one or more beacon signals. In some embodiments the communications device is a network device (e.g., located external to the wireless terminal) in the core network which receives wireless location information from the wireless terminal or determines the location of the wireless terminal from a signal received from another device. Thus in some embodiments where the communications device implementing the method 2100 is the network node, e.g., node 2020, the communications device performs virtual beacon reception determination operation for a wireless terminal. In some such embodiments the network node sends the generated message indicating reception of the beacon signal to be reported, to the wireless terminal. Following receipt of the message from the communications device the wireless terminal, in some embodiments, proceeds to take an action that it would take upon receiving an actual beacon signal.
In some other embodiments where the communications device implementing the method is the wireless terminal itself, e.g., operating as the virtual beacon reception determination device, the communications device sends the message indicating reception of the beacon signal to be reported to a component in the wireless terminal which acts upon information indicating the receipt of one or more beacon signals. The component may be a device, application specific integrated circuit (ASIC), processor or module within the wireless terminal that takes action in response to receipt of beacon signals. In some embodiments step 2122 further includes step 2124 which is shown in a dashed box as an optional step. In step 2124 the communications device transmits the generated message, e.g., via a transmitter, to a device external to the communications device which provides information in response to reports of received beacon signals. Such an external device that provides information in response to reports of received beacon signals may be, e.g., a location server, an advertisement server etc. Messages reporting receipt of a virtual beacon signal may, and in some embodiments do, indicate distance, in addition to received signal strength, to the virtual beacon transmitter and optionally also direction to the virtual beacon transmitter.
The communications device 2200 includes a processor 2208 and memory 2216 coupled together via a bus 2209 over which the various elements may interchange data and information. Memory 2216 includes routines 2218 and data/information 2220. The communications device 2200 further includes a wired interface 2202, a wireless interface 2204, a GPS receiver 2205, a path loss determination device 2206, a location determination device 2210, a display 2212 and a input device 2214. In some embodiments, one or more of the devices/modules 2205, 2206, 2210, are included in processor 2208. In some embodiments, one or more of portions of one or more of modules 2206, 2210 are included in processor 2208. In some embodiments one or more modules of communications device are, implemented fully in hardware within the processor 2208, e.g., as individual circuits. In other embodiments some of the modules are implemented, e.g., as circuits, within the processor 2208 with other modules being implemented, e.g., as circuits, external to and coupled to the processor. Alternatively, rather than being implemented as circuits, all or some of the modules may be implemented in software and stored in the memory 2216 of the device 2200 with the modules controlling operation of the communications device 2200 to implement the functions corresponding to the modules when the modules are executed by a processor, e.g., processor 2208.
Via the wired interface 2202 the communications device 2200 can be coupled to the communications network, external device and/or internet. The interface 2202 in some embodiments includes receiver 2222 and a transmitter 2224. In addition to receiver 2222 and a transmitter 2224 the interface 2202 further includes an optical interface and/or a power line interface for communicating with various devices and system elements. The wired interface 2202 is capable of transmitting/receiving information over a wired link. In some embodiments the wired 2202 is coupled to other nodes and/or a backhaul via link 2230. In some embodiments the wired and/or optical interface 2202 is an Ethernet interface.
The communications device 2200 further includes a wireless interface 2204 via which the communications device 2200 communicates with wireless devices. The wireless interface 2204 includes a wireless receiver module 2226 coupled to receive antenna 2225, via which the communications device 2200 receives radio signals. The radio signals include, e.g., beacon signals. The wireless interface 2204 further includes a wireless transmitter 2228 coupled to transmit antenna 2227 via which the device 2200 transmits radio signals. In some embodiments, the same antenna is used for both input and output wireless communications signaling. In some embodiments the wireless interface 2204 is a WAN (wide area network) radio module. In some embodiments the wireless interface 2204 includes a plurality of wireless transmitter/receiver modules capable of transmitting and receiving variety of wireless signals, e.g., WiFi signals, LTE direct beacon signals, iBeacons, Bluetooth beacons etc. Various other types of radio modules may be used in the wireless interface in some embodiments. Thus in some embodiments, the different radio modules in the wireless interface correspond to different communications technologies, different communications protocols and/or different frequency bands. While a variety of radio modules may be used in the communications device 2200 in some embodiments, in accordance with one aspect of the invention even when the communications device 2200 does not actually include a particular type of wireless receiver which would otherwise be needed to receive the particular type of beacon signal, it can still claim to have received a beacon (e.g., virtual beacon signal). The receivers included in the interfaces 2204, 2206 are configured to receive signals (e.g., control signals, beacon signals etc.) and process them to recover information and/or data communicated in a received signal.
In some embodiments the communications device 2200 receives input (e.g., via interface 2202, interface 2204 and/or input device 2214) including beacon transmitter information. In various embodiments the processor 2208 is configured to control the device 2200 to store, in memory 2216, the beacon transmitter information. In some embodiments the beacon transmitter information includes, for a first beacon signal, information indicating: i) a location of a first beacon transmitter which transmits the first beacon signal, ii) a transmit power level of the first beacon signal; and iii) information communicated by the first beacon signal. In some embodiments the first beacon transmitter is a virtual beacon transmitter. The beacon transmitter information may be stored as part of data/information 2220 in memory 2216. In addition to the data/information 2220 the memory 2216 in some embodiments includes routines 2218 including control and communications routines.
The GPS receiver 2205 is configured to receive GPS signals and provide GPS position coordinates as an input to the location determination module 2210. The location determination module 2210 is configured to determine the location of the communications device based on, e.g., the GPS data received from the GPS receiver 2205 or based on signals/information received from other devices. In some embodiments the communications device 2200 is a network node and the location determination module 2210 is configured to determine the location of a wireless terminal, e.g., based on the signals received from the wireless terminal or based on information received from other devices. In some embodiments the communications device 2200 is a wireless terminal. In some such embodiments the location determination module 2210 is configured to determine the wireless terminal location, e.g., based on GPS data acquired by the GPS receiver 2205 and/or based on signal from other devices, or based on location information communicated to the wireless terminal from a network node such as network node 2020 or an access point. Thus it should be appreciated that the location information of the wireless terminal may be determined or received from another device.
The input device 2214 may includes a keypad, microphone, touch-sensitive device via which input data can be provided to the communications device 2200. In some embodiments the processor 2208 is configured to monitor location of the wireless terminal relative to the location of one or more beacon transmitters (virtual and/or real), e.g., by comparing wireless terminal's current location with the location of one or more beacon transmitters indicated in the stored beacon information. In various embodiments the processor 2208 is further configured to determine whether the wireless terminal is in the transmission range of one or more beacon transmitters at a given time.
In various embodiments the processor 2208 is further configured to determine, based on the location of a wireless terminal and the location of the first beacon transmitter, a beacon signal to be reported, the beacon signal to be reported being a beacon signal which would be received by the wireless terminal if the beacon signal to be reported were transmitted in accordance with the stored beacon transmitter information. In some embodiments the processor 2208 is further configured to determine a received signal strength for the beacon signal to be reported based on the location of the wireless terminal and based on stored transmit power level information corresponding the beacon signal to be reported. In some embodiments the processor 2208 is further configured to generate the message indicating reception of the beacon signal to be reported, the message including a beacon identifier identifying the beacon signal to be reported. In some embodiments the processor 2208 is further configured to incorporate in the message information indicating the determined received signal strength generate.
The processor 2208 is further configured to communicate, e.g., via an interface of the device 2200 and/or bus 2209, a message indicating reception of the beacon signal to be reported to the wireless terminal or a component in the wireless terminal which acts upon information indicating the receipt of one or more beacon signals. In some embodiments the processor 2208 is further configured to transmit, via a transmitter such as transmitter 2228, the message to a device external to the communications device 2200 which provides information in response to reports of received beacon signals.
In various embodiments, the transmission beams of said Bluetooth base station are steerable. In some embodiments, step 2304 includes steps 2306 and 2308. In step 2306 the Bluetooth base station steers a first one said transmission beams in a direction relative to said base station in an area in which a first Bluetooth low energy (BLE) beacon is to be transmitted. In some such embodiments, the first area is an area where a good or service advertised by said first beacon can be obtained. In some embodiments, different individual beams transmit different information which is relevant to the particular geographic area into which the particular beam is transmitted. Operation proceeds from step 2306 to step 2308, in which the Bluetooth base station transmits the first Bluetooth low energy (BLE) beacon.
Operation proceeds from step 2304 to step 2316, to step 2322, and, via connecting node A 2309 to step 2310. In step 2310 a zone correlation engine is operated to receive received signal strength information from a wireless terminal. Operation proceeds from step 2310 to step 2312 in which the zone correlation engine is operated to determine if said wireless terminal is in a first zone based on a path loss model and information indicating a distance between the Bluetooth base station and the first zone. Operation proceeds from step 2312 to step 2314. In step 2314, in response to the zone correlation engine determining that the wireless terminal is in the first zone, the zone correlation engine is operated to provide information corresponding to the first zone to the wireless terminal.
Returning to step 2316, in step 2316 a sensor is operated to generate a first sensor signal at a first time. Operation proceeds from step 2316 to step 2318. In step 2318, a first sensor time stamp is generated indicating a time corresponding to the first sensor signal. Operation proceeds from step 2318 to step 2320, in which the first sensor signal and said first sensor time stamp are provided to said zone correlation engine.
Returning to step 2322, in step 2322 said Bluetooth base station is operated to receive signals from mobile communications devices, said received signals including at least a first signal from a first mobile communications device. Operation proceeds from step 2322 to step 2324, in which the Bluetooth base station generates a first time stamp indicating a time at which the first signal was received by the base station. Operation proceeds from step 2324 to step 2326, in which the Bluetooth base station generates a first indicator indicating which of a plurality of antenna beams the first signal was received on. Operation proceeds from step 2326 to step 2328 in which the Bluetooth base station recovers first information from the first received signal. Operation proceeds from step 2328 to step 2330 and 2332.
In step 2330 the Bluetooth base station communicates said first time stamp, said first indicator, and said first information to a zone correlation engine. In step 2332 the Bluetooth base station provides received signal strength information to said cone correlation engine with said received signal information and the corresponding time stamp. Operation proceeds from steps 2320, 2330 and 2332 to step 2334. In step 2334 the zone correlation engine correlates sensor information corresponding to a first geographic region and received signal information received via an antenna beacon corresponding to said first geographic region based on time stamp information associated with said received signal information associated with said received signal information and a sensor time stamp associated with a sensor signal corresponding to said first geographic region. In some embodiments, the received signal information is obtained from a Bluetooth low energy (BLE) signal that was received by said Bluetooth base station and said sensor signal is one of a video or audio signal corresponding to said first geographic region.
In some embodiments, the zero correlation engine is located in one of a wireless terminal or a Bluetooth base station. In some other embodiments, the zero correlation engine is located in a network node that is coupled to said Bluetooth base station by a communications network, e.g., is located in the cloud.
Operation proceeds from step 2334, via connecting node B 2336, to step 2338. In step 2338 the zone correlation engine is operated to estimate the location of the mobile communications device from which the first signal was received based on the indicated received first signal strength and path loss information corresponding to said first geographic region known to said correlation engine. Operation proceeds from step 2338 to step 2340. In step 2340 the correlation engine is operated to update an RF model used in a location determination based on received information.
The modules in the assembly of modules 2400 can, and in some embodiments are, implemented fully in hardware within a processor, e.g., as individual circuits. The modules in the assembly of modules 2400 can, and in some embodiments are, implemented fully in hardware within an assembly of modules external to the processor, e.g., as individual circuits corresponding to the different modules. In other embodiments some of the modules are implemented, e.g., as circuits, within the processor with other modules being implemented, e.g., as circuits within and assembly of modules, external to and coupled to the processor. As should be appreciated the level of integration of modules in the processor and/or with some modules being external to the processor may be one of design choice.
Alternatively, rather than being implemented as circuits, all or some of the modules may be implemented in software and stored in the memory of a device, with the modules controlling operation of device to implement the functions corresponding to the modules when the modules are executed by a processor. In some such embodiments, the assembly of modules 2400 is included in a memory. In some such embodiments, the assembly of modules is included as part of the routines in memory. In still other embodiments, various modules in assembly of modules 2400 are implemented as a combination of hardware and software, e.g., with another circuit external to the processor providing input to a processor which then under software control operates to perform a portion of a module's function. While shown in various embodiments as a single processor, e.g., computer, it should be appreciated that the processor may be implemented as one or more processors, e.g., computers.
When implemented in software the modules include code, which when executed by the processor, configure the processor to implement the function corresponding to the module. In embodiments where the assembly of modules 2400 is stored in memory, the memory is a computer program product comprising a computer readable medium comprising code, e.g., individual code for each module, for causing at least one computer, e.g., a processor, to implement the functions to which the modules correspond.
Completely hardware based or completely software based modules may be used. However, it should be appreciated that any combination of software and hardware, e.g., circuit implemented modules may be used to implement the functions. As should be appreciated, the modules illustrated in
Assembly of module 2400 includes a module 2404 configured to communicate different information into different geographic areas by transmitting different Bluetooth low energy (BLE) beacons on different transmission beams of said Bluetooth base station, a module 2406 configured to steer a first one of said transmission beams in a direction relative to said base station in a area in which a first BLE beacon is to be transmitted, and a module 2408 configured to control said base station to transmit said first BLE beacon.
Assembly of modules 2400 further include a module 2416 configured to operate a sensor to generate a first sensor signal at a first time, a module 2418 configured to generate a first sensor time stamp indicating a time corresponding to a first sensor signal, and a module 2420 configured to provide said first sensor signal and said first sensor time stamp to a zone correlation engine.
Assembly of module 2400 further includes a module 2422 configured to receive signal form mobile communications devices, said received signal including at least a first signal form a first mobile communications device, a module 2424 configured to generate a first time stamp indicating a time at which the first signal was received by the base station, a module 2426 configured to generate a first indicator indicating which of a plurality of antenna beams the first signal was received on, a module 2428 configured to recover first information from the first received signal, a module 2430 configured to communicate said first time stamp, said first indicator, and said first information to a zone correlation engine, and a module 2432 configured to provide received signal strength information to said zone correlation engine with said received signal information and corresponding time stamp.
The modules in the assembly of modules 2500 can, and in some embodiments are, implemented fully in hardware within a processor, e.g., as individual circuits. The modules in the assembly of modules 2500 can, and in some embodiments are, implemented fully in hardware within an assembly of modules external to the processor, e.g., as individual circuits corresponding to the different modules. In other embodiments some of the modules are implemented, e.g., as circuits, within the processor with other modules being implemented, e.g., as circuits within and assembly of modules, external to and coupled to the processor. As should be appreciated the level of integration of modules in the processor and/or with some modules being external to the processor may be one of design choice.
Alternatively, rather than being implemented as circuits, all or some of the modules may be implemented in software and stored in the memory of a device, with the modules controlling operation of device to implement the functions corresponding to the modules when the modules are executed by a processor. In some such embodiments, the assembly of modules 2500 is included in a memory. In still other embodiments, various modules in assembly of modules 2500 are implemented as a combination of hardware and software, e.g., with another circuit external to the processor providing input to a processor which then under software control operates to perform a portion of a module's function. While shown in various embodiments as a single processor, e.g., computer, it should be appreciated that the processor may be implemented as one or more processors, e.g., computers.
When implemented in software the modules include code, which when executed by the processor, configure the processor to implement the function corresponding to the module. In embodiments where the assembly of modules 2500 is stored in memory, the memory is a computer program product comprising a computer readable medium comprising code, e.g., individual code for each module, for causing at least one computer, e.g., a processor, to implement the functions to which the modules correspond.
Completely hardware based or completely software based modules may be used. However, it should be appreciated that any combination of software and hardware, e.g., circuit implemented modules may be used to implement the functions. As should be appreciated, the modules illustrated in
Assembly of modules 2500 includes a module 2534 configured to correlate sensor information corresponding to a first geographic region and receiving signal information received via an antenna beam corresponding to said first geographic region based on time stamp information associated with said received signal information and a sensor time stamp associated with a sensor signal corresponding to said geographic region, a module 2536 configured to estimate the location of the mobile communications device from which the first signal was received based on the indicated received signal strength and path loss information corresponding to said first geographic region known to said correlation engine, and a module 2540 configured to update an RF model used in a location determination based on received signal information.
Assembly of modules 2500 further includes a module 2510 configured to receive received signal strength information from a wireless terminal, a module 2512 configured to determine if said wireless terminal is in a first zone based on a path loss model and information indicating a distance between the Bluetooth base station and the first zone, and a module 2514 configured to provide information corresponding to the first zone to the wireless terminal in response to the zone correlation engine determining that the wireless terminal is in the first zone.
The techniques of various embodiments may be implemented using software, hardware and/or a combination of software and hardware. Various embodiments are directed to apparatus, e.g., mobile nodes such as mobile wireless terminals, base stations, communications system. Various embodiments are also directed to methods, e.g., method of controlling and/or operating a communications device, e.g., wireless terminals (UEs), base stations, control nodes and/or communications systems. Various embodiments are also directed to non-transitory machine, e.g., computer, readable medium, e.g., ROM, RAM, CDs, hard discs, etc., which include machine readable instructions for controlling a machine to implement one or more steps of a method.
It is understood that the specific order or hierarchy of steps in the processes disclosed is an example of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the processes may be rearranged while remaining within the scope of the present disclosure. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented.
In various embodiments devices and nodes described herein are implemented using one or more modules to perform the steps corresponding to one or more methods, for example, signal generation, transmitting, processing, and/or receiving steps. Thus, in some embodiments various features are implemented using modules. Such modules may be implemented using software, hardware or a combination of software and hardware. In some embodiments each module is implemented as an individual circuit with the device or system including a separate circuit for implementing the function corresponding to each described module. Many of the above described methods or method steps can be implemented using machine executable instructions, such as software, included in a machine readable medium such as a memory device, e.g., RAM, floppy disk, etc. to control a machine, e.g., general purpose computer with or without additional hardware, to implement all or portions of the above described methods, e.g., in one or more nodes. Accordingly, among other things, various embodiments are directed to a machine-readable medium e.g., a non-transitory computer readable medium, including machine executable instructions for causing a machine, e.g., processor and associated hardware, to perform one or more of the steps of the above-described method(s). Some embodiments are directed to a device including a processor configured to implement one, multiple or all of the steps of one or more methods of the invention.
In some embodiments, the processor or processors, e.g., CPUs, of one or more devices, e.g., communications devices such as wireless terminals (UEs), and/or access nodes, are configured to perform the steps of the methods described as being performed by the devices. The configuration of the processor may be achieved by using one or more modules, e.g., software modules, to control processor configuration and/or by including hardware in the processor, e.g., hardware modules, to perform the recited steps and/or control processor configuration. Accordingly, some but not all embodiments are directed to a communications device, e.g., user equipment, with a processor which includes a module corresponding to each of the steps of the various described methods performed by the device in which the processor is included. In some but not all embodiments a communications device includes a module corresponding to each of the steps of the various described methods performed by the device in which the processor is included. The modules may be implemented purely in hardware, e.g., as circuits, or may be implemented using software and/or hardware or a combination of software and hardware.
Some embodiments are directed to a computer program product comprising a computer-readable medium comprising code for causing a computer, or multiple computers, to implement various functions, steps, acts and/or operations, e.g. one or more steps described above. Depending on the embodiment, the computer program product can, and sometimes does, include different code for each step to be performed. Thus, the computer program product may, and sometimes does, include code for each individual step of a method, e.g., a method of operating a communications device, e.g., a wireless terminal or node. The code may be in the form of machine, e.g., computer, executable instructions stored on a computer-readable medium such as a RAM (Random Access Memory), ROM (Read Only Memory) or other type of storage device. In addition to being directed to a computer program product, some embodiments are directed to a processor configured to implement one or more of the various functions, steps, acts and/or operations of one or more methods described above. Accordingly, some embodiments are directed to a processor, e.g., CPU, configured to implement some or all of the steps of the methods described herein. The processor may be for use in, e.g., a communications device or other device described in the present application.
While described in the context of an OFDM system, at least some of the methods and apparatus of various embodiments are applicable to a wide range of communications systems including many non-OFDM and/or non-cellular systems.
Numerous additional variations on the methods and apparatus of the various embodiments described above will be apparent to those skilled in the art in view of the above description. Such variations are to be considered within the scope. The methods and apparatus may be, and in various embodiments are, used with CDMA, orthogonal frequency division multiplexing (OFDM), and/or various other types of communications techniques which may be used to provide wireless communications links between access nodes and mobile nodes. In some embodiments the access nodes are implemented as base stations which establish communications links with user equipment devices, e.g., mobile nodes, using OFDM and/or CDMA. In various embodiments the mobile nodes are implemented as notebook computers, personal data assistants (PDAs), or other portable devices including receiver/transmitter circuits and logic and/or routines, for implementing the methods.
The present application hereby expressly incorporates U.S. Provisional Patent Application Ser. No. 62/197,980 filed Jul. 28, 2015 and U.S. Provisional Patent Application Ser. No. 62/155,428 filed Apr. 30, 2015 in their entirety.
Number | Date | Country | |
---|---|---|---|
62155428 | Apr 2015 | US |