U.S. patent application number 16/137316 was filed with the patent office on 2020-03-26 for cognitive progressive method and system for deploying indoor location sensor networks.
The applicant listed for this patent is International Business Machines Corporation. Invention is credited to German H Flores, Thomas D. Griffin, Divyesh Jadav.
Application Number | 20200100063 16/137316 |
Document ID | / |
Family ID | 69884784 |
Filed Date | 2020-03-26 |
![](/patent/app/20200100063/US20200100063A1-20200326-D00000.png)
![](/patent/app/20200100063/US20200100063A1-20200326-D00001.png)
![](/patent/app/20200100063/US20200100063A1-20200326-D00002.png)
![](/patent/app/20200100063/US20200100063A1-20200326-D00003.png)
![](/patent/app/20200100063/US20200100063A1-20200326-D00004.png)
![](/patent/app/20200100063/US20200100063A1-20200326-D00005.png)
![](/patent/app/20200100063/US20200100063A1-20200326-D00006.png)
![](/patent/app/20200100063/US20200100063A1-20200326-D00007.png)
![](/patent/app/20200100063/US20200100063A1-20200326-M00001.png)
United States Patent
Application |
20200100063 |
Kind Code |
A1 |
Jadav; Divyesh ; et
al. |
March 26, 2020 |
COGNITIVE PROGRESSIVE METHOD AND SYSTEM FOR DEPLOYING INDOOR
LOCATION SENSOR NETWORKS
Abstract
Cognitive, progressive methods, systems, and computer program
products for guiding users throughout a deployment process
involving deploying location sensors throughout an indoor
environment based on real-time detection of signals from deployed
location sensors and/or distances between location sensors are
disclosed, according to various embodiments. The inventive concepts
allow real-time sensing and adjustment to the nature of the
environment, such as geometry, signal interference, etc. based on
sensor readings detected by a user using a sensing device.
Additional embodiments include generating a map of the environment
based on training data including location sensor signal
measurements, identifying information, and location information and
static data regarding location sensors deployed throughout the
environment. Connections are established between the static and
training data, and region types within the environment determined
and labeled based on the density of different types of connections
and/or connection crossings. The labeled regions are output as a
map.
Inventors: |
Jadav; Divyesh; (San Jose,
CA) ; Flores; German H; (San Jose, CA) ;
Griffin; Thomas D.; (Campbell, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
International Business Machines Corporation |
Armonk |
NY |
US |
|
|
Family ID: |
69884784 |
Appl. No.: |
16/137316 |
Filed: |
September 20, 2018 |
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04W 4/80 20180201; H04W
4/029 20180201; H04W 4/38 20180201; H04B 17/318 20150115; H04W 4/33
20180201; H04L 41/0853 20130101; H04L 43/0805 20130101; H04L 43/16
20130101; H04L 67/12 20130101; H04L 41/12 20130101; H04W 4/02
20130101 |
International
Class: |
H04W 4/029 20060101
H04W004/029; H04B 17/318 20060101 H04B017/318; H04L 29/08 20060101
H04L029/08 |
Claims
1. A computer-implemented method for cognitive, progressive
deployment of an indoor location sensor network, the method
comprising: providing an instruction to deploy a first location
sensor at a first location within an indoor environment; receiving
a first plurality of signals from the first location sensor while
moving away from the first location sensor, wherein each of the
first plurality of signals is characterized by a signal strength;
analyzing each of the first plurality of signals received from the
first location sensor to determine the signal strength thereof; in
response to determining: the signal strength of a last received one
of the first plurality of signals from the first location sensor is
less than a predetermined minimum signal strength threshold, and/or
a distance traveled from the first location sensor is greater than
or equal to a maximum inter-sensor distance threshold: providing an
instruction to deploy a second location sensor at a second location
within the indoor environment, the second location being a position
where: the signal strength of the last received one of the first
plurality of signals from the first location sensor was less than
the predetermined minimum signal strength threshold, and/or the
distance traveled from the first location sensor was greater than
or equal to the maximum inter-sensor distance threshold; receiving
a second plurality of signals from the first location sensor and
the second location sensor, while moving away from at least the
second location sensor, wherein each of the second plurality of
signals is characterized by a signal strength; analyzing each of
the second plurality of signals to determine the signal strength
thereof; in response to determining: the signal strength of: a last
received one of the second plurality of signals from the first
location sensor and/or a last received one of the second plurality
of signals from the second location sensor is less than a
predetermined minimum signal strength threshold, and/or a distance
traveled from the second location sensor is greater than or equal
to the maximum inter-sensor distance threshold: providing an
instruction to deploy a third location sensor at a third location
within the indoor environment, the third location being a position
where: the signal strength of the last received one of the second
plurality of signals from the first location sensor and/or the last
received one of the second plurality of signals from the second
location sensor was less than the predetermined minimum signal
strength threshold, and/or the distance traveled from the second
location sensor was greater than or equal to the maximum
inter-sensor distance threshold; and designating a type of each
location sensor to be deployed in the location sensor network,
wherein the minimum signal strength threshold and the maximum
inter-sensor distance threshold are each based on the type of
location sensor to be deployed in the location sensor network.
2. The method as recited in claim 1, further comprising:
iteratively repeating the following steps until a predetermined
threshold amount of the indoor environment, has been visited by a
user operating a sensing device: receiving signals from at least
the first location sensor, the second location sensor, the third
location sensor, and an iteratively increasing number of additional
location sensors placed throughout the indoor environment, wherein
each signal is characterized by a respective signal strength;
analyzing each of the received signals to determine the signal
strength thereof; and providing an instruction to deploy an
additional location sensor in response to determining at least one
condition selected from the group consisting of: the signal
strength of one of the signals received from the first location
sensor, the second location sensor, the third location sensor,
and/or one of the iteratively increasing number of additional
location sensors placed throughout the indoor environment is less
than the predetermined minimum signal strength threshold; and a
distance traveled from the first location sensor, the second
location sensor, the third location sensor, and/or one of the
iteratively increasing number of additional location sensors placed
throughout the indoor environment is greater than or equal to a
maximum inter-sensor distance threshold.
3. The method as recited in claim 2, further comprising: generating
a composite map of the indoor environment based on a plurality of
signals received from the first location sensor, the second
location sensor, the third location sensor, and one or more of the
additional location sensors.
4. The method as recited in claim 1, further comprising:
designating a type of the first location sensor prior to deploying
the first location sensor at the first location; retrieving a
template from a knowledge base, the template corresponding to the
type of the first location sensor and describing best practices for
the maximum inter-sensor distance according to various spatial
configurations possible within the indoor environment; and wherein
the instructions to deploy the first location sensor, the
instructions to deploy the second location sensor, and the
instructions to deploy the third location sensor, and instructions
to deploy any additional location sensors in the location sensor
network are based on the template.
5. (canceled)
6. The method as recited in claim 1, wherein the location sensor
network comprises a plurality of different location sensor types
each characterized by a different average signal strength, a
different average signal sensitivity, and/or a different average
signal range.
7. The method as recited in claim 1, further comprising:
determining no a priori knowledge is available regarding
operational characteristics of the designated type of a given
location sensor to be deployed in the location sensor network;
determining one or more of the operational characteristics of the
designated type of the given location sensor during deployment
thereof within the location sensor network; and storing the
determined one or more operational characteristics of the
designated type of the given location sensor in a knowledge base
for future use.
8. The method as recited in claim 1, further comprising:
designating a remaining power and/or battery level of each location
sensor to be deployed in the location sensor network; and wherein
the minimum signal strength threshold and the maximum inter-sensor
distance threshold are each based on the remaining power and/or
battery level of the respective location sensor to be deployed in
the location sensor network.
9. The method as recited in claim 8, wherein the location sensor
network comprises a plurality of different location sensor types,
each location sensor type being characterized by different
operational characteristics selected from the group consisting of:
remaining power, power source, broadcast rate, expected lifetime,
prior use status, communication protocol, and signal type.
10. The method as recited in claim 1, further comprising: receiving
a plurality of signals from the first location sensor, the second
location sensor, and the third location sensor, wherein each signal
is characterized by a signal strength; and estimating a shape of an
area enclosed by the first location sensor, the second location
sensor, and the third location sensor based on the respective
signal strength of the received plurality of signals.
11. A computer program product for cognitive, progressive
deployment of an indoor location sensor network includes a computer
readable medium having program instructions embodied therewith,
wherein the computer readable medium is not a transitory signal per
se, and the program instructions are executable by a sensing device
to cause the sensing device to perform a method comprising:
providing, via the sensing device, an instruction to deploy a first
location sensor at a first location within an indoor environment;
receiving, at the sensing device, a first plurality of signals from
the first location sensor while moving away from the first location
sensor, wherein each signal is characterized by a signal strength;
analyzing, using a processor of the sensing device, each of the
first plurality of signals received from the first location sensor
to determine the signal strength thereof; in response to
determining, using the processor of the sensing device: the signal
strength of a last received one of the first plurality of signals
from the first location sensor is less than a predetermined minimum
signal strength threshold, and/or a distance traveled from the
first location sensor is greater than or equal to a maximum
inter-sensor distance threshold: providing an instruction, via the
sensing device, to deploy a second location sensor at a second
location within the indoor environment, the second location being a
position where: the signal strength of the last received one of the
first plurality of signals from the first location sensor was less
than the predetermined minimum signal strength threshold, and/or
the distance traveled from the first location sensor was greater
than or equal to the maximum inter-sensor distance threshold;
receiving, at the sensing device, a second plurality of signals
from the first location sensor and the second location sensor,
while moving away from at least the second location sensor, wherein
each of the second plurality of signals is characterized by a
signal strength; analyzing, using the processor of the sensing
device, each of the second plurality of signals to determine the
signal strength thereof; in response to determining, using the
processor of the sensing device: the signal strength of a last
received one of the second plurality of signals from the first
location sensor and/or a last received one of the second plurality
of signals from the second location sensor is less than a
predetermined minimum signal strength threshold, and/or a distance
traveled from the second location sensor is greater than or equal
to a maximum inter-sensor distance threshold: providing, via the
sensing device, an instruction to deploy a third location sensor at
a third location within the indoor environment, the third location
being a position where: the signal strength of the last received
one of the second plurality of signals from the first location
sensor and/or the last received one of the second plurality of
signals from the second location sensor was less than the
predetermined minimum signal strength threshold, and/or the
distance traveled from the second location sensor was greater than
or equal to the maximum inter-sensor distance threshold; and
designating, at the sensing device, a type of each location sensor
to be deployed in the location sensor network, wherein the minimum
signal strength threshold and the maximum inter-sensor distance
threshold are each based on the type of location sensor to be
deployed in the location sensor network.
12. The computer program product as recited in claim 11, comprising
program instructions for causing the sensing device to iteratively
repeat the following steps until a predetermined threshold amount
of the indoor environment, has been visited by a user operating a
sensing device: receive signals from at least the first location
sensor, the second location sensor, the third location sensor, and
an iteratively increasing number of additional location sensors
placed throughout the indoor environment, wherein each signal is
characterized by a respective signal strength; analyze each of the
received signals to determine the signal strength thereof; and
provide an instruction to deploy an additional location sensor in
response to determining at least one condition selected from the
group consisting of: the signal strength of one of the signals
received from the first location sensor, the second location
sensor, the third location sensor, and/or one of the iteratively
increasing number of additional location sensors placed throughout
the indoor environment is less than the predetermined minimum
signal strength threshold; and a distance traveled from the first
location sensor, the second location sensor, the third location
sensor, and/or one of the iteratively increasing number of
additional location sensors placed throughout the indoor
environment is greater than or equal to a maximum inter-sensor
distance threshold.
13. The computer program product as recited in claim 12, comprising
program instructions for causing the sensing device to generate a
composite map of the indoor environment based on a plurality of
signals received from the first location sensor, the second
location sensor, the third location sensor, and a plurality of the
additional location sensors.
14. The computer program product as recited in claim 11, comprising
program instructions for causing the sensing device to designate a
type of the first location sensor prior to deploying the first
location sensor at the first location; and retrieve a template from
a knowledge base, the template corresponding to the type of the
first location sensor and describing best practices for the maximum
inter-sensor distance according to various spatial configurations
possible within the indoor environment; and wherein the
instructions to deploy the first location sensor, the instructions
to deploy the second location sensor, and the instructions to
deploy the third location sensor, and instructions to deploy any
additional location sensors in the location sensor network are
based on the template.
15. (canceled)
16. The computer program product as recited in claim 11, wherein
the location sensor network comprises a plurality of different
location sensor types each characterized by a different average
signal strength, a different average signal sensitivity; and/or a
different average signal range.
17. The computer program product as recited in claim 11, further
comprising: determining no a priori knowledge is available
regarding operational characteristics of the designated type of a
given location sensor to be deployed in the location sensor
network; determining one or more of the operational characteristics
of the designated type of the given location sensor during
deployment thereof within the location sensor network; and storing
the determined one or more operational characteristics of the
designated type of the given location sensor in a knowledge base
for future use.
18. The computer program product as recited in claim 11, further
comprising: designating a remaining power and/or battery level of
each location sensor to be deployed in the location sensor network;
and wherein the minimum signal strength threshold and the maximum
inter-sensor distance threshold are each based on the remaining
power and/or battery level of the respective location sensor to be
deployed in the location sensor network.
19. The computer program product as recited in claim 18, wherein
the location sensor network comprises a plurality of different
location sensor types, each location sensor type being
characterized by different operational characteristics selected
from the group consisting of: remaining power, power source,
broadcast rate, expected lifetime, prior use status, communication
protocol, and signal type.
20. The computer program product as recited in claim 11, further
comprising: receiving a plurality of signals from the first
location sensor, the second location sensor, and the third location
sensor, wherein each signal is characterized by a signal strength;
and estimating a shape of an area enclosed by the first location
sensor, the second location sensor, and the third location sensor
based on the respective signal strength of the received plurality
of signals.
21. A system for cognitive, progressive deployment of an indoor
location sensor network, comprising: a processor; and logic
integrated with the processor, executable by the processor, or
integrated with and executable by the processor, the logic being
configured to: provide an instruction to deploy a first location
sensor at a first location within an indoor environment; receive a
first plurality of signals from the first location sensor while
moving away from the first location sensor, wherein each signal is
characterized by a signal strength; analyze each of the first
plurality of signals received from the first location sensor to
determine the signal strength thereof; in response to determining:
the signal strength of a last received one of the first plurality
of signals from the first location sensor is less than a
predetermined minimum signal strength threshold, and/or a distance
traveled from the first location sensor is greater than or equal to
a maximum inter-sensor distance threshold: provide an instruction
to deploy a second location sensor at a second location within the
indoor environment, the second location being a position where: the
signal strength of the last received one of the first plurality of
signals from the first location sensor was less than the
predetermined minimum signal strength threshold, and/or the
distance traveled from the first location sensor was greater than
or equal to the maximum inter-sensor distance threshold; receive a
second plurality of signals from the first location sensor and the
second location sensor, while moving away from at least the second
location sensor, wherein each of the second plurality of signals is
characterized by a signal strength; analyze each of the second
plurality of signals to determine the signal strength thereof; in
response to determining: the signal strength of a last received one
of the second plurality of signals from the first location sensor
and/or a last received one of the second plurality of signals from
the second location sensor is less than a predetermined minimum
signal strength threshold, and/or a distance traveled from the
second location sensor is greater than or equal to a maximum
inter-sensor distance threshold: provide an instruction to deploy a
third location sensor at a third location within the indoor
environment, the third location being a position where: the signal
strength of the last received one of the second plurality of
signals from the first location sensor and/or the last received one
of the second plurality of signals from the second location sensor
was less than the predetermined minimum signal strength threshold,
and/or the distance traveled from the second location sensor was
greater than or equal to the maximum inter-sensor distance
threshold; and designate a type of each location sensor to be
deployed in the location sensor network, wherein the minimum signal
strength threshold and the maximum inter-sensor distance threshold
are each based on the type of location sensor to be deployed in the
location sensor network.
22. (canceled)
23. (canceled)
24. (canceled)
25. (canceled)
26. A system for cognitive, progressive deployment of an indoor
location sensor network, comprising: a processor; and logic
integrated with the processor, executable by the processor, or
integrated with and executable by the processor, the logic being
configured to: provide an instruction to deploy a first location
sensor at a first location within an indoor environment; receive a
first plurality of signals from the first location sensor while
moving away from the first location sensor, wherein each signal is
characterized by a signal strength; analyze each of the first
plurality of signals received from the first location sensor to
determine the signal strength thereof; in response to determining:
the signal strength of a last received one of the first plurality
of signals from the first location sensor is less than a
predetermined minimum signal strength threshold, and/or a distance
traveled from the first location sensor is greater than or equal to
a maximum inter-sensor distance threshold: provide an instruction
to deploy a second location sensor at a second location within the
indoor environment, the second location being a position where: the
signal strength of the last received one of the first plurality of
signals from the first location sensor was less than the
predetermined minimum signal strength threshold, and/or the
distance traveled from the first location sensor was greater than
or equal to the maximum inter-sensor distance threshold; receive a
second plurality of signals from the first location sensor and the
second location sensor, while moving away from at least the second
location sensor, wherein each of the second plurality of signals is
characterized by a signal strength; analyze each of the second
plurality of signals to determine the signal strength thereof; and
in response to determining: the signal strength of a last received
one of the second plurality of signals from the first location
sensor and/or a last received one of the second plurality of
signals from the second location sensor is less than a
predetermined minimum signal strength threshold, and/or a distance
traveled from the second location sensor is greater than or equal
to a maximum inter-sensor distance threshold: provide an
instruction to deploy a third location sensor at a third location
within the indoor environment, the third location being a position
where: the signal strength of the last received one of the second
plurality of signals from the first location sensor and/or the last
received one of the second plurality of signals from the second
location sensor was less than the predetermined minimum signal
strength threshold, and/or the distance traveled from the second
location sensor was greater than or equal to the maximum
inter-sensor distance threshold; and designate a remaining power
and/or battery level of each location sensor to be deployed in the
location sensor network, wherein the minimum signal strength
threshold and the maximum inter-sensor distance threshold are each
based on the remaining power and/or battery level of the respective
location sensor to be deployed in the location sensor network.
27. A computer program product for cognitive, progressive
deployment of an indoor location sensor network includes a computer
readable medium having program instructions embodied therewith,
wherein the computer readable medium is not a transitory signal per
se, and the program instructions are executable by a sensing device
to cause the sensing device to perform a method comprising:
providing, via the sensing device, an instruction to deploy a first
location sensor at a first location within an indoor environment;
receiving, at the sensing device, a first plurality of signals from
the first location sensor while moving away from the first location
sensor, wherein each of the first plurality of signals is
characterized by a signal strength; analyzing, using a processor of
the sensing device, each of the first plurality of signals received
from the first location sensor to determine the signal strength
thereof; in response to determining, using the processor of the
sensing device: the signal strength of a last received one of the
first plurality of signals from the first location sensor is less
than a predetermined minimum signal strength threshold, and/or a
distance traveled from the first location sensor is greater than or
equal to a maximum inter-sensor distance threshold: providing an
instruction, via the sensing device, to deploy a second location
sensor at a second location within the indoor environment, the
second location being a position where: the signal strength of the
last received one of the first plurality of signals from the first
location sensor was less than the predetermined minimum signal
strength threshold, and/or the distance traveled from the first
location sensor was greater than or equal to the maximum
inter-sensor distance threshold; receiving, at the sensing device,
a second plurality of signals from the first location sensor and
the second location sensor, while moving away from at least the
second location sensor, wherein each of the second plurality of
signals is characterized by a signal strength; analyzing, using the
processor of the sensing device, each of the second plurality of
signals to determine the signal strength thereof; in response to
determining, using the processor of the sensing device: the signal
strength of a last received one of the second plurality of signals
from the first location sensor and/or a last received one of the
second plurality of signals from the second location sensor is less
than a predetermined minimum signal strength threshold, and/or a
distance traveled from the second location sensor is greater than
or equal to a maximum inter-sensor distance threshold: providing,
via the sensing device, an instruction to deploy a third location
sensor at a third location within the indoor environment, the third
location being a position where: the signal strength of the last
received one of the second plurality of signals from the first
location sensor and/or the last received one of the second
plurality of signals from the second location sensor was less than
the predetermined minimum signal strength threshold, and/or the
distance traveled from the second location sensor was greater than
or equal to the maximum inter-sensor distance threshold; and
designating, at the sensing device, a remaining power and/or
battery level of each location sensor to be deployed in the
location sensor network, wherein the minimum signal strength
threshold and the maximum inter-sensor distance threshold are each
based on the remaining power and/or battery level of the respective
location sensor to be deployed in the location sensor network.
Description
BACKGROUND
[0001] The present invention relates to indoor location services,
and more specifically, this invention relates to cognitive,
progressive techniques and systems for deploying indoor location
sensor networks.
[0002] The use of Global Positioning System (GPS) to detect the
location and direction of a client device (or GPS receiver), and
thence to navigate from point A to point B is well established. The
GPS receiver uses signals from at least 4 GPS orbiting satellites
to calculate a three dimensional Cartesian coordinate (with the
Earth's center as origin) of the receiver device. The coordinates
are often converted to the more well-known latitude and longitude
and elevation above sea level system. GPS technology works very
well for positioning, when there are no obstructions to the receipt
of satellite signals.
[0003] However, the inside of a building is not so friendly. There
are materials that absorb or dampen the satellite signals, which
often renders GPS unusable inside a building. In contemporary
society, users spend a big portion of their time inside a
building--at work and/or for leisure. In a large building such as a
mall, a warehouse, a university or corporate campus, a visitor
often needs assistance to determine where he is in the building,
and how to get from point A to point B.
[0004] Wi-Fi networks have been explored as one potential solution
for indoor navigation, however, most enterprises would prefer not
to expose and use their Wi-Fi networks for orthogonal uses like for
example Wi-Fi real-time location system (RTLS) positioning and
routing due to performance and security exposure reasons; nor would
prefer to expand their existing Wi-Fi network infrastructure, e.g.
adding additional Wi-Fi access points, to increase coverage and
reliability due to additional installation and maintenance
costs.
[0005] Accordingly, it would be beneficial to provide novel and
useful systems, methods, and computer program products for
facilitating deployment of a precise, functional sensor network in
an indoor environment.
SUMMARY
[0006] According to one embodiment, a computer-implemented method
for cognitive, progressive deployment of an indoor location sensor
network includes: providing an instruction to deploy a first
location sensor at a first location within an indoor environment;
receiving a plurality of signals from the first location sensor
while moving away from the first location sensor, wherein each
signal is characterized by a signal strength; analyzing each of the
signals received from the first location sensor to determine the
signal strength thereof; in response to determining: the signal
strength of a last received one of the signals from the first
location sensor is less than a predetermined minimum signal
strength threshold, and/or a distance traveled from the first
location sensor is greater than or equal to a maximum inter-sensor
distance threshold: providing an instruction to deploy a second
location sensor at a second location within the indoor environment,
the second location being a position where: the signal strength of
the last received one of the signals from the first location sensor
was less than the predetermined minimum signal strength threshold,
and/or the distance traveled from the first location sensor was
greater than or equal to the maximum inter-sensor distance
threshold; receiving a plurality of signals from the first location
sensor and a second plurality of signals from the second location
sensor, while moving away from at least the second location sensor,
wherein each signal is characterized by a signal strength;
analyzing each of the first plurality of signals and the second
plurality of signals to determine the signal strength thereof; in
response to determining: the signal strength of a last received one
of the signals from the first location sensor and/or a last
received one of the signals from the second location sensor is less
than a predetermined minimum signal strength threshold, and/or a
distance traveled from the second location sensor is greater than
or equal to the maximum inter-sensor distance threshold: providing
an instruction to deploy a third location sensor at a third
location within the indoor environment, the third location being a
position where: the signal strength of the last received one of the
signals from the first location sensor and/or the last received one
of the signals from the second location sensor was less than the
predetermined minimum signal strength threshold, and/or the
distance traveled from the second location sensor was greater than
or equal to the maximum inter-sensor distance threshold.
[0007] According to another embodiment, a computer program product
for cognitive, progressive deployment of an indoor location sensor
network includes a computer readable medium having program
instructions embodied therewith, where the computer readable medium
is not a transitory signal per se. The program instructions are
executable by a sensing device to cause the sensing device to
perform a method, including: providing, via the sensing device, an
instruction to deploy a first location sensor at a first location
within an indoor environment; receiving, at the sensing device, a
plurality of signals from the first location sensor while moving
away from the first location sensor, wherein each signal is
characterized by a signal strength; analyzing, using a processor of
the sensing device, each of the signals received from the first
location sensor to determine the signal strength thereof; in
response to determining, using the processor of the sensing device:
the signal strength of a last received one of the signals from the
first location sensor is less than a predetermined minimum signal
strength threshold, and/or a distance traveled from the first
location sensor is greater than or equal to a maximum inter-sensor
distance threshold: providing an instruction, via the sensing
device, to deploy a second location sensor at a second location
within the indoor environment, the second location being a position
where: the signal strength of the last received one of the signals
from the first location sensor was less than the predetermined
minimum signal strength threshold, and/or the distance traveled
from the first location sensor was greater than or equal to the
maximum inter-sensor distance threshold; receiving, at the sensing
device, a plurality of signals from the first location sensor and a
second plurality of signals from the second location sensor, while
moving away from at least the second location sensor, wherein each
signal is characterized by a signal strength; analyzing, using the
processor of the sensing device, each of the first plurality of
signals and the second plurality of signals to determine the signal
strength thereof; in response to determining, using the processor
of the sensing device: the signal strength of a last received one
of the signals from the first location sensor and/or a last
received one of the signals from the second location sensor is less
than a predetermined minimum signal strength threshold, and/or a
distance traveled from the second location sensor is greater than
or equal to a maximum inter-sensor distance threshold: providing,
via the sensing device, an instruction to deploy a third location
sensor at a third location within the indoor environment, the third
location being a position where: the signal strength of the last
received one of the signals from the first location sensor and/or
the last received one of the signals from the second location
sensor was less than the predetermined minimum signal strength
threshold, and/or the distance traveled from the second location
sensor was greater than or equal to the maximum inter-sensor
distance threshold.
[0008] According to yet another embodiment, a system for cognitive,
progressive deployment of an indoor location sensor network
includes: a processor; and logic integrated with the processor,
executable by the processor, or integrated with and executable by
the processor. The logic is configured to: provide an instruction
to deploy a first location sensor at a first location within an
indoor environment; receive a plurality of signals from the first
location sensor while moving away from the first location sensor,
wherein each signal is characterized by a signal strength; analyze
each of the signals received from the first location sensor to
determine the signal strength thereof; in response to determining:
the signal strength of a last received one of the signals from the
first location sensor is less than a predetermined minimum signal
strength threshold, and/or a distance traveled from the first
location sensor is greater than or equal to a maximum inter-sensor
distance threshold: provide an instruction to deploy a second
location sensor at a second location within the indoor environment,
the second location being a position where: the signal strength of
the last received one of the signals from the first location sensor
was less than the predetermined minimum signal strength threshold,
and/or the distance traveled from the first location sensor was
greater than or equal to the maximum inter-sensor distance
threshold; receive a plurality of signals from the first location
sensor and a second plurality of signals from the second location
sensor, while moving away from at least the second location sensor,
wherein each signal is characterized by a signal strength; analyze
each of the first plurality of signals and the second plurality of
signals to determine the signal strength thereof; in response to
determining: the signal strength of a last received one of the
signals from the first location sensor and/or a last received one
of the signals from the second location sensor is less than a
predetermined minimum signal strength threshold, and/or a distance
traveled from the second location sensor is greater than or equal
to a maximum inter-sensor distance threshold: provide an
instruction to deploy a third location sensor at a third location
within the indoor environment, the third location being a position
where: the signal strength of the last received one of the signals
from the first location sensor and/or the last received one of the
signals from the second location sensor was less than the
predetermined minimum signal strength threshold, and/or the
distance traveled from the second location sensor was greater than
or equal to the maximum inter-sensor distance threshold.
[0009] According to still yet another embodiment, a
computer-implemented method for cognitively, progressively
generating a map of an indoor environment includes: receiving
training data comprising a plurality of location sensor signal
measurements, each location sensor signal measurement comprising a
received signal strength, identifying information, and a
corresponding location within the indoor environment; receiving a
set of static data comprising an identification and a location of
each of a plurality of location sensors deployed throughout the
indoor environment; establishing a plurality of connections between
the static data and the training data; identifying a plurality of
regions within the indoor location based on the plurality of
connections between the static data and the training data; labeling
a type of each region based at least in part on: a density of
connections within the respective region; a density of connection
crossings within the respective region; and outputting the map.
[0010] According to a further embodiment, a computer program
product for cognitively, progressively generating a map of an
indoor environment includes a computer readable medium having
program instructions embodied therewith, wherein the computer
readable medium is not a transitory signal per se. The program
instructions are executable by a processor to cause the processor
to perform a method, comprising: receiving, at the processor,
training data comprising a plurality of location sensor signal
measurements, each location sensor signal measurement comprising a
received signal strength, identifying information, and a
corresponding location within the indoor environment; receiving, at
the processor, a set of static data comprising an identification
and a location of each of a plurality of location sensors deployed
throughout the indoor environment; establishing, using the
processor, a plurality of connections between the static data and
the training data; identifying, using the processor, a plurality of
regions within the indoor location based on the plurality of
connections between the static data and the training data; and
labeling, using the processor, a type of each region based at least
in part on: a density of connections within the respective region;
a density of connection crossings within the respective region; and
outputting, using the processor, the map.
[0011] Other aspects and embodiments of the present invention will
become apparent from the following detailed description, which,
when taken in conjunction with the drawings, illustrate by way of
example the principles of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] FIG. 1 illustrates a network architecture, in accordance
with one embodiment.
[0013] FIG. 2 shows a representative hardware environment that may
be associated with the servers and/or clients of FIG. 1, in
accordance with one embodiment.
[0014] FIG. 3 illustrates flowchart of a method for cognitively and
progressively deploying an indoor location sensor network, in
accordance with one embodiment.
[0015] FIG. 4 is a pseudocode representation of an algorithm for
cognitively and progressively generating a map of an indoor
location using a location sensor network, according to one
embodiment.
[0016] FIG. 5 illustrates flowchart of a method for cognitively and
progressively generating a map of an indoor location using a
location sensor network, in accordance with one embodiment.
[0017] FIG. 6 illustrates flowchart of a method for tracking a
vehicle location along a one-dimensional path, in accordance with
one embodiment.
DETAILED DESCRIPTION
[0018] The following description is made for the purpose of
illustrating the general principles of the present invention and is
not meant to limit the inventive concepts claimed herein. Further,
particular features described herein can be used in combination
with other described features in each of the various possible
combinations and permutations.
[0019] Unless otherwise specifically defined herein, all terms are
to be given their broadest possible interpretation including
meanings implied from the specification as well as meanings
understood by those skilled in the art and/or as defined in
dictionaries, treatises, etc.
[0020] It must also be noted that, as used in the specification and
the appended claims, the singular forms "a," "an" and "the" include
plural referents unless otherwise specified. It will be further
understood that the terms "comprises" and/or "comprising," when
used in this specification, specify the presence of stated
features, integers, steps, operations, elements, and/or components,
but do not preclude the presence or addition of one or more other
features, integers, steps, operations, elements, components, and/or
groups thereof.
[0021] The following description discloses several preferred
embodiments of systems, methods and computer program products for
cognitive, progressive deployment of location sensor networks and
applications thereof, including but not limited to generating maps
of indoor locations and locating position of a sensing device along
a one-dimensional path, among others.
[0022] The uses and applications of the inventive concepts
described herein are several-fold. One is to advise the user on the
efficient deployment of location sensors, e.g. an iBeacon or
Eddystone, to form a location sensor network in an indoor
environment. Such embodiments are useful as potential application
for recycling of location sensors, where a vendor/customer has
existing inventory of different types of location sensors with
different capabilities and/or different remaining power levels. As
referenced herein, the term "location sensor" shall be understood
as any type of device capable of broadcasting a signal, or signals,
from which the location and preferably the identity of the sensor
may be determined. Broadcasting may include actively transmitting
signal(s), reflecting received signal(s), or any equivalent thereof
that would be appreciated by a person having ordinary skill in the
art upon reading the present disclosure. In various embodiments,
exemplary types of location sensors include, but are not limited
to, Wi-Fi access points, GPS devices, RFID devices, beacons such as
Bluetooth Low Energy (BLE) beacons, of any variety and in any
combination, without limitation, as well as equivalents thereof
that a skilled artisan would appreciate upon reading this
description.
[0023] A second objective/application is to facilitate a user
building a map of an indoor location using an existing location
sensor network, but without relying on a predetermined floor plan,
map, blueprint etc. for the indoor location. A user may do so by
walking around an enclosed space and, using a sensing device,
receiving different signal strengths from various location sensors
deployed throughout the space. Using the received signal strengths,
it is possible to build a representation or radio map of the
location. For example, the signal strength may be classified as
"strong" "weak" or "none," and it is possible to use these signal
strengths (e.g. as a heat map) to determine if an object or other
source of signal interference is present at a particular location
within a signal space. This second application also facilitates
determining a user's (X, Y) coordinates within a given
two-dimensional space. Using a priori knowledge regarding location
sensor location and user location, presence of obstacles or other
sources of signal interference may be determined based on received
signal strength.
[0024] As understood herein, "sensing devices" refer to any type of
device, preferably a mobile device such as a handheld computer,
personal digital assistant, tablet, smartphone, and any equivalents
thereof that would be understood by skilled artisans reading this
description as capable of receiving signals from location sensors
deployed throughout an environment, and processing such signals
(e.g. using dedicated application software, a dedicated API, and/or
services running on or otherwise provided to/by the sensing device)
to determine a location of the location sensor sending the signal.
Preferably, the sensing device also includes a graphical display
and/or auditory components such as a microphone and speakers to
provide visual and/or auditory information to the user, as well as
receive input from the user, e.g. via a touchscreen or the
microphone. The sensing device also preferably serves as a primary
interface between the system and the user/client, and facilitates
cognitive aspects of the invention, as described in greater detail
below.
[0025] A third application, related but more focused in scope, is
determining a location of a user or other object along a
one-dimensional path, such as a horizontal track (hallway, monorail
tunnel, etc.) or vertical shaft (e.g. an elevator shaft, stairwell,
etc.) based on received signal strength. This third application is
particularly useful in combination with the foregoing two
applications, in that a two-dimensional or three- dimensional
location sensor network and two-dimensional or three-dimensional
location services may be provided for indoor environments.
[0026] Various embodiments in accordance with the foregoing
applications, among others that may be appreciated by those having
ordinary skill in the art upon reading the present description,
will be discussed in further detail below.
[0027] As noted above, recent location services have turned
attention to providing accurate, precise location information and
associated services in indoor environments. However, conventional
technologies utilized for determining location outdoors are not
generally applicable to the same task in an indoor environment.
Although some existing technology, such as Wi-Fi network location
offers the possibility for location determination, doing so is very
expensive, carries associated security risks, and has generally
proven to be an impractical approach (e.g. redeployment of Wi-Fi
network locations might not always be possible). Similarly, GPS
location is unreliable when indoors, especially for large buildings
with complex three dimensional structures.
[0028] One possible alternative technology to using known location
determination techniques, such as Wi-Fi location, is known as
Bluetooth Low Energy (BLE) beacons. BLE beacons are of increasing
interest as an indoor proximity sensing technology. BLE beacons are
attractive as they are inexpensive (tens of dollars per device),
require little to no maintenance (one to about ten years of battery
life depending on technology, battery management, and usage), and
do not require use of a Wi-Fi network or access thereto, avoiding
associated security risks. However, determining how to properly
deploy an indoor positioning network based on BLE beacons is not
straightforward, and requires great care and attention to
detail.
[0029] Accordingly, the presently disclosed inventive concepts
relate to cognitive techniques for deploying an indoor location
sensor network, preferably using BLE beacons, as well as cognitive
techniques for building a map of an indoor location using a
location sensor network, and further still to determining a user's
location in a one-dimensional, two-dimensional, or
three-dimensional path, e.g. a horizontal direction along a
hallway's path, or a vertical direction along a particular
elevator's path, in various embodiments
[0030] The exemplary embodiments shall be understood as related and
various features of one may be applied to the other without
departing from the scope of the present disclosure. Preferably, the
various embodiments of the presently disclosed inventive concepts
are "cognitive" in the sense that the deployment
procedure/recommendation takes into account the remaining battery
life and operational capabilities of each specific location sensor
to be used for a deployment, as well as the knowledge from prior
deployments or from a knowledge base; users may be coached or
guided throughout the entire deployment phase; and all of these
factors improves the performance of the resulting location sensor
network.
[0031] According to one general embodiment, a computer-implemented
method for cognitive, progressive deployment of an indoor location
sensor network includes: providing an instruction to deploy a first
location sensor at a first location within an indoor environment;
receiving a plurality of signals from the first location sensor
while moving away from the first location sensor, wherein each
signal is characterized by a signal strength; analyzing each of the
signals received from the first location sensor to determine the
signal strength thereof; in response to determining: the signal
strength of a last received one of the signals from the first
location sensor is less than a predetermined minimum signal
strength threshold, and/or a distance traveled from the first
location sensor is greater than or equal to a maximum inter-sensor
distance threshold: providing an instruction to deploy a second
location sensor at a second location within the indoor environment,
the second location being a position where: the signal strength of
the last received one of the signals from the first location sensor
was less than the predetermined minimum signal strength threshold,
and/or the distance traveled from the first location sensor was
greater than or equal to the maximum inter-sensor distance
threshold; receiving a plurality of signals from the first location
sensor and a second plurality of signals from the second location
sensor, while moving away from at least the second location sensor,
wherein each signal is characterized by a signal strength;
analyzing each of the first plurality of signals and the second
plurality of signals to determine the signal strength thereof; in
response to determining: the signal strength of a last received one
of the signals from the first location sensor and/or a last
received one of the signals from the second location sensor is less
than a predetermined minimum signal strength threshold, and/or a
distance traveled from the second location sensor is greater than
or equal to the maximum inter-sensor distance threshold: providing
an instruction to deploy a third location sensor at a third
location within the indoor environment, the third location being a
position where: the signal strength of the last received one of the
signals from the first location sensor and/or the last received one
of the signals from the second location sensor was less than the
predetermined minimum signal strength threshold, and/or the
distance traveled from the second location sensor was greater than
or equal to the maximum inter-sensor distance threshold.
[0032] According to another general embodiment, a computer program
product for cognitive, progressive deployment of an indoor location
sensor network includes a computer readable medium having program
instructions embodied therewith, where the computer readable medium
is not a transitory signal per se. The program instructions are
executable by a sensing device to cause the sensing device to
perform a method, including: providing, via the sensing device, an
instruction to deploy a first location sensor at a first location
within an indoor environment; receiving, at the sensing device, a
plurality of signals from the first location sensor while moving
away from the first location sensor, wherein each signal is
characterized by a signal strength; analyzing, using a processor of
the sensing device, each of the signals received from the first
location sensor to determine the signal strength thereof; in
response to determining, using the processor of the sensing device:
the signal strength of a last received one of the signals from the
first location sensor is less than a predetermined minimum signal
strength threshold, and/or a distance traveled from the first
location sensor is greater than or equal to a maximum inter-sensor
distance threshold: providing an instruction, via the sensing
device, to deploy a second location sensor at a second location
within the indoor environment, the second location being a position
where: the signal strength of the last received one of the signals
from the first location sensor was less than the predetermined
minimum signal strength threshold, and/or the distance traveled
from the first location sensor was greater than or equal to the
maximum inter-sensor distance threshold; receiving, at the sensing
device, a plurality of signals from the first location sensor and a
second plurality of signals from the second location sensor, while
moving away from at least the second location sensor, wherein each
signal is characterized by a signal strength; analyzing, using the
processor of the sensing device, each of the first plurality of
signals and the second plurality of signals to determine the signal
strength thereof; in response to determining, using the processor
of the sensing device: the signal strength of a last received one
of the signals from the first location sensor and/or a last
received one of the signals from the second location sensor is less
than a predetermined minimum signal strength threshold, and/or a
distance traveled from the second location sensor is greater than
or equal to a maximum inter-sensor distance threshold: providing,
via the sensing device, an instruction to deploy a third location
sensor at a third location within the indoor environment, the third
location being a position where: the signal strength of the last
received one of the signals from the first location sensor and/or
the last received one of the signals from the second location
sensor was less than the predetermined minimum signal strength
threshold, and/or the distance traveled from the second location
sensor was greater than or equal to the maximum inter-sensor
distance threshold.
[0033] According to yet another general embodiment, a system for
cognitive, progressive deployment of an indoor location sensor
network includes: a processor; and logic integrated with the
processor, executable by the processor, or integrated with and
executable by the processor. The logic is configured to: provide an
instruction to deploy a first location sensor at a first location
within an indoor environment; receive a plurality of signals from
the first location sensor while moving away from the first location
sensor, wherein each signal is characterized by a signal strength;
analyze each of the signals received from the first location sensor
to determine the signal strength thereof; in response to
determining: the signal strength of a last received one of the
signals from the first location sensor is less than a predetermined
minimum signal strength threshold, and/or a distance traveled from
the first location sensor is greater than or equal to a maximum
inter-sensor distance threshold: provide an instruction to deploy a
second location sensor at a second location within the indoor
environment, the second location being a position where: the signal
strength of the last received one of the signals from the first
location sensor was less than the predetermined minimum signal
strength threshold, and/or the distance traveled from the first
location sensor was greater than or equal to the maximum
inter-sensor distance threshold; receive a plurality of signals
from the first location sensor and a second plurality of signals
from the second location sensor, while moving away from at least
the second location sensor, wherein each signal is characterized by
a signal strength; analyze each of the first plurality of signals
and the second plurality of signals to determine the signal
strength thereof; in response to determining: the signal strength
of a last received one of the signals from the first location
sensor and/or a last received one of the signals from the second
location sensor is less than a predetermined minimum signal
strength threshold, and/or a distance traveled from the second
location sensor is greater than or equal to a maximum inter-sensor
distance threshold: provide an instruction to deploy a third
location sensor at a third location within the indoor environment,
the third location being a position where: the signal strength of
the last received one of the signals from the first location sensor
and/or the last received one of the signals from the second
location sensor was less than the predetermined minimum signal
strength threshold, and/or the distance traveled from the second
location sensor was greater than or equal to the maximum
inter-sensor distance threshold.
[0034] According to still yet another general embodiment, a
computer-implemented method for cognitively, progressively
generating a map of an indoor environment includes: receiving
training data comprising a plurality of location sensor signal
measurements, each location sensor signal measurement comprising a
received signal strength, identifying information, and a
corresponding location within the indoor environment; receiving a
set of static data comprising an identification and a location of
each of a plurality of location sensors deployed throughout the
indoor environment; establishing a plurality of connections between
the static data and the training data; identifying a plurality of
regions within the indoor location based on the plurality of
connections between the static data and the training data; labeling
a type of each region based at least in part on: a density of
connections within the respective region; a density of connection
crossings within the respective region; and outputting the map.
[0035] According to a further general embodiment, a computer
program product for cognitively, progressively generating a map of
an indoor environment includes a computer readable medium having
program instructions embodied therewith, wherein the computer
readable medium is not a transitory signal per se. The program
instructions are executable by a processor to cause the processor
to perform a method, comprising: receiving, at the processor,
training data comprising a plurality of location sensor signal
measurements, each location sensor signal measurement comprising a
received signal strength, identifying information, and a
corresponding location within the indoor environment; receiving, at
the processor, a set of static data comprising an identification
and a location of each of a plurality of location sensors deployed
throughout the indoor environment; establishing, using the
processor, a plurality of connections between the static data and
the training data; identifying, using the processor, a plurality of
regions within the indoor location based on the plurality of
connections between the static data and the training data; and
labeling, using the processor, a type of each region based at least
in part on: a density of connections within the respective region;
a density of connection crossings within the respective region; and
outputting, using the processor, the map.
[0036] FIG. 1 illustrates an architecture 100, in accordance with
one embodiment. As shown in FIG. 1, a plurality of remote networks
102 are provided including a first remote network 104 and a second
remote network 106. A gateway 101 may be coupled between the remote
networks 102 and a proximate network 108. In the context of the
present architecture 100, the networks 104, 106 may each take any
form including, but not limited to a local area network (LAN), a
wide area network (WAN) such as the Internet, public switched
telephone network (PSTN), internal telephone network, etc.
[0037] In use, the gateway 101 serves as an entrance point from the
remote networks 102 to the proximate network 108. As such, the
gateway 101 may function as a router, which is capable of directing
a given packet of data that arrives at the gateway 101, and a
switch, which furnishes the actual path in and out of the gateway
101 for a given packet.
[0038] Further included is at least one data server 114 coupled to
the proximate network 108, and which is accessible from the remote
networks 102 via the gateway 101. It should be noted that the data
server(s) 114 may include any type of computing device/groupware.
Coupled to each data server 114 is a plurality of user devices 116.
User devices 116 may also be connected directly through one of the
networks 104, 106, 108. Such user devices 116 may include a desktop
computer, lap-top computer, hand-held computer, wearable device,
printer or any other type of logic. It should be noted that a user
device 111 may also be directly coupled to any of the networks, in
one embodiment.
[0039] A peripheral 120 or series of peripherals 120, e.g.,
facsimile machines, printers, networked and/or local storage units
or systems, etc., may be coupled to one or more of the networks
104, 106, 108. It should be noted that databases and/or additional
components may be utilized with, or integrated into, any type of
network element coupled to the networks 104, 106, 108. In the
context of the present description, a network element may refer to
any component of a network.
[0040] According to some approaches, methods and systems described
herein may be implemented with and/or on virtual systems and/or
systems which emulate one or more other systems, such as a UNIX
system which emulates an IBM z/OS environment, a UNIX system which
virtually hosts a MICROSOFT WINDOWS environment, a MICROSOFT
WINDOWS system which emulates an IBM z/OS environment, etc. This
virtualization and/or emulation may be enhanced through the use of
VMWARE software, in some embodiments.
[0041] In more approaches, one or more networks 104, 106, 108, may
represent a cluster of systems commonly referred to as a "cloud."
In cloud computing, shared resources, such as processing power,
peripherals, software, data, servers, etc., are provided to any
system in the cloud in an on-demand relationship, thereby allowing
access and distribution of services across many computing systems.
Cloud computing typically involves an Internet connection between
the systems operating in the cloud, but other techniques of
connecting the systems may also be used.
[0042] FIG. 2 shows a representative hardware environment
associated with a user device 116 and/or server 114 of FIG. 1, in
accordance with one embodiment. Such figure illustrates a typical
hardware configuration of a workstation having a central processing
unit 210, such as a microprocessor, and a number of other units
interconnected via a system bus 212.
[0043] The workstation shown in FIG. 2 includes a Random Access
Memory (RAM) 214, Read Only Memory (ROM) 216, an input/output (I/O)
adapter 218 for connecting peripheral devices such as disk storage
units 220 to the bus 212, a user interface adapter 222 for
connecting a keyboard 224, a mouse 226, a speaker 228, a microphone
232, and/or other user interface devices such as a touch screen and
a digital camera (not shown) to the bus 212, communication adapter
234 for connecting the workstation to a communication network 235
(e.g., a data processing network) and a display adapter 236 for
connecting the bus 212 to a display device 238.
[0044] The workstation may have resident thereon an operating
system such as the Microsoft Windows.RTM. Operating System (OS), a
MAC OS, a UNIX OS, etc. It will be appreciated that a preferred
embodiment may also be implemented on platforms and operating
systems other than those mentioned. A preferred embodiment may be
written using eXtensible Markup Language (XML), C, and/or C++
language, or other programming languages, along with an object
oriented programming methodology. Object oriented programming
(OOP), which has become increasingly used to develop complex
applications, may be used.
[0045] Cognitive Deployment of Sensors within a Location Sensor
Network
[0046] Conventional approaches to deploying indoor location sensor
networks generally rely heavily on the use of floor maps and brute
force deployment of location sensors to boost the accuracy and
reliability of indoor location services. However, very little
emphasis has been given to providing a cognitive engine to advise
users how to deploy the location sensor networks in an optimally
functional manner based on the operational characteristics of the
location sensors, and practical aspects of the deployment
environment, e.g. signal transmission dynamics. Ideally, location
sensors should be deployed so as to minimize signal interference,
while still providing sufficient signal coverage for locating a
given user within the environment.
[0047] Accordingly, the presently described inventive concepts
facilitate deploying a location sensor network in real-time based
on knowledge about the capabilities of various location sensor
types, and characteristics of the environment as determined in
real-time during location sensor deployment. Advantageously, the
inventive concepts herein may utilize, but do not require, a floor
map or other a priori understanding of the physical layout of the
space. Moreover, the network may be customized to include different
location sensor types, according to the user's available
inventory/budget.
[0048] Returning now to the application of guiding a user through
location sensor deployment within a given space, in one general
approach a user wishes to create a location sensor network
throughout a two or three-dimensional space. The user designates a
make and model of a location sensor (e.g. a BLE beacon for the
preferred embodiment) that is to be used for the deployment,
ideally from a catalog or other publicly available source of such
location sensors. The system is equipped with a knowledge base (KB)
including operational characteristics of various types of location
sensors suitable for use in a location sensor network. If the KB
includes such a priori knowledge and/or experience regarding
operational capabilities of the particular type of device
designated by the user, a deployment template of best practices for
inter-device distances for various space configurations is
available to the system and may determine, or be used to guide, the
location sensor deployment process. If no such a priori knowledge
is available, a new entry is created in the KB for the new device
type.
[0049] The user starts at a point in the target deployment space,
and deploys the first location sensor. The user then walks slowly
away from that point. The system continuously monitors signals
received from the first location sensor, e.g. using a sensing
device held by the user during the deployment process. When the
user reaches a known inter-location sensor separation distance, or
a signal with questionable signal strength indicator is received by
the sensing device (whichever comes first), the system directs the
user to deploy the second location sensor.
[0050] After the second deployment, the system senses signals from
two location sensors. The foregoing process repeats in
substantially the same manner, and after the user reaches a known
inter-location sensor separation distance, or a signal with
questionable signal strength indicator is received by the sensing
device (whichever comes first), the system directs the user to
deploy the third location sensor.
[0051] After the third deployment, the system estimates a shape of
the target deployment space. The estimated geometrical shape of the
space is calculated from strong and weak RSSI readings measured as
the user walks the space and deploys location sensors. Furthermore,
previous deployment templates, if available in the knowledge base
(KB), serve as a priori knowledge to fine tune the estimated shape
of the target deployment space. This brings into play additional
intelligence, gleaned from prior deployments for such a space
shape, about preferred location sensor deployment points.
[0052] The foregoing procedure is repeated until the user has
walked the requisite route, e.g. as defined by a predetermined
threshold amount of the environment. In one embodiment, at a
minimum, the user will have visited all accessible vertices (e.g.
as occurring near or at various corners, doorways, walls,
outcroppings, etc.) of the location. In another embodiment, a user
will have visited at least a minimum threshold amount of the total
area of the location, such as one third of the total area, one half
of the total area, two thirds of the total area, etc. depending on
the geometry of the location and the desired sensor coverage. In
still more embodiments, a user will have visited all areas of
interest of the location, and/or all accessible areas of interest,
such as rooms, hallways, stairwells, auditoriums, etc. as would be
understood by a person having ordinary skill in the art upon
reading the present disclosure. Preferably, the user should have
walked most, if not all, of the indoor location, including enclosed
space(s) of interest, and using the sensing device, detected any
available signals while traversing the environment.
[0053] As each location sensor is deployed, the system also refines
its estimation of the shape of the deployment space. The output of
the process then is (a) an estimated map constructed from the RSSI
readings where the user walked; and (b) recommended points at which
location sensors are to be deployed in real-time (and preferably
which type of location sensor should be deployed at each respective
point, as well as an optional minimum remaining battery level or
power level of the location sensor).
[0054] Accordingly in FIG. 3 a method 300 for deploying an indoor
location sensor network is shown according to one embodiment. The
method 300 may be performed in accordance with the present
invention in any of the environments depicted in FIGS. 1-2, among
others, in various embodiments. Of course, more or less operations
than those specifically described in FIG. 3 may be included in
method 300, as would be understood by one of skill in the art upon
reading the present descriptions.
[0055] Each of the steps of the method 300 may be performed by any
suitable component of the operating environment. For example, in
various embodiments, the method 300 may be partially or entirely
performed by a sensing device, or some other device having one or
more processors therein. The processor, e.g., processing
circuit(s), chip(s), and/or module(s) implemented in hardware
and/or software, and preferably having at least one hardware
component may be utilized in any device to perform one or more
steps of the method 300. Illustrative processors include, but are
not limited to, a central processing unit (CPU), an application
specific integrated circuit (ASIC), a field programmable gate array
(FPGA), etc., combinations thereof, or any other suitable computing
device known in the art.
[0056] As shown in FIG. 3, method 300 may initiate with operation
302, where an instruction to deploy a first location sensor at a
first location within an indoor environment is provided. The
instruction may be provided in any suitable form, but preferably
includes at least an auditory or visual signal to the user to
deploy the first location sensor at the initial (first) location.
In preferred embodiments, the user is interacting with a dedicated
mobile application or mobile service for deploying location
sensors, and the application includes a graphical user interface
(GUI) with which the user may interact to provide feedback and/or
receive instructions.
[0057] At any rate, after complying with the instruction to deploy
the first location sensor, the user begins moving away from the
first location sensor, optionally in response to an instruction to
do so, and preferably in response to an instruction accompanied by
a direction in which the user should move. While moving away from
the first location sensor, the first location sensor periodically
or continuously transmits a signal or series of signals,
characterized by a given signal strength. In operation 304, while
moving away from the first location sensor, this first plurality of
signals are received, e.g. by an antenna such as a Bluetooth
antenna, radio antenna, or other receiver of the sensing
device.
[0058] Again while in motion away from the first location sensor,
and preferably in real time performing operation 306 includes
analyzing the received signals to determine the respective signal
strength thereof. As will be appreciated by those having ordinary
skill in the art, signal strength may (but is not always, e.g. in
the case of interference) be an indicator of distance between
transmitter and receiver of the corresponding signal. Accordingly,
determining signal strength allows an inference of the distance
between first location sensor and the sensing device as the user
moves away from the first location sensor.
[0059] Additionally or alternatively, distance from the first
location sensor may be measured using other components, sensors,
and/or functionality of the sensing device, including but not
limited to an accelerometer, magnetometer, and gyroscope, and
corresponding software. Preferably, distance is measured using the
foregoing approach, as well as signal strength, since the ultimate
measure of success for the location sensor network is ability of
sensors to precisely and accurately detect and report location of
objects within the indoor environment such as walls, furniture,
doors/entryways, statues or other large fixtures, and even people,
in various embodiments and as would be understood by a person
having ordinary skill in the art upon reading the present
disclosure. Measuring distance by both means enables inference as
to the location of potential sources of signal interference, as
will be described in greater detail below, inter alia, regarding
generating maps of indoor locations using location sensor
networks.
[0060] At any rate, whether via analyzing signal strengths,
directly measuring distance using other capabilities of the sensing
device, or both, in operation 308 a determination regarding
distance traveled from the first location sensor is made. The
determination is made either on the basis of determining the signal
strength of a last received one of the signals from the first
location sensor is less than a predetermined minimum signal
strength threshold; or that a distance traveled from the first
location sensor is greater than or equal to a maximum inter-sensor
distance threshold. In either case, an affirmative determination
indicates the user's location is a suitable one for deployment of
another sensor, since traveling further from the previously
deployed sensor is likely to result in suboptimal
communication/coverage within the location sensor network.
[0061] Accordingly, operation 310 involves providing an instruction
to deploy a second location sensor at a second location within the
indoor environment, the second location being a position where
either: the signal strength of the last received one of the signals
from the first location sensor was less than the predetermined
minimum signal strength threshold; or the distance traveled from
the first location sensor was greater than or equal to the
predetermined maximum inter-sensor distance threshold.
[0062] Following operation 310, various embodiments of method 300
essentially include an iterative repetition of the foregoing
operations performed in steps 302 - 310. However, as additional
location sensors are deployed, and additional signals received from
multiple location sensors and corresponding directions, deployment
of location sensors at any given location becomes a more complex
determination. For instance, in one embodiment a heuristic
algorithm may be employed to create various "zones" within an
indoor environment, with each zone being "covered" by one or more,
preferably at least three, location sensors. Other deployment
patterns (including random or stochastic patterns) may be employed
in various embodiments without departing from the scope of the
present disclosures.
[0063] Returning now to the specific embodiment shown in FIG. 3, in
operation 312 again while moving away from the second location
sensor (and preferably also away from the first location sensor,
but not necessarily so) a second plurality of signals are received.
The second plurality of signals are received from the second
location sensor, and are also characterized by respective signal
strengths that may be indicative of distance between the sensing
device and the second location sensor. Concurrently, the first
location sensor continues its periodic/continuous signal
transmission and as such signal(s) continue being received at the
sensing device.
[0064] The first signals are characterized by a first signal
strength and the second signals are characterized by a second
signal strength. When moving away from both the first and second
location sensors in operation 312, the strength of both will drop
with distance traveled. However, if moving away from the second
location sensor while moving toward the first location sensor,
signal strength of the first plurality of signals (from the first
location sensor) will rise, and signal strength of the second
plurality of signals (from the second location sensor) will drop,
as a function of distance traveled from the second location. This
is another reason why tracking distance using independent sensors
and signal types is an advantageous feature of the presently
described inventive concepts.
[0065] Regardless of distance/direction indicated, in operation 314
the signals received from the first and second location sensors are
analyzed to determine the respective signal strengths thereof.
[0066] Operation 316 involves another determination, this time
whether: (a) the signal strength of a last received one of the
first plurality of signals from the first location sensor and/or a
last received one of the second plurality of signals from the
second location sensor is less than a predetermined minimum signal
strength threshold; or alternatively (b) a distance traveled from
the second location sensor is greater than or equal to a maximum
inter-sensor distance threshold.
[0067] If either (a) or (b) is true (determination=yes), in
operation 318 an instruction to deploy a third location sensor at a
third location within the indoor environment is provided via the
sensing device. As with similar previous operations, the third
location is the position where either: the signal strength of the
last received one of the signals from the first location sensor
and/or the last received one of the signals from the second
location sensor was less than the predetermined minimum signal
strength threshold; or the distance traveled from the second
location sensor was greater than or equal to the maximum
inter-sensor distance threshold.
[0068] As noted above, method 300 may proceed iteratively to add
more location sensors to the location sensor network until such
time as sufficient coverage has been achieved, e.g. as may be
determined with respect to a predetermined threshold amount of the
environment. This may be indicated, in various embodiments, by a
user operating the sensing device having visited all accessible
vertices of an environment, visited at least a minimum threshold
amount of the total area of the location, visited all areas of
interest of the location, and/or all accessible areas of interest,
etc. as would be understood by a skilled artisan upon reading the
present descriptions. Regardless of the number of location sensors
ultimately required, the method 300 may provide as output: (1) an
estimated map of the indoor environment, the map being based on the
path followed by the user to deploy the various location sensors,
and/or (2) a recommendation of various point(s) throughout the
indoor environment where location sensors may/should be placed to
improve or accomplish signal coverage within the indoor
environment.
[0069] For instance, in one particular implementation, method 300
includes iteratively repeating the following steps until a
predetermined, threshold amount of the environment has been
visited, or equivalently interrogated, by the user operating the
sensing device. In various approaches, the predetermined threshold
amount may be defined according to an amount of the total area of
the environment, an amount of the total accessible area of the
environment, a number or identification of various vertices (e.g.
formed by walls, doors, furniture, fixtures, etc.) throughout the
environment, a number of rooms of the environment, etc. as
described herein and as would be appreciated by a person having
ordinary skill in the art upon reading the instant disclosures.
[0070] First, receive signals from at least the first location
sensor, the second location sensor, the third location sensor, and
(optionally) an iteratively increasing number of additional
location sensors placed throughout the indoor environment, wherein
each signal is characterized by a respective signal strength.
[0071] Second, analyze each of the received signals to determine
the signal strength thereof.
[0072] Third, provide an instruction to deploy an additional
location sensor in response to determining either: (a) the signal
strength of one of the signals received from the first location
sensor, the second location sensor, the third location sensor,
and/or one of the iteratively increasing number of additional
location sensors placed throughout the indoor environment is less
than the predetermined minimum signal strength threshold; or (b) a
distance traveled from the first location sensor, the second
location sensor, the third location sensor, and/or one of the
iteratively increasing number of additional location sensors placed
throughout the indoor environment is greater than or equal to a
maximum inter-sensor distance threshold.
[0073] In this manner, additional location sensors may be placed
throughout the indoor environment to improve the signal coverage
thereover for purposes of location detection and providing location
services indoors.
[0074] Moreover, in various embodiments, method 300 is not limited
to the features, operations, and limitations specifically shown in
FIG. 3 and described hereinabove. Rather, method 300 may be
employed in any suitable environment/manner described herein, and
may include any number of additional or alternative features,
limitations, operations, functionalities, etc. described herein, in
any combination, without departing from the scope of the inventive
concepts described herein.
[0075] For instance, in one embodiment, method 300 involves:
generating a composite map of the indoor environment based on a
plurality of signals received from the first location sensor, the
second location sensor, the third location sensor, and one or more
additional location sensor(s) placed throughout the location sensor
network. The composite map is preferably generated using the signal
data as training data, coupled with a priori knowledge regarding
the operational capabilities and remaining power of the various
sensors to be deployed in the indoor environment.
[0076] Alternatively, the map may be generated from a template
retrieved based on the type of the location sensor(s). For
instance, method 300 may include designating a type of the first
location sensor prior to deploying the first location sensor at the
first location, and retrieving a template from a knowledge base,
the template corresponding to the type of the first location sensor
and describing best practices for the maximum inter- sensor
distance according to various spatial configurations possible
within the indoor environment. In this case, the instructions to
deploy the first location sensor, the instructions to deploy the
second location sensor, and the instructions to deploy the third
location sensor, and instructions to deploy any additional location
sensors in the location sensor network are based on the
template.
[0077] Whether based on templates or otherwise, in one approach
generating a map of a location includes estimating the shape of
various regions within the location. In on embodiment, therefore,
method 300 includes receiving a plurality of signals from the first
location sensor, a second plurality of signals from the second
location sensor, and a third plurality of signals from the third
location sensor, wherein each signal is characterized by a signal
strength; and estimating a shape of an area enclosed by the first
location sensor, the second location sensor, and the third location
sensor based on the respective signal strength of the plurality of
signals from the first location sensor, the second plurality of
signals from the second location sensor, and the third plurality of
signals from the third location sensor.
[0078] Of course, those having ordinary skill in the art will
appreciate that the presently disclosed inventive concepts, and
especially those discussed with respect to location sensor
deployment per FIG. 3 and method 300, are not limited to deployment
of only three beacons, but also apply to deployment of any number
of beacons throughout an environment. For instance, in one
illustrative embodiment the inventive concepts described herein may
include iteratively adding additional sensors in a manner
substantially as described with reference to method 300, e.g.
iteratively performing operations such as described in steps
302-310 with additional sensors and corresponding signals/distance
measurements.
[0079] The shapes may be estimated using any suitable known
technique, but in preferred embodiments uses a convex hull
algorithm such as a Graham scan or a Quickhull algorithm, or any
suitable clustering algorithm, in various approaches and as would
be appreciated by a person having ordinary skill in the art upon
reading the present descriptions.
[0080] Accordingly, in several embodiments, method 300 represents
an alternative approach to generating a map of an indoor location,
such as shown in FIG. 5 and described in greater detail below with
reference to method 500.
[0081] In another embodiment, method 300 may include defining one
or more thresholds for use during deployment based on operational
characteristics of the location sensor(s) to be deployed. For
instance, in one approach the minimum signal strength threshold and
the maximum inter-sensor distance threshold are each based on the
type of location sensor to be deployed in the location sensor
network. In another approach, the minimum signal strength threshold
and the maximum inter-sensor distance threshold are each based on
operational characteristics of various location sensor types,
including but not limited to different average signal strength, a
different average signal sensitivity; and/or a different average
signal range, any one or more of which may be used to compute an
estimated distance and/or set appropriate thresholds for suggesting
a next location sensor location, in one embodiment.
[0082] Similarly, in one embodiment, alternative or in addition to
location sensor type information, location sensor battery/power
information may be provided, and this information may inform the
placement of location sensors throughout the environment. Since
available power can affect signal strength, location sensor
sensitivity, and of course life span, all three (among other)
criteria are important to determining distance between receiver and
transmitter of a signal. Taking these factors into account improves
the performance of the resulting location sensor network, and
renders the technique "cognitive" in the context of the presently
described inventive concepts.
[0083] For example, in one approach method 300 includes designating
a remaining power or battery level of each location sensor to be
deployed in the location sensor network, wherein a minimum signal
strength threshold and a maximum inter-sensor distance threshold
are each based on the remaining power or battery level of the
respective location sensor to be deployed in the location sensor
network.
[0084] Accordingly, skilled artisans will appreciate that location
sensor networks within the scope of the present disclosure may
include any number of known location sensor types with
characteristic operational characteristics and/or remaining power
levels, each of which may be utilized to facilitate deployment of
the location sensors throughout the network. Exemplary operational
characteristics, in various embodiments, may include any
combination of remaining power, power source, broadcast rate,
expected lifetime, prior use status, communication protocol, and/or
signal type, or any one of the foregoing characteristics.
[0085] However, not all location sensor types and/or operational
characteristics thereof may be known a priori. In such embodiments,
it is advantageous to build upon an existing knowledge base of
location sensors by creating a new entry and logging operational
characteristics of the new location sensor type. In various
instances, therefore, method 300 may include determining no a
priori knowledge is available regarding operational characteristics
of the designated type of a given location sensor to be deployed in
the location sensor network; determining one or more of the
operational characteristics of the designated type of the given
location sensor during deployment thereof within the location
sensor network; and storing the determined one or more operational
characteristics of the designated type of the given location sensor
in a knowledge base for future use.
[0086] The knowledge base may be stored in a memory of a sensing
device used to deploy the location sensor network, a server serving
location sensor network capabilities, or any other suitable
device/location as would be appreciated by those having ordinary
skill in the art upon reading the present descriptions.
[0087] Optionally, the operational characteristics for various
location sensor types may be updated over time based on observed
observational characteristics of various deployed location sensor
types. In this manner, the operational characteristics may be
fine-tuned for a given environment, inherently accounting for
sources of noise, signal interference, etc. which may detrimentally
affect performance of the overall location sensor network.
[0088] Moreover, in preferred implementations of method 300, and as
described in further detail below with reference to Algorithm 1, a
user may disobey or ignore a given suggestion to place a location
sensor at a given location, and/or the type of location sensor to
deploy at a given location. Accordingly, method 300 may include
functions to determine the actual type of location sensor (e.g.
based on unique ID, detected characteristics, etc.) and make
inferences regarding the location sensor network based on the
user's actual behavior.
[0089] Accordingly, in various approaches the location sensors
suggested for deployment may include any number of different
location sensor types, each location sensor type having different
operational characteristics (such as battery power, expected
lifetime, broadcast rate, broadcast frequency, range, etc. as would
be understood by a person having ordinary skill in the art upon
reading the present descriptions). For example, in easily
accessible, open areas location sensors having less robust
capabilities may be deployed instead of newer and/or more powerful
location sensors so as to minimize overall system cost. Conversely,
in areas where poor signal is expected (e.g. due to geometry,
interference, etc.) more robust location sensor types may be
recommended. In still more approaches, suggested location sensor
types may alternate between relatively high cost/high quality and
relatively low cost/low quality, e.g. alternating between new and
refurbished location sensors.
[0090] In a particularly preferred embodiment, the location sensor
types are selected from a group consisting of: new location
sensors, old location sensors (whether previously used or not),
used location sensors, refurbished location sensors, high-power
location sensors, low-power location sensors, solar-powered
location sensors, battery-powered location sensors, active sensors,
passive sensors, RFID sensors, based on signal type such as BLE
beacon sensors, Wi-Fi sensors, GPS sensors, location sensors based
on communication protocol, e.g. iBeacon or Eddystone, or any other
suitable location sensor type as may be defined according to
various operational characteristics described herein, along with
equivalents thereof that would be appreciated by a person having
ordinary skill in the art upon reading the present descriptions. In
preferred embodiments, the location sensors include various types
of beacons.
[0091] Cognitive, Progressive Generation of Maps for Indoor
Locations Using Location Sensor Networks
[0092] Exemplary pseudocode for estimating a layout of an indoor
location is given in Algorithm 1, and shown in FIG. 4, according to
one embodiment. Algorithm 1, takes as input a set {B.sup.offline}
of annotated location sensor readings as training data, where
{B.sup.offline} includes location sensor data collected during an
expert training session (or multiple such sessions) annotated with
(X,Y) coordinates; a set {B.sup.static} of deployed location
sensors for a given area, where {B.sup.static} includes location
sensor ID information and known (X,Y) coordinate locations of the
location sensors within the test environment; an initial geometric
map M; a signal threshold .delta. defining a minimum threshold
below which signals are considered "weak"; a minimum density
threshold .rho..sub.min; and a minimum crossing threshold
.chi..sub.min (lines 1-2). The threshold .delta. may be set to a
value determined during training, or another value manually set by
a user. For each annotated data point in {B.sup.offline}, identify
a corresponding location sensor in {B.sup.static} and draw a line
between the two. The type of line drawn between each B.sup.offline
&& B.sup.static is designated based on the received signal
strength for the respective location sensor pair. As shown in
Algorithm 1, a first type of line (e.g. solid, black, green, etc.)
indicates the received signal strength (e.g. RSSI) is >=.delta.;
while a second type of line (e.g. dotted, dashed, red, etc.)
indicates the received signal strength is <.delta.. For
instance, in one exemplary embodiment, the RSSI of beacon A at 0
meters is -55, and the threshold is set to -70 X meters away from
beacon, then any RSSIs >=-70 ([-55, -70]) are considered strong
signals. Any RSSI beyond the threshold -70, e.g., -72, is
considered weak since -72<-70.
[0093] In another embodiment, lines of the first type represent the
case in which the received signal strength between a sensing device
and a location sensor is greater than or equal to some minimum
threshold, t. This represents connections where the signal strength
is strong. On the other hand, lines of the second type represent
the case in which the received signal strength between a sensing
device and a location sensor is less than a threshold, t. This
corresponds to connections where the signal strength is weak
(possibly due to interference between the sensing device and
location sensor (e.g., walls, obstacles, machine, Wi-Fi AP)).
[0094] In such embodiments, the value t is defined by either a
value learned from training data, .delta., or a value K set by the
user, where
t = { .gtoreq. .delta. , or K _ < .delta. , or K
##EQU00001##
and K is a threshold that decouples strong signals and weak signals
(K is a value other than K). In several exemplary embodiments the
RSSI (e.g., in one approach according to IEEE 802.11) is a relative
index, expressed in decibels (dB), that measures the relative
quality of the received signal strength of a device.
[0095] With continuing reference to FIG. 4 and Algorithm 1, once
connections (lines) between each B.sup.offline &&
B.sup.static are established (drawn), regions defining various area
types may be defined using known convex hull algorithms such as
Graham scan or Quickhull, or known clustering algorithms such as
K-Means clustering or Density-Based Spatial Clustering of
Applications with Noise (DBSCAN), in exemplary approaches (line 7).
Other known clustering algorithms, convex hull algorithms, or
equivalents thereof that would be appreciated by a person having
ordinary skill in the art may be employed in other approaches
without departing from the scope of the present disclosure.
[0096] The regions may be classified into the various area types
using one or more filters or thresholds evaluating density of
connections (lines) and/or overlap of lines (crossings)
therebetween in a given region (line 8). As understood herein,
density refers to "amount per unit area" since we are dealing with
two-dimensional spaces in the context of Algorithm 1. Exemplary
area types may include, but are not limited to: hallways, defined
as dense first line type areas, e.g. having a density of first type
lines above a minimum density threshold .rho..sub.min and sparse
second line type crossings, e.g. regions having a number of
crossings below a minimum crossing threshold .chi..sub.min; walls:
defined as dense second line type crossings, e.g. regions having a
number of crossings above a minimum crossing threshold
.chi..sub.min and sparse first line type areas, e.g. having a
density of first type lines below a minimum density threshold
.rho..sub.min; and open spaces: defined as empty areas, e.g.
regions without any fingerprinting training data, and/or dense
first line type regions, e.g. regions having a density above a
minimum density threshold .rho..sub.min and dense second line type
crossings, e.g. regions having a number of crossings above the
minimum crossing threshold .chi..sub.min.
[0097] Referring again to Algorithm 1, and FIG. 4, the areas may
also be labeled and/or rendered, e.g. using any suitable auto
sketch functionality and/or techniques (line 9).
[0098] Optionally, (line 10), the user may be provided a draft or
rendering of the map, the map preferably including regions and area
types assigned thereto. Users may correct the auto-generated
rendering, e.g. by manually dragging various points/vertices of the
initial shape to redefine/correct into a final shape.
[0099] Whether manual adjustment of the generated map occurs or
not, Algorithm 1 as shown in FIG. 4 includes labeling the completed
map based on sparsity of the different regions/areas therein (line
11). The labels include "open space," "closed space," and
"undetermined" in one embodiment. Of course, other labels may be
included, and may be assigned based on different criteria besides,
or in addition to, sparsity, in various embodiments. For example,
areas may be labeled according to distance from another area, e.g.
an entrance or exit, a lunchroom, a restroom, etc. Areas may
further, or alternatively, be defined according to the number of
location sensors present, location sensor coverage, or other
operational characteristics of the location sensors.
[0100] Algorithm 1 completes, and returns a geometric map M of the
corresponding area requested by the user, and based on the various
inputs of location sensor data (training) and bulk location sensor
data (testing). The map M includes all associations between
location sensor (X, Y) coordinates and corresponding annotated
location sensor readings (training data). Accordingly, the map M
may be utilized to generate suggestions for optimal location sensor
locations using various different sensor types and with different
characteristics (e.g. battery life, broadcast rate, new/used
status, expected lifetime, or any other characteristics that may be
understood by a person having ordinary skill in the art upon
reading the present disclosures) and guide a user through a
cognitive process for deploying a location sensor network, in one
embodiment.
[0101] The map M may itself be an endpoint in some embodiments, but
may also be utilized to assist a user in deploying location sensors
of various types, operational characteristics, battery levels,
broadcast rate, expected lifetime, new/used status, etc. in an
indoor environment to provide or optimize a location sensor
network, in preferred approaches.
[0102] Advantageously, employing the presently described inventive
concepts yields practical benefits in the context of operational
cost for indoor location sensing solutions. For example, by making
suggestions not only as to where location sensors should be
located, but what type of location sensor (e.g. based on location
sensor characteristics such as those mentioned above) to deploy at
a given location, overall operational lifetime of the indoor
location sensing network may be extended, and/or other operational
parameters tuned, such as signal coverage, in one embodiment.
[0103] Location sensor selection by the system allows existing
location sensors to be reused (e.g., refurbished location sensors).
For example, in some situations it might be more efficient to use 5
location sensors with low transmission power rather than a single
location sensor with highest transmission power (for example, in an
easily accessed area with low or no signal interference). In other
cases, it may be advantageous to alternate used location sensors
between new location sensors. Combinations of these approaches may
be employed without departing from the scope of the presently
described inventive embodiments.
[0104] In more embodiments, the services facilitated by the present
disclosed inventive concepts not only expedite the deployment of
location sensors at retail and non-retail locations, but also
introduces a recycling model that allows users to reuse existing
devices, thus saving money and time. For example, users of the
system may be coached and guided throughout the entire deployment
phase, with preferences given to deploying used/refurbished
location sensors where possible to reduce overall cost and minimize
the need to purchase/utilize new equipment. For example, while
proceeding through the deployment process, different audible
signals may be provided to suggest deployment of different location
sensor types.
[0105] In some instances, a user may ignore or disregard a
suggested location sensor placement, and/or the type of location
sensor suggested for placement at a given location. In preferred
approaches, the inventive concepts described herein provide the
capability to detect such "disregard/ignore" events and account for
the user's actual behavior.
[0106] For example, a particular suggested location sensor type and
location is provided to a user, and the user unilaterally
determines following the suggestion would be disadvantageous, e.g.
because attempting to deploy the suggested location sensor type did
not result in signal detection, or resulted in only weak/unreliable
signal detection. Accordingly, the user replaces the suggested
location sensor type with another type having, e.g. more battery
power, a larger antenna, a newer location sensor, etc. as would be
understood by a person having ordinary skill in the art upon
reading the present disclosures.
[0107] The system may detect the
configuration/settings/characteristics of the location sensor
actually deployed by the user, and make certain inferences in
response thereto, e.g. that the signal strength in the deployed
location is less than expected, or signal interference is greater
than expected, etc. as would be appreciated by a person having
ordinary skill in the art upon reviewing these descriptions.
[0108] To illustrate the operation and advantages of the inventive
concepts disclosed herein, according to one exemplary embodiment,
the inventors collected training data in various indoor spaces,
e.g. different floor plans that include large open space areas or
areas with hallways, and, using this training data, evaluated the
geometric map generation process of the presently disclosed
inventive cognitive progressive methods and systems, the results of
which are discussed below.
[0109] According to various embodiments, a training data set
includes of a set of location sensor readings, e.g. beacon
readings, collected at (X, Y) locations in a space equipped with
appropriate location sensors. The remaining discussion of the
exemplary, experimental embodiment will refer to location sensors
as "beacons" but it should be appreciated that in various
embodiments other location sensor types may be employed without
departing from the scope of the inventive concepts presented
herein. The identifying information and suitable signal strength
(or other equivalent information/measures) may differ for different
location sensor types, but tailoring the inventive concept as
presented below with respect to beacons to other location sensor
types should be considered within the scope of the present
disclosure.
[0110] At any rate, for each (X, Y) location, a beacon's
identifying information and other information (e.g., relative
received signal strength indicator (RSSI)) sensed by a sensing
device (e.g., an iOS device) are saved along with a current
timestamp and (X, Y) location of where the measurements were
sensed/taken. The training data may be utilized to provide a set of
known locations within a given space, e.g. an indoor space, the
known locations corresponding to various location sensors deployed
throughout the space.
[0111] The known locations may be utilized to determine location of
other objects, and/or sources of signal interference, throughout
the 2-dimensional or 3-dimensional space. For example, assume the
sensing device sensed 4 beacons at a location, but 3 out of the 4
beacons' RSSIs could not be determined. However, the remaining
beacon was sensed and RSSI could be determined (as for group 3 in
Table 1 below).
[0112] For a given (X, Y) location, the set of beacons sensed at
that location might be in range or out of range, as determined by
some threshold or known quantity. If the beacons are out of range,
this might be due to some interference present in the space (e.g.,
walls, obstacles). Out of range beacons can mean two things: (1) a
beacon is located too far away that the sensing device cannot sense
it at all; and/or (2) a beacon is located a distance away from the
sensing device such that the signal is noisy and the visibility of
the beacon's signal is intermittent. To demonstrate this notion,
Table 1 shows exemplary beacons' identifying information and other
information for 3 different locations that were sensed at the given
(X, Y) location, according to one experimental embodiment.
[0113] For each set of beacons sensed at the given location,
identifying information (including, but not limited to, major ID,
minor ID, and/or UUID, in any combination), RSSI, and timestamp are
determined, as shown in Table 1. For example, at (X, Y)=(375, 274),
4 beacons were sensed. Only 1 beacon has a valid/usable RSSI
reading. It is important to note that the number of beacons per
set/group may vary. For example, in a preferred embodiment a
set/group of beacons is defined as the number of beacons detected
at a given location at a given instance in time. For example, only
2 beacons were sensed at location (374, 127) at time 20:50:56+0000,
whereas 4 beacons were sensed at location (378, 253) at time
20:51:09+0000. Of course, other ways of defining beacon groups/sets
may be employed without departing from the scope of the present
application.
TABLE-US-00001 TABLE 1 Exemplary Beacon Readings Annotated by (X,
Y) Coordinate and Timestamp Beacon ID Set/Group ID (X, Y) Timestamp
(major:minor) RSSI 1 (374, 127) 20:50:56+0000 3:7 -96 3:11 -89 2
(378, 253) 20:51:09+0000 3:1 0 3:7 -97 3:11 0 3:12 0 3 (375, 274)
20:51:11+0000 3:1 -90 3:7 0 3:11 0 3:12 0
[0114] As shown in Table 1 above, for each set of beacons sensed,
the RSSI may not always be useful. For example, for set ID 2,
beacon IDs 3:1, 3:11, and 3:12 have an RSSI of 0. This could mean
that the sensing device could sense the beacon (e.g. able to read,
acquire, or otherwise derive from the received signal a major and
minor ID) but not all beacon packets were received within a
1-second cycle; or for some unknown reason, the RSSI could not be
determined. This is the behavior that has been observed, according
to one exemplary embodiment, for an iOS device, but may be
different for other devices (e.g., Android or Raspberry Pi device,
etc. as would be understood by a person having ordinary skill in
the art upon reading the present disclosure). However, the RSSI
threshold that determines when a beacon is within range or not can
be learnt from the training data or using known methods. Reaching
this noisy "threshold" RSSI value could be due to the beacon being
on the other side of a wall or an obstacle causing some sort of RF
interference.
[0115] It is possible to extrapolate the geometry of various spaces
by representing as lines all connections between beacons and
training points as follows: Case 1: All connections where a beacon
was sensed but it reached a noisy RSSI threshold value or RSSI
could not be determined. Case 2: All connections where a beacon was
sensed and the RSSI could be determined and was within the
boundaries of a specified threshold.
[0116] By looking at the density of signal connections drawn
according to the binary classification above, the geometrical shape
of a space can be inferred as: (1) a closed space, if: the density
of strong signals is more prominent in areas that are more
accessible (e.g., hallways, walkable spaces, doorways, etc.) than
the current location (where "prominence" is synonymous with
"greater than", such that a density of strong signals is more
prominent than other areas if the given area has more strong
signals per unit area than the respective "other area"); and/or the
density of weak signals is more prominent in areas that are not
accessible (e.g., across a room, through walls, etc.) than the
current location; (2) an open space, if: a density distribution of
strong and weak signals differ, e.g. a distribution characterized
by a ratio of strong to weak signals in a range from about 70:30 or
80:20, etc. in various embodiments and as would be appreciated by a
skilled artisan upon reviewing the instant disclosure; and (3) an
undetermined space, if: a density distribution of strong and weak
signals is about the same, e.g. a distribution characterized by a
ratio of strong to weak signals in a range from about 40:60 to
about 60:40, preferably in a range from about 45:55 to 55:45, and
most preferably a ratio of about 50:50, according to various
embodiments and within the given location.
[0117] Accordingly in FIG. 5 a method 500 for cognitively,
progressively generating a map of an indoor location using a
location sensor network is shown, according to one embodiment. The
method 500 may be performed in accordance with the present
invention in any of the environments depicted in FIGS. 1-2, among
others, in various embodiments. Of course, more or less operations
than those specifically described in FIG. 5 may be included in
method 500, as would be understood by one of skill in the art upon
reading the present descriptions.
[0118] Each of the steps of the method 500 may be performed by any
suitable component of the operating environment. For example, in
various embodiments, the method 500 may be partially or entirely
performed by a processor, or some other device having one or more
processors therein. The processor, e.g., processing circuit(s),
chip(s), and/or module(s) implemented in hardware and/or software,
and preferably having at least one hardware component may be
utilized in any device to perform one or more steps of the method
500. Illustrative processors include, but are not limited to, a
central processing unit (CPU), an application specific integrated
circuit (ASIC), a field programmable gate array (FPGA), etc.,
combinations thereof, or any other suitable computing device known
in the art.
[0119] As shown in FIG. 5, method 500 may initiate with operation
502, where training data are received. The training data include a
plurality of location sensor signal measurements associated with
location information corresponding to the signal measurement, e.g.
such as may be collected during performance of a method 300 or the
like. Each location sensor signal measurement includes a received
signal strength, identifying information for a location sensor from
which the signal was received, and a location within the indoor
environment corresponding to the location sensor or the sensing
device receiving the signal from the location sensor, in
alternative embodiments. Accordingly, the training data may include
a plurality of signal strength measurements, corresponding location
sensor identity information, and associated (X, Y) location
coordinates.
[0120] Method 500 also includes receiving static data comprising an
identification and a location of each of a plurality of location
sensors deployed throughout the indoor environment in operation
504. The static data may reflect a current or estimated location
sensor network distribution of location sensors throughout a given
indoor environment, in various approaches. The identification of
the location sensors may be provided in any suitable form, but
preferably includes at least one unique identifier for each
location sensor. In the particularly preferred embodiment of BLE
beacons as the location sensors, the identification includes a
major ID, a minor ID, and a universally unique identifier (UUID).
The UUID may identify a building or other specific large entity,
e.g. train station, ballpark, airport; the major ID may identify a
floor of a building or similarly broad indication of location,
while the minor ID may identify a particular room or other specific
indication of location, each within an indoor environment. Other
suitable types of identifying information include an IP address,
MAC address, pathname, serial number, or any other variety of
identifying information for various location sensor types as would
be known by those having ordinary skill in the art upon reading the
present descriptions.
[0121] A plurality of connections, e.g. lines, are established
between the static data and training data in operation 506. The
connections preferably represent signal strength between a given
location sensor defined in the static data, and one or more
locations where a measurement was taken, as reflected in the
training data.
[0122] Accordingly, if represented graphically, the map being
generated in the process of method 500 may include lines of various
types, such as lines of a first type (e.g. solid, of a particular
color, etc.) identifying connections with a signal strength greater
than or equal to a predetermined minimum signal strength threshold
(e.g. .delta. as described above with reference to FIG. 4 and
Algorithm 1), as well as lines of a second type (e.g. dotted,
dashed, of a second particular color, etc.) identifying connections
with a signal strength less than the predetermined minimum signal
strength threshold.
[0123] Once connections are established, regions within the overall
environment are identified based on the plurality of connections
between the static data and the training data. The regions are
identified using known techniques such as a complex hull algorithm,
e.g. via Graham scan or a Quickhull algorithm, or known clustering
algorithms, e.g. K-Means clustering or Density-Based Spatial
Clustering of Applications with Noise (DBSCAN), in operation 508.
Other known clustering algorithms, convex hull algorithms, or
equivalents thereof that would be appreciated by a person having
ordinary skill in the art may be employed in other approaches
without departing from the scope of the present disclosure.
[0124] The regions are accordingly labeled by type in operation
510. Various types described hereinabove may be employed, such as
hallways, walls, open spaces, enclosed spaces, rooms, corridors,
doorways, entryways, etc. in various embodiments. Labels may be
assigned based on the density or sparsity of various features
within each region of the map.
[0125] For example, regions of different types may be defined based
on density of connections indicating strong or weak signal strength
(e.g. number or density of lines of the first or second types).
Regions may also be defined based on density of connection
intersections (or overlap, or crossover, equivalently), such as
density of intersections between connections indicating strong or
weak signal strength. Regions may still further be defined based on
whether a path defined by a plurality of signal measurements, e.g.
from training data, define a regular (e.g. linear, polygonal, etc.)
path or not. For instance, hallways, corridors, etc. tend to be
characterized by signal measurements taken therein resting along a
substantially linear path (or series of connected line segments).
On the other hand, open spaces tend to be characterized by signal
measurements that may not follow any well-defined or identifiable
path.
[0126] In operation 512, the map is output. The map may be output
to a memory, a display, or any other suitable destination for
immediate or subsequent use. Preferably, the map includes or
otherwise identifies the location of each of the plurality of
location sensors throughout the indoor environment; the plurality
of regions and respective locations thereof within the indoor
environment; and the type of each region.
[0127] Optionally, but preferably, the map also includes the
plurality of connections and a series of lines indicating walls,
hallways, open spaces, etc. The lines are generated using any
suitable auto sketch and labeling technique known in the art.
[0128] In some approaches, the static data comprise: a type and/or
a remaining power of each location sensor; and the predetermined
minimum signal strength threshold is based on the type and/or the
remaining power of a respective location sensor identified in the
static data and forming one end of one of the connections.
[0129] The method 500 as shown in FIG. 5 has been described in
accordance with one exemplary approach, but it shall be appreciated
that in various embodiments the inventive concept represented by
FIG. 5 and method 500 may include any number of additional and/or
alternative features, especially including but not limited to those
discussed above regarding FIGS. 3-4 for location sensor deployment
and map generation.
[0130] For instance, in one approach the static data include: a
type and/or a remaining power of each location sensor; and the
predetermined minimum signal strength threshold is based on the
type and/or the remaining power of a respective location sensor
identified in the static data and forming one end of one of the
connections.
[0131] One Dimensional Sensor Network and Location Services
[0132] As noted above, two or three-dimensional location services
may be useful in a large number of contexts, but are also
overcomplicated and therefore both more expensive and less reliable
than simpler situations dealing with the same, or a similar,
problem only in one dimension.
[0133] In some embodiments, the location sensor network described
herein may be configured particularly to map one-dimensional
locations to sensor signals, such as vertical location of an object
within an indoor space such as an elevator shaft, stairwell,
escalator, etc., a horizontal or depth-wise location of an object
within an indoor space such as a track, hallway, tunnel, corridor,
or other extended space along one dimension, as would be understood
by a person having ordinary skill in the art upon reading the
present disclosures.
[0134] In order to track a device that moves on a track or
otherwise is restricted to linear motion, one can attach a radio
source of known transmission power to the device and place a
stationary receiver along the track, especially near one end of the
track's path. In the case of an elevator to be tracked, the
location sensor would be placed in the elevator car and the
receiver would be placed near the bottom or top floor near enough
to the elevator to receive the signal from the location sensor.
[0135] The signal strength read at the receiver can be used to
calculate the position of the car on its track. By calibrating the
location sensor with a fixed and adequate transmission power and
taking readings from the system with the car at each floor, one can
create a mapping of the measured signal readings at each position.
The system can then report the position of the car at any time.
[0136] The inventive system has the advantages of using a
potentially battery powered long lasting location sensor in the
moving car, which often has restrictive power, fire and weight
considerations. The receiver, being stationary, can be placed where
power is easily obtained and can also be networked, enabling remote
tracking of the device, especially in situations where such
tracking was not part of the original configuration. Additionally,
a portable receiver could be used in emergencies when power is out
to detect the proximity of the elevator to the receiver.
[0137] The inventive embodiment presently described includes
placing a location sensor such as a radio beacon on a device to be
tracked. In the simplest case, the device would be an elevator and
the location sensor could be a beacon configured, e.g., using
iBeacon or Eddystone protocols, or any other equivalent thereof
that would be appreciated by a person having ordinary skill in the
art upon reading the present descriptions. In preferred approaches,
location sensors such as beacons are or include Bluetooth Low
Energy (BLE) radio devices, which may be powered by solar cells,
batteries, etc. and has dimensions of about 1.0.times.1.0.times.0.5
inches (height by width by depth (H.times.W.times.D)) or more. In a
particularly preferred embodiment, beacons have dimensions of about
2.0.times.2.0.times.0.5 inches (H.times.W.times.D). The location
sensor device can be placed above the elevator car ceiling,
attached to a wall inside the car, or tucked into the phone box or
button panel.
[0138] The second component of the one-dimensional tracking
embodiment includes a receiver, suitable for receiving the signal
from the location sensor and reporting the received signal strength
indicator (RSSI), and/or received signal strength determined based
at least in part on the RSSI. The receiver is ideally placed near
the track/shaft of the device to be tracked, at one end of the
track.
[0139] The signal reported by the receiver is converted to a
numeric representation of signal strength. In one implementation,
the receiver is a Raspberry Pi Model 3 computer device which can
detect location sensors and report their signal strength and ID. Of
course, other suitable sensing devices, preferably mobile devices,
may be employed in alternative approaches, without departing from
the scope of the inventive embodiments described herein.
[0140] The invention is configured to convert the signal strength
into a measure of the location along the one dimensional path, e.g.
for an elevator the floor where the car is located. More distant
locations (lower floors) have lower, or even no, received signal
strength. The closest locations have the strongest signal strength.
By recording the signal strengths at each location, or sampling
signal strength at certain locations and interpolating between
sample locations, one can create a mapping between signal strength
and elevator car location.
[0141] Stability or variability of signal strength can additionally
or alternatively be used as an indicator of a stationary or moving
car and the direction of the variability, e.g. signal getting
stronger, can be interpreted as the car is moving--moving toward
the receiver when the signal is getting stronger, away from the
receiver when the signal is getting weaker, and standing still when
signal is stable in strength.
[0142] The invention can be enhanced to keep a history of all
elevator actions by recording the position or floor (e.g. 1, 2, 3,
etc.) at each point in time and the direction trend (toward, away,
stationary) based on the rate of change in the signal.
[0143] Accordingly in FIG. 6 a method 600 for tracking a device
capable of moving along one dimension is shown according to one
embodiment. The method 600 may be performed in accordance with the
present invention in any of the environments depicted in FIGS. 1-2,
among others, in various embodiments. Of course, more or less
operations than those specifically described in FIG. 6 may be
included in method 600, as would be understood by one of skill in
the art upon reading the present descriptions.
[0144] Each of the steps of the method 600 may be performed by any
suitable component of the operating environment. For example, in
various embodiments, the method 600 may be partially or entirely
performed by a location sensor such as a BLE beacon, or some other
device having one or more processors therein. The processor, e.g.,
processing circuit(s), chip(s), and/or module(s) implemented in
hardware and/or software, and preferably having at least one
hardware component may be utilized in any device to perform one or
more steps of the method 600. Illustrative processors include, but
are not limited to, a central processing unit (CPU), an application
specific integrated circuit (ASIC), a field programmable gate array
(FPGA), etc., combinations thereof, or any other suitable computing
device known in the art.
[0145] As shown in FIG. 6, method 600 may initiate with operation
602, where a location sensor such as a BLE beacon is calibrated
with a receiver positioned at a first terminus of a one-dimensional
path. The location sensor is attached to a vehicle configured to
traverse the one-dimensional path from the first terminus to at
least a second point along the one dimensional path, in preferred
embodiments.
[0146] Calibrating the location sensor with the receiver involves
optionally, but preferably and repeatedly, performing operations
604-606, though these operations must be performed at least once to
accomplish calibration. In operation 604, the vehicle is positioned
at one or more predetermined locations along the one-dimensional
path, each such location being located between the first terminus
and the second point along the path.
[0147] In operation 606, a signal is transmitted from the vehicle
toward the receiver at each of the predetermined locations. The
signals are characterized by a known signal strength, and the
optionally distance between the receiver and the location sensor is
also known. This permits inference as to the location of the
vehicle along the path upon receipt and analysis by the
receiver.
[0148] Accordingly, and optionally, after calibration, method 600
involves periodically (e.g. every second, every minute, every 5
minutes, every hour, every day, according to a time increment
corresponding to an expected travel time/distance between
subsequent points along the one dimensional path, etc. as would be
appreciated by a person having ordinary skill in the art upon
reading the present disclosure) or continuously transmitting
signals of known transmission power from the location sensor to the
receiver in operation 608, so as to allow periodic or continuous
monitoring of the location of the vehicle along the one dimensional
path. Signals may be transmitted, for example, along predetermined
intervals or at predetermined positions along the path (such as
floors for an elevator, stops for a subway, etc.).
[0149] In a particularly preferred embodiment of method 600, the
location sensor is a Bluetooth Low Energy (BLE) radio device,
powered by batteries, solar cells, fuel cells, or the like, and is
characterized by dimensions of about 1.0.times.1.0.times.0.5 inches
(H.times.W.times.D) or greater, most preferably about
2.0.times.2.0.times.0.5 inches (H.times.W.times.D).
[0150] It shall be appreciated that in various embodiments the
inventive concept represented by FIG. 6 and method 600 may include
any number of additional and/or alternative features, especially
including but not limited to those discussed above regarding FIGS.
3-5 for location sensor deployment and map generation.
[0151] The present invention may be a system, a method, and/or a
computer program product. The computer program product may include
a computer readable storage medium (or media) having computer
readable program instructions thereon for causing a processor to
carry out aspects of the present invention.
[0152] The computer readable storage medium can be a tangible
device that can retain and store instructions for use by an
instruction execution device. The computer readable storage medium
may be, for example, but is not limited to, an electronic storage
device, a magnetic storage device, an optical storage device, an
electromagnetic storage device, a semiconductor storage device, or
any suitable combination of the foregoing. A non-exhaustive list of
more specific examples of the computer readable storage medium
includes the following: a portable computer diskette, a hard disk,
a random access memory (RAM), a read-only memory (ROM), an erasable
programmable read-only memory (EPROM or Flash memory), a static
random access memory (SRAM), a portable compact disc read-only
memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a
floppy disk, a mechanically encoded device such as punch-cards or
raised structures in a groove having instructions recorded thereon,
and any suitable combination of the foregoing. A computer readable
storage medium, as used herein, is not to be construed as being
transitory signals per se, such as radio waves or other freely
propagating electromagnetic waves, electromagnetic waves
propagating through a waveguide or other transmission media (e.g.,
light pulses passing through a fiber-optic cable), or electrical
signals transmitted through a wire.
[0153] Computer readable program instructions described herein can
be downloaded to respective computing/processing devices from a
computer readable storage medium or to an external computer or
external storage device via a network, for example, the Internet, a
local area network, a wide area network and/or a wireless network.
The network may comprise copper transmission cables, optical
transmission fibers, wireless transmission, routers, firewalls,
switches, gateway computers and/or edge servers. A network adapter
card or network interface in each computing/processing device
receives computer readable program instructions from the network
and forwards the computer readable program instructions for storage
in a computer readable storage medium within the respective
computing/processing device.
[0154] Computer readable program instructions for carrying out
operations of the present invention may be assembler instructions,
instruction-set-architecture (ISA) instructions, machine
instructions, machine dependent instructions, microcode, firmware
instructions, state-setting data, or either source code or object
code written in any combination of one or more programming
languages, including an object oriented programming language such
as Smalltalk, C++ or the like, and conventional procedural
programming languages, such as the "C" programming language or
similar programming languages. The computer readable program
instructions may execute entirely on the user's computer, partly on
the user's computer, as a stand-alone software package, partly on
the user's computer and partly on a remote computer or entirely on
the remote computer or server. In the latter scenario, the remote
computer may be connected to the user's computer through any type
of network, including a LAN or a WAN, or the connection may be made
to an external computer (for example, through the Internet using an
Internet Service Provider). In some embodiments, electronic
circuitry including, for example, programmable logic circuitry,
field-programmable gate arrays (FPGA), or programmable logic arrays
(PLA) may execute the computer readable program instructions by
utilizing state information of the computer readable program
instructions to personalize the electronic circuitry, in order to
perform aspects of the present invention.
[0155] Aspects of the present invention are described herein with
reference to flowchart illustrations and/or block diagrams of
methods, apparatus (systems), and computer program products
according to embodiments of the invention. It will be understood
that each block of the flowchart illustrations and/or block
diagrams, and combinations of blocks in the flowchart illustrations
and/or block diagrams, can be implemented by computer readable
program instructions.
[0156] These computer readable program instructions may be provided
to a processor of a general purpose computer, special purpose
computer, or other programmable data processing apparatus to
produce a machine, such that the instructions, which execute via
the processor of the computer or other programmable data processing
apparatus, create means for implementing the functions/acts
specified in the flowchart and/or block diagram block or blocks.
These computer readable program instructions may also be stored in
a computer readable storage medium that can direct a computer, a
programmable data processing apparatus, and/or other devices to
function in a particular manner, such that the computer readable
storage medium having instructions stored therein comprises an
article of manufacture including instructions which implement
aspects of the function/act specified in the flowchart and/or block
diagram block or blocks.
[0157] The computer readable program instructions may also be
loaded onto a computer, other programmable data processing
apparatus, or other device to cause a series of operational steps
to be performed on the computer, other programmable apparatus or
other device to produce a computer implemented process, such that
the instructions which execute on the computer, other programmable
apparatus, or other device implement the functions/acts specified
in the flowchart and/or block diagram block or blocks.
[0158] The flowchart and block diagrams in the Figures illustrate
the architecture, functionality, and operation of possible
implementations of systems, methods, and computer program products
according to various embodiments of the present invention. In this
regard, each block in the flowchart or block diagrams may represent
a module, segment, or portion of instructions, which comprises one
or more executable instructions for implementing the specified
logical function(s). In some alternative implementations, the
functions noted in the block may occur out of the order noted in
the figures. For example, two blocks shown in succession may, in
fact, be executed substantially concurrently, or the blocks may
sometimes be executed in the reverse order, depending upon the
functionality involved. It will also be noted that each block of
the block diagrams and/or flowchart illustration, and combinations
of blocks in the block diagrams and/or flowchart illustration, can
be implemented by special purpose hardware-based systems that
perform the specified functions or acts or carry out combinations
of special purpose hardware and computer instructions.
[0159] Moreover, a system according to various embodiments may
include a processor and logic integrated with and/or executable by
the processor, the logic being configured to perform one or more of
the process steps recited herein. The processor may be of any
configuration as described herein, such as a discrete processor or
a processing circuit that includes many components such as
processing hardware, memory, I/O interfaces, etc. By integrated
with, what is meant is that the processor has logic embedded
therewith as hardware logic, such as an application specific
integrated circuit (ASIC), a FPGA, etc. By executable by the
processor, what is meant is that the logic is hardware logic;
software logic such as firmware, part of an operating system, part
of an application program; etc., or some combination of hardware
and software logic that is accessible by the processor and
configured to cause the processor to perform some functionality
upon execution by the processor. Software logic may be stored on
local and/or remote memory of any memory type, as known in the art.
Any processor known in the art may be used, such as a software
processor module and/or a hardware processor such as an ASIC, a
FPGA, a central processing unit (CPU), an integrated circuit (IC),
a graphics processing unit (GPU), etc.
[0160] It will be clear that the various features of the foregoing
systems and/or methodologies may be combined in any way, creating a
plurality of combinations from the descriptions presented
above.
[0161] It will be further appreciated that embodiments of the
present invention may be provided in the form of a service deployed
on behalf of a customer to offer service on demand.
[0162] While various embodiments have been described above, it
should be understood that they have been presented by way of
example only, and not limitation. Thus, the breadth and scope of a
preferred embodiment should not be limited by any of the
above-described exemplary embodiments, but should be defined only
in accordance with the following claims and their equivalents.
* * * * *