专利摘要:
informatie en van de nauwkeurigheid van laatst F)G 2 verzonden locatie-informatie. A method (10) for determining and transmitting spatial location information, the method updating (8) the spatial location information by using an application program connection (API) for locating and transmitting (9) the location information to a server. The method further comprises avoiding (12) the use of the Positioning API by considering one or more values obtained via an inertia measuring unit, and avoiding (13) sending the location information to the server by considering the accuracy of last updated location data information and of the accuracy of the latest F) G 2 location information transmitted.
公开号:BE1022894B1
申请号:E2015/5337
申请日:2015-05-29
公开日:2016-10-07
发明作者:Rafael Berkvens;Ben Bellekens;Maarten Weyn;Bob Velleman
申请人:Universiteit Antwerpen;Tsjak;
IPC主号:
专利说明:

Energy-saving locating and communication Technical field of the invention
The present invention relates to the field of software applications for mobile devices such as, for example, smartphones. More specifically, this invention relates to a method for determining and transmitting spatial location information in an energy-saving manner and a related smartphone application product.
BACKGROUND OF THE INVENTION
Positioning is a commonly used technique, for example to detect when two or more people are in each other's environment. This application may require that the position of all active users of such a detection system, for example of at least two people, is known at substantially any time. For example, a central server can track the position of users to find out the proximity of two users. If it is detected that two users are close to each other, for example, a message can be sent to these users, such that these users can find each other. For example, an application on the users' smartphone can receive such notifications from the central server. Furthermore, this application can also provide for updating the registered location of the smartphone on the server. Such a system can, for example, be used by large companies to enable employees to come into contact with each other.
It is known in the prior art that a server can determine with the aid of regular position adjustments, which are for instance sent by personal mobile devices such as smartphones, whether two persons are in each other's environment.
It is common for the location estimator in a smartphone to attempt to limit battery consumption. But despite the efforts of hardware and software manufacturers to reduce energy consumption through the use of smartphone positioning services, there is a need for further energy reduction.
Smartphones are typically equipped with multiple sensors that can be used for locating. Moreover, such a smartphone can also comprise sensors that can be used to facilitate tracking of a position, in order to improve the accuracy of the positioning. Information sources that can be used to perform a direct positioning include Global Positioning System (GPS) sensor information, Wi-Fi connection information, information regarding the mobile network (such as GSM, GPRS and / or HSDPA connections) and Bluetooth connection information. Information sources that can play a supporting role in locating include acceleration sensor information, gyroscopic sensor information and magnetometry. GPS makes use of geometric triangulation in relation to artists with known spatial locations. Wi-Fi locating is often performed by pattern comparison of the available access points (AP) at the current location and the corresponding strength of the received signals (RSS).
Positioning with the help of mobile network information is based on the known locations of the base stations of the mobile network, for example in a manner similar to Wi-Fi positioning. Bluetooth can also be used for positioning by pattern comparison, such as Wi-Fi positioning, but is usually only used for indoor applications or for estimating the proximity to known Bluetooth access points due to the limited range.
A limited overview of positioning frameworks known in the art that use one or more of these information sources is presented in the table below. This table gives an indication of the possible reduction in energy consumption. It should be noted that these values are only indicative since they are based on published information and are therefore difficult to compare.
The US8472973 patent describes a method for energy-efficiently managing a location sensor in a computer device. This method comprises a short initialization of the sensor to measure the signal quality. This measured signal quality is then compared with predefined signal criteria, which correspond, for example, to acceptable levels of energy consumption when the sensor is used to determine the position based on a signal with corresponding signal quality. If the signal criteria are met, a position determination is performed. In the other case, the sensor is switched off without obtaining position information. Furthermore, the use of a location sensor with a low energy consumption is described to determine whether a location sensor with a higher energy consumption should be activated based on an expected energy consumption.
The patent US8532670 describes a method for managing location determination in location sensitive applications, wherein a first sensor in a portable device is activated to perform location determination at the request of a location sensitive application. The method further comprises periodically monitoring the movement of the portable device by a second sensor in the device, and suppressing the location determination by the first sensor in accordance with the movement of the device detected by the second sensor.
Summary of the invention
Embodiments of the present invention have for its object to provide for a low consumption of the stored energy in a battery of a mobile device such as for example a smartphone when updating information regarding the position of the mobile device on a server.
For example, a smartphone application can quickly drain the battery by regularly sending position adjustments to the server, since data exchange can be an important source of energy consumption. It is an advantage of embodiments according to the present invention that energy can be saved by communicating with the server less regularly.
Methods and smartphone applications according to embodiments of the present invention focus on limiting energy consumption of a smartphone by, for example, reducing the use of location services and / or data transmission of position data to a server.
Methods and smartphone applications according to embodiments of the present invention can advantageously disable the use of the positioning service of a smartphone when it can be determined otherwise that the smartphone has not moved, for example by making use of information relating to a Wi-Fi Fi connection of the device and / or other indicative sensor signals.
It is an advantage of embodiments of the present invention that this information on the server regarding the position is still maintained sufficiently accurately to determine the proximity of at least two users.
It is an advantage of embodiments of the present invention that battery consumption is limited by avoiding the use of the smartphone's location estimator service when other sensory indications are available that indicate that the user's location has not changed significantly.
It is an advantage of embodiments of the present invention that the battery consumption is limited by limiting data exchange with a server for tracking information regarding the position of the user.
The above object is achieved by a device according to the present invention.
In a first aspect, the present invention relates to a method for determining and transmitting spatial location information and a related smartphone application product.
The present invention also relates to an application product for a mobile device for performing a method according to an embodiment of the first aspect of the present invention.
The present invention relates to a method for determining spatial location information and sending the spatial location information to a server, the method comprising: - updating the spatial location information using an application program connection for locating, - sending the spatial location information to the server, - avoiding the use of the application program connection for locating by considering one or more values obtained via an inertia measuring unit, and - avoiding sending of the spatial location information to the server by considering the accuracy of last updated spatial location information and the accuracy of last spatial location information transmitted.
Avoiding sending the spatial location information to the server may include sending the spatial location information to the server when the accuracy of the last updated spatial location information is less than, or less than, or equal to, a predetermined fraction of the accuracy of the last spatial location information sent.
The predetermined fraction can be in the range of 0.2 to 1.0.
Avoiding sending the spatial location information to the server may include sending the spatial location information to the server when a distance between a position corresponding to the last updated spatial location information and an extrapolated position based on at least two recently transmitted spatial location information to a time point indicative of the time at which the last update of the spatial location information was performed is greater than, or greater than or equal to, the accuracy of the last transmitted location information or a fraction thereof.
The extrapolated position can be obtained by a linear extrapolation of the position as a function of time.
Updating the spatial location information may include the use of an application program connection to perform a location determination by a smartphone using one or more location sensitive sensors in the smartphone.
The updating of the spatial location information may include the recording of values corresponding to the spatial location information in a memory element of a smartphone.
Updating the spatial location information may include updating location information comprising values representative of a two-dimensional or three-dimensional positioning and one or more values representative of an accuracy of this positioning.
The method may further comprise an initialization, wherein the initialization comprises determining an initial value of the spatial location information using the application program connection for locating and sending the initial value of the spatial location information.
Avoiding the use of the locator application program connection may include a conditional execution loop in which the spatial location information is repeatedly updated using the locator application program connection until the spatial location information accuracy is less than, or less than, or equal to , a predetermined accuracy threshold.
The accuracy threshold can correspond to a distance of less than 300 m.
Avoiding the use of the application program connection for locating may include updating the spatial location information when an elapsed time since a previous updating of the spatial location information is greater than, or greater than or equal to, a predetermined time threshold .
The time threshold can correspond to a period in a range of up to 20 minutes.
Avoiding the use of the application program connection for location determination may include a comparison of a value representative of the elapsed time since the previous update of the spatial location information with the predetermined time threshold.
For example, the comparison of the value representative of the elapsed time since the previous update of the spatial location information with the predetermined time threshold can only be performed if the accuracy of the spatial location information corresponding to the previous update of the spatial location information information is less than, or less than or equal to, the predetermined accuracy threshold.
After updating the spatial location information when the elapsed time since the previous update of the spatial location information is greater than, or greater than or equal to, the predetermined time threshold, the spatial location information may be sent to the server sent.
Avoiding the use of the application program connection for locating may include a test of a wireless network connection, for example a wireless Wi-Fi connection.
The use of the application program connection can be avoided when a wireless network connection has been established and an assigned network address corresponding to the wireless network connection has remained unchanged since a previous test of the wireless network connection.
The test of the wireless network connection may include storing the network address for use in a subsequent embodiment of the test.
For example, the wireless network connection test can only be performed when the accuracy of the spatial location information corresponding to its previous update is less than, or less than or equal to, the predetermined accuracy threshold and / or when the elapsed time since the foregoing update of the spatial location information is greater than, or greater than or equal to, the predetermined time threshold.
Avoiding the use of the application program connection for locating may include a test of the one or more values obtained via the inertia measuring unit.
The test of the one or more values obtained via the inertia measuring unit may comprise sampling the one or more values corresponding to one or more speed measurements, acceleration measurements and / or orientation measurements.
The test of the one or more values obtained via the inertia measuring unit may comprise comparing the one or more values, or an aggregation value of these values, with one or more predetermined movement threshold values.
The use of the application program connection for location determination can be avoided, for example, when the test of the value or values obtained via the inertia measuring unit does not indicate significant movement.
The test of the value or values obtained via the inertia measuring unit can include sampling one or more values corresponding to an acceleration measurement, and estimating a speed based on the sampled acceleration and a previously sampled acceleration.
The test of the value or values obtained through the inertia measurement unit may include determining a time span based on the estimated speed, and waiting during the determined time span to subsequently update the spatial location information using the application program connection for positioning.
The test of the one or more values obtained via the inertia measuring unit can, for example, only be carried out if the accuracy of the spatial location information corresponding to the preceding update thereof is less than, or less than or equal to, the predetermined accuracy threshold and / or when the elapsed time since the previous update of the spatial location information is greater than, or greater than or equal to, the predetermined time threshold, and / or the test of the wireless network connection indicated that no wireless network connection was has been established or the assigned network address recently changed according to a wireless network connection.
The present invention also relates to an application product for mobile devices adapted for, when executed on the mobile device, the realization of a method according to one of the embodiments described above.
The application product may be further adapted to receive a notification from the server, this notification indicating the proximity of another user.
The present invention furthermore also relates to a mobile device with a memory, wherein an application product is stored in memory in accordance with one of the embodiments described above.
The present invention also relates to a server comprising a software program product which, when executed on a processor of the server, is adapted to realize a method according to one of the embodiments described above.
The server can be provided for storing spatial location information in combination with data representative of the accuracy of the spatial location information.
Specific and preferred aspects of the invention are included in the appended independent and dependent claims. Features of the dependent claims can be combined with features of the independent claims and with features of other dependent claims as appropriate and not merely as explicitly stated in the claims.
BRIEF DESCRIPTION OF THE FIGURES FIG. 1 shows a method according to embodiments of the present invention. FIG. 2 shows an algorithm according to a method according to a first specific embodiment of the present invention. FIG. 3 shows an algorithm according to a method according to a second specific embodiment of the present invention. FIG. 4 shows in detail a part of the algorithm according to a method according to the second specific embodiment of the present invention. FIG. 5 shows the recorded positions of some test subjects in an example illustrating embodiments of the present invention. FIG. 6 shows the positions recorded as a function of time for the nine test subjects in this example to illustrate embodiments of the present invention.
The figures are only schematic and non-limiting. In the figures, the dimensions of some parts may be exaggerated and not represented to scale for illustrative purposes. Reference numbers in the claims may not be interpreted to limit the scope of protection. In the various figures, the same reference numbers refer to the same or analogous elements.
Detailed description of the embodiments
The present invention will be described with reference to particular embodiments and with reference to certain drawings, however, the invention is not limited thereto but is only limited by the claims.
Reference throughout this specification to "one embodiment" or "an embodiment" means that a specific feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, occurrence of the expressions "in one embodiment" or "in an embodiment" at various places throughout this specification may not necessarily all refer to the same embodiment, but may do so. Furthermore, the specific features, structures, or characteristics may be combined in any suitable manner, as would be apparent to those skilled in the art based on this disclosure, in one or more embodiments.
Similarly, it should be appreciated that in the description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together into a single embodiment, figure, or description thereof for the purpose of streamlining disclosure and assisting in understanding one or several of the various inventive aspects. This method of disclosure should not be interpreted in any way as a reflection of an intention that the invention requires more features than explicitly mentioned in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all the features of a single prior disclosed embodiment. Thus, the claims following the detailed description are hereby explicitly included in this detailed description, with each independent claim as a separate embodiment of the present invention.
Furthermore, while some embodiments described herein include some, but not other, features included in other embodiments, combinations of features of different embodiments are intended to be within the scope of the invention, and constitute different embodiments, as would be understood by those skilled in the art . For example, in the following claims, any of the described embodiments can be used in any combination.
Furthermore, the terms first, second, third and the like in the description and in the claims are used to distinguish similar elements and not necessarily for describing a sequence, neither in time, nor spatially, nor in ranking, or in any other manner. It is to be understood that the terms used in this way are suitable under interchangeable conditions and that the embodiments of the invention described herein are capable of operating in a different order than described or depicted herein.
In addition, the terms upper, lower, upper, for and the like in the description and the claims are used for description purposes and not necessarily to describe relative positions. It is to be understood that the terms so used may be interchanged under given circumstances and that the embodiments of the invention described herein are also suitable to operate in other orientations than described or shown herein.
It is to be noted that the term "comprises", as used in the claims, is not to be interpreted as being limited to the means described thereafter; this term does not exclude other elements or steps. It can therefore be interpreted as specifying the presence of the listed features, values, steps or components referred to, but does not exclude the presence or addition of one or more other features, values, steps or components, or groups thereof. Thus, the scope of the expression "a device comprising means A and B" should not be limited to devices that consist only of components A and B. It means that with regard to the present invention, A and B are the only relevant components of the device.
Numerous specific details are set forth in the description provided here. It is, however, understood that embodiments of the invention can be practiced without these specific details. In other cases, well-known methods, structures and techniques have not been shown in detail to keep this description clear.
The present invention relates to a method for determining and sending spatial location information and a related smartphone application product.
Thus, in a first aspect, the present invention provides a method for determining spatial location information and sending this spatial location information to a server. The method comprises updating the spatial location information by using an application program connection for locating and sending the spatial location information to the server. The method further comprises avoiding the use of the Positioning API by considering one or more values obtained via an inertia measurement unit, and avoiding sending the spatial location information to the server by considering it taking the accuracy of last updated spatial location information and the accuracy of last sent spatial location information. In some embodiments, deciding whether information is to be transmitted may also use an estimated position, for example, an extrapolated position based on at least two recently transmitted spatial location information.
By way of illustration, embodiments not limited thereto, the method will be discussed in more detail with reference to FIG. 1. FIG. 1 illustrates sketchily a method 10 according to embodiments of the present invention. The method 10 comprises updating the spatial location information 8 by using an application program connection (API) for location determination, for example an application program connection for execution by a smartphone, for example for performing a location determination using one or more location data sensitive sensors in the smartphone. It is an advantage of embodiments that an implementation of a method according to embodiments of the present invention does not require specific prior knowledge of how the API performs the locating. Thus, for example, the API can be provided by the manufacturer of a smartphone on which the method is performed substantially automatically, or a third party, whereby this API can be updated independently of the software implementation of the method according to embodiments or replaced by another API with the same functionality and access form.
The positioning API can, for example, determine a location based on a GPS connection. However, the API is not limited to this. For example, if a Wi-Fi network is within range, information from this Wi-Fi network or multiple Wi-Fi networks can be used to determine or improve the position. For example, the API can apply a framework for estimating a location as explained in the background section of the present description.
The method may also include registering the spatial location information for later use, such as storing corresponding values in a memory element. The location information may include values representative of a two-dimensional or three-dimensional positioning, e.g. substantially corresponding to a projection of a position of the smartphone on a coordinate system bound to the earth's surface. The location information may further comprise one or more values representative of an accuracy of the positioning, for example an absolute measurement error, a relative measurement error, a standard deviation, an inter-quartile deviation or a similar value or values representative of the order of magnitude of the deviation of the actual location in relation to the sampled location.
A method according to embodiments of the present invention may include an initialization 11 in which an initial value of the spatial location information is determined using the application program connection for location determination. The initialization may further comprise sending the spatial location information to a server, for example independently of steps described below for avoiding communication with the server.
A method according to embodiments of the present invention may also include an interruption condition that temporarily interrupts or halts execution of the method, for example when no communication path to the server is available for at least a predetermined shutdown time, e.g. when no Wi-Fi or 3G connection is available for at least this switch-off time. A method according to embodiments of the present invention may also include a resume condition, for example when a communication path to the server has been restored.
The method includes avoiding the use of the locating API by considering one or more values obtained via an inertia measuring unit, for example an intervention measuring unit in a smartphone on which the method is performed in a substantially automatic manner, for example by running a corresponding smartphone application. The method according to embodiments may, for example, comprise a step in which an avoidance of the use of the locating API is attempted. This avoidance 12 of the use of the API can be carried out in a method according to embodiments of the present invention, for example repeatedly performed, after the initialization 11 described above.
The use of the locating API can for example also be avoided if the spatial location information is sufficiently accurate and / or recent.
Avoiding 12 the use of the locating API can include a conditional execution loop 19 in which the spatial location information is repeatedly updated 8 using the locating API until an accuracy of the spatial location information is less than, or less than or equal to, then a predetermined accuracy threshold. The accuracy threshold may, for example, correspond to a distance of less than 300 m, preferably less than 200 m, such as 100 m, or less, for example 50 m, or even less, for example 10 m. It is an advantage of embodiments of the present invention invention that avoiding the use of the locating API and the associated energy saving is only applied if a sufficiently accurate locating has been achieved.
Avoiding 12 the use of the locating API can include updating the spatial location information when the elapsed time since the previous updating of the spatial location information is greater, or greater than, or a predetermined time threshold . This time threshold may, for example, correspond to a period in the range of 30 seconds to 20 minutes, preferably in the range of 1 minutes to 10 minutes, such as 5 minutes, although other time thresholds are also possible. It is an advantage of embodiments of the present invention that an update 8 of the spatial location information occurs at least once in each time period corresponding to the predetermined time threshold, so as to ensure that the spatial location information is always sufficiently recent. It is a further advantage that a deviating location determination, for example due to an incorrect value of the spatial location information, and / or the associated accuracy, reported by the API, is replaced within this period.
In embodiments according to the present invention, avoiding the use of the locating API 12 may include a comparison 2 of a value representative of the elapsed time since the previous update 8 of the spatial location information with the predetermined time threshold. In embodiments according to the present invention, this comparison 2 can only be performed when the accuracy of the spatial location information corresponding to the preceding update thereof is less than, or less than or equal to, the predetermined accuracy threshold. It is an advantage of embodiments of the present invention that frequent comparison of the elapsed time, and thus the associated cost in efficiency and energy, is avoided when repeated side effects are already performed to improve the accuracy of the positioning.
After this updating 8 of the spatial location information when the elapsed time since the previous update of the spatial location information is greater, or greater than or equal to, the predetermined time threshold, in a method 10 according to embodiments of the present invention transmitting 9 the spatial location information to the server, for example independently of the step 13 below described for avoiding communication with the server.
In embodiments according to the present invention, avoiding 12 the use of the Positioning API can include a test of a wireless network connection, preferably a wireless Wi-Fi connection. For example, this test can avoid using the API when a wireless network connection has been established and the assigned network address, for example an IP address, has remained unchanged with this wireless network connection since a previous performance of this test. Thus, if a connection is available, this test 15 may include sampling the network address and storing the network address for use in a subsequent evaluation of the test 15. If appropriate, it concerns the first execution of this test in which a network connection is established, the test can produce a negative result despite the fact that no network address obtained in a previous embodiment of the test is available, for example by a suitable initialization of a variable representative of the last observed network address in the initialization 11.
In a method according to embodiments of the present invention, the test of the wireless network connection can only be performed when the accuracy of the spatial location information corresponding to the preceding update thereof is less than, or less than or equal to, the predetermined certain accuracy threshold and / or, preferably and, when the elapsed time since the previous update of the spatial location information is greater than, or greater than or equal to, the predetermined time threshold. It is an advantage of embodiments of the present invention that frequent testing of network connectivity, and thus the associated cost in efficiency and energy, is avoided. It is an advantage of embodiments of the present invention that the limited range of wireless networks, preferably Wi-Fi networks, can be used to detect whether a user has remained within a reasonable distance from his previously registered location. It is an advantage of embodiments of the present invention that use is made of information related to a wireless network connection, for example a Wi-Fi connection, when such a connection is available, without requiring the presence of wireless network connectivity. For example, an active Wi-Fi module can improve the performance of a method according to embodiments without this method always requiring an active Wi-Fi module.
In embodiments according to the present invention, avoiding 12 the use of the locating API can include a test 18 of one or more values obtained via an inertia measuring unit. For example, this test may include sampling 14 of one or more values corresponding to one or more speed measurements, acceleration measurements and / or orientation measurements, for example provided by a speed meter, an accelerometer, a gyroscope and / or an electronic compass. The one or more values may correspond to absolute inertial measurements, or be differential with respect to time. This test can further comprise comparing these one or more values, or an aggregation value such as, for example, an average or mathematical norm of these values, with one or more predetermined movement threshold values. For example, a movement threshold value for the Euclidean standard of angular velocity, such as obtained with a gyroscope readout, can be in the range of 0.01 rad / s to 0.2 rad / s, preferably in the range of 0.025 rad / s s to 0.1 rad / s, such as 0.05 rad / s. For example, a movement threshold value for the Euclidean standard of the linear acceleration, such as obtained with a speed measurement, can be in the range of 0.2 m / s to 15 m / s, preferably in the range of 0.5 m / s up to 10 m / s, such as 0.75 m / s or 5 m / s.
If the test 18 of the value or values obtained via the inertia measuring unit does not indicate significant movement, e.g. no significance according to the predetermined movement threshold values, the method according to embodiments of the present invention can avoid the use of the locating API, while in the in the event of a significant movement, the spatial location information can be updated 8 by using the application program connection for locating.
In a method according to embodiments of the present invention, the test 18 of one or more values obtained via the inertia measuring unit can only be performed if the accuracy of the spatial location information corresponding to the preceding update thereof is less than or less than or equal to the predetermined accuracy threshold and / or when the elapsed time since the previous update of the spatial location information is greater than, or greater than, or equal to, the predetermined time threshold, and / or the test of the wireless network connection indicated that no wireless network connection has been established or the assigned network address has recently changed according to a wireless network connection. Preferably, the test of one or more values obtained via the inertia measuring unit can only be performed if the accuracy of the spatial location information corresponding to the preceding update thereof is less than, or less than or equal to, the predetermined accuracy threshold and the elapsed time since the previous update of the spatial location information is greater than, or greater than or equal to, the predetermined time threshold, and the wireless network connection test does not lead to an update of the spatial location information . It is an advantage of embodiments according to the present invention that the use of an inertia measuring unit is avoided, and thus the associated cost in efficiency and energy consumption, when the need for an update of the location information can be determined otherwise.
In a method according to embodiments of the present invention, the test 18 of the value or values obtained via the inertia measuring unit may comprise sampling 14 of one or more values corresponding to an acceleration measurement. Such embodiments may further include estimating a speed based on the sampled acceleration and a previously sampled acceleration. Embodiments of the present invention may also include determining a time span 23 based on the estimated speed, and waiting 25 during this time period, followed by updating 8 of the spatial location information using the application program connection for position determination.
Embodiments of the present invention also include sending 9 the spatial location information to a server, for example via a mobile telephone network and / or a wireless network connection, for example according to well-known methods for data communication.
Embodiments of the present invention also include a step of limiting communication with the server. The use of the Positioning API is restricted in accordance with step 12 described above, but if this API is nevertheless addressed, for example when avoiding the use of the API is not appropriate, the communication flow to the server can be limited.
Embodiments of the present invention further include avoiding sending the spatial location information to the server by considering the accuracy of the last updated, e.g., the most recently determined, spatial location information and the accuracy of the last sent, for example, the most recently sent, spatial location information.
Avoiding 13 sending the spatial location information to the server may include sending 9 the spatial location information to the server when the accuracy of the last updated spatial location information is less than, or less than, or equal a predetermined fraction of the accuracy of the last spatial location information transmitted. This predetermined fraction can preferably, but not necessarily, be strictly less than 1. The predetermined fraction can for example be in the range of 0.1 to 2.0, for example in the range of 0.2 to 1, 0, preferably in the range of 0.5 to 0.8, such as, for example, 2/3. It is an advantage of embodiments of the present invention that position updates are sent to the server if they can substantially improve the accuracy of the location recorded on the server.
Avoiding 13 sending the spatial location information to the server may further include sending 9 the spatial location information to the server when a distance between a position corresponding to the last updated spatial location information and an extrapolated position based on of at least two recently transmitted spatial location information, including for example the last transmitted spatial location information, to a time point indicative of the time at which the last update of the spatial location information was performed is greater than the accuracy of the last transmitted location -information. This distance may refer to a Euclidean metric, but is not necessarily limited to that. For example, the distance can also be determined by another mathematical metric, such as a Chebyshev metric or a Manhattan metric, for example because of an advantageous computational efficiency.
It is an advantage of embodiments of the present invention that the sending of new spatial location information to the server is avoided when an extrapolated position, which can for instance be executed in parallel by the server, differs only slightly from the new spatial information information, wherein the accuracy of the last available information information on the server is taken into consideration.
The extrapolated position may, for example, be a linear extrapolation of the position as a function of time. It is an advantage of such a linear extrapolation that it can be carried out efficiently on both a smartphone, for example a limited energy reserve and processing capacity, and parallel to the server, for example a large number of concurrent positions to be processed by a large number of users. It is a further advantage that a linear extrapolation requires only two separate and recently transmitted units of the spatial location information, and does not require additional information sources, such as map data or statistical information regarding movement patterns depending on location.
In FIG. 2 to 4, two possible specific embodiments are shown according to the present invention. However, the present invention is not limited to these specific embodiments. The first specific embodiment, shown in FIG. 2, a method 10 according to embodiments of the present invention which is made up of three parts, an initialization part 11, in which an initial spatial position is determined 8 and transmitted 9 to a server, a part 12 showing the use of an application program connection for to avoid locating, and a part 13 that seeks to restrict communication with the server when the locating API was invoked.
This algorithm can use mainly two variables: a position p and an accuracy a at this position, both of which are, for example, both reported by the locating API. In addition, the time t when these values were requested can also be tracked to the API.
It is attempted to limit the use of the Positioning API, but when using this API, a limitation of data exchange with the server is also sought, in accordance with embodiments of the present invention.
In embodiments of the present invention, multiple versions of said variables can also be maintained, for example corresponding to position determinations at multiple times. In addition to the latest version i obtained through the locating API, the latest version j that was sent to the server can also be tracked, and the version j-1 sent to the server prior to sending the last sent version j.
The method 10 may, for example, begin by requesting the position and accuracy 8 of the locating API. The position obtained from the API is indicated by p, and the accuracy by a. The value of p is stored in the variables pj-1, pj and pi and the value of a is stored in the variables aj-1, aj and ai . An implementation of the method 10 can here also create and initiate the time variables tj-1, ij and ti with the current time t. The position pi and the accuracy ai are then sent to the server. With this the initialization step 11 can be completed.
The part 12 that attempts to avoid the use of the application program connection for positioning can begin with two conditions, condition 1 and condition 2, which can lead to the location of the locating API.
In condition 1 (ai> at), it is checked whether the last obtained accuracy ai is greater than a threshold value for the accuracy at, for example a predetermined threshold value of 100 m. If the last obtained accuracy is greater than this threshold value, the spatial location becomes information (p, a) updated again 8 by using the locating API. A conditional execution loop can be formed in which the spatial location information 8 is repeatedly updated until the accuracy is less than the threshold value. These updated values are not necessarily always sent to the server, in accordance with embodiments of the present invention.
Condition 2 checks whether updated spatial position information has been sent at least once at a predetermined time. Condition 2 can thus be formed by an inequality relationship t - tj> th on the subtraction of the time tj at which the last update of the position information was sent to the server of the current time t. The predetermined time threshold th can thus form a figurative periodic heartbeat. When the heartbeat period has elapsed, the spatial position information is updated 8 using the location-determining API, and can then be sent 9 to the server without intervention of the step 13 avoiding sending the position information so that the heartbeat can be used to signal to the server that the method, for example carried out by a smartphone application, is still being carried out.
For example, the predetermined time threshold can be set to 5 minutes. Condition 2 can be used in embodiments of the present invention, such as shown in FIG. 2, be performed when the last accuracy is less than the accuracy threshold in accordance with condition 1.
When the heartbeat period corresponding to the time threshold th has not elapsed, the part 12 which seeks to avoid the use of the application program connection for location determination can continue with condition 3. Hereby information is gathered by simply observing a wireless network connection, for example a Wi-Fi connection. . However, a user may decide to disable a required wireless network connection module, for example a Wi-Fi module, or may not be connected to a wireless network even though the required module or modules are active. Condition 3 can therefore test whether a network connection has been established. If not, you can proceed to condition 4 described further below.
If an active wireless network connection has been established, changes to the hardware address, e.g., the IP address, can be followed in accordance with embodiments of the present invention. In each cycle of the algorithm shown in FIG. 2, it is checked by means of condition 5, in condition 5, whether the current hardware address corresponds to the last observed hardware address. If this network address remains unchanged, checking the position via the positioning API can be avoided, as well as sending data to the server. If the address changed, an update 8 of the spatial position information can be performed via the locating API. After this update 8, the part 13 for avoiding data communication with the server is addressed again. For example, if someone remains connected to the same Wi-Fi access point (AP), it can be assumed that this user remained within a reasonable distance from the last sent position.
Condition 4 can be performed in embodiments according to the present invention when no active network connection has been established, for example by condition 3, i.e. for example when the Wi-Fi module is switched off or not connected. An inertial measurement unit (IMU) can be used for this, which can be assumed to be always available for supplying motion-related information. The IMU may, for example, comprise an accelerometer, a speed meter, a gyroscope and / or an electronic compass. For example, only gyroscopic data can be used to test empirically whether a significant movement is taking place. If the angular velocity, calculated for example as the norm of the three Cartesian coordinates of the pseudovectoral angular velocity, is greater than a threshold value, for example 0.05 rad / s, a significant movement is indicated. In this case, an update 8 of the spatial position information can be performed via the locating API. After this update 8, the part 13 for avoiding data communication with the server is again addressed, as further described below. In the other case, addressing the positioning API can be avoided, as well as sending data to the server.
The third part 13 can start with requesting the current position and the associated accuracy of the positioning API. If in the second part 12 the use of the API was not avoided, the energy associated with the use of the API is always consumed at this point. However, it is attempted to limit energy consumption by limiting communication with the server.
In a first condition 6 (a, <f.aj) of part 13, it is checked whether the last accuracy, obtained via the locating API, is smaller than a predetermined fraction f of the last accuracy that was sent to the server 9. This fraction can for instance have a value of 2/3. If this condition is met, the more accurate spatial position information can be sent to the server. In this way it can be ensured that the server always has the most accurate position available, but that communication can nevertheless be avoided if the newly obtained position information is located within the uncertainty zone of the last sent position.
If the accuracy does not decrease, a movement can still take place so that the uncertainty zone of the last sent position is left. To find out whether newer spatial position information is to be sent, it can be determined, by condition 7, whether it is possible to predict the newly obtained position on the basis of the last two sent positions, for example sent to the server at times. j and tj. A linear prediction of the position pp can be obtained, for example, by:
Pp = Pj + (Pj-i - Pj) (t, - tj) / (tj - tj-i)
Where corresponding condition 7 is formed by o <Δ (ρ ,, pp), wherein p can represent a position vector, for example consisting of a latitude and a longitude, and wherein Δ can be a function to calculate a distance between two such positions . For example, the latitude of the predicted position can be calculated by the distance along the latitudinal direction between the two last sent positions. This distance can be divided by the time difference of the two last sent positions, thus resulting in a speed. The speed can then be multiplied by the time elapsed since the last sent position, resulting in a traveled distance from the last sent position. This can be done in a similar way for the longitude component. By vectorally adding these components to the last sent position, a predicted position pp is obtained. If the distance between the predicted position and the current position reported by the positioning API is greater than the accuracy of the last position sent to the server, the current position information can be sent to the server. However, if the predicted position is close enough to the current position obtained through the API, then the server can obtain substantially the same position through extrapolation, such that no updated information needs to be sent. FIG. 3 and FIG. 4 show a second method according to a second specific embodiment of the present invention. As illustrated in FIG. 3, this method can be analogous to the method according to the first specific embodiment shown in FIG. 2, except that the test 18 of the value or values obtained via the inertia measuring unit is constructed differently. Just as in the first specific embodiment, the test 18 here also comprises sampling 14 of one or more values corresponding to one or more speed measurements, acceleration measurements and / or orientation measurements. FIG. 4 gives a detailed representation of steps of the test 18 in the second specific embodiment. Here, the method comprises sampling 14 of acceleration measurements, and calculating 22 a speed between points at which the acceleration was sampled, for example, the most recent sampling of the acceleration and a previous sampling of the acceleration. The method may, for example, include a distance calculation 21 of a distance vector between a positional estimate according to these two samples. To this end, for example, a new position and speed can be determined on the basis of the newly sampled acceleration and earlier position information and speed, for example by applying a linear approximation. A time span 23 is then determined on the basis of the calculated speed 22, after which a new sampling 14 of the acceleration will take place. For example, an inversely proportional relationship or monotonically decreasing relationship can be imposed between the time span and the speed. The next position can then be calculated 24, and the method can continue to wait until the specified time period has elapsed. Hereafter the updating 8 of the spatial location information is continued by using the application program connection for positioning. This component can then begin a new cycle, for example after storing the spatial location information 26 and the calculated speed for use in a new cycle.
Although the procedure shown in FIG. 4 can be used per se as an inertial test 14, it can also be combined with another form of motion detection 27, as shown in FIG. 3, for example, by comparing one or more sampled inertial values with one or more predetermined motion threshold values 4. Such the procedure as described above and shown in FIG. 4 can be used as an alternative or in addition to another motion detection test in accordance with embodiments of the present invention.
A method according to embodiments of the present invention can be implemented in software, for example in a smartphone application, and can for example relate to an algorithm, for example implemented in a software product, which provides for a reduction in the energy consumption of a smartphone. A method according to embodiments of the present invention can thus relate to an algorithm for reducing energy consumption. For example, a method according to embodiments of the first aspect of the present invention may be implemented in a smartphone application product according to embodiments of the second aspect of the present invention.
In a second aspect, the present invention relates to an application product for mobile devices, for example a smartphone software product, for determining and sending spatial location information. This application product is adapted to perform a method according to embodiments of the first aspect of the present invention.
An application product according to embodiments of the second aspect of the present invention can be further adapted to receive a notification from the server, and for example to inform the user in an appropriate manner in response to this notification. This notification can thereby indicate the proximity of another user, for example to enable the users in close proximity to each other to come into contact with each other.
The application product is typically implemented as a computer program product that provides the functionality of any of the methods of the present invention when executed on a calculation device / calculator, for example, a processor of a mobile device. Such a computer program product may contain a machine readable code for execution by a programmable processing unit. The computer program product, so that a user could use it on his mobile device, can also be downloaded on the mobile device.
In yet another aspect, the present invention also includes a mobile device on which the application product as described above is installed. Such a mobile device can be a smartphone, a tablet, a portable computer, etc. In yet another aspect, the present invention comprises a server programmed so that a method as described above can be performed. The server hardware can be any conventional server hardware as known to those skilled in the art, but the server according to embodiments of the present invention is distinguished in that it is specifically programmed.
By way of illustration, exemplary results are further described below that were obtained by performing a method according to embodiments of the present invention on pre-recorded data. This example is cited as an example only to assist those skilled in the art in reducing the invention to practice, and is not to be construed as limiting the invention in any sense.
It was determined that the method according to embodiments of the present invention should use the locating API about 70% less often, and communicate with the server about 77% less often, while still achieving about 98% accuracy in the detection of close proximity.
For this simulated example based on pre-recorded data, use was made of nine databases of sensor information gathered by different people under circumstances corresponding to their normal behavior, for example in terms of movement patterns. The data includes the estimated positioning and accuracy reported by the smartphone's positioning API of the respective users, information regarding the Wi-Fi connection, and gyroscopic data. The data was recorded by sampling the corresponding sensors at the maximum frequency imposed by calling the locating API.
The recorded positions of the nine test subjects are shown in FIG. 5. To enable users to initiate a personal contact, for example, to hold an impromptu meeting, users must be, for example, within one kilometer of each other. This additional variable is shown in FIG. 6.
The data points depicted in these figures indicate measurement points in the databases. This gathered information was used to illustrate when, if a method according to embodiments of the present invention were applied, the locating API would be used and when the location information would be sent to the server.
Potential contacts were established, according to the proximity of users, in 11 combinations of the databases. These combinations were used to calculate exemplary precision and accuracy.
Of the recorded data points, the location information in 23.48% of the measurements would be sent to the server. The locating API would be used in 29.54% of the measurements. The accuracy of the algorithm, when applied to this data, is 93.71% and the corresponding precision is 99.63%. The accuracy indicates which fraction of the measurements could be correctly identified by the algorithm as a contact or no contact, compared to all actual contacts. This gives a global picture of the quality of the algorithm, both with regard to detecting contacts and detecting when users are too far apart to initiate an impromptu contact. The precision represents the fraction of the measurements in which the algorithm allows the server to correctly detect a contact. These values are further shown in the confusion matrix below:
This matrix is obtained as the sum of the confusion matrices following the calculation of contacts between the different databases. The large number of false positive results, or type I errors, may have been caused by a contact between databases two and nine, where a movement of two users at high speed near each other was detected.
This example thus illustrates that despite a less frequent data exchange with the server of the most recent position determination, the server can nevertheless be enabled to accurately determine when two users are in close proximity to each other.
The foregoing description provides details of certain embodiments of the invention. It will be understood, however, that no matter how detailed the foregoing may appear in text, the invention may be practiced in many ways. It should be noted that the use of particular terminology in describing certain features or aspects of the invention should not be construed to imply that the terminology is redefined herein to be limited to specific features of the features or aspects of the invention with which this terminology is linked.
权利要求:
Claims (32)
[1]
Conclusions
A method (10) for determining spatial location information and sending the spatial location information to a server, the method comprising: - updating (8) the spatial location information by using an application program connection for locating, - sending (9) the spatial location information to the server, - avoiding (12) the use of the application program connection for locating by considering one or more values obtained via an inertia measuring unit, and - avoiding (13) sending the spatial location information to the server by considering the accuracy of last updated spatial location information and the accuracy of last transmitted spatial location information.
[2]
The method of claim 1, wherein avoiding (13) sending the spatial location information to the server comprises sending (9) the spatial location information to the server when the accuracy of the last updated spatial location information is less than, or less than or equal to, a predetermined fraction of the accuracy of the last spatial location information transmitted.
[3]
The method of claim 2, wherein the predetermined fraction is in the range of 0.2 to 1.0.
[4]
The method of any one of claims 1 to 3, wherein avoiding (13) sending the spatial location information to the server comprises sending (9) the spatial location information to the server when a distance between a position corresponding to the last updated spatial location information and an extrapolated position based on at least two recently transmitted spatial location information to a time point indicative of the time at which the last update of the spatial location information was performed is greater than, or greater than or equal to, the accuracy of the last-transmitted location information or a fraction thereof.
[5]
The method according to claim 4, wherein the extrapolated position is obtained by a linear extrapolation of the position as a function of time.
[6]
The method of any one of claims 1 to 5, wherein updating (8) the spatial location information utilizes an application program connection to perform a location determination by a smartphone using one or more location sensitive sensors in the smartphone.
[7]
The method of any one of claims 1 to 6, wherein updating (8) the spatial location information comprises registering values corresponding to the spatial location information in a memory element of a smartphone.
[8]
The method according to any of claims 1 to 7, wherein updating (8) the spatial location information updating location information comprising values representative of a two-dimensional or three-dimensional positioning and one or more values representative of an accuracy of this locating.
[9]
The method according to any one of claims 1 to 8, further comprising an initialization (11), wherein the initialization determining an initial value of the spatial location information using the application program connection for locating and sending the initial value of the spatial location information.
[10]
The method of any one of claims 1 to 9, wherein avoiding (12) the use of the locator application program includes a conditional execution loop (19) in which the spatial location information is repeatedly updated (8) using the application program locating link until the accuracy of the spatial location information is less than, or less than, or equal to a predetermined accuracy threshold.
[11]
The method of claim 10, wherein the accuracy threshold corresponds to a distance of less than 300 m.
[12]
The method of any one of claims 1 to 11, wherein avoiding (12) the use of the location application application program comprises updating (8) the spatial location information when an elapsed time since a previous spatial update location information is greater than, or greater than or equal to, a predetermined time threshold.
[13]
The method of claim 12, wherein the time threshold corresponds to a period in a range of up to 20 minutes.
[14]
The method of claim 12 or claim 13, wherein avoiding (12) the use of the application program connection for locating comprises a comparison (2) of a value representative of the elapsed time since the previous update of the spatial location information with the predetermined time threshold.
[15]
The method of claim 14 in combination with either claim 10 or claim 11, wherein the comparison (2) of the value representative of the elapsed time since the previous update of the spatial location information with the predetermined time threshold is only performed when the accuracy of the spatial location information corresponding to the preceding update (8) of the spatial location information is less than, or less than or equal to, the predetermined accuracy threshold.
[16]
The method of any one of claims 12 to 15, wherein after updating (8) the spatial location information when the elapsed time since the previous update of the spatial location information is greater than, or greater than or equal to, the predetermined time threshold, the spatial location information is sent to the server (9).
[17]
The method of any one of the preceding claims, wherein avoiding (12) the use of the application program connection for locating comprises a test (15) of a wireless network connection, for example a wireless Wi-Fi connection.
[18]
The method of claim 17, wherein the use of the application program connection is avoided when a wireless network connection has been established and an assigned network address corresponding to the wireless network connection has remained unchanged since a previous test of the wireless (15) network connection.
[19]
The method of claim 18, wherein the test of the wireless network connection (15) comprises storing the network address for use in a subsequent embodiment of the test (15).
[20]
The method of any one of claims 17 to 19, wherein the test (15) of the wireless network connection is performed only when the accuracy of the spatial location information corresponding to its previous update (8) is less than or less than or equal to the predetermined accuracy threshold and / or when the elapsed time since the previous update of the spatial location information is greater than, or greater than or equal to, the predetermined time threshold.
[21]
The method according to any of the preceding claims, wherein avoiding (12) the use of the application program connection for locating comprises a test (18) of the one or more values obtained (14) via the inertia measuring unit.
[22]
The method of claim 21, wherein the test (18) of the one or more values obtained via the inertia measuring unit sampling (14) the one or more values corresponding to one or more speed measurements, acceleration measurements and / or orientation measurements includes.
[23]
The method of claim 21 or claim 22, wherein the test (18) of the one or more values obtained via the inertia measuring unit comparing (4) the one or more values, or an aggregation value of these values, with comprises one or more predetermined motion threshold values.
[24]
The method according to any of claims 21 to 23, wherein the use of the application program connection for locating is avoided when the test (18) of the value or values obtained via the inertia measuring unit does not indicate significant movement.
[25]
The method of any one of claims 21 to 24, wherein the test (18) of the value or values obtained via the inertia measuring unit comprises sampling (14) one or more values corresponding to an acceleration measurement, and estimating (22) of a speed based on the sampled acceleration and a previously sampled acceleration.
[26]
The method of claim 25, wherein the test (18) of the value or values obtained via the inertia measuring unit comprises determining (23) a time span based on the estimated speed, and waiting (25) during the determined time period to subsequently update the spatial location information (8) by using the application program connection for locating.
[27]
The method according to any of claims 21 to 26, wherein the test (18) of the one or more values obtained via the inertia measuring unit is only performed when the accuracy of the spatial location information corresponding to the preceding update thereof, is less than, or less than or equal to, the predetermined accuracy threshold and / or when the elapsed time since the previous update of the spatial location information is greater than, or greater than or equal to, the predetermined time threshold and / or the test (15) of the wireless network connection indicated that no wireless network connection has been established or the assigned network address has recently changed according to a wireless network connection.
[28]
28. - An application product for mobile devices adapted for, when it is executed on the mobile device, the realization of a method according to one of the preceding claims.
[29]
The application product according to claim 28, wherein this application product is further adapted to receive a notification from the server, said notification indicating the proximity of another user.
[30]
A mobile device with a memory, wherein an application product is stored in the memory according to any of claims 28 to 29.
[31]
A server comprising a software program product which, when executed on a processor of the server, is adapted to realize a method according to claims 1 to 28.
[32]
A server according to claim 31, wherein the server is provided for storing spatial location information in combination with data representative of the accuracy of the spatial location information.
类似技术:
公开号 | 公开日 | 专利标题
US10697797B2|2020-06-30|Decomposition of error components between angular, forward, and sideways errors in estimated positions of a computing device
US10274346B2|2019-04-30|Determining quality of a location-determination algorithm associated with a mobile device by processing a log of sensor data
JP2015510587A|2015-04-09|Method and apparatus for locating a mobile device using the orientation of the mobile device
CA3004819C|2018-12-11|Crowd-sourced passive positioning and calibration
JP2016530762A|2016-09-29|Method and apparatus for use in providing location parameters for mobile applications
JP2019508965A|2019-03-28|System and method for maximizing mobile device power using intelligent geolocation selection
US20160360380A1|2016-12-08|Correcting in-venue location estimation using structural information
US10139253B2|2018-11-27|Adjustment of interrupt timestamps of signals from a sensor based on an estimated sampling rate of the sensor
KR101822183B1|2018-01-26|Apparatus and method for integrated positioning
US20140274108A1|2014-09-18|Mobile device positioning responsive to externally generated regional candidate position fix mode selection
US9255984B1|2016-02-09|Using sensor measurements of nearby devices for estimating confidence of location determination
BE1022894B1|2016-10-07|Energy-saving positioning and communication
CN105157722B|2018-05-18|Geographic location monitoring method and equipment
US10659923B2|2020-05-19|Condition based accurate indoor positioning
US20150211845A1|2015-07-30|Methods and Systems for Applying Weights to Information From Correlated Measurements for Likelihood Formulations Based on Time or Position Density
US10976161B2|2021-04-13|Use of offline algorithm to determine location from previous sensor data when location is requested
EP3304118B1|2020-09-09|Energy-saving positioning and communication
CA3067760A1|2020-07-25|Method and system for deploying crowd-sourced magnetic distortion rejection map
US10502839B2|2019-12-10|Battery efficient automatic mileage tracking
GB2567808A|2019-05-01|Device location method
KR101839138B1|2018-03-15|Rescue operation support apparatus and operating method for the same
US10349221B1|2019-07-09|Method and system for mobile device processing timeout based localization
KR101678454B1|2016-11-23|Apparatus and method for estimating stride length of user
CN106574837B|2020-10-27|Generation of an estimate of earth gravity
KR20150092905A|2015-08-17|Adjusting method of spot for detecting position, apparatus using the same and memory media recoding program to oerrate the method
同族专利:
公开号 | 公开日
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

法律状态:
优先权:
申请号 | 申请日 | 专利标题

PCT/IB2016/053171| WO2016193895A1|2015-05-29|2016-05-30|Energy-saving positioning and communication|
[返回顶部]