Sign In to Follow Application
View All Documents & Correspondence

Transmitting Location Data In Wireless Networks

Abstract: A wireless access point in a wireless network that may be adapted to transmit data indicating its location. The location data may be embedded in a control message or announcement transmission transmitted by the wireless access point, or other message conventionally used to broadcast network characteristics necessary for a client device to establish a connection to the wireless access point. Layer 2 control messages, including beacons and probe responses, may be used to transmit location data. Wireless access points and client devices may receive these control message, and therefore the location data broadcast by the wireless access point, without establishing a connection to the client device. Devices receiving the location data may use the received location data to determine their own locations, and may provide the determined locations to consumers of location data.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
15 April 2010
Publication Number
39/2010
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
Parent Application
Patent Number
Legal Status
Grant Date
2022-12-02
Renewal Date

Applicants

MICROSOFT CORPORATION
ONE MICROSOFT WAY, REDMOND, WASHINGTON 98052-6399

Inventors

1. WU, DEYUN
C/O MICROSOFT CORPORATION, INTERNATIONAL PATENTS, ONE MICROSOFT WAY, REDMOND, WASHINGTON 98052-6399
2. KUEHNEL, THOMAS W
C/O MICROSOFT CORPORATION, INTERNATIONAL PATENTS, ONE MICROSOFT WAY, REDMOND, WASHINGTON 98052-6399
3. HASSAN, AMER A
C/O MICROSOFT CORPORATION, INTERNATIONAL PATENTS, ONE MICROSOFT WAY, REDMOND, WASHINGTON 98052-6399
4. LU, YI
C/O MICROSOFT CORPORATION, INTERNATIONAL PATENTS, ONE MICROSOFT WAY, REDMOND, WASHINGTON 98052-6399
5. SHEN, HUI
C/O MICROSOFT CORPORATION, INTERNATIONAL PATENTS, ONE MICROSOFT WAY, REDMOND, WASHINGTON 98052-6399
6. SUBRAMANI, SUNDAR P
C/O MICROSOFT CORPORATION, INTERNATIONAL PATENTS, ONE MICROSOFT WAY, REDMOND, WASHINGTON 98052-6399
7. SWAMY, VINOD K
C/O MICROSOFT CORPORATION, INTERNATIONAL PATENTS, ONE MICROSOFT WAY, REDMOND, WASHINGTON 98052-6399

Specification

BACKGROUND OF INVENTION

Client devices have typically detennined location information (i.e., the location of the client device) in one of two ways. First, a client device may be adiqrted to detomine its geographic location from signals transmitted by a location system. For example, a client device may be equipped with hardware and/or software for calculating its position based on signals received fix)m Global Positioning Systran (GPS) satellites. GPS signals are provided by satellites based on a precise timeframe, and a client device knowing the timeframe may calculate its position from signals received from multiple GPS satellites based on the times the client device receives the signals. Techniques such as these are typically referred to as Time Delay of Arrival (TDOA) techniques. Second, cliait devices may infer relative positions from radio signals such as those propagated by wireless networks. For example, in the Institute of Electrical and Electronics Engineers' (IEEE) 802.11 standard for wireless local area networks (WLANs), and in proposed revisions to fbs standard such as 802.11k and 802.11V, a client device may infer its position relative to a wireless access point by monitoring the strength of signals recdved fiom a wireless access point to which it has established a connection. Because radio frequency signals degrade at a known rate as they propagate away from the device generating the signals, a clioit device receiving the signals may compare the received signal strraigOi (RSS) of the signal to its known original strength to infer how far die signal has traveled since generation.

SUMMARY OF INVENTION
As public wireless networks operated by companies and/or municipalities have grown in popularity and number, so has the desire for services that take advantage of a user's location and, therefore, the desire for a reliable form of location calculation for client devices. A clioit device seeking to interact with a service may calculate its location and provide the location to a location-based service such that sovices may be provided based on the location of the client device. In some embodiments of the invmtion, wireless access points in wireless networks may be ad^ted to broadcast location data indicating their own locations to all other wireless access points and client devices within range. Devices receiving the location data may use the received location data to detomine their own locations and may use the determined locations to access location-based sovices.
The client device may be configured to extract location data fiom control messages and/or announcemoit transmissions. The location data may be encoded in control messages or announcement transmissions that are made by the wireless access point, and may be processed by client devices not connected to a network through the wireless access point.

Layer 2 control messages, such as a beacon, may be used as control messages or announcement transmissions for this purpose. Location data may be encoded as one or more information elonents in a field defined as optional according to a standard fnotocol for sudi a message.

In one embodiment, there is provided a mediod oominising encoding in a wireless access point location data describing a physical location of the wireless access point and transmitting, from the wireless access point, at least one announcement transmission comprising the location data.
In another embodiment, there is provided a method of opoting a client device in a network environment comprising a plurality of wireless access points. In die network environment, at least a portion of the wireless access points are within range of the client device. The method comprises receiving at least one announcement transmission fix)m each wireless access point in the portion and reading location data fix)m each announcement transmission of the at least one announcement transmission from each wireless access point in the portion. The read location data describes a location of each wireless access point in the portion. The method further comprises calculating a calculated location of the client device based at least in part on the location data and providing an indicator of the calculated location to at least one consumer of location data.
In a fiirther embodiment, there is provided a clioiktevice comprising a neork interface and a processor. The network interface is adapted to receive at least one control message fix)m at least one wireless access point witiiin range of the client device, communicate a calculated location of the client device to at least one consumer of location data, and read location data fix>m each control message of the at least one control message fix)m eadi wireless access point of the at least one wireless access point within range of the client device. The location data read by the network interfiK» desoibes a location of each wireless access point. The processor is adapted to calculate a calculated location of the client device based at least in part on the location data read fitnn the at least one announcement transmission. BRIEF DESCRIPTION OF DRAWINGS

The accompanying drawings are not intended to be drawn to scale. In the drawings, each idoitical or nearly identical component that is illustrated in various figures is represoited by a like numeral. For purposes of clarity, not every component may be labeled in every drawing. In the drawings:

