Claims
- 1. A method of controlling access to a wireless local area network (“WLAN”), comprising steps of:
receiving, at a first device on the WLAN, measurement data from a plurality of measurement points on the WLAN, wherein the measurement data for each measurement point comprises a reading for a client device, the reading observed by a plurality of antenna elements of the measurement point, the antenna elements being capable of determining an angle to a source of radio transmission; computing, by the first device, a current location of the client device using the received measurement data; determining, by the first device, whether the current location of the client device is within a predetermined spatial boundary; and allowing the client device to access the WLAN only if its current location is determined to be within the predetermined spatial boundary.
- 2. The method according to claim 1, wherein the first device also functions as one of the plurality of measurement points that observes readings for the client device.
- 3. The method according to claim 1, wherein the received measurement data identifies the client device using an association identifier.
- 4. The method according to claim 1, wherein the received measurement data from each measurement point is stored in a data structure at the first device.
- 5. The method according to claim 1, wherein the computing step operates when measurement data has been received from each of the measurement points.
- 6. The method according to claim 1, wherein the computing step operates when a collection interval expires at the first device.
- 7. The method according to claim 4, wherein the computing step operates when newly-received measurement data for the client device is detected in the data structure.
- 8. The method according to claim 1, wherein the computing step operates when measurement data has been received from more than one of the measurement points.
- 9. The method according to claim 1, wherein the first device polls each of the measurement points for their measurement data, and wherein the received measurement data is received in response to this polling.
- 10. The method according to claim 1, wherein the WLAN is an 802.11b network.
- 11. The method according to claim 1, wherein the WLAN uses radio communications.
- 12. The method according to claim 1, wherein the reading in the measurement data for each measurement point comprises a measurement of an angular relationship between the client device and the antenna elements of the measurement point, the angular relationship having been observed for a particular transmission from the client device.
- 13. The method according to claim 12, wherein the measurement of the angular relationship is a phase angle for the measurement point, and wherein the computing step further comprises steps of:
determining a first vector where the client device could be located using the phase angle for the measurement point plus or minus a tolerance of the measurement point, or using the phase angle for the measurement point plus 180 degrees, plus or minus the tolerance of the measurement point; determining a second vector where the client device could be located using the phase angle for a different measurement point plus or minus a tolerance value of the different measurement point, or using the phase angle for the different measurement point plus 180 degrees, plus or minus the tolerance value of the different measurement point; and computing an intersection zone of the first and second vectors, wherein the intersection zone indicates the client device's approximate position in a 2-dimensional space.
- 14. The method according to claim 12, wherein the measurement of the angular relationship is a phase angle for the measurement point, and wherein the computing step further comprises steps of:
determining a first vector where the client device could be located using the phase angle for the measurement point plus or minus a tolerance of the measurement point; determining a second vector where the client device could be located using the phase angle for a second measurement point plus or minus a tolerance value of the second measurement point; determining a third vector where the client device could be located using the phase angle for a third measurement point plus or minus a tolerance value of the third measurement point; and computing an intersection zone of the first, second, and third vectors, wherein the intersection zone indicates the client device's approximate position in a 3-dimensional space.
- 15. The method according to claim 1, wherein the measurement data is received at the first device from the measuring points, for a plurality of client devices, and wherein the computing, determining, and allowing steps are performed for each of the client devices.
- 16. The method according to claim 1, wherein the first device learns the predetermined spatial boundary at set-up time, further comprising steps of:
moving a training client device around a spatial boundary while the training client device communicates with a set-up application in the first device; recording, by the set-up application, successive locations of the training client device from these communications; and using, by the set-up application, the successive locations to define the predetermined spatial boundary.
- 17. A system for controlling access to a wireless local area network (“WLAN”), comprising:
means for receiving, at a first device on the WLAN, measurement data from a plurality of measurement points on the WLAN, wherein the measurement data for each measurement point comprises a reading for a client device, the reading observed by a plurality of antenna elements of the measurement point, the antenna elements being capable of determining an angle to a source of radio transmission; means for computing, by the first device, a current location of the client device using the received measurement data; means for determining, by the first device, whether the current location of the client device is within a predetermined spatial boundary; and means for allowing the client device to access the WLAN only if its current location is determined to be within the predetermined spatial boundary.
- 18. The system according to claim 17, wherein the first device also functions as one of the plurality of measurement points that observes readings for the client device.
- 19. The system according to claim 17, wherein the received measurement data identifies the client device using an association identifier and wherein the measurement data received from each measurement point for the identified association is stored in a data structure at the first device.
- 20. The system according to claim 17, wherein the means for computing operates when measurement data has been received from each of the measurement points.
- 21. The system according to claim 19, wherein the means for computing operates when newly-received measurement data for the client device is detected in the data structure.
- 22. The system according to claim 17, wherein the first device polls each of the measurement points for their measurement data, and wherein the received measurement data is received in response to this polling.
- 23. The system according to claim 17, wherein the WLAN is an 802.11b network.
- 24. The system according to claim 17, wherein the reading in the measurement data for each measurement point comprises a phase angle measured between the client device and the antenna elements of the measurement point, the phase angle having been measured for a particular transmission from the client device, and wherein the means for computing step further comprises:
means for determining a first vector where the client device could be located using the phase angle for the measurement point plus or minus a tolerance of the measurement point, or using the phase angle for the measurement point plus 180 degrees, plus or minus the tolerance of the measurement point; means for determining a second vector where the client device could be located using the phase angle for a second measurement point plus or minus a tolerance value of the second measurement point, or using the phase angle for the second measurement point plus 180 degrees, plus or minus the tolerance value of the second measurement point; and means for computing an intersection zone of the first and second vectors, wherein the intersection zone indicates the client device's approximate position in a 2-dimensional space.
- 25. The system according to claim 71, wherein the measurement data is received at the first device from the measuring points, for a plurality of client devices, and wherein the means for computing, means for determining, and means for allowing operate for each of the client devices.
- 26. The system according to claim 17, wherein the first device learns the predetermined spatial boundary at set-up time, further comprising:
means for moving a training client device around a spatial boundary while the training client device communicates with a set-up application in the first device; means for recording, by the set-up application, successive locations of the training client device from these communications; and means for using, by the set-up application, the successive locations to define the predetermined spatial boundary.
- 27. A computer program product for controlling access to a wireless local area network (“WLAN”), the computer program product embodied on one or more computer readable media readable by a computing system in a computing environment and comprising:
computer-readable program code means for receiving, at a first device on the WLAN, measurement data from a plurality of measurement points on the WLAN, wherein the measurement data for each measurement point comprises a reading for a client device, the reading observed by a plurality of antenna elements of the measurement point, the antenna elements being capable of determining an angle to a source of radio transmission; computer-readable program code means for computing, by the first device, a current location of the client device using the received measurement data; computer-readable program code means for determining, by the first device, whether the current location of the client device is within a predetermined spatial boundary; and computer-readable program code means for allowing the client device to access the WLAN only if its current location is determined to be within the predetermined spatial boundary.
- 28. The computer program product according to claim 27, wherein the first device also functions as one of the plurality of measurement points that observes readings for the client device.
- 29. The computer program product according to claim 27, wherein the received measurement data identifies the client device using an association identifier and wherein the measurement data received from each measurement point for the identified association is stored in a data structure at the first device.
- 30. The computer program product according to claim 27, wherein the computer-readable program code means for computing operates when a collection interval expires at the first device.
- 31. The computer program product according to claim 27, wherein the computer-readable program code means for computing operates when measurement data has been received from more than one of the measurement points.
- 32. The computer program product according to claim 27, wherein the first device polls each of the measurement points for their measurement data, and wherein the received measurement data is received in response to this polling.
- 33. The computer program product according to claim 27, wherein the WLAN uses radio communications.
- 34. The computer program product according to claim 27, wherein the reading in the measurement data for each measurement point comprises a measurement of an angular relationship between the client device and the antenna elements of the measurement point, the angular relationship having been observed for a particular transmission from the client device, and wherein the computer-readable program code means for computing further comprises:
computer-readable program code means for determining a first vector where the client device could be located using the angular relationship for the measurement point plus or minus a tolerance of the measurement point, or using the angular relationship for the measurement point plus 180 degrees, plus or minus the tolerance of the measurement point; computer-readable program code means for determining a second vector where the client device could be located using the angular relationship for a second measurement point plus or minus a tolerance value of the second measurement point, or using the angular relationship for the second measurement point plus 180 degrees, plus or minus the tolerance value of the second measurement point; computer-readable program code means for determining a third vector where the client device could be located using the angular relationship for a third measurement point plus or minus a tolerance value of the third measurement point, or using the angular relationship for the third measurement point plus 180 degrees, plus or minus the tolerance value of the third measurement point; and computer-readable program code means for computing an intersection zone of the first, second, and third vectors, wherein the intersection zone indicates the client device's approximate position in a 3-dimensional space.
- 35. The computer program product according to claim 27, wherein the measurement data is received at the first device from the measuring points, for a plurality of client devices, and wherein the computer-readable program code means for computing, computer-readable program code means for determining, and computer-readable program code means for allowing are performed for each of the client devices.
- 36. The computer program product according to claim 27, wherein the first device learns the predetermined spatial boundary at set-up time, further comprising steps of:
computer-readable program code means for moving a training client device around a spatial boundary while the training client device communicates with a set-up application in the first device; computer-readable program code means for recording, by the set-up application, successive locations of the training client device from these communications; and computer-readable program code means for using, by the set-up application, the successive locations to define the predetermined spatial boundary.
- 37. A method of doing business by controlling access to a wireless local area network (“WLAN”), comprising steps of:
monitoring access to the WLAN by a plurality of client devices, further comprising the steps of:
receiving, at a first device on the WLAN, measurement data from a plurality of measurement points on the WLAN, wherein the measurement data for each measurement point comprises a reading for a particular one of the client devices, the reading observed by a plurality of antenna elements of the measurement point, the antenna elements being capable of determining an angle to a source of radio transmission; computing, by the first device, a current location of the particular client device using the received measurement data; and determining, by the first device, whether the current location of the particular client device is within a predetermined spatial boundary; if the monitoring step determines that the current location of the particular client device is within the predetermined spatial boundary, allowing the client device to access the WLAN; and charging a fee for carrying out the monitoring and allowing steps.
Related Invention
[0001] The present invention is related to commonly-assigned U.S. Patent _______(Ser. No. 10/______, filed concurrently herewith), which is entitled “Monitoring Changeable Locations of Client Devices in Wireless Networks”, and which is hereby incorporated herein by reference.