Source: https://patents.google.com/patent/KR20100117658A/en
Timestamp: 2020-02-20 04:42:22
Document Index: 709336926

Matched Legal Cases: ['Application No. 11', 'art 700', 'art 700', 'art 900', 'art 1100', 'art 1100', 'art 900', 'art 1500', 'art 1500', 'art 1500', 'art 1800', 'art 1800', 'art 1800', 'art 1800', 'art 2000', 'art 2000', 'art 1800', 'art 1800', 'art 2000', 'art 1100', 'art 2300', 'art 2300', 'art 2300']

KR20100117658A - Location tracking based on proximity-based ad hoc network - Google Patents
Location tracking based on proximity-based ad hoc network Download PDF
KR20100117658A
KR20100117658A KR1020107019986A KR20107019986A KR20100117658A KR 20100117658 A KR20100117658 A KR 20100117658A KR 1020107019986 A KR1020107019986 A KR 1020107019986A KR 20107019986 A KR20107019986 A KR 20107019986A KR 20100117658 A KR20100117658 A KR 20100117658A
KR1020107019986A
KR101185672B1 (en
라훌 네어
마크 이. 데이비스
조셉 오셜리반
오리 잘츠맨
크리스토퍼 파레티
크리스토퍼 더블유. 히긴스
2008-02-08 Priority to US12/028,422 priority Critical
2008-02-08 Priority to US12/028,422 priority patent/US8045482B2/en
2009-02-02 Application filed by 야후! 인크. filed Critical 야후! 인크.
2009-02-02 Priority to PCT/US2009/032854 priority patent/WO2009100013A2/en
2010-11-03 Publication of KR20100117658A publication Critical patent/KR20100117658A/en
2012-09-24 Publication of KR101185672B1 publication Critical patent/KR101185672B1/en
Systems and methods are described for establishing a proximity-based ad hoc network between a plurality of sensors, performing location tracking using the network, and providing location based services. The time-coded data received from each of the sensors is used to determine the current proximity to other sensors in the plurality of sensors of each of the sensors. The actual location information associated with a particular sensor can then be used to generate or augment location information associated with other sensors known to be spatially and temporally close to the particular sensor.
Location tracking based on proximity-based ad hoc network {LOCATION TRACKING BASED ON PROXIMITY-BASED AD HOC NETWORK}
The present invention relates generally to systems and methods for determining the location of one or more devices and / or objects associated with a user for the purpose of providing a service, such as a location based service.
Location-based services are services that provide location-specific content or support to users. Location-based services typically rely on the ability to track the location of a user device or object, sometimes a process called location determination. Some examples of location based services include personal navigation, resource location determination, resource tracking, proximity based notification, location based charging and emergency services.
Currently, various systems exist for automatically determining the location of a user device or object. Such systems include, for example, global positioning systems (GPS), WiFi based positioning systems, cellular telephone based positioning systems and Bluetooth® based positioning systems. Each of these systems provides its own set of relative advantages and disadvantages. For example, GPS provides very accurate location estimation but does not work well in indoor environments or in areas that are vulnerable to multipath effects such as urban canyons. WiFi-based location determination systems work better than GPS in indoor environments, but require the user to be within the transmission range of multiple wireless access points to operate. Cellular phone based and Bluetooth based location determination systems also have their own advantages and disadvantages.
Although various types of location determination systems exist, networks and communication carriers typically employ only one type of system for the provision of location based services. Thus, users of each network / carrier must live with certain set of disadvantages associated with the type of location system employed. This may include, for example, the generation of unreliable location information at certain times or under certain conditions or the generation of location information with limited or divergent granularity.
Moreover, because different networks / carriers use different location determination techniques, there is currently a lack of sophisticated location based services for users extending across multiple networks or carriers. Furthermore, there is no system that can advantageously connect and use various sources of location information, each of which can generate location information with different formats in different ways to produce an improved or more comprehensive set of location information. . Indeed, beacons associated with certain location determination systems (ie, WiFi-based, cellular telephone-based, and Bluetooth-based location systems) have very different transmission ranges and signal strengths, so that the information generated by these systems is not available. There is a strong incentive to maintain within individual information silos.
In addition, sensor enabled associated with different types of location determination systems and with different networks and carriers, to create a database of real-time device / object locations that can be used to provide location based services and other types of services. There is a need for a system and method that can utilize information generated by a variety of different sensor enabled devices and objects, including devices / objects. The required systems and methods should utilize an existing techniques and infrastructure to provide an enhanced and more comprehensive set of location information to location based service providers.
System and method for establishing proximity based ad hoc network between a plurality of sensor enabled devices and objects (hereinafter referred to simply as "sensors") and performing location tracking using such a network This is described herein. The system and method use time coded data received from each of the sensors to determine the current proximity of each of the sensors to one or more beacons. Then, by using the information regarding the effective transmission range of the beacons, the present system and method determines the relative position of each of the plurality of sensors relative to other sensors in the plurality of sensors. Where actual location information (not relative) is available for a particular sensor, the actual location information can be used to generate or augment location information associated with other sensors known to be spatially and temporally close to the particular sensor. . The current location information for each of the sensors is then used to provide location based services.
One embodiment of the present invention provides a wealth of availability by utilizing sensing information obtained from sensors that use or support different location determination techniques (e.g., GPS, WiFi based, cellular telephone based and Bluetooth based positioning techniques). An ad hoc network using sense information can be advantageously constructed. Moreover, by allowing location metadata to be shared between such sensors, one embodiment of the present invention can perform location tracking in a manner that takes advantage of the benefits associated with such techniques while mitigating any associated disadvantages. One embodiment of the present invention may also advantageously obtain sensing information from sensors associated with various different networks and communication carriers to build an ad hoc network.
In particular, a method for establishing a proximity based ad hoc network between a plurality of sensors is described herein. According to the method, sensor data is received from each of a plurality of sensors, sensor data received from each of the plurality of sensors identifies one or more beacons detected by the sensor, and when each of the one or more beacons was respectively detected by the sensor. It includes one or more time codes indicating. Then, based on the time codes included in the received sensor data, sensor data that is temporally close from the received sensor data is extracted. Subsequently, sensors that are spatially and temporally close within the plurality of sensors are identified based at least on the detected beacons identified by the sensor data that are temporally near. An ad hoc network is then established between the spatially and temporally approaching sensors.
According to the method above, receiving sensor data from each of the plurality of sensors may include receiving sensor data from a WiFi sensor, a cellular telephone sensor and a Bluetooth sensor or from any combination of these sensor types. Receiving sensor data from each of the plurality of sensors may also include receiving sensor data from a plurality of different networks or communication carriers, or receiving sensor data from both stationary and mobile sensors.
The above method may comprise obtaining location information associated with a first sensor in the plurality of sensors, and in response to determining that the second sensor in the plurality of sensors is spatially and temporally close to the first sensor, Based on the location information, the method may further include generating or augmenting location information associated with the second sensor. Acquiring location information associated with the first sensor may include receiving location information associated with the first sensor as part of sensor data received from the first sensor. In addition, acquiring position information associated with the first sensor may include obtaining position information associated with the first sensor based on position information associated with a third sensor in the plurality of sensors determined to be spatially and temporally close to the first sensor. Generating or augmenting. The above method may further comprise providing one or more location-based services to users associated with the first sensor and / or the second sensor based on location information associated with the first sensor and / or the second sensor, respectively. .
Also described herein is a system for building a proximity-based ad hoc network between a plurality of sensors. The system includes a communication manager and a location manager. The communications manager is configured to receive sensor data from each of the plurality of sensors, wherein the sensor data received from each of the plurality of sensors identifies one or more beacons detected by the sensor, and when each of the one or more beacons was respectively detected by the sensor. It includes one or more time codes indicating. The location manager extracts sensor data in time from the received sensor data based on time codes included in the received sensor data, and based at least on detected beacons identified by the sensor data in time. And identify spatially and temporally close sensors within the plurality of sensors and build an ad hoc network between the spatially and temporally close sensors.
In the above system, the plurality of sensors may include WiFi sensors, cellular telephone sensors and Bluetooth sensors or any combination of these sensor types. The plurality of sensors may also include both stationary and moving sensors. In addition, the communication manager may be configured to receive sensor data from the plurality of sensors via a plurality of different networks or communication carriers.
The location tracking manager of the above system obtains location information related to the first sensor in the plurality of sensors, and in response to determining that the second sensor in the plurality of sensors is spatially and temporally close to the first sensor, the first sensor And based on the location information associated with the device, generate or augment the location information associated with the second sensor. The location manager may be configured to obtain location information associated with the first sensor by receiving location information associated with the first sensor as part of sensor data received from the first sensor. The location manager may also generate and augment location information associated with the first sensor based on location information associated with the third sensor in the plurality of sensors determined to be spatially and temporally close to the first sensor. Can be configured to obtain associated location information.
The system further includes a matching manager configured to provide one or more location-based services to users associated with the first sensor and / or the second sensor based on location information associated with the first sensor and / or the second sensor, respectively. can do.
Computer program products are also described herein. The computer program product includes a computer readable medium having recorded thereon computer program logic for enabling a processing unit to build a proximity based ad hoc network. The computer program logic comprises a first means, a second means, a third means and a fourth means. The first means is programmed to enable the processing unit to receive sensor data from each of the plurality of sensors, the sensor data received from each of the plurality of sensors identifying one or more beacons detected by the sensor, each of the one or more beacons It includes one or more time codes indicating when each was detected by the sensor. The second means is programmed to enable the processing unit to extract sensor data in close proximity in time from the received sensor data based on the time codes included in the received sensor data. The third means is programmed to enable the processing unit to identify spatially and temporally close sensors in the plurality of sensors based at least on detected beacons identified by the sensor data in temporally proximity. The fourth means is programmed to enable the processing unit to build an ad hoc network between the spatially and temporally approaching sensors.
In the above computer program product, the first means may comprise means for enabling the processing unit to receive sensor data from a WiFi sensor, a cellular telephone sensor, a Bluetooth sensor or any combination of these sensor types. The first means may also include means for enabling the processing unit to receive sensor data from a plurality of different networks or communication carriers. The first means may further comprise means for enabling the processing unit to receive sensor data from both stationary and moving sensors.
In the above computer program product, the computer program logic may further comprise fifth and sixth means. The fifth means is programmed to enable the processing unit to obtain positional information associated with the first sensor in the plurality of sensors. The sixth means may be further configured to cause the processing unit to generate location information associated with the second sensor based on the location information associated with the first sensor in response to determining that the second sensor in the plurality of sensors is spatially and temporally close to the first sensor. It is programmed to enable augmentation. The fifth means may comprise means for enabling the processing unit to receive location information associated with the first sensor as part of the sensor data received from the first sensor. In addition, the fifth means further allows the processing unit to generate or augment the positional information associated with the first sensor based on the positional information associated with the third sensor in the plurality of sensors determined to be spatially and temporally close to the first sensor. Means for enabling this.
In the above computer program product, the computer program logic may further comprise a seventh means, wherein the seventh means includes a first sensor and / or based on the positional information in which the processing unit is respectively associated with the first sensor and / or the second sensor. Or to provide one or more location-based services to users associated with the second sensor.
Further features and advantages of the invention, as well as the structure and operation of various embodiments of the invention, are described in detail below with reference to the accompanying drawings. Note that the present invention is not limited to the specific embodiments described herein. Such embodiments are provided herein for illustrative purposes only. Additional embodiments will be apparent to those skilled in the relevant field (s) based on the teachings contained herein.
The accompanying drawings, which are incorporated in and form a part of the specification, illustrate the invention, illustrate the principles of the invention in conjunction with the description thereof, and enable those skilled in the relevant field (s) to practice and utilize the invention. More used to
1 is a high level block diagram of a system for building a proximity-based ad hoc network and providing location-based services using the same, in accordance with an embodiment of the present invention.
2 is a block diagram of a location based service (LBS) delivery engine according to an embodiment of the invention.
3 is a block diagram of a scenario in which a sensor sends sensor data associated with detection of a single beacon to the LBS delivery engine, in accordance with an embodiment of the present invention.
4 is a block diagram of a scenario in which a sensor sends sensor data associated with detection of a plurality of beacons to an LBS delivery engine, in accordance with an embodiment of the present invention.
5 is a block diagram of a scenario in which two devices / objects acting as both sensors and beacons detect each other and transmit sensor data to the LBS delivery engine in response to such detection, in accordance with an embodiment of the present invention. to be.
FIG. 6 is a block diagram illustrating two devices / objects of FIG. 5 in more detail.
7 is a flowchart of an example method for reporting sensor data associated with sensing of one or more proximately located beacons, in accordance with an embodiment of the present invention.
8 is a block diagram of a system according to an embodiment of the present invention in which a plurality of sensors periodically report sensor data to the LBS delivery engine.
9 is a flowchart of a method for building a proximity-based ad hoc network according to an embodiment of the present invention.
10 is a conceptual diagram illustrating how a proximity-based ad hoc network can be constructed according to an embodiment of the present invention.
11 is a flowchart of a method for transferring location information between sensors that are spatially and temporally close using a proximity based ad hoc network, in accordance with an embodiment of the present invention.
FIG. 12 is a conceptual diagram illustrating how location information can be transmitted between spatially and temporally proximity sensors in a proximity-based ad hoc network according to an embodiment of the present invention.
13 is a block diagram of an LBS delivery engine according to one embodiment of the present invention including a power management manager.
14 is a block diagram of a sensor including power management logic in accordance with an embodiment of the present invention.
15 is a flowchart of a method for managing power consumption in a proximity-based ad hoc network, in accordance with an embodiment of the present invention.
16 is a block diagram of a power management scheme in which a first sensor uses a second sensor as a communication hub in a proximity based ad hoc network.
17 is a block diagram of an LBS delivery engine according to an embodiment of the present invention including a time code manager.
18 is a flowchart of a first method for verifying and correcting time codes generated by a plurality of sensors, in accordance with an embodiment of the present invention.
19 is a block diagram of a group of spatially and temporally close sensors in a proximity based ad hoc network in which time code verification and / or correction may be performed, in accordance with an embodiment of the present invention.
20 is a flowchart of a second method for verifying and correcting time codes generated by a plurality of sensors, in accordance with an embodiment of the present invention.
21 is a block diagram of an LBS delivery engine according to an embodiment of the present invention including a data sharing manager.
22 is a block diagram of a system in which the LBS delivery engine delivers user data from a first sensor to a plurality of proximately located sensors, in accordance with an embodiment of the present invention.
23 is a flow diagram of a method for the LBS delivery engine to pass data between sensors in accordance with an embodiment of the present invention.
24 is a block diagram of an example computer system that can be used to implement aspects of the present invention.
The features and advantages of the present invention will become more apparent from the detailed description set forth below when taken in connection with the drawings in which like reference characters generally identify corresponding elements. In the drawings, like reference numerals generally indicate like, functionally similar and / or structurally similar elements. The figure in which the element first appears is indicated by the leftmost digit (s) in the corresponding reference number.
A. Example System Architecture
1 is a high level block diagram of an exemplary system 100 in accordance with an embodiment of the present invention for building a proximity-based ad hoc network and using it to provide location-based services. As shown in FIG. 1, the system 100 is connected to users 108 via a first interface 122, to location-based service providers 110 via a second interface 124, and to a third interface ( 126 includes a location based service (LBS) delivery engine 102 communicatively connected to the sensor network 104. Each of the elements of system 100 will now be described briefly, with further details provided in subsequent sections.
The first interface 122 provides an LBS delivery engine (for purposes of specifying whether or not users 108 "opt in" to receive location based services from the LBS delivery engine 102). 102) to permit interaction with the device. The first interface 122 can be further configured to allow the user to specify which location based services should be provided to the user and to specify preferences regarding how those services should be delivered. The first interface 122 can be further configured to permit the consumer to specify preferences regarding how one or more sensor enabled devices or objects associated with the user are tracked by the LBS delivery engine 102. In one embodiment of the invention, the first interface 122 includes an application programming interface (API) that can be used to build applications that enable user systems / devices to interact with the LBS delivery engine 102. However, the present invention is not limited thereto.
The second interface 124 interacts with the LBS delivery engine 102 for the purpose of providing location-specific services and / or content to location-based service providers 110 for registered users of the LBS delivery engine 102. Configured to permit operation. The second interface 124 can also be configured to perform other functions described in more detail herein. In one embodiment of the invention, the second interface 124 provides an API that can be used to build applications that allow systems owned or manipulated by location-based service providers to interact with the LBS delivery engine 102. Including but not limited to the present invention.
The LBS delivery engine 102 is configured to track the location of sensor-enabled devices and objects associated with users over time and use location information to support the provision of location-based services and content to users. System. As described in more detail herein, the LBS delivery engine 102 receives the sensor data from the sensor enabled devices / objects 112 via the sensor network 104 and based on the sensor data. It is configured to perform a location tracking function in part by establishing a proximity based ad hoc network between the enabled devices / objects 112. In one embodiment, location based services and content delivered by the LBS delivery engine 102 are also delivered through the sensor network 104, although this need not be the case.
The sensor enabled devices / objects 112 are some examples of handheld user devices (eg, mobile phones, personal digital assistants, handheld computers, media players, handheld navigation devices, handheld scanners). Transport vehicles (e.g., automobiles, airplanes, trucks, trains), office equipment (e.g., computers, printers, copiers), appliances, inventory, cargo, parcels or commercial products. It is intended to represent any device or object that may include sensing technology. The sensing technology may include, but is not limited to, WiFi sensing technology, cellular telephone sensing technology, Bluetooth sensing technology or radio frequency identification (RFID) sensing technology.
Communication between the LBS delivery engine 102 and the sensor network 104 is via a third interface 126. In one embodiment of the invention, the third interface 126 provides an API that can be used to build applications that allow the sensor enabled devices / objects 112 to communicate with the LBS delivery engine 102. Including but not limited to the present invention.
2 shows LBS delivery engine 102 in more detail. As shown in FIG. 2, the LBS delivery engine 102 includes a user interface 202, an LBS provider interface 204, a communication manager 206, a user data interface 208, an LBS data database 210, and location tracking. It includes a number of communicatively connected elements including manager 212, location graph 214, matching manager 216, and sensor log database 218. Each of these elements will now be described.
1. User Interface 202
The user interface 202 is remote for the purpose of specifying whether the user wants the consumer to receive location based services from the LBS delivery engine 102 and optionally specify preferences as to how those services are delivered. Is a component configured to permit interaction with the LBS delivery engine 102 from a location. The user interface 202 can also be configured to permit a user to provide information regarding the manner in which one or more devices or objects associated with the user are tracked by the LBS delivery engine 102. Information provided by the user via the user interface 202 is stored in the user data database 208. The user interface 202 can be implemented using a standard set of web services and web APIs for using the web services. Web applications built on a web service may be published by an entity that owns and / or manipulates the LBS delivery engine 102 or by other entities. Such web applications are accessed in a known manner using web browsers by users.
The system / device used by the user to interact with the user interface 202 may be one of the sensor enabled devices 112 shown in FIG. 1 or some other system / device. In one embodiment, communication between users and user interface 202 is via the Internet. However, the present invention is not so limited, and communication between users and user interface 202 may be of any type, including wide area networks, local area networks, private networks, public networks, packet networks, circuit switched networks, and wired or wireless networks. Through a network or a combination of networks.
2. User Data Database (208)
The user data database 208 is configured to store data associated with specific users used by the LBS delivery engine 102 to determine which location based services should be provided to particular users and how such services should be provided. do. To this end, the user data database 208 includes a list of location-based services that the user has registered to use and related user preference information regarding how these services should be delivered.
The user data database 208 also enables one or more sensor tracked by the LBS delivery engine 102 for the purpose of determining device / object location (s) and receiving services based on such location (s). And user-provided information identifying the devices or objects. The user data database 208 may also be configured to store user preferences when and how such sensor enabled devices / objects should be tracked.
User data interface 208 may also be used to perform targeted delivery of location-based services or content to a user, such as data about the user's identifiers, activities, interests, preferences, or social networks. It may be configured to store other data about the user. Such data is actively provided by the user (via user interface 202, etc.), collected from sensor enabled devices 112 via sensor network 104 or some other channel, and collecting such data. May be provided to the LBS delivery engine 102 from any other network, system or database or by any combination of the above. An example of a system that uses a sensor network to collect this type of user data is described in US Patent Application No. 11 / 562,976, entitled "Methods, Systems and Apparatus for Delivery of Media," which is commonly owned and pending, The entirety of this application is incorporated herein by reference.
3. LBS Provider Interface 204
The LBS provider interface 204 provides an LBS delivery engine (from a remote location) for the purpose of creating or providing location-based content or services for location-based service providers and their systems to distribute to users, as well as performing other functions. 102 is a component that is configured to allow interaction with. Such other functions may include designation of targeting criteria used to match location-based content or services to users. Information provided by the location based service provider through interaction with the LBS provider interface 204 is stored in the LBS data database 210.
In one embodiment, the electronic content and other data needed to provide location based services are provided or generated by a location based service provider via LBS provider interface 204 and stored in LBS data database 210. This data may then be used by the LBS delivery engine 102 to automatically generate and deliver location based content or services to users based on the current location of sensor enabled devices / objects associated with the users. have. For example, if location-based content includes location specific advertisements, these advertisements are stored in LBS data database 210 and then delivered to those users when they have mobile devices through or near a particular location. Can be. However, this example is not intended to be limiting, and those skilled in the relevant field (s) may readily appreciate that various electronic content and other data may be stored in the LBS data database 210 to support delivery of location based services. will be.
In an alternative embodiment, the location based service provider may provide the LBS provider interface 204 for delivery to users based on the location of sensor enabled devices / objects associated with the users as determined by the LBS delivery engine 102. ) Provides location based content and services to the LBS delivery engine 102 in real time. In this case, the LBS delivery engine 102 is not responsible for generating location based content or accessing location based content from the LBS data database 210, rather such content is provided directly from the location based service provider. In yet another embodiment, location based content and services may be provided using a combination of content and data provided from a location based service provider and from LBS data database 210.
Location-based services that may be provided by the LBS delivery engine 102 in this manner may include personal navigation services, resource location determination (e.g., local business, specialists or restaurants, such as ATMs, doctors or restaurants, in response to user queries). Providing identification), resource tracking (e.g. tracking of objects such as parcels and vans), resource tracking using dynamic distribution (e.g. taxis, service people, rental equipment, doctors, etc.) Scheduling and tracking), proximity based notifications (e.g., alerts of gas sales, warnings of traffic congestion, or alerts or notifications such as coexistence of actual or potential business or social contacts), location based content delivery ( Examples include, but are not limited to, local weather, targeted advertising or coupons, location based charging (eg, EZ toll and toll monitoring) and emergency services. It doesn't work. Those skilled in the relevant art (s) will appreciate that other location based services not listed herein may also be delivered using the LBS delivery engine 102.
In one embodiment of the present invention, location based service providers and their systems communicate with LBS provider interface 204 using applications built on a predefined API. Such applications may be issued by the entity that owns and / or manipulates LBS delivery engine 102 or by other entities. Communication between location based service providers and LBS provider interface 204 may be via the Internet. However, the present invention is not so limited, and communication between location-based service providers and LBS provider interface 204 may include wide area networks, local area networks, private networks, public networks, packet networks, circuit switched networks, and wired or wireless networks. It can be through any type of network or combination of networks that it includes.
4. LBS Data Database (210)
As described above, certain information provided by the location based service provider through interaction with the LBS provider interface 204 is stored in the LBS data database 210. Such information may include, for example, data for each location-based service provider that has registered to use LBS delivery engine 102, as well as electronic content and other data necessary to be associated with or provide one or more location-based services. Can be.
5. Communications Manager (206)
The communication manager 206 is a component configured to manage all communication between the LBS delivery engine 102 and the sensor enabled devices / objects 112 residing on or currently connected to the sensor network 104. . The communication manager 206 is configured to perform the transmission of location-based content and other data associated with location-based services, among other things, to the sensor enabled devices 112, in particular, via the sensor network 104. The communication manager 206 also receives sensor data from the sensor enabled devices / objects 112 and uses the sensor data to log the sensor data for use in performing location tracking functions by the LBS delivery engine 102. Configured to store in database 218. Depending on the implementation, the communications manager 206 may also be configured to work with third party carriers and networks to perform communications.
6. Sensor log database (218)
As described above, sensor data received from the sensor enabled devices / objects 112 is stored in the sensor log database 218. The sensor data is then used to build and / or update the proximity based ad hoc network used by the location manager 212 to track the location of the sensor enabled devices / objects 112.
As described in more detail herein, such sensor data may be stored in a unique identifier (ID) of the reporting sensor enabled device / object 112 and one or more beacons sensed by the reporting sensor enabled device / object. Each of the corresponding one or more unique IDs and the one or more beacons may each include one or more time codes indicating when each was detected by the reporting sensor enabled device / object. Other information that may be provided as part of the sensor data may include the signal strength associated with each of the one or more beacons and the transmission time of the sensor data from the reporting sensor enabled device / object to the LBS delivery system 102. The sensor data may further include metadata associated with the reporting sensor enabled device / object, such as location information or other information associated with the reporting sensor enabled device / object.
7. Location Tracking Manager (212)
Location Manager 212 builds and / or establishes a proximity based ad hoc network used to track the location of sensor enabled devices / objects 112 using sensor data from sensor log database 218. A component that is configured to update. The manner in which the location manager 212 operates to perform this function is described in detail below. The location tracking manager 212 uses such information when determining the current relative or actual location of the sensor enabled device / object to determine whether the sensor enabled device / object is tracked by the LBS delivery engine 102. Map to a location graph 214 showing the sensor enabled devices / objects and their current locations.
8. Matching Manager (216)
Matching manager 216 matches information regarding the current location of one or more sensor enabled devices / objects associated with the user as determined from location graph 214 to the location-based service provided to that user, A component that is configured to allow a service to consider such location information. Matching manager 216 is further configured to provide location-based content or other information to the user, such content or other information taking into account the current location of the sensor enabled device (s) / object (s). In one embodiment, the matching manager 216 performs such functions by selecting or customizing content from the LBS data database 210 and sending it to the user, while in other embodiments the matching manager 216 is an LBS provider interface. The 204 performs such a function by receiving content from a location based service provider and transmitting it to a user. In either case, any resulting communication to the user is sent on the sensor network 104 via the communication manager 206.
Matching manager 216 may also be configured to consider other information about the user in determining whether to provide location-based content or other information to the user. Such information may include, for example, data about the user's identifiers, activities, interests, preferences or social networks. Matching manager 216 can access this data from user data database 208.
B. Location Tracking in accordance with one embodiment of the present invention
As noted above, location manager 212 in LBS delivery engine 102 establishes a proximity-based ad hoc network between a plurality of sensor enabled devices and objects, such sensor enabled devices and objects. The location of the sensors (hereinafter simply referred to as "sensors"). In particular, location manager 212 uses the time coded data received from each of the sensors to determine the current proximity of each of the sensors to one or more beacons. Then, by using the information regarding the effective transmission ranges of the beacons, the location manager 212 determines the relative position of each of the plurality of sensors relative to other sensors in the plurality of sensors. Then, if the actual location information (not relative) is available for a particular sensor, it can be used to generate or augment location information associated with other sensors known to be spatially and temporally close to the particular sensor. The current location information for each of the sensors is then mapped to the location graph 214 for use in providing location based services.
3 is a block diagram 300 of a scenario where a sensor 302 sends sensor data related to detection of a single beacon 312 to the LBS delivery engine 102. As shown in FIG. 3, the sensor 302 has entered or is present within the current transmission range 314 of the beacon 312, and thus can detect transmissions from the beacon 312. In response to the detection of the beacon 312, the sensor 302 sends sensor data to the LBS delivery engine 102 via the sensor network 104. In one embodiment, such sensor data includes a unique ID of the sensor 302, a unique ID of the beacon 312, and a time code indicating when the beacon 312 was detected by the sensor 302. The sensor data indicates the signal strength of the beacon 312 as detected by the sensor 302 when such information is available, and when the sensor information was sent from the sensor 302 to the LBS delivery system 102. It may also include a time code. Sensor data may include metadata associated with the sensor 302, such as location information (e.g., location information or user input location information generated by GPS or some other location determination module) or other information associated with the sensor 302. It may further include.
Sensor 302 and beacon 312 may include any of a variety of known sensor and beacon types. For example, the sensor 302 may include a first WiFi device, the beacon 312 may include a second WiFi device, and the first WiFi device may detect the second WiFi device in a known manner. Each of the first and second WiFi devices may comprise, for example, a WiFi user device or an access point. As will be understood by those skilled in the relevant field (s), WiFi refers to wireless networking technology built around a family of IEEE 802.11 standards. Traditional WiFi devices typically have a transmission range of zero to up to about 100 meters. A typical WiFi device may operate as both a sensor and a beacon, so it is possible that the beacon 312 may detect other WiFi devices and report related sensing information to the LBS delivery engine 102. WiFi devices may stop or move, and in this case, the sensor 302 and the beacon 312 may also stop or move.
As another example, sensor 302 can include a cellular telephone, beacon 312 can include a cellular tower, and the cellular telephone can detect the cellular tower in a known manner. Traditional cellular towers have a transmission range of zero to up to about 10,000 meters. Cellular phones may be carried from location to location by the user, while cellular towers are stationary, so in this case sensor 302 may stop or move while beacon 312 is stationary.
As a further example, sensor 302 can include a first Bluetooth device, beacon 312 can include a second Bluetooth device, and the first Bluetooth device can detect the second Bluetooth device in a known manner. have. As experts in the relevant sector (s) understand, Bluetooth refers to an industry standard for wireless personal area networks (PANs) based on specifications developed and licensed by the Bluetooth Special Interest Group. Traditional Bluetooth devices typically have a transmission range of 0 to about 10 meters. A typical Bluetooth device may operate as both a sensor and a beacon, so it is possible that the beacon 312 may detect other Bluetooth devices and report the relevant sensing information to the LBS delivery engine 102. Bluetooth devices may stop or move, so in this case the sensor 302 and beacon 312 may also stop or move.
Table 1 below shows various sensor and beacon mobility usage examples that may be supported by one embodiment of the present invention. Specifically, each entry in Table 1 describes a sensor-beacon combination that can generate and report sensor data to the LBS delivery engine in accordance with one embodiment of the present invention.
Example of sensor and beacon mobility Stop sensor detects stop beacon Movement sensor detects stop beacon Stop sensor detects moving beacons Movement sensor detects movement beacon
Depending on the sensor-beacon type, the unique IDs associated with sensor 302 and beacon 304 may be MAC addresses associated with sensor 302 and beacon 304, respectively. This approach can be used, for example, when sensor 302 and beacon 304 are WiFi or Bluetooth devices. However, other methods of assigning unique IDs to sensor 302 and beacon 304 may be used.
4 is a block diagram 400 of a scenario where a sensor 402 transmits sensing information related to detection of a plurality of beacons to the LBS delivery engine 102. As shown in FIG. 4, the sensor 402 is configured to transmit the current transmission range 414 of the first beacon 412, the current transmission range 424 of the second beacon 422, and the current transmission of the third beacon 432. It is within or within the range 434, so it can detect transmissions from all three beacons. In response to the detection of all three beacons, sensor 402 sends sensor data to LBS delivery engine 102. In one embodiment, such sensor data includes a unique ID of sensor 402, unique IDs associated with each of first beacon 412, second beacon 422, and third beacon 432, and each beacon. Time codes indicating when each was detected by the sensor 402. Sensor data also indicates the signal strength of each of the three beacons as detected by sensor 402 when such information is available, and when the sensor information was sent from sensor 402 to LBS delivery system 102. It may include an indicating time code. Sensor data may further include metadata associated with sensor 402, such as location information (eg, GPS location information) or other information associated with sensor 402.
FIG. 5 is a block diagram of a scenario where devices or objects configured to operate as both sensors and beacons detect each other and transmit sensor information to the LBS delivery engine 102 in response to such detection. As mentioned above, WiFi devices and Bluetooth devices are examples of devices that may operate as both sensors and beacons.
As shown in FIG. 5, sensor / beacon 502 enters or is within the current transmission range of sensor / beacon 504 and may thus detect transmissions from sensor / beacon 504. In addition, the sensor / beacon 504 enters or is within the current transmission range of the sensor / beacon 502, and thus may detect transmissions from the sensor / beacon 502. In response to the detection of the sensor / beacon 504, the sensor / beacon 502 may generate a unique ID of the sensor / beacon 502, a unique ID associated with the sensor / beacon 504, and the sensor / beacon 504 may be configured as a sensor / beacon. Transmitting sensor data via the sensor network 104 to the LBS delivery engine 102 including the time code indicating when it was detected by 502, as well as other information as described in the previous examples. In addition, in response to the detection of the sensor / beacon 502, the sensor / beacon 504 may have a unique ID of the sensor / beacon 504, a unique ID of the sensor / beacon 502, and the sensor / beacon 502 may have a sensor / beacon 502. Transmitting sensor data via the sensor network 104 to the LBS delivery engine 102 including a time code indicating when it was detected by the beacon 504, as well as other information as described in the previous examples.
6 is a block diagram 600 illustrating sensor / beacon 502 and sensor / beacon 504 in greater detail. As shown in FIG. 6, sensor / beacon 502 includes a number of communicatively connected components including network interface 602, proximity sensing manager 604, and sensor data issuer 606. The network interface 602 is configured to allow the sensor / beacon 502 to transmit signals for detection by other proximately located entities as well as to detect signals transmitted by other proximately located entities. The network interface 602 also transmits sensor data via the sensor network 104 to the LBS delivery engine 102 (not shown in FIG. 6), and from the LBS delivery engine 102, data about location based services. Is configured to receive. In an alternative embodiment, an additional network interface (not shown in FIG. 6) is used for communication with the LBS delivery engine 102 via the sensor network 104 while the network interface 602 is used for proximity sensing. .
Proximity sensing manager 604 is configured to scan one or more wireless channels through network interface 602 to detect transmission of any proximately located beacons. If a beacon is detected, proximity detection manager 604 obtains a unique ID associated with the beacon (from the first received beacon transmission or through subsequent exchange of messages with the beacon) and, optionally, a signal associated with transmissions from the beacon. Measure or acquire strength. Proximity detection manager 604 is also configured to generate a time code indicating the time at which the beacon was detected. Proximity detection manager 604 is further configured to provide sensor data issuer 606 with IDs, associated time codes, and (optionally) signal strength data of currently detected beacons. The proximity detection manager 604 is configured to periodically perform a scanning function, also referred to herein as "polling." In one embodiment, the frequency at which polling is performed may be controlled by changing the configurable polling frequency parameter.
Depending on the implementation, proximity detection manager 604 may also provide additional information about the currently detected beacons, such as the channel on which the beacon was detected, an indication of the beacon type, or an indication of the directivity of the currently detected beacons. Can be provided to
The sensor data issuer 606 receives the aforementioned information from the proximity sensing manager 604 and accumulates the information in a buffer for subsequent transmission to the LBS delivery engine 102. The sensor data issuer 606 may add additional metadata to the information before sending the information to the LBS delivery engine 102. Such additional metadata may include location information associated with the sensor / beacon 502, for example. Such location information may include location information provided by, for example, a GPS module or other location determination module in the sensor / beacon 502. Alternatively, such location information may be provided by the user of the sensor / beacon 502 via the user interface (not shown in FIG. 6) of the sensor / beacon 502 (eg, postal code, street address). And the like). The sensor data issuer 606 is configured to periodically transmit accumulated sensor data to the LBS delivery engine 102. In one embodiment, the frequency at which such reporting is performed may be controlled by changing the configurable reporting frequency parameter.
Like sensor / beacon 502, sensor / beacon 504 includes a number of communicatively connected components including network interface 612, proximity sensing manager 614, and sensor data issuer 616. . These components perform similar functions as the network interface 602, proximity sensing manager 604 and sensor data issuer 606 as described above with respect to the sensor / beacon 502.
6 shows two sensors / beacons 502 and 504, each of which can sense the remaining sensors / beacons, but note that such proximity sensing need not be bidirectional. That is, in alternative embodiments, sensor / beacon 502 may detect sensor / beacon 504 or sensor / beacon 504 may detect sensor / beacon 502, but not both. The aforementioned proximity sensing and sensor data reporting functions as performed by each sensor / beacon 502, 504 may advantageously be performed without mating with other devices.
7 shows a flowchart 700 of an exemplary method in accordance with an embodiment of the present invention for reporting sensor data associated with the detection of one or more proximately located beacons. The method of flow diagram 700 may be performed by any type of sensor or sensor / beacon, including but not limited to any one of the various types of sensors and sensor / beacons described herein, and thus the specific structure or It should not be limited to implementation.
As shown in FIG. 7, the method of flowchart 700 begins at step 702 in which the sensor detects one or more proximately located beacons. Step 702 may be made in response to the performance of the periodic polling function by the sensor as described above. In step 704, the sensor obtains each of one or more unique IDs associated with each of the one or more proximately located beacons. Step 704 includes one or more signal strengths associated with each of the one or more proximately located beacons, each of which includes, but is not limited to, an indication of the channel in which the channel is sensed, an indication of each beacon type, or an orientation of each currently detected beacon; Acquiring other information related to the beacon located in proximity may also be included. In step 706, the sensor generates one or more time codes indicating the time each of the proximity beacons was detected. In step 708, the sensor optionally adds metadata (including but not limited to sensor generated or user provided location data) to the aforementioned sensor data. In step 710, the sensor sends the sensor's unique ID, unique ID (s) associated with the proximate beacon (s), and other information, time codes and metadata to the LBS delivery engine. Step 710 may be performed in response to the performance of the periodic reporting function by the sensor as described above.
Thus, according to one embodiment of the present invention, multiple sensors (including sensors that also operate as beacons) provide sensor data to the LBS delivery engine 102, such sensor data being the respective sensor and sensor / beacons. Identifies beacons currently detectable by This is shown in FIG. 8 showing a plurality of sensors 802 (shown as boxes marked “S”), each sensor reporting sensor data to the LBS delivery engine 102 via the sensor network 104. . The LBS delivery engine 102 uses such sensor data to determine the relative position of each sensor in the plurality of sensors 802 with respect to other sensors in the plurality of sensors 802 and based on such relative position information. A proximity based ad hoc network is established between the plurality of sensors 802. LBS delivery engine 102 may advantageously perform such function by obtaining sensor data from a variety of different sensor types (eg, WiFi, cellular or Bluetooth) and from sensors associated with different networks or communication carriers. .
Now, the manner in which the LBS delivery engine 102 operates to build a proximity based ad hoc network based on sensor data is described with reference to the flowchart 900 of FIG. 9. As shown in FIG. 9, the method begins at step 902 where the communication manager 206 receives sensor data from a plurality of sensors, wherein the sensor data received from each of the plurality of sensors is at least a unique ID associated with the sensor, the sensor. One or more unique IDs each associated with one or more beacons detected by and one or more time codes indicating when each of the one or more beacons was detected by the sensor, respectively. The communication manager 206 stores this sensor data in the sensor log database 218, which is accessible by the location manager 212.
At step 904, location manager 212 accesses sensor log database 218 and extracts sensor data that is approaching in time from the sensor data received at step 902. The location manager 212 performs such a function by extracting sensor data corresponding to the inherent detection time or detection period. By identifying the sensor data corresponding to the inherent detection time or detection period, the location manager 212 can obtain a subset of the received sensor data corresponding to a specific time example or a specific time window. In one embodiment, this step is performed by analyzing the time codes associated with each set of sensor data, each time code indicating a time at which a particular beacon was identified by a particular sensor. Since time codes may be generated by sensors using local sensor time, this step may also include normalizing the time codes. Normalization of time codes may include, for example, converting each of the time codes to system time.
At step 906, location manager 212 identifies spatially and temporally close sensors in the plurality of sensors based on the detected beacons identified by the temporally close sensor data. This step can include, for example, comparing beacons detected by each sensor simultaneously or during the same time period to determine which sensors are in proximity to each other. For example, if two sensors detect the same beacon at the same time or during the same time period, the two sensors may be assumed to be temporally and spatially close. As another example, when two sensors, which may also operate as beacons, detect each other at the same time or during the same period, the two sensors may be assumed to be close in time and space.
The manner in which sensor data in close proximity in time is analyzed by the location manager 212 to perform the functions of step 906 may vary depending on the implementation and the amount of sensor data available for each sensor. For example, the analysis performed by the location manager 212 may indicate an indication of the signal strength, beacon type, or directivity associated with each detected beacon, associated with each detected beacon when determining whether the sensors are close in time and space. Other information provided as part of the sensor data may be considered. When determining temporal and spatial proximity, the location manager 212 may also use known information regarding the maximum transmission ranges associated with certain beacon types.
At step 908, location manager 212 establishes or updates an ad hoc network between sensors that are spatially and temporally close. An ad hoc network may be considered virtual in that the sensors included in the network are not physically connected to each other, but logically connected to each other by spatial and temporal relationships identified and maintained by the location manager 212. .
10 is a conceptual diagram 1000 illustrating how such an ad hoc network can be built. Referring to this figure, it is assumed that the location manager 212 determines that the sensor 1002 is spatially close to the sensors 1004, 1006, 1008 at a given time point or for a given time period. This relationship is represented by dashed lines connecting such sensors as shown in FIG. 10. In addition, the location manager assumes that each of the sensors 1004, 1006, 1008 further determined to be spatially close to a plurality of other sensors (without the sensor 1002 connected) at the same time point or during the same time period. . These relationships can then also be represented by dashed lines connecting such sensors to additional sets of sensors as shown in FIG. 10.
Subsequently, by analyzing the relationships of FIG. 10, the sensor 1002 is also an additional number of sensors that are not sensors 1004, 1006, 1008 (ie, any sensors 1012, 1014, 1016, 1018, 1020, 1022). , 1024, 1026, 1028) may be spatially and temporally close. In one embodiment of the invention, the location manager 212 uses the information about the transmission ranges of the beacons detected by each of those sensors (and other information such as beacon signal strength if available), It is possible to estimate the distance between 1002 and the sensors to which he is connected only by his connections to the sensors 1004, 1006, 1008. The foregoing analysis can be repeated to identify sensors farther away from sensor 1002 and to estimate the distance between sensor 1002 and such sensors. By applying this analysis to sensor 1002 and other sensors, the entire ad hoc network can be logically built.
If the ad hoc network is established (or updated if one version of the ad hoc network is changed to produce a more recent version), then the location manager 212 advantageously uses the ad hoc network, spatially, temporally Position information may be propagated between the sensors in proximity to each other. This feature is now described with reference to the flowchart 1100 of FIG. 11.
As shown in FIG. 11, the method of flowchart 1100 begins at step 1102 where the location manager 212 obtains location information associated with a first sensor in a plurality of sensors represented in a proximity based ad hoc network. The location information associated with the first sensor may include an estimate or indication of the actual location of the first sensor provided with the sensor data transmitted by the first sensor to the LBS delivery system 102. Estimates or indications of the actual location of such a first sensor may be, but are not limited to, such as GPS positioning modules or services, WiFi based positioning modules or services, cellular telephone based positioning modules or services, or Bluetooth based positioning modules or services. May be generated by a location determination module or service residing on the first sensor. Such an estimate or indication of the actual position of the first sensor may also be provided by the user of the first sensor through the user interface of the first sensor. For example, the estimate or indication of the actual location of the first sensor may be a postal code or street address provided by the user of the first sensor.
Alternatively, location manager 212 may generate or augment location information associated with the first sensor based on location information associated with one or more other sensors in the plurality of sensors determined to be spatially and temporally close to the first sensor. The location information associated with the first sensor may be acquired. That is, location information associated with the first sensor may be transmitted from one or more other spatially and temporally close sensors to the first sensor.
As another example, the location manager 212 can obtain location information associated with the first sensor by accessing location information associated with the network gateway used by the first sensor. For example, as those skilled in the relevant sector (s) know, IP addresses associated with geocoded network gateways may be mapped to corresponding geographic regions.
Moreover, the location manager 212 can obtain location information associated with the first sensor by calculating the location of the first sensor by its proximity to the plurality of beacons. For example, using trigonometry, the position of the first sensor can be calculated by its proximity to the plurality of beacons. Proximity to each of the beacons of the first sensor may be determined based on sensor data provided by the first sensor or by one or more sensors determined to be spatially and temporally close to the first sensor.
In step 1104, location manager 212 identifies a second sensor in the plurality of sensors that are spatially and temporally close to the first sensor. One way in which the location manager 212 can identify sensors that are spatially and temporally close has been described above with reference to the flowchart 900 of FIG. 9.
In step 1106, location manager 212 generates or augments location information associated with the second sensor based on the location information associated with the first sensor. The location tracking manager 212 may perform this step, for example, by using an estimate or indication of the actual position of the first sensor as an estimate or indication of the actual position of the second sensor. For example, if the postal code was previously associated with the first sensor, the location manager 212 may associate the postal code with the second sensor based on the spatial and temporal proximity of the two sensors. This same approach can be used, for example, to assign geographic coordinates, distance address or any other representation of the location associated with the first device to the second device.
The location tracking manager 212 may also perform step 1106 by changing an estimate or indication of the actual location of the first sensor by an offset, where the offset is intended to represent the distance between the two sensors. For example, the location tracking manager 212 can change geographic coordinates representing the location of the first sensor to account for the estimated relative distance between the first sensor and the second sensor. As noted above, the relative distance between the sensors may be determined using sensor data such as beacon IDs, beacon types and signal strengths provided by the plurality of sensors in the proximity based ad hoc network.
Location manager 212 may perform step 1106 by augmenting location information previously associated with the second sensor based on location information associated with the first sensor. For example, location information previously associated with the second sensor may be limited or lack the same granularity as location information associated with the first sensor. In this case, the location manager 212 may use location information associated with the first sensor to more completely or granulate the location information associated with the second sensor. Thus, one embodiment of the present invention may combine location information from a plurality of spatially and temporally close sensors to generate sophisticated location information.
The above examples of how the location tracking manager 212 can perform step 1106 are provided by way of example only, and are not intended to limit the present invention. Those skilled in the relevant art (s) will readily appreciate that other methods may be used to generate or augment the location information associated with the second sensor based on the location information associated with the first sensor.
12 is a conceptual diagram 1200 illustrating how location information can be propagated between spatially and temporally proximity sensors in a proximity-based ad hoc network. 12 shows the same part of the proximity-based ad hoc network shown in FIG. However, FIG. 12 also shows that location information associated with sensor 1002 may be transmitted to sensor 1006 by their known spatial and temporal proximity. The transmission of such location information may include the generation of new location information associated with sensor 1006 or augmentation of existing location information associated with sensor 1006. Subsequently, new or augmented location information associated with sensor 1006 may be further sent to sensors 1016, 1018 by their known spatial and temporal proximity. Moreover, the location information itself associated with sensor 1002 may have been transmitted from sensor 1010 that is spatially and temporally close.
Where actual location information is available for a number of spatially and temporally proximity sensors in an ad hoc network, one embodiment of the present invention advantageously may select the best available location information for transmission between the surrounding sensors. have. The determination of what constitutes the best available location information may be based on, for example, some other indications of the granularity of the location information or the accuracy of the location information. Such other indications may be based on the type of sensor that reported the location information, the conditions under which the location information was reported, the accuracy of the location information previously reported from the same sensor, or other specific spatially or temporally close sensors. May include similarities or differences between the location information reported by the.
Moreover, where actual location information is available for multiple spatially and temporally near sensors in an ad hoc network, one embodiment of the present invention advantageously utilizes multiple examples of actual location information to detect bad sensor readings. Can be detected. For example, a majority of a group of sensors that are spatially and temporally close are reporting actual location information corresponding to a first location or region, and a second location or region geographically far from the first region where a small number of the same group is. In the case of reporting the actual position information corresponding to, one embodiment of the present invention may determine that the actual position information reported by the prime number is incorrect. This embodiment may also attempt to correct or ignore bad location information with the estimated location based on the good location information provided by surrounding sensors.
Subsequently, if the location manager 212 has created / updated a proximity-based ad hoc network as described above, and has propagated the actual location information between the sensors of that network, then the location manager 212 is responsible for each of the sensors. Maps to a location graph 214, which represents all sensors currently being tracked by the LBS delivery engine 102 and their current relative or actual locations. The matching manager 216 then uses the location graph 214 to enable delivery of location based services in the manner described above.
The aforementioned location tracking approach is advantageous for a number of reasons. For example, the foregoing approach enables sophisticated location based services to be delivered to users across multiple networks, carriers, signal types and protocols. As mentioned above, this can be used to integrate multiple sources and formats of location information into a real-time graph or mesh of sensors. It can also be used to deliver multiple divergent granularity location based services over a single proximity based ad hoc network.
Moreover, the above approach utilizes the transmission of location information between sensors that are spatially and temporally close, thus optimizing the value of available location information and placing all sensors in an ad hoc network with high accuracy regardless of sensor type. To be possible. This approach also allows data spread so far between different information silos to be reproduced in a single database through location metadata analysis and optimization, minimizing information bottlenecks and gate-keepers.
Further, according to one embodiment of the present invention, user devices can be used as sensors and beacons to create a repeating optimized location tracking model, rather than as simple dumb terminals that are only relevant when associated with a user. .
C. Power Management for Proximity-Based Ad Hoc Networks According to an Embodiment of the Invention
As noted above, in one embodiment of the present invention, the sensors providing sensor data to the LBS delivery engine 102 may include sensor enabled mobile devices or objects. Typically, these mobile sensors have limited access to power. For example, such mobile sensors may rely on batteries or some other limited power source to facilitate mobility.
In general, LBS delivery engine 102 benefits from frequent collection and reporting of sensor data by sensors, which causes LBS delivery engine 102 to build or maintain a more recent proximity based ad hoc network. This is because it makes it possible to facilitate better position tracking. However, the collection and reporting of sensor data consumes sensor power, which may be limited as described above. If the sensor runs out of power, the sensor will not be able to provide sensor data to the LBS delivery engine 102, which will limit the ability of the LBS delivery engine 102 to perform its location tracking function. Moreover, if the sensor is also a user device, when the sensor runs out of power, the sensor will not perform any other functions for the user, which is undesirable from the user's point of view.
Thus, it would be advantageous for the need for frequent collection and reporting of sensor data by the LBS delivery engine 102 to somehow be able to balance the power requirements and limitations of each sensor in the proximity based ad hoc network.
13 is a block diagram of an LBS delivery engine 1300 that solves the above problem. Specifically, and as described in more detail herein, the LBS delivery engine 1300 utilizes information regarding power requirements and limitations of spatially and temporally proximity sensors within a proximity based ad hoc network. Decisions regarding power consumption at the group or network level are made. By continuously monitoring the position and power status of the sensors in the ad hoc network, the LBS delivery engine 1300 can dynamically and adaptively change the way each sensor collects and reports sensor data, thereby providing an update to the need for updated sensor data. Balance both sensor and user power requirements.
As shown in FIG. 13, the LBS delivery engine 1300 includes a user interface 1302, an LBS provider interface 1304, a communication manager 1306, a user data database 1308, an LBS data database 1310, and location tracking. And a plurality of communicatively connected elements including manager 1312, location graph 1314, matching manager 1316 and sensor log database 1318. With the exception of certain functions described immediately below, each of these elements performs essentially the same functions as described above with reference to elements of the same name in LBS delivery engine 102.
As also shown in FIG. 13, the LBS delivery engine further includes a power management manager 1320. The power management manager 1320 is configured to obtain power state information associated with each of the plurality of sensors currently reporting sensor data to the LBS delivery engine 1300. This power state information is reported through the sensor network 104 by each of the plurality of sensors. In one embodiment, the power state information is transmitted as or with some of the sensor data transmitted by each sensor to the LBS delivery engine 1300 and stored in the sensor log database 1318 by the communication manager 1306. do. Power state information for a sensor may include, but is not limited to, the amount of current or expected amount of power available to the sensor and / or the amount of current or expected amount of power required by the sensor.
The power management manager 1320 is configured to obtain information about the spatial and temporal proximity of the sensors currently reporting sensor data to the LBS delivery engine 1300 from the location graph 1314 maintained by the location tracking manager 1312. Is further configured. The location manager 1312 is configured to build and maintain the location graph 1314 in the same manner as described above with respect to the location manager 112 and the location graph 114 of the LBS delivery engine 102, and thus No further description of the process need be provided.
The power management manager 1320 is further configured to make power management decisions regarding such sensors using both proximity and power state information associated with each of the plurality of sensors currently reporting sensor data to the LBS delivery engine 1300. It is composed. The manner in which these power management decisions are made will be described in more detail below. The power management manager 1320 may implement power management decisions by dynamically and adaptively controlling how one or more of the sensors collect and report sensor data. The power management manager 1320 is configured to control such sensor functions by sending configuration commands to each of the one or more sensors on the sensor network 104 via the communication manager 1306.
14 illustrates an exemplary sensor 1400 configured to report power state information to the LBS delivery engine 1300 and to receive configuration commands regarding power management from the LBS delivery engine 1300, according to an embodiment of the present invention. Is a block diagram of. As shown in FIG. 14, sensor 1400 includes a number of communicatively connected components including network interface 1402, proximity sensing manager 1404, and sensor data issuer 1406. With the exception of certain functions to be described immediately below, each of these elements is as described above in connection with elements of the same name of sensor / beacon 502 or sensor / beacon 504 as shown in FIG. 6. In essence, they can perform the same functions.
As shown in FIG. 14, sensor 1400 also includes power management logic 1408. Power management logic 1408 is configured to provide power state information associated with sensor 1400 to sensor data issuer 1406 for transmission to LBS delivery engine 1406. In one embodiment, sensor data issuer 1406 includes power state information as part of or with other sensor data that sensor data issuer 1406 periodically transmits to LBS delivery engine 1400. In an alternative embodiment, sensor data issuer 1406 transmits power state information separately from such sensor data. Depending on the implementation, the sensor data issuer 1406 may transmit power state information at the same frequency or at a different frequency than the frequency at which it transmits other sensor data. Sensor data issuer 1406 may also send power state information with a time code indicating when the power state information was generated.
The power management logic 1408 is also configured to change the manner in which certain power consumption functions are performed by the sensor 1400 in response to configuration commands received from the LBS delivery engine 1300 via the sensor network 104. do. After the configuration commands are received by the network interface 1402, they are passed to the power management logic 1408 for processing.
As described in more detail herein, in response to processing of configuration commands, power management logic 1408 may change the way sensor 1400 provides sensor data to LBS delivery engine 1300. In response to the processing of the configuration commands, the power management logic 1408 also changes the way the sensor 1400 operates as a beacon when the sensor 1400 includes the beacon function, or the sensor 1400 determines the positioning logic. In the case of including the sensor 1400 may stop the reporting of the positioning information.
Now, the manner in which the LBS delivery engine 1300 manages power consumption between a plurality of sensors (such as the sensor 1400) in a proximity-based ad hoc network is described with reference to the flowchart 1500 of FIG. 15. Although the steps of the flowchart 1500 are described with continued reference to the components of the LBS delivery engine 1300 and the sensor 1400, those skilled in the relevant field (s) are not limited to such implementations and perform the method. It will be readily appreciated that other means can be used to do this.
As shown in FIG. 15, the method of flowchart 1500 begins at step 1502 in which communication manager 1306 receives sensor data provided from a plurality of sensors. The communication manager 1306 stores this sensor data in the sensor log database 1318, which can be accessed by the location manager 1312. At step 1504, location manager 1312 establishes a proximity-based ad hoc network between the plurality of sensors based on the received sensor data. One way in which the location manager 1312 can build a proximity-based ad hoc network has been described above with reference to the location manager 112 of the LBS delivery engine 102, and thus a further description of such a process will be provided. no need.
In step 1506, the communications manager 1306 also receives power state information associated with each sensor in the plurality of sensors. This power state information may be included in sensor data received at step 1502 or may be transmitted separately from the data. Power state information for a particular sensor may also be provided at the same frequency or at different frequencies as the sensor data received from that sensor in step 1502. For example, in one embodiment, power state information for a particular sensor is provided much less frequently than sensor data associated with that sensor. This type of implementation can be understood when the sensor's power state is not expected to change as quickly as the sensor's location. Power state information may also be received with a time code indicating when the sensor generated power state information. The power state information received by the communications manager 1306 in step 1506 is stored in the sensor log database 1318.
In step 1508, the power management manager 1320 analyzes the power state information associated with each sensor in the group of spatially and temporally close sensors in the proximity-based ad hoc network. This group includes two or more sensors that power management managers 1320 can implement power management schemes by their spatial and temporal proximity. As described herein, the power management scheme allocates more power consuming tasks related to sensor data collection and reporting to certain sensors in the group, unlike other sensors in the group based on the power status of each sensor in the group. It may include a step.
In step 1510, the power management manager 1320 changes the manner in which the at least one sensor in the group of sensors that are spatially and temporally close to provide sensor data based on the analysis of the power state information. Performing this step by the power management manager 1320 includes sending one or more configuration commands to the sensor via the sensor network 104. In response to receiving the configuration command, power management logic in the sensor (such as power management logic 1408 of sensor 1400) changes the way the sensor provides sensor data.
One type of power management scheme that may be implemented by the power management manager 1320 according to the above method is that certain sensors in a group of sensors that are spatially and temporally close to each other based on the power state of each sensor are grouped together. Requesting to perform more frequent sensor data polling and / or reporting compared to other sensors in the device. In this way, sensors with more power may be required to have more polling / reporting burdens than other sensors in the group with less power. This scheme presupposes the insight that sensor data need not be collected at the same frequency from each sensor to build and maintain a modern proximity-based ad hoc network in a sufficiently dense group of sensors that are spatially and spatially close together. . Thus, this power management scheme may also take into account the current density of the group as well as power state information associated with the sensors in the group.
Changing the sensor data polling frequency may include sending a configuration command to the sensor, which changes a parameter used by the sensor to determine the rate of scanning for beacons in close proximity. In addition, the change in the rate at which the sensor reports sensor data to the LBS delivery engine 1300 may include sending a configuration command to the sensor, the configuration command to determine a rate at which the sensor reports sensor data. Change the parameters used by the sensor. Changing the sensor data polling frequency may include temporarily turning off the polling function for the sensor. In addition, the change in the rate at which the sensor reports sensor data may include temporarily turning off the sensor data reporting function for the sensor.
Spatially, if the group of sensors in close proximity in time is dense enough, the power management manager 1320 can also change the way at least one sensor in the group behaves as a beacon. For example, the power management manager 1320 may turn off the beacon function in one or more sensors if it is not necessary to provide the beacon function to obtain a fairly new picture of the proximity-based ad hoc network.
In addition to taking into account the current density of a group of sensors that are spatially close in time, the power management manager 1320 can also consider the polling frequency required for a given sensor to continue providing useful sensor data. For example, if the sensor is stationary and the beacons near the sensor are stationary, the polling frequency can be reduced to an extremely low level, which conserves power. Alternatively, if the sensor is moving and the beacons near the sensor are also moving, it may be necessary for the polling frequency to be relatively high to obtain useful sensor data. The power management manager 1320 may take such factors into account when reducing or increasing the polling frequencies associated with different sensors in the group.
The power management manager 1320 may also consider the amount of power that must be supplied to the antennas associated with such sensors in order for the sensors in the group to return useful sensor data. Thus, for example, the power management manager 1320 determines that an increase in gain of an antenna associated with a first type of sensor will yield more useful data than an increase in gain of an antenna associated with a second type of sensor in the same group. Can be. In this situation, the power management manager 1320 increases the power supplied to the antenna of the first type of sensor, while maintaining or reducing the power supplied to the antenna of the second type of sensor, and thus Power can be conserved in the sensor.
The power management manager 1320 may further consider whether the location information currently being generated by the sensors in the group is useful or accurate. For example, if other devices in the group are providing the same or more accurate location information, the power management manager 1320 may cause the sensor to stop reporting such location information, thus saving power for that sensor. Can be. One example of this is to turn off reporting of positioning data from a GPS enabled sensor when the sensor is located in an area where GPS is not working well (eg, when the sensor is indoors).
According to another power management scheme, the power management manager 1320 collects sensor data from one or more other sensors in the group via a local area network connection, and the collected sensor data on behalf of the other sensor (s). To the LBS delivery engine 1300. The power management manager 1320 may also allow the selected sensor to receive data about location based services from the LBS delivery engine 1300 on behalf of the other sensor (s) and distribute this data to the other sensor (s). have. This allows a selected sensor that can have more available power to act as a communication hub for other sensors with less available power.
One example of such a power management scheme is shown in block diagram 1600 of FIG. 16 showing a first sensor 1602 and a second sensor 1604 within a group 1606 of spatially and temporally close sensors. As shown in FIG. 16, the second sensor 1604 receives sensor data from the first sensor 1602 through a local area network connection, and replaces the sensor data with the sensor network 104 on behalf of the first sensor 1602. Provided to the LBS delivery engine 1600 through. As also shown in FIG. 16, the second sensor 1604 receives location based service data from the LBS delivery engine 1300 via the sensor network 104 on behalf of the first sensor 1602, and the location based service. The data is distributed to the first sensor 1602.
The power management manager 1320 may automatically identify groups of sensors that are spatially and temporally close to where power management should be performed. Such groups may be identified based on spatial, temporal proximity, power resources or other factors. The size of such groups may vary depending on the implementation or mode of operation. At one extreme, the group may include all sensors in the proximity based ad hoc network built by the location manager 1312. At the other extreme, the group may consist of only two sensors. Moreover, power management manager 1320 may perform power management for individual sensors. For example, the power management manager 1320 may use one of the aforementioned methods to reduce power consumption in a sensor (such as a sensor reporting a low power condition) regardless of the power state of any spatially or temporally close sensors. Any method can be used.
One embodiment of the present invention also advantageously allows a user to ignore or control the manner in which the power management manager 1320 performs power management functions. For example, in one embodiment, a user is allowed to reduce the frequency with which sensor data is collected and / or reported by the sensor, or to turn off the polling or reporting function completely. This allows the user to conserve sensor power that can be provided to other functions if desired. Turn off of these functions may also be desirable for reasons related to the protection of user privacy or cost preservation associated with communication with the LBS delivery engine 1300. Such user control mechanisms may be included within the sensor itself or may be implemented through user communication with the LBS delivery engine 1300.
In an alternative embodiment, the user is allowed to fix the frequency with which sensor data is collected and / or reported by the sensor regardless of the power management function. This may be used by the parent, for example, to continue providing sensor data even when the sensor associated with the child is in a low power state, to ensure that the child's location is tracked by the LBS delivery engine 1300.
According to another embodiment, users may define groups of sensors for which the power management manager 1320 should perform power management functions. For example, a user may designate a group of sensors associated with members of a family, members of a business organization, or participants of an activity or event for which power management should be performed. This advantageously allows power allocation and load balancing between the sensors used by a particular group of people. In a further embodiment, the user may define a hierarchy associated with the sensors in the user-defined group, with the power of the sensors at the bottom of the hierarchy being consumed at a rate higher than or higher than the power of the sensors at the top of the hierarchy. do. This may, for example, increase the rate at which sensor data is collected or reported by one or more sensors at the bottom of the hierarchy, or one or more sensors at the bottom of the hierarchy act as a communication hub with the LBS delivery engine 1300. It may include making it do.
D. Time Code Verification and Correction for Proximity-based Ad Hoc Networks
As noted above, in one embodiment of the invention, sensor data provided from each sensor to the LBS delivery engine includes at least a unique ID associated with the sensor, one or more unique IDs associated with each of the beacons currently detected by the sensor, And one or more time codes indicating when each beacon was each sensed by the sensor. The LBS delivery engine uses the time codes included in this sensor data to determine which sensors are detecting which beacons at a given moment or during a given time window. The ability of this LBS delivery engine to correlate sensor data based on time codes is important for the construction and maintenance of proximity based ad hoc networks useful for location tracking.
However, problems arise when the sensor generates time codes using the concept of time different from the concept of time maintained by other sensors reporting sensor data to the LBS delivery engine. When this occurs, the LBS delivery engine's ability to accurately correlate sensor data received from all sensors based on time codes is compromised. This may happen, for example, if a sensor in the network generates time codes using a local clock, while other sensors in the same network generate time codes using a network clock, and the local and network clocks are out of sync. Can be. This means, for example, that a sensor in the first network generates time codes using the first network clock, while a sensor in the second network generates time codes using the second network clock, 2 Can also occur if the network clocks are out of sync.
17 is a block diagram of an LBS delivery engine 1700 that solves the above problems. Specifically and as described in more detail herein, the LBS delivery engine 1700 uses information about the temporal and spatial proximity of sensors in a proximity-based ad hoc network to verify the time codes generated by those sensors. And / or correct. In one embodiment, the LBS delivery engine 1700 applies cooperative filtering to time codes generated by sensors located at the same location in the ad hoc network to verify and / or correct the time codes generated by such sensors. do. In another embodiment, the LBS delivery engine 1700 uses the geolocation information associated with or propagating between some proximately located sensors in the ad hoc network to retrieve time codes generated by the co-located sensors. Obtain a Givenchy that can be used to correct and verify. In either embodiment, the LBS delivery engine 1700 implements a time code offset for a particular sensor, such that the state of the clock associated with the sensor automatically changes, or that the state of the clock associated with the sensor must be changed manually. By notifying the user of the sensor, detection of an incorrect time code can be solved.
As shown in FIG. 17, the LBS delivery engine 1700 includes a user interface 1702, an LBS provider interface 1704, a communications manager 1706, a user data database 1708, an LBS data database 1710, and location tracking. It includes a number of communicatively connected elements including manager 1712, location graph 1714, matching manager 1716, and sensor log database 1718. With the exception of certain functions to be described immediately below, each of these elements performs essentially the same functions as described above in connection with the elements of the same name of the LBS delivery engine 102.
As also shown in FIG. 17, the LBS delivery engine 1700 further includes a time code manager 1720. The time code manager 1720 is configured to obtain time codes generated by each of the plurality of sensors currently reporting sensor data to the LBS delivery engine 1700. As described above, these time codes are periodically transmitted through the sensor network 104 to the LBS delivery engine 1700 by each of the plurality of sensors and stored in the sensor log database 1718 by the communication manager 1706. Contains part of the sensor data. Depending on the implementation, the time code manager 1720 is a location graph in an embodiment where the time codes are maintained in relation to sensors that are mapped from the sensor log database 1718 or by the location manager 1712 to the location graph 1714. Time codes can be obtained by extracting the time codes from 1714.
The time code manager 1720 is configured to obtain information about the spatial and temporal proximity of the sensors currently reporting sensor data to the LBS delivery engine 1700 from the location graph 1714 maintained by the location tracking manager 1712. Is further configured. The location manager 1712 is configured to build and maintain the location graph 1714 in the same manner as described above with reference to the location manager 112 and the location graph 114 of the LBS delivery engine 102.
The time code manager 1720 automatically uses the time codes generated by such sensors using both proximity information and time codes associated with each of the plurality of sensors currently reporting sensor data to the LBS delivery engine 1700. Further configured to verify and / or correct. The manner in which these functions are performed by the time code manager 1720 is now described with reference to the flow charts shown in FIGS. 18 and 20.
Specifically, FIG. 18 shows a flowchart 1800 of a first method for the LBS delivery engine 1700 to verify and correct time codes generated by a plurality of sensors in accordance with an embodiment of the present invention. Although the steps of the flowchart 1800 are described with continued reference to the components of the LBS delivery engine 1700, those skilled in the relevant art (s) are not limited to such implementations, and other means may be employed to perform the method. It will be readily appreciated that it can be used.
As shown in FIG. 18, the method of flowchart 1800 begins at step 1802 in which communication manager 1706 receives sensor data provided by a plurality of sensors, the sensor data received from each sensor being sent to the sensor. Contains the time code generated by The communication manager 1706 stores this sensor data in the sensor log database 1718, which may be accessed by the location manager 1712. At step 1704, location manager 1712 establishes a proximity based ad hoc network between the plurality of sensors based on the received sensor data. One way in which the location manager 1712 can build a proximity-based ad hoc network based on the received sensor data has been described above with respect to the location manager 1712 of the LBS delivery engine 102, and thus such a process. No further explanation of need be provided.
At step 1806, the time code manager 1720 identifies a group of two or more spatially and temporally neighboring sensors in the proximity based ad hoc network where time code verification and / or correction is to be performed. The manner in which the time code manager 1720 identifies a group of sensors may vary depending on the implementation and mode of operation of the time code manager 1720. For example, time code manager 1720 may identify a group based on the physical or logical positioning of sensors in the ad hoc network, which location may be, for example, at a predetermined group size or group density or within an ad hoc network. It may be based on the relative or actual position of the sensors. The time code manager 1720 may also identify the group based on the perceived discrepancy between time codes generated by the sensors in the group, or by the degree of such discrepancy.
19 is a block diagram illustrating an exemplary group 1900 of spatially and temporally proximate sensors that can be identified by the time code manager 1720 according to step 1806 of the flowchart 1800. As shown in FIG. 19, group 1900 includes four sensors (sensors 1902, 1904, 1906, 1908), each of which may be different at a particular time or for a specific period of time by location tracking manager 1712. It was determined to be spatially close to the sensor, each of which produced sensor data containing a different time code at or during that time. Specifically, as shown in FIG. 19, the sensor 1902 generates a first time code 1912, the sensor 1904 generates a second time code 1914, and the sensor 1906 is a third The time code 1916 was generated, and the sensor 1908 generated the fourth time code 1918. For the purposes of this example, it should be assumed that the time codes generated by each of the sensors 1902, 1904, 1906, 1908 must be the same or within the same range of values, in which each of those sensors has such time codes. This is because the polling data associated with is acquired at about the same time or during the same period. It is further assumed that the time codes are not identical or not within the same range of values, because the clocks used by each of the sensors to generate the time codes are not synchronized.
Despite the inconsistency between such time codes, the location tracking manager 1712 reports that the sensors 1902, 1904, 1906, and 1908 are located in the same location as the sensor data reported by those sensors and the sensors around them. Can be determined by. For example, location manager 1712 can determine that sensors 1902, 1904, 1906, 1908 are co-located at a particular time or for a specific period of time, which is in close proximity to other spatially within group 1900. This is because the sensors reported detecting such sensors simultaneously or during the same period. As another example, the location manager 1712 can determine that the sensors 1902, 1904, 1906, 1908 are co-located at a particular time or for a specific time period, where each of those sensors is within a particular time interval. This is because the detection of the same stop beacon was reported. However, these examples are not intended to be limiting, and other methods of identifying sensors located in the same location reporting different time codes may also be used.
The location manager 1712 may determine that sensors 1902, 1904, 1906, 1908 are located in the same place when reporting different time codes, but verify the time codes generated by such sensors, and In case it will be beneficial to correct them. By performing this function, time code manager 1720 can improve the integrity of sensor data subsequently received from such sensors, which also correlates sensor data based on time codes, where sensors are co-located. Improve location tracking manager 1712's ability to identify periods more easily and accurately. Moreover, by performing this function, the time code manager 1720 enables the clocks associated with the sensors to be automatically or manually reset to correct future time code generation when appropriate.
Now, returning to the method of flow diagram 1800, after time code manager 1720 identifies a group of spatially and temporally close sensors for time code verification and / or correction to be performed, time code manager 1720 is Analyze the time codes generated by the identified group as shown in step 1808. In one embodiment, this step includes assigning a confidence value to each of the time codes generated by the group. The confidence value assigned to a timecode is essentially the degree of likelihood that the timecode is the most accurate among all the timecodes analyzed. Accuracy may be measured with respect to the concept of time maintained by other sensors in the proximity-based ad hoc network or with respect to the concept of time maintained by the LBS delivery engine 1700.
The time code manager 1720 may consider various factors when assigning a confidence value to a particular time code. For example, time code manager 1720 can assign a confidence value to the time code based at least in part on the number of sensors in the group that generated the time code, and as more sensors generate the time code, The reliability value is high. The time code manager 1720 can build a histogram of the time codes generated by the group to perform this function.
The time code manager 1720 may assign a reliability value to the time code based at least in part on the indicator of the reliability of the sensor or sensors that generated the time code. Thus, for example, time code manager 1720 may be used by a sensor operating under time-sensitive adverse detection conditions (e.g., conditions in which the sensor detects beacons through a channel where the sensor is experiencing interference or conditions in which the sensor moves at high speed). A lower confidence value can be assigned to the time code when it is generated or when the time code was generated by a sensor that previously generated incorrect time codes or poor sensor data.
In step 1810, the time code manager 1720 changes the time code generated by the at least one sensor in the group based on the analysis performed in step 1808. This step is generated by at least one sensor in the group after selecting one of the time codes generated by the group, for example based on confidence values assigned to the time codes and / or some other factor (s). Replacing the time code with the selected time code. In another embodiment, this step combines or averages one or more time codes generated by the group based on confidence values assigned to the time codes and / or some other factor (s) to produce a combined time code. Thereafter, replacing the time code generated by the at least one sensor in the group with the combined time code. This step may also include adding or subtracting a time offset to the time code generated by the at least one sensor in the group.
The method described above advantageously applies cooperative filtering to time codes generated by sensors located at the same location, thereby validating and / or correcting the time codes generated by such sensors. According to this embodiment further, when the time code manager 1720 identifies the sensor that generated the incorrect time code, the time code manager may take steps to ensure that future time codes provided by the same sensor will be more accurate. Can be done. For example, time code manager 1720 may apply a predetermined offset to subsequent received time codes generated by the same sensor to ensure that those time codes are more accurate. Alternatively, time code manager 1720 can send a command to the sensor, which generates time codes that automatically change the state of the clock used by the sensor. Moreover, time code manager 1720 may send a notification to the user of the sensor indicating that the state of the clock associated with the sensor should be changed, so that the user can change the clock manually.
20 is a flowchart 2000 of a second method according to an embodiment of the present invention for verifying and correcting time codes generated by a plurality of sensors. The method of flowchart 2000 may be used as an alternative to or in conjunction with the method of flowchart 1800 to improve the integrity of such time codes. As with flowchart 1800, the steps of flowchart 2000 are described with continued reference to the components of the LBS delivery engine 1700, and those skilled in the relevant art (s) are not limited to such implementations and may perform the method. It will be readily appreciated that other means can be used to do this.
As shown in FIG. 20, the method of flow diagram 2000 begins at step 2002 where the communication manager 1706 receives sensor data provided from a plurality of sensors, the sensor data received from each sensor being sent by a sensor. Contains the generated time code. The communication manager 1706 stores this sensor data in the sensor log database 1718, which may be accessed by the location manager 1712. In step 2004, location manager 1712 establishes a proximity based ad hoc network between the plurality of sensors based on the received sensor data. One way in which the location manager 1712 can build a proximity-based ad hoc network based on the received sensor data has been described above with reference to the location manager 112 of the LBS delivery engine 102 and thus such a process. No further explanation of need be provided.
In step 2006, location manager 1712 determines the geographical location of the first sensor in the proximity based ad hoc network. The location manager 1712 may determine the geographic location of the first sensor by analyzing the location information provided by the first sensor to the LBS delivery engine 1700 along with other sensor data. Such location information includes, for example, location information provided by a GPS module or other location determination module in the first sensor or location information provided by the user of the first sensor (eg, postal code, street address, etc.). can do. Alternatively, the location manager 1712 may transmit the geographic location of the first sensor by transmitting location information from the spatially and temporally close sensor to the first sensor in the same manner as described above with reference to the flowchart 1100 of FIG. 11. Can be determined.
In step 2008, the time code manager 1720 acquires Given Time information based on the geographic location of the first sensor. For example, the time code manager 1720 may use the geographic information of the first sensor to determine a time zone in which the first sensor is currently located and determine a given time associated with the time zone.
In step 2010, the time code manager 1720 corrects the time code generated by the second sensor spatially in proximity to the first sensor in the proximity-based ad hoc network using the Given Time information. For example, the time code manager 1720 may compare the time code generated by the second sensor with the Givenchy determined in step 2008 and correct the time code in response to detecting the mismatch.
The above method advantageously can be used to verify and correct time codes generated by sensors located in the same location, using geolocation information associated with or propagating between certain sensors in the ad hoc network. Get. According to this embodiment further, when the time code manager 1720 identifies the sensor that generated the incorrect time code, the time code manager may take steps to ensure that future time codes provided by the same sensor will be more accurate. Can be done. For example, time code manager 1720 may apply a predetermined offset to subsequent received time codes generated by the same sensor to ensure that those time codes are more accurate. Alternatively, time code manager 1720 can send a command to the sensor, which generates time codes that automatically change the state of the clock used by the sensor. Moreover, time code manager 1720 may send a notification to the user of the sensor indicating that the state of the clock associated with the sensor should be changed, so that the user can change the clock manually.
It would be advantageous if users of portable electronic devices could easily transfer data between such devices. However, traditional protocols for establishing a communication link between compatible devices can be time consuming. For example, to pair two Bluetooth devices together, at least one of the two devices must be in a mode in which he can discover another device. If another device is found, the same pass key must be entered into each of the two devices. Only after this process is completed can data be shared between the two devices. This is a cumbersome process. Moreover, if the user devices are incompatible (eg one device only supports Bluetooth communication and the other device only supports WiFi communication), no direct data transfer between the devices is possible.
It would also be advantageous if the information could be automatically transferred between the user devices in response to the user devices being co-located. Such a system may advantageously be used for exchanging information or notifications, for example, between such users (or users who are likely to form such a relationship) that are personally and / or professionally relevant at the time the users are in close proximity. Can be. Such a system can also advantageously be used to distribute marketing information or other commercial information to and among users in close proximity. These are just some examples of the benefits of such a system. However, such automatic data transfer should be performed in a manner that protects user privacy.
21 is a block diagram of an LBS delivery engine 2100 that solves the above problems. Specifically and as described in more detail herein, the LBS delivery engine 2100 advantageously between such sensors in a manner that protects user privacy without requiring near-field connections or communication between sensors located in the same location. Allow data to be shared with LBS delivery engine 2100 also advantageously enables data to be transferred between heterogeneous sensor types that otherwise cannot detect each other and / or communicate with each other. The LBS delivery engine 2100 may perform automatic data transfer as well as user initiated data transfer in response to sensor proximity, and other factors such as the commonality of user interests and / or activities or membership of a social network.
As shown in FIG. 21, the LBS delivery engine 2100 includes a user interface 2102, an LBS provider interface 2104, a communication manager 2106, a user data database 2108, an LBS data database 2110, and location tracking. It includes a number of communicatively connected elements including a manager 2112, a location graph 2114, a matching manager 2116, and a sensor log database 2118. With the exception of certain functions described immediately below, each of these elements performs essentially the same functions as described above in connection with the elements of the same name of the LBS delivery engine 102.
As also shown in FIG. 21, the LBS delivery engine 2100 further includes a data sharing manager 2120. After data sharing manager 2120 receives user data from the first sensor, the data sharing manager 2120 is located in proximity by transmitting user data to such other sensor (s) when one or more other sensors are temporally and spatially close to the first sensor. And to facilitate the transfer of user data between the sensors. Thus, data sharing manager 2120 allows LBS delivery engine 2100 to act as an intermediary between the first sensor and other sensor (s) for the purpose of such data transfer. This is illustrated in FIG. 22, where the first sensor 2202 transmits user data to the LBS delivery engine 2100, and the LBS delivery engine 2100 transmits a plurality of proximately located copies of the user data ( 2204 represents a system 2200 for transmitting to each.
To perform this function, data sharing manager 2120 is configured to determine which sensors are in proximity by accessing a current graph 2114 of sensor locations maintained by location manager 2112 in the manner described in detail above. do. The data sharing manager 2120 is also configured to determine whether conditions other than sensor proximity were met before performing the data transfer. Such conditions may include user specified conditions or preferences regarding privacy, appropriate data transfer sources or targets, or other aspects of data transfer stored in the user data database 2108. Such custom conditions or preferences may be provided or set by the user through the user interface 2102.
Depending on the implementation, user data suitable for transmission is provided from the user device to the data sharing manager 2120 via the sensor network 104 and / or via the user interface 2102. Such user data may be provided directly to the data sharing manager 2120 or may be stored in the user data database 2108 and accessed by the data sharing manager 2120 when certain conditions for data transfer are met. .
By acting as an intermediary between sensors located at the same location for the purpose of data transfer, data sharing manager 2120 facilitates data sharing in a manner that does not require a near link to be established between such sensors. As mentioned above, setting up such a link is time consuming and can be cumbersome for users. Moreover, in examples where such short-range links are more bandwidth constrained than links to the LBS delivery engine 2100, data transmission through the LBS delivery engine 2100 may be much more efficient than transmission between sensors over the short-range communication link. Can be.
In addition, by acting as an intermediary between sensors located at the same location for the purpose of data transfer, data sharing manager 2120 can alternatively detect each other and / or share data between sensors that cannot communicate with each other. Makes it possible to become For example, data sharing manager 2120 may transfer data between WiFi devices, cellular phones, and Bluetooth devices that normally cannot detect or communicate with each other.
Moreover, by acting as an intermediary between sensors that are co-located for the purpose of data transfer, data sharing manager 2120 allows any variety, such as proximity and commonality of user interests and / or activities or membership of a social network. Based on other factors, data can be automatically transferred between such devices. However, since data sharing manager 2120 acts as an intermediary to mediate such transmissions, it may advantageously implement filters to verify user data and protect user privacy.
Now, one way in which the LBS delivery engine 2100 transfers data between sensors in accordance with one embodiment of the present invention is described with reference to the flowchart 2300 of FIG. 23. Although the steps of the flowchart 2300 are described with continued reference to the components of the LBS delivery engine 2100, those skilled in the relevant art (s) are not limited to such implementations and that other means may be employed to perform the method. It will be readily appreciated that it can be used.
As shown in FIG. 23, the method of flowchart 2300 begins at step 2302 in which communication manager 2106 receives sensor data provided from each of a plurality of sensors. The communication manager 2106 stores this sensor data in the sensor log database 2118, which can be accessed by the location tracking manager 2112. At step 2304, location manager 2112 establishes a proximity-based ad hoc network between the plurality of sensors based on the received sensor data. One way in which the location manager 2112 can build a proximity-based ad hoc network based on the received sensor data has been described above with reference to the location manager 112 of the LBS delivery engine 102, and thus such a process. No further explanation of need be provided.
At step 2306, the data sharing manager 2120 determines that the first sensor in the plurality of sensors is spatially and temporally close to the second sensor in the plurality of sensors based on the proximity-based ad hoc network. In one embodiment, data sharing manager 2120 performs such functionality by accessing a current graph 2114 of sensor locations maintained by location manager 2112 in the manner described above.
In step 2308, the data sharing manager 2120 transmits user data received from the first sensor to the second sensor at least in response to determining that the first sensor is spatially and temporally close to the second sensor. User data is transmitted to the second sensor via the sensor network 104.
The user data received from the first sensor may be any type of user data, including but not limited to any type of text, graph, audio and / or video content or files. User data may also include a link or permission to access the network accessible content or data and, optionally, change it. User data may be intended for transmission to a single entity or entity or for broadcasting to multiple entities or entities. When the data transfer function of the LBS delivery engine 2100 is used to introduce users in close proximity for the purpose of establishing a personal or business relationship, the user data may include user profiles, business cards, classified ads, personal advertisements, and resumes. Or job postings. Other examples of user data having the property of "personal broadcast" are described in co-owned and pending US patent application Ser. No. 11 / 957,052, entitled "Personal Broadcast Engine and Network," filed December 14, 2007. The entirety of which is incorporated herein by reference.
User data received from the first sensor may be provided by the communication manager 2106 from the sensor network 104 and then provided directly to the data sharing manager 2120 for transmission to the second sensor. Alternatively, user data received from the first sensor may be stored in the user data database 2108 after being received via the user interface 2102. In this case, data sharing manager 2120 accesses user data stored in user data database 2108 when certain conditions for data transfer have been met. The data transfer process may be initiated by a user or by a process executed on the sensor or LBS delivery engine 2100.
As described above, the data sharing manager 2120 may transmit data between individual sensors, as well as broadcast data from the first sensor to a plurality of other sensors. Thus, in operation 2308, transmitting the user data received from the first sensor to the second sensor may include transmitting the user data to a plurality of sensors that are spatially and temporally close to the first sensor.
Also, as discussed above, by acting as an intermediary between sensors located co-located for the purpose of data transfer, the data sharing manager 2120 may alternatively detect and / or communicate with each other. Allow data to be shared between them. Thus, according to the method of flow diagram 2300, the first sensor may be a first device type and the second sensor may be a second device type that may not be in direct communication with the first device type. Such device types may include WiFi devices, cellular phones and Bluetooth devices.
The above method also allows such sensors to share data even when the first and second sensors are currently unable to detect each other. For example, location manager 2112 can determine that the first and second sensors are in proximity by determining that each sensor is in proximity to a third sensor in the plurality of sensors. This third sensor may be sensed by both the first or second sensors or by sensors located proximate to such sensors. Thus, LBS delivery engine 2100 is a sensor that is only indirectly connected through multiple intermediate nodes (eg, sensors or beacons) in a proximity-based ad hoc network built and maintained by location manager 2112. Allow data to be transferred between them.
The data transmission between the first sensor and the second sensor in step 2308 may advantageously be adjusted upon identification of a relationship between the user of the first sensor and the user of the second sensor. This relationship may be based on user data relating to one or more activities, interests, preferences and / or social networks associated with each user. If the data transfer is automatic, such filtering allows the data to be sent only to users who share some kind of commonality with the source of the data.
The data transmission between the first sensor and the second sensor in step 2308 may also be adjusted in determining whether the transmission is authorized. This ensures that user privacy is protected. The data sharing manager 2120 may make such a determination based, for example, on authorization rules associated with the user of the first sensor and / or the user of the second sensor. Such permission rules can be stored in the user data database 2102 and accessed by the data sharing manager 2120 as needed.
Each of the components of the LBS delivery engines and sensors described herein may be implemented alone or in combination by any known processor-based computer system. An example of such a computer system 2400 is shown in FIG. 24.
As shown in FIG. 24, computer system 2400 includes a processing unit 2404 that includes one or more processors. Processing unit 2404 is connected to a communication infrastructure 2402, which may include, for example, a bus or a network.
Computer system 2400 also includes main memory 2406, preferably random access memory (RAM), and may also include auxiliary memory 2420. The secondary memory 2420 may include, for example, a hard disk drive 2422, a removable storage drive 2424, and / or a memory stick. Removable storage drive 2424 may include a floppy disk drive, magnetic tape drive, optical disk drive, flash memory, and the like. Removable storage drive 2424 reads from and / or writes to removable storage unit 2428 in a known manner. Removable storage unit 2428 may include a floppy disk, magnetic tape, optical disk, and the like, which are read and written by removable storage drive 2424. As will be appreciated by those skilled in the relevant art (s), removable storage unit 2428 includes computer usable storage media storing computer software and / or data.
In alternative implementations, the secondary memory 2420 can include other similar means for causing computer programs or other instructions to be loaded into the computer system 2400. Such means can include, for example, a removable storage unit 2430 and an interface 2426. Examples of such means include program cartridges and cartridge interfaces (such as those found in video game devices), removable memory chips (such as EPROM or PROM) and associated sockets, and software from removable storage unit 2430 to computer system 2400. And other removable storage units 2430 and interfaces 2426 that allow data to be transmitted.
Computer system 2400 may also include communication interface 2440. The communication interface 2440 allows software and data to be transferred between the computer system 2400 and external devices. Examples of communication interface 2440 may include a modem, a network interface (such as an Ethernet card), a communication port, a PCMCIA card and a slot, and the like. Software and data transmitted over communication interface 2440 take the form of signals that may be electronic, electromagnetic, optical or other signals that may be received by communication interface 2440. These signals are provided to communication interface 2440 via communication path 2442. The communication path 2442 carries signals and may be implemented using wires or cables, fiber optics, telephone lines, cellular telephone links, RF links, and other communication channels.
As used herein, the terms “computer program medium” and “computer usable medium” generally refer to removable storage unit 2428, removable storage unit 2430, hard disk installed within hard disk drive 2422, and communication. Used to refer to media such as signals received by interface 2440. Computer program media and computer usable media may also refer to memories, such as main memory 2406 and auxiliary memory 2420, which can be semiconductor devices (eg, DRAM, etc.). These computer program products are means for providing software to computer system 2400.
Computer programs (also called computer control logic, programming logic or logic) are stored in memory memory 2406 and / or auxiliary memory 2420. Computer programs may be received via communication interface 2440. Such computer programs, when executed, enable the computer system 2400 to implement features of the present invention as described herein. Thus, such computer programs represent controllers of the computer system 2400. If the present invention is implemented using software, the software may be stored in a computer program product and loaded into the computer system 2400 using a removable storage drive 2424, an interface 2426, or a communication interface 2440. .
The invention also relates to a computer program product comprising software stored on any computer usable medium. Such software causes the data processing device (s) to operate as described herein when executed on one or more data processing devices. Embodiments of the present invention utilize any computer usable or readable medium known now or in the future. Examples of computer usable media include primary storage devices (eg, any type of random access memory), secondary storage devices (eg, hard drive, floppy disk, CD ROM, straw disk, tape, magnetic storage device, optical Storage devices, MEMs, nanotechnology-based storage devices, and the like) and communication media (eg, wired and wireless communication networks, local area networks, wide area networks, intranets, etc.).
While various embodiments of the invention have been described above, it should be understood that they have been provided by way of example only and not limitation. Those skilled in the relevant art (s) will appreciate that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined in the appended claims. Thus, the breadth and scope of the present invention should not be limited by any of the above-described embodiments, but should be defined only in accordance with the following claims and their equivalents.
A method for establishing a proximity-based ad-hoc network between a plurality of sensors, the method comprising:
Receiving sensor data from each of the plurality of sensors, wherein sensor data received from each of the plurality of sensors identifies one or more beacons detected by the sensor, and each of the one or more beacons is each detected by the sensor when One or more time codes that indicate whether a message has been received;
Extracting sensor data that is temporally close from the received sensor data based on time codes included in the received sensor data;
Identifying sensors spatially and temporally in proximity within the plurality of sensors based at least on detected beacons identified by the temporally contiguous sensor data; And
Establishing an ad hoc network between the spatially and temporally approaching sensors
Proximity-based ad hoc network construction method comprising a.
Acquiring location information associated with a first sensor in the plurality of sensors; And
In response to determining that a second sensor in the plurality of sensors is spatially and temporally close to the first sensor, generating or augmenting location information associated with the second sensor based on the location information associated with the first sensor. augmented system
Proximity-based ad hoc network construction method further comprising.
The proximity based method of claim 2, wherein acquiring position information associated with the first sensor comprises receiving position information associated with the first sensor as part of sensor data received from the first sensor. How to build an ad hoc network.
3. The method of claim 2, wherein acquiring position information associated with the first sensor is based on position information associated with third sensors in the plurality of sensors determined to be spatially and temporally close to the first sensor. Generating or augmenting location information associated with the first sensor.
The method of claim 2, further comprising: providing one or more location-based services to users associated with the first sensor and / or the second sensor based on location information associated with the first sensor and / or the second sensor, respectively. Proximity-based ad hoc network construction method further comprising.
Receiving sensor data from each of the plurality of sensors,
WiFi sensor;
Cellular telephone sensors; And
Bluetooth (trademark) sensor
Receiving sensor data from at least one of the
How to build a proximity-based ad hoc network.
Receiving sensor data from two or more of the
The method of claim 1, wherein receiving sensor data from each of the plurality of sensors comprises receiving sensor data from a plurality of different networks or communication carriers.
2. The method of claim 1, wherein receiving sensor data from each of the plurality of sensors comprises receiving sensor data from both stationary and mobile sensors.
A system for establishing a proximity-based ad hoc network between a plurality of sensors,
A communication manager configured to receive sensor data from each of the plurality of sensors, wherein sensor data received from each of the plurality of sensors identifies one or more beacons detected by the sensor, and each of the one or more beacons is communicated by the sensor. One or more time codes indicating when each was detected; And
Extract sensor data in time from the received sensor data based on time codes included in the received sensor data, and based at least on the detected beacons identified by the sensor data in time. Location manager configured to identify sensors that are spatially and temporally close within a plurality of sensors and to build an ad hoc network between the spatially and temporally close sensors
Proximity-based ad hoc network building system comprising a.
The method of claim 10, wherein the location tracking manager acquires location information associated with a first sensor in the plurality of sensors and determines that a second sensor in the plurality of sensors is spatially and temporally close to the first sensor. In response, based on the location information associated with the first sensor, the proximity based ad hoc network building system further configured to generate or augment the location information associated with the second sensor.
The proximity based method of claim 11, wherein the location tracking manager is configured to obtain location information associated with the first sensor by receiving location information associated with the first sensor as part of sensor data received from the first sensor. Ad hoc network building system.
The system of claim 11, wherein the location tracking manager is further configured to obtain location information associated with the first sensor based on location information associated with third sensors in the plurality of sensors determined to be spatially and temporally close to the first sensor. A proximity-based ad hoc network building system configured to obtain location information associated with the first sensor by generating or augmenting.
12. The method of claim 11, configured to provide one or more location-based services to users associated with the first sensor and / or the second sensor based on location information associated with the first sensor and / or the second sensor, respectively. Proximity-based ad hoc network building system further comprising a matching manager.
The plurality of sensors
A proximity based ad hoc network building system comprising at least one of the following.
Proximity-based ad hoc network deployment system comprising two or more of the above.
The system of claim 10, wherein the communication manager is configured to receive sensor data from the plurality of sensors via a plurality of different networks or communication carriers.
11. The proximity based ad hoc network construction system of claim 10, wherein the plurality of sensors comprises both stationary and mobile sensors.
A computer program product comprising a computer readable medium having recorded thereon computer program logic to enable a processing unit to build a proximity based ad hoc network,
The computer program logic,
First means for enabling the processing unit to receive sensor data from each of the plurality of sensors, wherein sensor data received from each of the plurality of sensors identifies one or more beacons detected by the sensor, and the one One or more time codes indicating when each of the at least one beacon was each detected by the sensor;
Second means for enabling the processing unit to extract temporally close sensor data from the received sensor data based on time codes included in the received sensor data;
Third means for enabling the processing unit to identify spatially and temporally proximity sensors within the plurality of sensors based at least on detected beacons identified by the temporally near sensor data; And
Fourth means for enabling the processing unit to establish an ad hoc network between the spatially and temporally approaching sensors;
Computer program products.
Fifth means for enabling the processing unit to acquire position information associated with a first sensor in the plurality of sensors; And
The processing unit, in response to determining that a second sensor in the plurality of sensors is spatially and temporally close to the first sensor, based on the location information associated with the first sensor, location information associated with the second sensor A sixth means for enabling to generate or increase the
21. The apparatus of claim 20, wherein the fifth means comprises means for enabling the processing unit to receive location information associated with the first sensor as part of sensor data received from the first sensor.
21. The apparatus of claim 20, wherein the fifth means is configured to communicate with the first sensor based on location information associated with third sensors in the plurality of sensors that are determined to be spatially and temporally close to the first sensor. Means for enabling to generate or augment associated location information;
The computer program product of claim 20, wherein the computer program logic comprises:
Enable the processing unit to provide one or more location-based services to users associated with the first sensor and / or the second sensor based on location information associated with the first sensor and / or the second sensor, respectively. Further comprising a seventh means for
The first means is that the processing unit
Means for enabling to receive sensor data from at least one of the
Means for enabling to receive sensor data from more than one of the
20. The apparatus of claim 19, wherein the first means comprises means for enabling the processing unit to receive sensor data from a plurality of different networks or communication carriers.
20. The apparatus of claim 19, wherein the first means comprises means for enabling the processing unit to receive sensor data from both stationary and moving sensors.
KR1020107019986A 2008-02-08 2009-02-02 Location tracking based on proximity-based ad hoc network KR101185672B1 (en)
US12/028,422 2008-02-08
US12/028,422 US8045482B2 (en) 2008-02-08 2008-02-08 Location tracking based on proximity-based ad hoc network
PCT/US2009/032854 WO2009100013A2 (en) 2008-02-08 2009-02-02 Location tracking based on proximity-based ad hoc network
KR20100117658A true KR20100117658A (en) 2010-11-03
KR101185672B1 KR101185672B1 (en) 2012-09-24
ID=40938805
KR1020127024272A KR101385341B1 (en) 2008-02-08 2009-02-02 Location tracking based on proximity-based ad hoc network
KR1020107019986A KR101185672B1 (en) 2008-02-08 2009-02-02 Location tracking based on proximity-based ad hoc network
KR1020127010464A KR101251861B1 (en) 2008-02-08 2009-02-02 Location tracking based on proximity-based ad hoc network
US (1) US8045482B2 (en)
KR (3) KR101385341B1 (en)
CN (1) CN101940055B (en)
TW (1) TWI412292B (en)
WO (1) WO2009100013A2 (en)
EE01079U1 (en) * 2009-09-17 2012-01-16 Smartdust Solutions OÜ The territory and perimeter of the j 's steem lgimise
US20110068892A1 (en) * 2009-09-20 2011-03-24 Awarepoint Corporation Wireless Tracking System And Method Utilizing Near-Field Communication Devices
ES2551099T3 (en) * 2009-12-22 2015-11-16 9Solutions Oy Position Tracking System
EP2572211A1 (en) * 2010-05-21 2013-03-27 Nokia Corp. Method and apparatus for topology map determination
US8463459B2 (en) * 2010-08-24 2013-06-11 The Boeing Company Methods and apparatus for indicating a location
US20120134282A1 (en) 2010-11-30 2012-05-31 Nokia Corporation Method and apparatus for selecting devices to form a community
US9301097B2 (en) * 2011-10-27 2016-03-29 Point Inside, Inc. Correlating wireless signals to a location on an image using mobile sensor technologies
DE102011087914B4 (en) * 2011-12-07 2013-11-14 Sebastian Wille Method for linking data of physical objects to data objects of a social network
WO2013157136A1 (en) * 2012-04-20 2013-10-24 トヨタ自動車株式会社 Information identification device
WO2014087198A1 (en) * 2012-12-07 2014-06-12 Nokia Corporation Handling positioning messages
DE102012112974A1 (en) * 2012-12-21 2014-06-26 Bdt Media Automation Gmbh Method and apparatus for automatic addressing and recognition of spatial neighborhood relationships in modular object delivery systems
EP2768269B1 (en) * 2013-02-15 2019-03-13 Fujitsu Limited Automatic ad-hoc network of mobile devices
US9515769B2 (en) * 2013-03-15 2016-12-06 Src, Inc. Methods and systems for exploiting sensors of opportunity
US20140327521A1 (en) * 2013-05-01 2014-11-06 Qualcomm Incorporated Asset location using relays
US9788163B2 (en) * 2013-07-02 2017-10-10 Life360, Inc. Apparatus and method for increasing accuracy of location determination of mobile devices within a location-based group
US9179251B2 (en) * 2013-09-13 2015-11-03 Google Inc. Systems and techniques for colocation and context determination
CN103686875B (en) * 2013-12-03 2016-08-17 浙江工业大学 A kind of connection control method of the transmission rates such as wireless nano sensor network Lothrus apterus
US9894633B2 (en) * 2013-12-06 2018-02-13 Google Llc Reminders based on device proximity using bluetooth LE
FR3014560B1 (en) * 2013-12-09 2017-03-10 Second Bridge Method for the geolocation of a fleet of communicating objects without a gps type system
CN104753866A (en) * 2013-12-27 2015-07-01 中国移动通信集团公司 Data transmission method and data transmission device
JP6484986B2 (en) * 2014-01-31 2019-03-20 株式会社リコー Position information transmission system, position information transmission device, and position information transmission method
JP2019520555A (en) * 2016-05-12 2019-07-18 ローズマウント インコーポレイテッド Positioning system
US9933167B2 (en) * 2014-03-18 2018-04-03 Imi Hydronic Engineering, Inc. Retrofit smart components for use in a fluid transfer system
US20150347562A1 (en) * 2014-06-02 2015-12-03 Qualcomm Incorporated Deriving user characteristics from users' log files
US20160050529A1 (en) * 2014-08-18 2016-02-18 Microsoft Corporation Location Information from a Mobile Device
US9900745B2 (en) 2015-09-25 2018-02-20 Intel Corporation Service discovery with beacons using bluetooth low energy signal
EP3420494A1 (en) * 2016-02-24 2019-01-02 Taggalo S.r.l. Method for managing advanced plugins in an electronic device for analyzing the people behaviour in a physical space, electronic device for analyzing the people behaviour in a physical space and related program product
CN107197432A (en) * 2016-03-14 2017-09-22 深圳康耐讯网络科技有限公司 Grid network with mobile node
US9877089B2 (en) 2016-05-13 2018-01-23 Shockwatch, Inc. Wireless environmental sensor
JP6623954B2 (en) * 2016-06-29 2019-12-25 富士通株式会社 Data transfer program, data transfer device, and data transfer method
CN110637480A (en) * 2017-03-17 2019-12-31 Scrrd公司 Wireless device detection, tracking and authentication platform and techniques
US10317216B1 (en) * 2018-03-16 2019-06-11 Microsoft Technology Licensing, Llc Object and location tracking with a graph-of-graphs
CN100440832C (en) * 2004-08-20 2008-12-03 清华大学;东芝（中国）有限公司 Method for building self-organized network skeleton structure
KR20060075797A (en) * 2004-12-29 2006-07-04 한국과학기술정보연구원 Mre-dd sensor network routing algorithm
EP1770955A1 (en) * 2005-09-30 2007-04-04 BRITISH TELECOMMUNICATIONS public limited company Information based on location and activity of a user
2008-02-08 US US12/028,422 patent/US8045482B2/en active Active
2009-02-02 KR KR1020127024272A patent/KR101385341B1/en active IP Right Grant
2009-02-02 WO PCT/US2009/032854 patent/WO2009100013A2/en active Application Filing
2009-02-02 KR KR1020107019986A patent/KR101185672B1/en active IP Right Grant
2009-02-02 CN CN2009801046688A patent/CN101940055B/en active IP Right Grant
2009-02-02 KR KR1020127010464A patent/KR101251861B1/en active IP Right Grant
2009-02-05 TW TW098103636A patent/TWI412292B/en active
TW201014438A (en) 2010-04-01
WO2009100013A2 (en) 2009-08-13
TWI412292B (en) 2013-10-11
KR101385341B1 (en) 2014-04-14
KR20120058620A (en) 2012-06-07
WO2009100013A3 (en) 2009-11-12
US8045482B2 (en) 2011-10-25
KR101185672B1 (en) 2012-09-24
CN101940055B (en) 2013-07-10
KR101251861B1 (en) 2013-04-10
US20090201850A1 (en) 2009-08-13
KR20120120446A (en) 2012-11-01
CN101940055A (en) 2011-01-05
US9103900B2 (en) 2015-08-11 System and method of gathering WLAN packet samples to improve position estimates of WLAN positioning device
EP2111721B1 (en) 2012-10-24 System and method for generating non-uniform grid points from calibration data
US10341811B2 (en) 2019-07-02 Signal comparison-based location determining method
CN101395640B (en) 2012-11-14 Device and network enabled geo-fencing for area sensitive gaming enablement
CN103250454B (en) 2016-04-20 Resource-sharing between two grade network
JP2014060737A (en) 2014-04-03 Managing location database for network-based positioning system
US7171218B2 (en) 2007-01-30 Mobile unit, server and method of providing information
2010-09-07 A201 Request for examination
2012-02-21 E902 Notification of reason for refusal
2012-04-23 A107 Divisional application of patent
2012-06-19 E701 Decision to grant or registration of patent right