FIG. 1A is a diagram of an exemplary computer system in whidi embodimoits of the invention may act;
FIG. IB is a diagram of the exemplary o(»nputer system of FIG. lA blowing the range of wireless access points and how location data transmitted by wireless access points may be used to determine a location of a client device;
FIG. 2 is a flowchart of an illustrative process for transmitting location data fix>m a wireless access point which may be implemented in accordance with embodiments of the invention;
FIGs. 3A, 3B, 3C, and 3D are diagrams of ecemplary formats for mcoding location data for transmission, in accordance with embodiments of the invention;
FIG. 4 is a dia^wn of exemplary schemes for s^menting advertisement data for transmission to cheat devices, in accordance with one embodiment of the invention;
FIG. 5 is a flowchart of an illustrative process for calculating the location of a client device based on received location data which may be implemented in accordance witii one embodiment of the invention;
FIG. 6 is a diagram of an exonplary wireless access point with which onbodiments of the invention may act; and
FIG. 7 is a diagram of an exemplary client device with which embodimoits of the invention may act. DETAILED DESCRIFnON

As more and more electronic devices with mobile wireless Internet c^abilities have been introduced into the market, the demand for wireless Intonet access has soared. Responding to these demands, companies have introduced wireless netwoiics over large areas. Some wireless networks have been installed as wireless wide area networks (WWANs) operating according to, for example, celluiar tdej^ony protocols, while otho* have been installed as a network of wireless local area networics (WLANs). For example, companies such as Microsoft MSN, Google, and Eartfilink have installed city-wide WiFi WLAN networks in cities siwh as San Francisco, Phoenix, Plemented in the illustrative computer system shown in FIG. 1 A.
The computer system of FIG. 1A comprises a client device 100 in communication
with four wireless access points 102A, 102B, 102C, and I02D. The client device 100 may
be any suitable electronic device for receiving wireless signals, mobile or inmiobile, sudi as
a d^lctop or laptop personal computer, a personal digital assi^ant (PDA), or smart phone.
Each wireless access point 102A, 102B, 102C, and 102D may be any suitable wireless
signal generator g«ierating signals according to one or more wireless networking protocols.
For example, a wireless access point may be a WiFi access point operating according to the
IEEE 802.11 standard for WLANs, may be cellular-style wixdess access points oponting a
Wireless Wide Area Network (WWAN) according to any suitable WWAN protocol (e.g.,
tibe Global System for Mobile Conomunications (GSM)), perstmal area network (PAN)
protocols such as Bluetooth, otho: protocols such as the Woiidwide hiteroperability for
Microwave Access (WiMAX) protocol and the Ultra-wideband (UWB) protocol, or any
other suitable wireless protocol. The wireless access points may be operating according to
the same wireless protocol or may be operating according>to different wireless protocols. *
The client device 100 may or may not have a cramction open to one or more wireless access points 102A, 102B, 102C, and 102D, but is wiOin range of eadi of ttie wireless access points and is capable of receiving transmissions from the wireless access points. As shown in FIG. lA, each wireless access point 1Q2A, 102B, 102C, and 102D is associated with a data store 104A, 104B, 104C, and 104D storing information compising location data 106A, 106B, 106C, 106D. Data store 104A, 104B, 104C, and 104D maybe a part of a wireless access point (sudi as wireless access point 102A, 102B, 102C, or 102D) or a storage medium coupled to a wirdess access point in any sint^le manner.

Location data, as will be discussed in greater detail below, may be any suitable information indicating a location of the wireless access point, such as a latitude/longitude combination indicting a geographic location or a floor/room number indicating a location in a building. It should be appreciated that the location data may be any suitable infonnation stored in any suitable manner in a data store, as embodiments of the invention are not limited in this reganl.

In some embodiments of the invention, client device 100 may be adaptod to detemiine its location fiom location data transmitted by eadi of the wireless access points 102 A, 102B, 102C, and 102D. In one such embodiment of the invention, using the location data provided by the wireless access points indicating a position of each of the wireless access points, the client device 100 may be configured to infer its position in a space. This detamination may be made in any suitable manner.

For example, a client device 100 may determine an intersection of tiiie broadcast area of each wireless access point of which it is within range and infer tihe location of the intersection based on the location data. FIG. IB shows the ranges 108A, 108B, 108C, and 108D of each of the wireless access points 102A, 102B, 102C, and 102D along with the intersection of the ranges 110. Clearly, if the client device 100 is within communicative range of each of the wireless access points, then the client device 100 is within ibe area indicated as the intersection of the ranges 110. The clioit device 100 may th^ knowing the locations and ranges of each of the wireless access points 102A, 102B, 102C, and 102D, use any suitable technique, sudi as well-known techniques, to determine the location of the intersection 110 of tiie ranges and tiierefore detennme its location.

As a further example of techniques whidi may be implonented by embodiments of fhc invention to determine a client device's location firom signals received by the client device fix)m a wireless access point, a client device 100 may be adapted to accept as its position the location of a wireless access point as contained in the announcement transmission received fit>m the wireless access point For example, a clioit device 100 within range of wireless access point 102A may use as its own location the location data encoded in wireless access point 102A, transmitted by wireless access point 1Q2A, and received by client device 100. If a client device 100 open^g according to this exan^le is within range of multiple wireless access points, then the client device may select any wireless access point within range, or may choose Hae wireless access point having the strongest signal as detected by the client device 100. As a finrthar example, in some embodiments of the invention the cHent device 100 may be adapted to perform any suitable calculation on the location data received, such as averaging the locatim the wireless access points, to determine the location of the clioit device. In some embodiments of the invention, the calculation may be an average of the location data received from the wireless access points weighted according to the strength of the signals received from the wireless access points.

It should be appreciated that embodiments of the invention may transmit location data in any suitable manner, and that client devices may use received location data to determine their location in any suitable manner, as embodiments of the invention are not limited in these respects.

Regardless of the specific mechanism used by client 100 to determine its location, the identified location may be provided to one or more consumers of location data, that may be either internal or external to client 100. In the embodiments of FIG. lA, a server 160 may act as a consumer of location information. As illustrated, server 160 may be coupled to networic 150. Thougji client 100 need not establish a connection through any access point 102A, 102B, 102C, or 102D to obtain location data, client 100 may establish a networic comiection for other reasons—^including conmnmicating with servCT 160 or other networic devices. Accordingly, an agent within client 100 may initiate a connection or use an existing connection to provide location information to server 160. Server 160 may respond with location-specific information, such as a map of the area in which the client device 100 is located, a listing of businesses near the client device 100, or any o&er suitable location-specific information.

FIG. 2 shows a flowchart of an illustrative process 200 for operating a wireless access point sudi as wireless access points in accordance with one embodiment of the invention. It should be appreciated that embodiments of the invoition are not limited to implementing the illustrative process 200, and may implement any suitable process for opefating a wireless access point.

Process 200 begins in block 202, wherein a location of the wirdess access point is specified. As discussed above, the specified location of the wireless access point may be a geographic location, such as a latitude/longitude combination or a irtreet address of building in which or near which the wireless access point is installed, may be a location within a building, such as a floor and/or room number of a stpace in which fbc wireless access point is installed in a building, or may be any otiier suitable indicator of a physical location of a wireless access point. The physical location of a wireless access point may be a single type of location, at may be multifile types of i^ysical locations (i.e., the aped&cd location may be both a geognq>hic location and a location within a building).

In seme embodiments of the invention, the location data specified in block 202 may be entered by a usor of the wireless access point, such as an administrator of the wireless access point and/or an administrator of a network to which the wireless access point is connected. As is discussed in greater detaa below in conjunction with FIG. 5, in some such embodiments a wireless access point may comprise a user intwface by which a user may spedfy the location. In alternative embodiments of the invention, a wireless access point operating in accordance with some embodiments of the invention may be adapted to detect its physical location. This detection may be carried out in any suitable manner. For example, a wireless access point may comprise hardware and/or software that may be used to intoact with one or more location systems, such as the GPS location system discussed above, and thus determine its location based on signals received fix)m the one or more location systons. Alternatively, a wireless access point may be adapted to determine its location based on location data received fix)m other, nearby wireless access points. A wireless access point may determine its location from location data received from other wireless access points in any suitable manner, such as by the exemplary techniqiies discussed below or by any other technique.

Once a physical location of the wireless access point has been specified in block 202, data indicating the physical location is encoded in the wireless access point in block 204. The location data may be encoded in a wireless access point in any suitable format on any suitable storage medium, as embodiments of die invention are not limited in flus respect For example, the location data may be stored on a storage medium 104 as s^own in FIG. lA, which may be a part of a wireless access point 102 or may be communicativdy coupled to a wireless access point 102. The location data may be alphanumeric data which was specified in block 202 (eitho* entered by a user, retrieved fixim another wireless access point, or determined fix>m signals retrieved from otho' wireless access points or a location service) or may be any data related to the location specified in block 202.

Encoded location data may thai be transmitted by the wireless access point in block 206. As discussed above, the location data may be trananitted from the wireless access point in any suitable manner. In some embodiments offbe invention, the location data may be transmitted by the wireless access point as a portion of an aimouncement transmission which is transmitted by the wireless access point. An announcement transmission may be a beacon which is periodically broadcast from the wirelras access point to be received by all devices within range of the wireless access point (e.g„ oth« wireless access points aikl client devices) or may be a response to a probe request rec^ved by ibc wirdess access point fix>m a device requesting infmmation about the wireless access point An announcement transmission in any form may be transmitted to devices whidi have an open coimection to the wireless access point, are establishing a connection to the wireless access point, or are not connected to the wireless access point.

It should be appreciated that while, for clarity, embodiments of the invention may be described below as receiving the location data transmitted by the wireless access point as part of a beacon transmission, embodiments of the invention are not limited to tnmsmitting or receiving location data as part of a beacon transmission and may transmit/receive location data to and fix>m a wireless access point in any suitable manna.
In embodiments of the invention transmitting location data as a portion of an announcement transmission, the location data may be transmitted in any suitable manner. FIGs. 3 A-3D show exemplary techniques for transmitting location data as part of an IEEE 802.11 beacon transmission. It should be appreciated that embodiments of the invoition may operate according to any suitable protocol and are not limited to operating in accordance with the IEEE 802.11 protocol. Additionally, embodiments of the invoition which are implemented to operate with the IEEE S02A1 protocol are not limited to implementing the exemplary techniques shown in FIGs. 3A-3D and may implement any suitable technique.

According to the IEEE 802.11 standard, a beacon has an options field in which an "mformation element** may be inserted without deviating fix>m the 802.11 protocol. In the embodiment illustrated in FIG. 3A, location data is transmitted as an information elonmt FIG. 3A shows one possible arrangement for location data in a beacon transmission encoded within an IEEE 802.11 Information Element (IE) 300A. In accordance with the IEEE 802.11 standard, IE 300A comprises an EB identifier (IE ID) 302, which is one byte indicating the particular type of IE, an IE loigth 304, which is one byte indicating the amount of data included in the IE 300A, and an Organization Unique Identifio- (QUI) 306, which is three bytes indicating a particular company which is goierating tiie data contained in the IE 300A. In some embodiments of the invention, the IE ID 302 may have a value of 221 and the GUI may be assigned a value of "00-5(X-F2,*' whidi indicates the IE 300A has been generated by the Microsoft Corporation of Redmond, Wadiington. hi accordance with the IEEE 802.11 standard, the IE 300A further conq>rises a pa^oad. In the example of FIG. 3 A, the payload of IE 300A comprises an GUI Type 308, further indicating the type of the IE 300A which may have a value of 6 indicating that it is an IE associated with Microsoft's Proximity Service Discovery technology. The pajload of IE 300A fiirtiier conqnises a Namespace 310, which may be a textual indicator of the technology used to goierate the IE

300A (e.g., a unifonn resource identifier (URI) for the technology) or, to make the pajdoad smaller, a value related to a textual indicator (e.g„ a hash value for the URI).
hi the example of FIG. 3A, the payload of IE 300A further comprises at least one of a combination of a type 312 and a value 314. The one-byte type 312 may indicate the type of the location data included in the value field 314. The type 312 and value 314 fields may store any suitable value, as the invention is not limited in this respect FIG. 3B shows examples of ways in which physical location data that may be encoded in the value field 314 of the IE 300A. If the type field 312 holds a hexadecimal value of 0x1, for example, then the value field 314 may be a LatLong field 320 storing two four-byte float numbers indicating a latitude and longitude of the wireless access point. The latitude value may be a decimal value ranging fix)m -90 to +90, while longitude may be a decimal value ranging fiwm -180 and +180, with, for example, at least five significant digits after the decimal point Alternatively, if the type 312 is a hexadecimal value 0x2, then &e value field may hold an Altihide 322 value, where the value may be a two-byte short integer indicating the wireless access point's altitude relative to sea levd in meters. Lastly, if the type 312 is a value of 0x3, then the value field 314 may store an oror value 324 as, for example, a two-byte short integer value indicating an estimate, in meters, of the radius of an error circle around the wireless access point
In some embodiments of the invention, an informaticm elonent transmitted by a wireless access point may have a slightly different payload than tfiat shown in the example of FIG. 3A. FIG. 3C shows a structure for an IE 300C having the same fields 302-312 and 314 as the IE 300A of FIG. 3A, but having an additional field 316 indicating a length of the value field 314. Transmitting the length of the value field 316 may be advantageous in situations where, for example, the value 314 is of a non-standaid length. For mample, while the lengths of fidds LatLong 320, Altitude 322, and Error 324 of FIG. 3B may be known in advance because they are established standards, FIG. 3D shows examples of values that may be stored in value 314 which may not have lengths known in advance. For exeaaple, if the type 312 is a hexadecimal value 0x81, then the value 314 may be a Floor Name 330 which may store up to 16 bytes of trat (e.g., as a wide char string). Because there exists per se no standard for naming floors, the value and Imgth of Flow Name 330 may vary fit)m wireless access point to wireless access point and, as sudi, the IE 300B may have a Length 316 field. Additionally, if the type 312 is 0x82, then the value 314 may be a Room Name 332 which may similarly store up to 24 bytes of text (e.g., as a wide diar string). Lastly, if the type 312 is 0x83, then the value 312 may be Meta Data 334 storing up to 64 bytes of any

type of information in any format, as may be set, for example, by an administrator of a wireless access point
As discussed above, a wirdess access point 102 is not limited to storing and transmitting a single type of location data, as embodiments of the invention may implement wireless access points storing and transmitting two or more types of location data. For example, a wireless access point may store both a geogrq>hic location (e.g., latitude and longitude) and a location in a building (e.g., a floor and/or room name). Wireless access points which are adapted to store and transmit multiple types of location data may do so in any suitable manner. Exemplary formats for transmitting multiple types of location data are shown in FIG. 4. It should be {Appreciated that embodimmts of the invention which transmit multiple types of location data may do so in any suitable manner and are not limited to unplementing the exemplary techniques shown in FIG. 4.
As shown in FIG. 4, in accordance with some embodimoits of the invention location data stored by a wireless access point 102 may be segmented into multiple information elements (lEs) (e.g., lEi). These lEs may be any suitable structure for transmitting location data, such as the exemplary IE formats discussed above in conjunction with FIGs. 3A-3D. In some embodiments of the invention, the location data, once segpiented into multiple lEs, may then be combined into a single beacon comprising multiple lEs (e.g., beacon 1). The collection of lEs may then be transmitted in the sin^e beacon fimn die wireless access point for receipt by other devices (e.g., client devices and otto* wireless access points) within range of the wireless access point. Alternatively, each IE containing a type of location data (e.g., IE]) may be transmitted by a sq>arate beacon (e.g., beacon 1, beacon 2, beacon n).
In some embodiments of the invention, location data may be segmented into multiple lEs and transmitted in one or more beacons. For exampie^ a wireless access pcnnt 102 storing a street address as location data may require man data to completely identify its street address than may be stcned in a single value field of an information elemoit (e.g., meta data field 334). In such onbodiments, the location data may be segmented into multiple information elements, and the payloads of die lEs adiQrted to comprise indicators of the number of lEs into which the location data has been segmented and the particular order of lEs in the sequence of lEs storing the location data (i.e., that the IE is the sectmd of three lEs) such that a device recdving the lEs fixnn the wirdess access point transmitting the location data may be informed that the segmentation has occurred and that the (tevice requires multiple lEs before the device will have MLy recdved the location data.

It should be appreciated that whUe FIGs. 3 A-3D and 4 illustrate transmitted location data in terms of ffiEE 802.11 beacon transmissions and infonnation elements, embodiments of the invention are not limited to being implemented in ffiEE 802.11 networks and are not limited to transmitting location data in the information elemoits described by the ffiEE 802.11 protocol or any other information element. Embodiments of the invention may operate on any suitable protocol and may transmit any suitable type or types of locaticm data in any suitable manner.
Location data transmitted by a wireless access point 102 may be received by other devices, including client devices and other wireless access points. The other devices may then determine their own positions based at least in part of fhe received location data. This determination may be made in any suitable manner, as embodiments of the invention are not limited in this respect. FIG. 5 shows an exemplary process 500 whidi may be implemented by devices in accordance with some embodimoits of the invention, but it should be appreciated that embodiments of the invention may not implemoit the exemplary process 500 and may implement any other suitable technique for determining a location of the device.
Process 500 begins in block 502, wherein the device (e.g., a client device such as a l^top personal computer or PDA, or another wireless access point) monitors transmissions fivm wireless access points within range of the device. A wireless access point may be within range of the device, for example, when transmissions soit fiom the wireless access point may be received by the device at sufficient quality for information encoded in the transmissions to be extracted by the device. In the ffiEE 802.11 standard, for example, wirel^s access points are typically within range of the device if the wireless access points are within 100 m^ers of the device.
Block 502 may comprise receiving transmissions fixnn wireless access points to which the device has established a connection m all wireless access points within range, whetho: or not the clioit has established a connection to a wireless access point, hi some embodimoits of the invention, block 502 may comprise transmitting from the device to all wireless access points within range a probe request indicating that wireless access points receiving the probe request should respond with infonnation about the wireless access points, including &e locaticm data stored by the wireless access points.
Once the device has received transmissions from one or more wirdess access points within range in block 502, then in block 504 the location data of tiie wireless access points

is read fix)m the transmissions. In some embodiments of the invmtion, this may comprise reading fixim the transmissions information elements storing tiie location data, such as &e information dements (lEs) discussed above in conjunction with FIGs. 3A-3D and 4. Though, it should be qjpredated that embodiments of the invention may read fiom transnissions location data stored in any suitable manna*.
The location data ftom the transmissions received by the device may then be processed in block 506 to determine a location for the device. This determination may be made in any suitable manner, such as the exemplary techniques discussed above in conjimction with FIG. IB. For example the device may determine ftom the transmissions a location of eadi of the wirieless access points within range of the device. The device may then determine a communicative range of each of the wireless access points (i.e., a probable maximimi distance a signal generated by the wireless access point will propagate, such as approximately 100 meters for IEEE 802.11). An intersection of the ranges of the wireless access points may thm be determined (shown in FIG. IB as intersection 110), and an estimated location of Has intersection of ranges may then be determined based on Hie ranges and locations of the various wireless access points. If a device has only received location data fiom a single wireless access point, then the intersection of the ranges may be the full range of the single wireless access point The device may thai assume its own location to be within Hxe intersection of the ranges. As it is depoident on the placement of wireless access points and ranges of the wireless access points, the intersection of ranges may be an area of any size, ftom a very large area (a square mile or a few city blodcs) to a very small area (a few feet square). In some embodiments of the invention, thai, a device may improve its estimated location by performing any suitable analysis on the signals received ftom one or more wireless access points, such as Recaved Signal Strength (RSS) tedmiques adapted to estimate a device's distance ftom one or more particular wiidess Kcess points and may &en use &e estimate(s) to narrow Has intersection of ranges. It should be appredated, howevo-, that anbodiments of the invention whidi determine a ^vice's location fitnn an intersection of wireless access point ranges are not limited to perfoiming any act or acts to improve the estimation of the device's location, and may instead rdy on the estimate yielded by the intersection of ranges.
It should be appredated that, in some embodiments of the invention, determining a location of Uie device may com^se determining multiple locatkns of the device. For example, if tfie device is within range of wireless access points transmitting multiple types of location data (e.g., geographic location data and data desoibing location within a

building), then the device may be adapted to determine a location for the device based on each of the types of data received from the wireless access points. Thus, tfie detomination of block 504 may conqnise making multiple, separate (tetoininations, such as a detmnination of geographic location of the device aiul a determination of the device's position within a building. Embodiments of the invention, however, may not be adapted to determine multiple locations of the device and may instead detomine a single location of the device based on location data provided by wireless access points.
Once a device has determined its location (or an estimate thereof) in block 506, the location may, in some embodiments of the invoition, be provided to one or more consumers of location data in block 508. For wireless access points, a c(msumer of location data may be the storage medium 104 storing the location of the vmeless access point for transmission to other devices. For client devices, location data may provided to a consumer througli a service, or the consumer may be an agent or other software component that provides location data to a service that provides information or othar sovices to a client based on tfie client's location. For example, nuking software may use the location of the client device to provide a laap of the area in whidi the client device is. Consumers of location data for clioit devices may additionally or alternatively be software adq>tod to provide a user of a client device with information rearding his or her surroundings, such as descriptimis of nearby businesses or services (e.g., rwtaurants by whidi a user may be walking). In some embodiments of the invention, the consumers of location data may be disposed on the client device, while in other embodiments of the invention the consumos of location data maybe located in whole or in part on another device to which the client device may communicatively couple. For example, the client device may provide a server widi tfie location of the client device, and the server may use the locatimi to provide a user witfi advertisements related to his or her location.
It should be appreciated that embodiments of ^ invention are not limited to implementing the exemplary process 500 shown in FIG. 5, and that embodimoits of tlw invration may implement any oibsr suitable process for determining a location based on location data received from one or more wireless access pcnnts.
The aspects of the presmt invention desaibed heron may be implemented on any of numerous computer system configurations and are not limited to any particular type of configuration. FIGs. 6-7 show various computer systons in which onbodimaits of the invention may act, though others are possible. It should be ^spreciated that FIGs. 6-7 are intended to be neither a depiction of necessary components for a computing device to

operate as a wireless access point or client device with embodiments of the invention, nor a comprdiemive depiction.
FIG. 6 shows an illustrative wireless access point 102 (wfaidi may be any of wireless access points 102A, 1Q2B, 102C, and 102D) which may be implemented as a wireless access point in accordance with embodiments of the invoition. Wireless access point 102 comprises a processor 602, a network adapter 604, and c(Hnputer-readable media 606. Network adapter 604 may be any suitable hardware and/or software to enable the wireless access point 102 to commimicate with any other suitable computing device over any suitable computing network. The computing network may be any suitable wired and/or wireless communication medium or media for exchanging data betweoi two or more computers, including the Internet. For example, the computing netwoik may be, at least in part, a wireless network opo^ting according to any suitable wireless networidng protocol, such as IEEE 802.11, GSM, Bluetooth, WiMAX, UWB, and/or any other suitable protocol. In some embodiments of the invention, wireless access point 102 may comprise two network adapters 604 to enable the wireless access point 1(^ to communicate with a wired computing netwoik and a wireless computing network, and exchange data betweoi the two. Computer-readable media 606 may be ad^ted to store data to be processed and/or instructions to be executed by processor 602. Processor 602 may process data and execute instructions. The data and instructions may be stored on ihe computovreadable media 606 and may, for example, enable communication between components of tiie wireless access point 102.
In accordance with some embodiments of the invention, the data and instructions stored on computer-readable media 606 may comprise access point firmwue 608, which may be software executed by tiie processor 602 instructing the wireless access point 102 to perform any suitable function, such as retrieving location data fiom a data store for transmission, encoding the location data in a control trananission, and genotiting a control transmission. The computer-readable media 806 may furtiber store location data 610. The location data 610 may be any suitable data descrilnng a location of tiie wireless access point, and may be stored in any suitable format For manq>le, location data may be a latitude/longitude pair describing a geographic location of the wireless access point 102, or may be a floor and/or room name describing a location of the wireless access point 102 within a building. The location data may be encoded by an administratcH- of tiie wireless access point or may be retrieved from any othar suitable source, such as from a location system such as GPS or from another wireless access point within range of the wireless

access point 102. In some embodiments of the invention, location data 610 may be any combination of two or more types of location data. Further, computer-readable media 606 may, in some embodiments of the invention, comprise a user interface 612 fiw a user and/or administrator of a wireless access point 102 to specify a locatira of the wireless access point 102. The user inter&ce 612 may be any suitable inter&ce, including any suitable gr^hical or textual interface to be di^layed to a user, or any suitable sofbvaie receiving input values finm any other suitable user interface (e.g., a keypad on the wireless tuxess point 102).
FIG. 7 shows an exemplary client device 100. As discussed above, any suitable computing device, mobile or immobile, may be used as a client device 100 in accordance with embodiments of the invention. Client device 100 may be a computing device designed for multiple purposes and for use by a user, such as a draktop personal computer, a li^top personal computer, a serveCy a personal digital assistant (FDA), a anart/mobile telephone, or any other suitable electronic device. Alternatively, client device 100 may be any computing device not intended for typical use by a user or intoided for a single purpose or lunited purposes, such as a servo:, a radc-mounted netwoiking device or a standalone networking device such as a switch, hub, router, access point, hardware firewall, or any otho* suitable electronic device.
Client device 100 comprises a processor 702, a nirtwcnk ad^>ter 704, and computa-readable media 708. Netwoik adapto- 704 may be any suitable haidware and/or software to enable the client device 100 to communicate with any other suitable computing device over any suitable conq>uting netwoik. The computing networic may be any suitable wired and/or wireless communication medium or media for exchanging data between two or more computers, including the Internet For example, the computing netwoik may be, at least in part, a wireless netwoik opoating according to any suitable wirdess netwoiidng protocol, such as IEEE 802.11, GSM, Bluetooth, WiMAX, UWB, and/or any other suitable protocol. Netwoik »iapter 704 may fiirthar cominise an Application Progmmner Interface (API) 706 to enable intoaction between the netwoik adq>ter 704 and qipUcations executing on the client device 100. API 706 may provide executable functions to qjplications on the client device 100 sudi that the applications may request that netwoik adapter 704 begin monitoring for transmissions fixnn wireless access points, provide location data fipom trananissions, or any other suitable function. Computer-readabte media 706 may be ad^rted to store data to be processed and/or instructions to be executed by jnocessor 702. ProcesscM' 702 enables processing of data aiul execution of instructions. The data ai^ instructions may

be stored on the computer-readable media 706 and may, for example, enable communication between components of the client device 100.
In accordance with some embodiments of the invention, the data and instructions stored on computer-readable media 708 may comprise software 710 to calculate a location of the client device 100. Software 710 may be any suitable software to calculate a location of the client device 100 according to any of the techniques described above or in any otho: suitable manner. Software 710 may, in some embodiments of the invention, be adi^ted to control network adapter 704 using the API 706 to monitor and read location data ftom transmissions of wireless access points, or monitor and read other parameters of transmissions received ftom wireless access points (e.g., received signal stroigth (RSS)). In some embodimoits of the invention, software to calculate location 710 may be implemoited as a software component of netwoik adapter 704, such that the data ou^ut by API 706 of network adapter 704 may be die location of the client device 100 and not location data received ftom wireless access points.
Computer-readable media 708 may, in some embodimoits of the invention, fiirftier comprise computer-executable instructions that implement software componoits acting as one or more consumers of location data 712. Qinsiimas of location data 712 may be any suitable software to provide information to a client device and/or a user of the client device based on a location of &e clioit device. In some onbodimeats of the inventicHi, the consumer of location data 712 on the client device 100 may be a portion of a consumer of location data, and the consumer of location data 712 may be adi^ted to communicate with other client devices and/or sorvers through netwoik adq)tar 704 to retrieve data for use in determining a service and/or information to provide to client device 100. Consumor of location data 712 may be adtqptod to use API 706 to retrieve a location of the device fiom n^woric adapter 704 and/or may be adapted to interact wifti software 710 whidi calculates die location of the client device aiKi which may provide dM location to the coDsama of location data 710.
The above-described onbodiments of the preseit inventi(ni can be implemented in any of numerous ways. For example, the embodimrats may be implemented using hardware, software or a combination thereof When implemented in software, the software code can be executed on any suitable processor or collection of processcns, wiwdier provided in a single computer or distributed among multiple conqntters.
Further, it should be apin^ated that a computer may be onbodied in my of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop ccnnputer.

or a tablet computer. Additionally, a computer may be embedded in a device not goiendly regarded as a computer but witii suitable processing cq>abilities, including a Penonal Digital Assistant (PDA), a smart phone or any other suitable portable or fixed electionic device.
Also, a computer may have one or more input and output devices. These devices can be used, among other things, to present a user inter&ce. Examples of ou^ut devices that can be used to provide a user interface include printers or display so'eens for visual presentation of output and speakers or otho- sound geno^ting devices for aidible presentation of output. Examples of input devices that can be used for a user interface including keyboards, and pointing devices, such as mice, touch pads, and digitizing tables. As another example, a computer may receive input information through speech recognition or in otho- audible format.
Such computers may be interconnected by one or more networks in any suitable form, including as a local area network or a wide area network, such as an enterprise networic or the hitonet Such networics may be based on any suitable technology and may operate according to any suitable protocol and may include wireless n^woiks, wired networks or fiber optic networks.
Also, the various methods or methods outlined herdn may be coded as software that is executable on one or more process(»s that employ any one of a variety of opoating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or conventional programming or scripting tools, and also may be compiled as ececutable machine language code or intomediate code that is executed on a fi-amework or virtual machine.
In this respect, the invention may be embodied as a computer readable medium (or multiple computer readable media) (e.g., a «nnpiiter monory, one or more floppy discs, compact discs, optical discs, magnetic tapes, flash monories, circuit configurations in Field Programmable Gate Arrays or other soniconductor devices, etc.) encoded with one or more programs that, whoa executed on one or more computers or other processors, perform methods that implement the various embodimoits of the invention discussed above. The computer readable medium or media can be transportable, such fliat the program or programs stored thereon can be loaded onto one or more different conqniters or other processors to implement various aspects of the jxresent invention as discu^ed tboye.
The terms "program" or "software" are used herein in a genoic saise to refer to any type of computer code or set of computa--executable instructions that can be employed to

program a computer or other processor to implement various aspects of the present invention as discussed above. Additionally, it should be ^>predated that according to one aspect of this onbodiment, one or more computer programs that what executed perform methods of the present invention need not reside on a single conqnito- OT processor, but may be distributed in a modular fashion amongst a number of different computers or processors to implement various aspects of the present invention.
Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various onbodiments.
Various aspects of the present invention may be used alone, in combination, or in a variety of arrangements not specifically discussed in die embodiments described in the foregoing and is therefore not limited in its application to the details and arrangement of components set forth in the foregoing description or illustrated in the drawings. For exanq>le, aspects described in one embodiment may be combined in any mannor with aspects described in other embodim«its.
Use of ordinal terms such as "first," "second," "third," etc., in the claims to modify a claim elemoit does not by itself connote any priority, precedoic^ or order of one claim elemoit over another or the temporal order in which acts of a m^ihod are poformed, but are used merely as labels to distinguish one claim element having a certain name fix)m another elemmt having a same name (but for use of the ordinal torn) to distinguish the claim elements.
Also, ibc phraseology and terminology used herein is for ^ purpose of description and should not be regarded as limiting. The use of "including," "comprising," or "having," "containing," "involving," and variations thereof herein, is taeaat to mcompass the itons listed thereafter and equivaloits thereof as well as additional items.
Having thus described several aspects of at least one onbodimait of this invention, it is to be iQ^ineciated that various alterations, modifications, and in^nnvements will readily occur to those skilled in the art Such alterations, modificaticms, and improvements are intended to be part of this disclosure, and are intended to be wittdn the spirit and scope of the invention. Accordingly, the ffnregoing dfoiption and drawings are by way of exanq>le only.

I/We Claim:

1. A method consisting:
encoding in a wireless access point location data describing a physical location of the wireless access point; and
transmitting, from the wireless access point, at least one announcement transmission comprising the location data.

2. The method of claim 1, wherein the at least one announcement transmission is at least one control message transmitted by the wireless access point, each of the at least one control message comprising network characteristics enabling a client device receiving the control message to open a connection to the wireless access point.

3. The method of claim 2, wherein the at least one control message is at least one beacon transmission periodically transmitted by the wireless access point, and wherein the at least one beacon is formatted according to a standard defining at least one field separate from the network characteristics, and wherein the location data is transmitted in &e at least one beacon as one or more information elements in the field.

4. The method of claim 1, further comprising the act of determining the location data, the act of determining comprising:
receiving, with the wireless access point, at least one announcement transmission fix)m at least one other wireless access point, the at least one announcement transmission fix>m the at least one other wireless access point comprising an indication of the location of the at least one other wireless access point; and
calculating a location of the wireless access point based on the indication of the location of the at least one other wireless access point

5. The method of claim 1, further comprising the act of determining the
location data, the act of determining comprising:
receiving signals from a global positioning system; and
calculating a location of the wireless access point based on the signals received from the global positioning system.

6. The method of claim 1, wherein the location data comprises a latitude and a
longitude of the wireless access point.

7. The method of claim 1, wherein transmitting at least one announcement transmission comprising the location data comprises segmenting location data into a plurality of parts and transmitting one or more parts of die plurality of parts location data in each of a plurality of announcement transmissions.

8. A method of operating a client device in a network environment comprising a plurality of wireless access points, at least a portion of the wireless access points being within range of die client device, the method comprising:
receiving at least one announcement transmission from each wireless access point in the portion;
reading location data from each announcement transmission of the at least one announcement transmission from each wireless access point in die portion, the location data describing a location of each wireless access point in the portion;
calculating a calculated location of the client device based at least in part on the location data; and
providing an indicate of the calculated location to at least one consumer of location data.

9. The method of claim 8, wherein the at least one announcement message is at least one control message transmitted by the wireless access point, each of die at least one control message comprising a layer 2 network protocol control message.

10. The method of claim 9, wherein the at least one announcement transmission is at least one probe response transmitted by the wireless access point, and wherein the at least one probe response is formatted according to a standard defining at least one field separate from the network characteristics, and herein the location data is transmitted in die at least one probe response as one or more information elements in the field.

11. The method of claim 8, wherein die at least one consumer of location data is at least one application adapted to obtain information provided by entities near the calculated location and provide the information to the client device.

12. The method of claim 12, wherein the entities near: the calculated location comprise businesses and the information provided to the client device comprises at least one advertisement for at least one business near the calculated location.

13. The method of claim 8, wherein the at least one consumer of location data is
at least one application adapted to provide a map of an area of the calculated location and/or
provide routing information comprising directions to another location.

14. The method of claim 8, further comprising acts of:
repeating the acts of receiving and reading; and
refining the calculated location of the client device based at least in part on location data received and read in the act of repeating.

15. A client device comprising:
a network interface adapted to:
receive at least one control message from at least one wireless access point within range of the client device,
communicate a calculated location of the client device to at least one consumer of location data, and
read location data fit)m each control message of the at least one control message from each wireless access point of the at least one wireless access point within range of the client device, the location data describing a location of each wireless access point; and
a processor adapted to calculate the calculated location of the client device based at least in part on the location data read from the at least one control message.
16. The client device of claim 15, wherein the at least one consumer of location data is at least one agent adapted to access a service hosted by a server, the agent being adapted to obtain information from the server relating to entities near the calculated location of the client device.

17. The client device of claim IS, wherein the network interface is adapted to receive the at least one control message from at least one wireless access point to which the client device is not connected.

18. The client device of claim IS, wherein the at least one control message is a probe response message transmitted by the wireless access point

19. The client device of claim 15, wherein the at least one control message is at
least one beacon transmission periodically transmitted by die wireless access point, and
wherein the at least one beacon is formatted according to a standard defining at least one
field separate from the network characteristics, and wherein the location data is transmitted
in the at least one beacon as one or more information elements in the field.

20. The client device of claim 19, wherein the location data is transmitted in the
at least one beacon by the at least one wireless access point as one or more information
elements of the at least one beacon.

Documents

Application Documents

# Name Date
1 abs 2140-chenp-2010 abstract 15-04-2010.jpg 2010-04-15
2 2140-chenp-2010 correspondence others 15-04-2010.pdf 2010-04-15
3 2140-chenp-2010 claims 15-04-2010.pdf 2010-04-15
4 2140-chenp-2010 power of attorney 15-04-2010.pdf 2010-04-15
5 2140-chenp-2010 description(complete) 15-04-2010.pdf 2010-04-15
6 2140-chenp-2010 abstract 15-04-2010.pdf 2010-04-15
7 2140-chenp-2010 form-5 15-04-2010.pdf 2010-04-15
8 2140-chenp-2010 form-3 15-04-2010.pdf 2010-04-15
9 2140-chenp-2010 form-1 15-04-2010.pdf 2010-04-15
10 2140-chenp-2010 pct search report 15-04-2010.pdf 2010-04-15
11 2140-chenp-2010 pct 15-04-2010.pdf 2010-04-15
12 2140-chenp-2010 drawings 15-04-2010.pdf 2010-04-15
13 2140-chenp-2010 form-2 15-04-2010.pdf 2010-04-15
14 2140-chenp-2010 form-3 12-10-2010.pdf 2010-10-12
15 2140-CHENP-2010 FORM-18 04-10-2011.pdf 2011-10-04
16 2140-CHENP-2010 CORRESPONDENCE OTHERS 04-10-2011.pdf 2011-10-04
17 2140-CHENP-2010 FORM-6 25-02-2015.pdf 2015-02-25
18 MTL-GPOA - KONPAL.pdf ONLINE 2015-03-05
19 MS to MTL Assignment.pdf ONLINE 2015-03-05
20 FORM-6-1301-1400(KONPAL).70.pdf ONLINE 2015-03-05
21 MTL-GPOA - KONPAL.pdf 2015-03-13
22 MS to MTL Assignment.pdf 2015-03-13
23 FORM-6-1301-1400(KONPAL).70.pdf 2015-03-13
24 2140-CHENP-2010-Form 3-100516.pdf 2016-05-11
25 2140-CHENP-2010-Correspondence-Form 3-100516.pdf 2016-05-11
26 2140-CHENP-2010-FER.pdf 2017-10-31
27 2140-CHENP-2010-DUPLICATE-FER-2017-11-03-14-27-36.pdf 2017-11-03
28 2140-CHENP-2010-RELEVANT DOCUMENTS [25-04-2018(online)].pdf 2018-04-25
29 2140-CHENP-2010-PETITION UNDER RULE 137 [25-04-2018(online)].pdf 2018-04-25
30 2140-CHENP-2010-OTHERS [27-04-2018(online)].pdf 2018-04-27
31 2140-CHENP-2010-FER_SER_REPLY [27-04-2018(online)].pdf 2018-04-27
32 2140-CHENP-2010-COMPLETESPECIFICATION [27-04-2018(online)].pdf 2018-04-27
33 2140-CHENP-2010-CLAIMS [27-04-2018(online)].pdf 2018-04-27
34 2140-CHENP-2010-Correspondence to notify the Controller [10-08-2021(online)].pdf 2021-08-10
35 2140-CHENP-2010-Written submissions and relevant documents [01-09-2021(online)].pdf 2021-09-01
36 2140-CHENP-2010-Response to office action [01-09-2021(online)].pdf 2021-09-01
37 2140-CHENP-2010-FORM 3 [01-09-2021(online)].pdf 2021-09-01
38 2140-CHENP-2010-US(14)-HearingNotice-(HearingDate-17-08-2021).pdf 2021-10-03
39 2140-CHENP-2010-US(14)-ExtendedHearingNotice-(HearingDate-01-06-2022).pdf 2022-04-04
40 2140-CHENP-2010-Correspondence to notify the Controller [06-04-2022(online)].pdf 2022-04-06
41 2140-CHENP-2010-Written submissions and relevant documents [16-06-2022(online)].pdf 2022-06-16
42 2140-CHENP-2010-PatentCertificate02-12-2022.pdf 2022-12-02
43 2140-CHENP-2010-IntimationOfGrant02-12-2022.pdf 2022-12-02
44 2140-CHENP-2010-FORM-27 [12-09-2025(online)].pdf 2025-09-12

Search Strategy

1 searchstrategy_11-10-2017.pdf

ERegister / Renewals

3rd: 03 Feb 2023

From 23/09/2010 - To 23/09/2011

4th: 03 Feb 2023

From 23/09/2011 - To 23/09/2012

5th: 03 Feb 2023

From 23/09/2012 - To 23/09/2013

6th: 03 Feb 2023

From 23/09/2013 - To 23/09/2014

7th: 03 Feb 2023

From 23/09/2014 - To 23/09/2015

8th: 03 Feb 2023

From 23/09/2015 - To 23/09/2016

9th: 03 Feb 2023

From 23/09/2016 - To 23/09/2017

10th: 03 Feb 2023

From 23/09/2017 - To 23/09/2018

11th: 03 Feb 2023

From 23/09/2018 - To 23/09/2019

12th: 03 Feb 2023

From 23/09/2019 - To 23/09/2020

13th: 03 Feb 2023

From 23/09/2020 - To 23/09/2021

14th: 03 Feb 2023

From 23/09/2021 - To 23/09/2022

15th: 03 Feb 2023

From 23/09/2022 - To 23/09/2023

16th: 03 Feb 2023

From 23/09/2023 - To 23/09/2024