WO2014062611A1 - Real-time location tracking with map-in-map - Google Patents

Real-time location tracking with map-in-map Download PDF

Info

Publication number
WO2014062611A1
WO2014062611A1 PCT/US2013/064933 US2013064933W WO2014062611A1 WO 2014062611 A1 WO2014062611 A1 WO 2014062611A1 US 2013064933 W US2013064933 W US 2013064933W WO 2014062611 A1 WO2014062611 A1 WO 2014062611A1
Authority
WO
WIPO (PCT)
Prior art keywords
person
map
instructions
client
server
Prior art date
Application number
PCT/US2013/064933
Other languages
French (fr)
Inventor
Shaofeng YANG
Original Assignee
Yang Shaofeng
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/US2013/035626 external-priority patent/WO2013152349A1/en
Application filed by Yang Shaofeng filed Critical Yang Shaofeng
Publication of WO2014062611A1 publication Critical patent/WO2014062611A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information

Definitions

  • the present invention relates to real-time location tracking. More specifically, it relates to real-time location tracking with the feature of Map-in-Map for multiple people
  • one of the objectives of the present invention is to optimize the process of location information sending and receiving, to make the necessary steps function properly, and meanwhile, to reduce the unnecessary steps, which could significantly reduce the power consumption.
  • FIG. 1 illustrates the initial processes of the method of tracking of the present invention.
  • FIG. 2 illustrates the processes related to client 1 that is responsible for sending location information of the device, in which client 1 has been installed.
  • FIG. 3 illustrates the processes related to a server that is responsible for the location information from client 1 being appropriately transferred to client 2, who is tracking the client 1.
  • FIG. 4 illustrates the processes related to the client 2 that is tracking the location of the client 1.
  • FIG. 5 illustrates the particular processes whereby the client 2 shows the movement of the client 1 to the current location on map.
  • FIG. 6 illustrates the specific processes whereby the client 2 shows the historical movement of the client 1 on map.
  • FIG. 7 illustrates an embodiment of the present invention that a big parent map and multiple small sub-maps together (map-in-map) can help a user identify every single tiny location movement for multiple people.
  • the present invention provides an efficient location tracking method with a map-in- map function for doing location sharing for multiple people in real-time. Based on the received location information, a big parent map and multiple small maps (map-in-map) could be generated; and together they help a user identify every single tiny location movement for multiple people that they are currently tracking. Each person's location pin-point (annotation) has the capability to pop up another small map over-laying on the big parent map.
  • each of the small maps has its own pin-point/annotation that can further pop up a even smaller map to show more detailed location and movement information; and the zoom feature to precisely show a respective person's real time location.
  • Multiple small maps can be displayed at the same time on the same parent big map; such that locations of multiple people can be tracked at the same time.
  • the real-time location tracking method according to the present invention has two unique features: a) intelligent and high performance location sharing and transferring; and b) powerful mechanism and interface allowing location sharing for multiple people at the same time.
  • a few map groups need to be established first 101. For each map group, there would be one or more than one person in it.
  • the map groups can be set up based on various features, such as the map group of family members, friends, co-workers, family members in the U.S., friends in Asia and so on.
  • each of the persons in the map group should has a mobile device, such as a mobile phone or a tablet computer and etc.
  • mobile devices should have the GPS positioning function, such GPS function could be certain software (application, App) installed on the mobile device. With such GPS function, the precise location of the person who is holding the mobile device can be easily determined and then reported to the person who is currently tracking him or her.
  • a map (called parent map) could be created for each map group 102.
  • the annotation may take the form of an icon, such as a pinpoint, an image or a real picture and etc.
  • the tracking relationship would be established between various people.
  • a valid tracking relationship (A tracks B) can only be set up after meet the following two prerequisites. First, A wants to track B. Second, B agrees to be tracked by A. So, when both sides agree with such a tracking relationship, a valid tracking would be established. On the other hand, whenever any side wants to terminate such tracking, wither A does not want to track B anymore, or B does not want to be tracked by A anymore. The foregoing tracking relationship between A and B will be terminated.
  • map group 1 designate a map group as map group 1; designate a person in map group 1 as person 1; designate a mobile device of the person 1 as mobile device 1; designate software installed in the mobile device 1 as client 1.
  • Client 1, the software / application, will be responsible for sending location information of the mobile device 1.
  • the next step is to designate a map group as map group 2, wherein map group 1 and map group 2 are the same map group or different map groups; designate a person in map group 2 as person 2, wherein person 1 and person 2 are different persons; designate a mobile device of the person 2 as mobile device 2; designate a software installed in the mobile device 1 as client 2, wherein the client 2 is responsible for receiving location information of the mobile device 1.
  • the next step would be establish a tracking list of client 1 to save information of persons that client 1 wants to be tracked, and meanwhile the persons wants to track client 1 104. It s noted that this is the general method for a person to track another person on the map.
  • the present invention can then be performed.
  • client 1, client 2, client l's no tracking list and client l's tracking list the next step would be determine of the person 2 want to track person 1 105. This could be conducted via the process that when client 1 sends an invitation to ask person 2 to track person 1, person 2 accept the invitation. If person 2 is willing to track person 1, then all of the following process could be initiated.
  • client 2 may send a request to client 1 to ask for the permission from person 1 to allow person 2 to track person 1 106.
  • person 1 can make either decision. If person 1 wants to be tracked by person 2, then a valid person 2 tracking person 1 relationship will be established.
  • Client 1 will send information of permission to client 2 as a reply; and at the same time, send such information to the server. Finally, person 2 will be saved in person l's tracking list, which suggests that person 2 can track person 1 from now on 107.
  • client 1 when person 1 does not want to be tracked by person 2, client 1 will send the information of no permission to client 2 as the response. And once more, send this information to the server.
  • the default setting is no tracking. Therefore, unless a valid track relation, such as person 2 tracks person 1, has been established, everyone can not track another person.
  • the person 2 tracking person 1 relation has been established and registered on the server.
  • Next step would be whenever client 1 find person 1 ( actually it is the device 1 held by person 1) is moving, it will report client l's new location information to the server, and the latter will next push it to the client 2. And client 2 will next move the annotation of person 1 to the new location on the parent map(s) of the map group that person 1 is a member of it. In this way, person 2 can effectively track the location of person 1.
  • first Client 1 receives location
  • client 1 In order to determine whether person 1 is moving, client 2 needs to receive at least one more piece of location information of person 1 at a later time point. So, after a pre-determined time period 1, Client 1 receives location information 2 of device 1, wherein said location information 2 is provided by device 1 202.
  • the location information here may be provided by the GPS of the mobile device, or obtained via the Geofence that obtains that location information from the local wi-fi or other resources in order to save the power of the mobile device.
  • the pre-determined time period is usually pre- set for client 1; but it can be manually changed by person 1.
  • the client 1 will calculate a movement distance 1 of device 1 after time period 1, based on the location information 1 and location information 2 203. And Client 1 compares movement distance 1 with a per-determined distance threshold 204.
  • the threshold is generally a pre-set parameter that can be later modified by person 1. Depends on the particular situation, the threshold can be as small as a few feet, and as large as certain miles. If the calculated moving distance is smaller than or equal to the pre-set threshold, person 1 will be considered as not moving; no matter he or she actually moved or not. In such a case, no any new location information will be sent to the server. On the other hand, if the calculated distance is larger than the pre-set threshold, person 1 will be considered as in moving by client 1 205.
  • client 1 reports location information 2, which is the most updated location information of client 1, to the server 206.
  • the server After receiving the new location information, the server will check a number conditions and then make the decision to order client 1 either keep its current reporting mode or adjust to a different reporting mode or even stop reporting. And the client 1 will follow the order to act accordingly.
  • the rationale of the foregoing is that if currently no one is tracking person 1, keep sending such location information of person 1 would waste a lot of power energy of device 1 and all other kinds of resources. So, client 1 will receive a reply order from the server, wherein said order is stop reporting, reporting with a lower frequency and no change. Following receiving such order, client 1 will act accordingly 207.
  • the server after receiving the new location information of person 1, which is sent by client 1, the server will need to know if there is anybody in client 1 's tracking list.
  • the person in client 1 ' s tracking list is the person who wants to track client 1. So, after receiving location information 2 from client 1, the server determines the existence of at least one person in client I's tracking list 301. In the case if there is no one in person I's tracking list, i.e., client I's tracking list is empty, the server sends order to client 1 to stop reporting location information 303.
  • client 1 keeps sending person's updated location information to the server, this will not only costing huge amount of power of device 1, due to all of the activities from GPS positioning, client 1 calculation and client 1 reporting, but also consume a significant amount of the server's resources. Therefore, in such a case, the server will order the client 1 to stop reporting.
  • person 2 is in person l's tracking list, before sending person l's most updated location information, the server needs to further check person 2 (client 2) is ready to receive and process such information about person l's new location.
  • client 2 is in the background of device 2 or device 2 is not online, indicating that client 2 is not ready to track person 1 currently, then client 2 does not need to send person l's location at normal frequency, neither.
  • the server will order the client 1 to send new location information with a lower frequency, for example, from every 4 minutes to every 30 minutes.
  • the server when there is at least one person, client 2, in client l's tracking list, the server sends a status request to client 2 302. Before sending such status request, the server first assigns the status of the client 2 as a default one, running at the background. So, unless the client 2 sends a response to tell that it is running in the foreground, it will be treated as at the background, not active. There would be different responses from client 2, which indicate various status of client 2. When no responsive report received from client 2, the server determines client 2 is not online 304. In this case, the server order client 1 to report location information by a time period 2, wherein time period 2 is longer than time period 1, i.e., reporting location information at a lower frequency 305.
  • the server saves a copy of location information 2 on client 2's mailbox on the server 306.
  • client 2 when client 2 is online and in the foreground, it can immediately obtain person l's reported most updated location information from its own mailbox on the server.
  • the server orders client 1 to report location information by a time period 2, wherein time period 2 is longer than time period 1 307.
  • the server will also save a copy of location
  • client 2 is ready to receive such information, i.e., client 2 is running in the foreground of device 2, the server will still save a copy of location information 2 on client 2's mailbox on the server 309. The server next sends location information 2 to client 2. In addition, the server orders client 2 to report its status 310.
  • client 2 when client 2 is in foreground of device 2, which indicating client 2 is ready to receive and process location information of person 1, client 2 reports status to the server by a pre-determined time period 3, wherein the time period 3 is the time period from client 2's last communication with the server to the current status reporting to the server 401.
  • This time period 3 could be set at an appropriate length, such as for every 10 minutes from client 2's last communication with the server.
  • this parameter is also adjustable.
  • such communication between client 2 and the server comprises any kinds of communication, including status reporting, information sending/receiving or even the communication that is irrelevant to the tracking function of the present invention.
  • Client 2 also sends updated status information to the server whenever it switches from one to another of the following statuses: not online, background and foreground 402. So, client 2 always keeps the server updated of its current status.
  • client 2 When the current status of client 2 is foreground or switched from not online or background to foreground, client 2 receives the most updated location information of client 1 saved on client 2's mailbox on the server 403. After receiving such information, client 2 saves a copy of the most updated location information of client 1 to a local database of device 2 404. The local database will next send a notice to client 2's user interface (UI) to inform the receiving of such location information of person 1 405.
  • UI user interface
  • This notice may be just a simple notice about the arriving of the new location information, but with no any specific details. Or, the notice may include the necessary information to update the parent map.
  • Such information comprises person l's name, person l's most updated location and the reporting time of the most updated location.
  • the UI will next check the map group(s) that comprise person 1 406. It is noted that person 1 may be the member of multiple map groups. In such a case, each of the parent maps that represent the map groups comprising person 1 will be updated. The UI moves the annotation of person 1 to the most updated location on a parent map of the map group comprising person 1 407.
  • map-in-map pops up from the parent map.
  • the sub-map overlaps a portion of the parent map 408. This will essentially result into a "map-in-map" effect.
  • One of the principal reasons for offering such map-in-map function is to provide a better tracking of the movement of the members in a map group. For example, for a map group of the family members who are living in different states (e.g., California, New York and Florida), in the parent map, each member has been correctly represented by their respective annotation on the map. In this scenario, in order to represent each member in parent map, the parent map would essentially include the entire continental region of the U.S.
  • the sub-map also has various useful functions. It has the chatting function (by text, voice, image, and video). So, not only person 2 can track person 1, it can also send message or talking with person 1 in the present invention.
  • the sub-map can also be movable to anywhere on the parent map, it size is changeable, and is can be zoomed.
  • the present invention also has two unique and convenient functions.
  • the anticipated next time interval will be treated as equal to or a little bit (such as Is) longer than the calculated average historical time interval.
  • client 2 will next calculate the anticipated moving speed of client 1 to move to the reported new location by the time span equal to the anticipated next time interval 503.
  • the UI of client 2 will move the annotation of client 1 on map to the reported new location and the calculated anticipated moving speed of client 1 504.
  • the present invention can also illustrate the moving history of person 1, as well as showing more details when person 1 is not moving, but staying at a location for a certain period of time.
  • Client 2 draws a moving track of person 1 based on staying time of person 1 on each location point 601.
  • Concerning the moving track (moving history) of person 1 person l's staying time at each location will be represented by the darkness of a color assigned to that location602.
  • each map tile that person l's moving track has passed by will be marked with a color, wherein the darkness of that color is corresponding to the staying time of person 1 on the moving track section that is within that tile. Therefore, in a map that illustrating the moving (and staying) history of person 1, the generated moving track of person 1 will be surrounded by a collection of map tiles whose color darkness reflects that staying time of person 1 in the respective map tile area.
  • a big parent map and small sub-maps together can help a user identify every single tiny location movement for multiple people according to an embodiment of the present invention.
  • the big parent map shows two people being far away from each other. For example, one is located in China and the other one is in the United Kingdom.
  • Two small sub-map windows are being displayed to show the exact and precise movements of each person, each window can be dragged to any location on the parent map.
  • each pin point has the capability to pop up another small map over-laying on a big parent map.
  • the small sub-map has its own pin point/annotation and zoom-in level to just show that particular person's real time location precisely. Multiple small sub-maps can be displayed at the same time so multiple people's locations can be tracked at the same time.
  • Those small sub-maps can be moved around or laid out at any location of the big parent map.
  • the real-time location tracking with Map-in-Map for multiple people can be used on any computer, web browser, smart-phone devices and any other portable and non-portable electronic devices.

Abstract

A method provides real-time location tracking with the feature of map-in-map for multiple people. According to this method, when a person is tracked by another person on the map shown on another person's mobile device, the tracked person sends his or her location information to a server. The server will save a copy of it to a mailbox of another person and send this information to another person whenever he or she is available, i.e., his tracking application is running on mobile device's foreground. The information will be used to mark the tracked person's location on the map. On a single map, multiple persons can be tracked. And the annotation of each person is clickable and then a small sub-map pops up to show a local map having just that person and track that person's moving, so as to offer a map-in-map function.

Description

Real-Time Location Tracking With Map-In-Map
The current application claims priorities to the U.S. Provisional Patent Application serial number 61/713,898 filed on Oct 15, 2012, and PCT/US 13/35626 filed on April 8, 2013 which claims a priority to US 61/621,165 filed on April 6, 2012.
FIELD OF THE INVENTION
The present invention relates to real-time location tracking. More specifically, it relates to real-time location tracking with the feature of Map-in-Map for multiple people
BACKGROUND OF THE INVENTION
The traditional way for tracking people on the map is to show pin points/annotations moving on a single big map. However, it becomes very difficult if multiple people are located far away between each other and they are moving at the same time as well. In this case, the single map has to be zoomed out enough to include all the people/pin-points, which results in being difficult to identify each tiny movement in detail in real-time for every single person. So users have to zoom-in to a particular pin-point to watch the movement and zoom out again to locate another pin-point to zoom in. There is no way to watch several people moving at the same time precisely by the traditional location tracking methods. In view of these problems of prior arts, this invention proposes a novel solution to make location sharing much more effective.
Many currently tracking technologies, most of them utilizes software (application, App) installed in various mobile devices. In most of the cases, the mobile device
continuously sends or receives location information by such software or application.
Accordingly, such tracking function becomes one of the most power consuming functions of a mobile device, which will seriously affects the user experience of a mobile device.
Therefore, one of the objectives of the present invention is to optimize the process of location information sending and receiving, to make the necessary steps function properly, and meanwhile, to reduce the unnecessary steps, which could significantly reduce the power consumption.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 illustrates the initial processes of the method of tracking of the present invention.
FIG. 2 illustrates the processes related to client 1 that is responsible for sending location information of the device, in which client 1 has been installed.
FIG. 3 illustrates the processes related to a server that is responsible for the location information from client 1 being appropriately transferred to client 2, who is tracking the client 1.
FIG. 4 illustrates the processes related to the client 2 that is tracking the location of the client 1.
FIG. 5 illustrates the particular processes whereby the client 2 shows the movement of the client 1 to the current location on map. FIG. 6 illustrates the specific processes whereby the client 2 shows the historical movement of the client 1 on map.
FIG. 7 illustrates an embodiment of the present invention that a big parent map and multiple small sub-maps together (map-in-map) can help a user identify every single tiny location movement for multiple people.
DETAILED DESCRIPTION OF THE INVENTION All illustrations of the drawings and description of embodiments are for the purpose of describing selected versions of the present invention and are not intended to limit the scope of the present invention. The present invention provides an efficient location tracking method with a map-in- map function for doing location sharing for multiple people in real-time. Based on the received location information, a big parent map and multiple small maps (map-in-map) could be generated; and together they help a user identify every single tiny location movement for multiple people that they are currently tracking. Each person's location pin-point (annotation) has the capability to pop up another small map over-laying on the big parent map. Moreover, each of the small maps has its own pin-point/annotation that can further pop up a even smaller map to show more detailed location and movement information; and the zoom feature to precisely show a respective person's real time location. Multiple small maps can be displayed at the same time on the same parent big map; such that locations of multiple people can be tracked at the same time. The real-time location tracking method according to the present invention has two unique features: a) intelligent and high performance location sharing and transferring; and b) powerful mechanism and interface allowing location sharing for multiple people at the same time. In reference to FIG. 1, in order to track a person's location in a map on a mobile device, a few map groups need to be established first 101. For each map group, there would be one or more than one person in it. The map groups can be set up based on various features, such as the map group of family members, friends, co-workers, family members in the U.S., friends in Asia and so on. In addition, for the purposing of tracking people or being tracked by people, each of the persons in the map group should has a mobile device, such as a mobile phone or a tablet computer and etc. Moreover, such mobile devices should have the GPS positioning function, such GPS function could be certain software (application, App) installed on the mobile device. With such GPS function, the precise location of the person who is holding the mobile device can be easily determined and then reported to the person who is currently tracking him or her. When all of the foregoing has been established, a map (called parent map) could be created for each map group 102. In the parent group map, the most updated location of each person in the map group will be represented by an annotation. The annotation may take the form of an icon, such as a pinpoint, an image or a real picture and etc. Next, the tracking relationship would be established between various people.
Generally speaking, a valid tracking relationship (A tracks B) can only be set up after meet the following two prerequisites. First, A wants to track B. Second, B agrees to be tracked by A. So, when both sides agree with such a tracking relationship, a valid tracking would be established. On the other hand, whenever any side wants to terminate such tracking, wither A does not want to track B anymore, or B does not want to be tracked by A anymore. The foregoing tracking relationship between A and B will be terminated.
More specifically, in order to establish such a tracking, the procedures set forth below need to be followed. First, designate a map group as map group 1; designate a person in map group 1 as person 1; designate a mobile device of the person 1 as mobile device 1; designate software installed in the mobile device 1 as client 1. Client 1, the software / application, will be responsible for sending location information of the mobile device 1.
The next step is to designate a map group as map group 2, wherein map group 1 and map group 2 are the same map group or different map groups; designate a person in map group 2 as person 2, wherein person 1 and person 2 are different persons; designate a mobile device of the person 2 as mobile device 2; designate a software installed in the mobile device 1 as client 2, wherein the client 2 is responsible for receiving location information of the mobile device 1. The next step would be establish a tracking list of client 1 to save information of persons that client 1 wants to be tracked, and meanwhile the persons wants to track client 1 104. It s noted that this is the general method for a person to track another person on the map. Therefore, for a person who tracks another person, it is not necessary for him or her to be a member of any existing map group. As long as he or she has a mobile device installed client 2 disclosed in the present invention, and a member of any map group agree to be tracked by him or her, the present invention can then be performed. With the setting of client 1, client 2, client l's no tracking list and client l's tracking list, the next step would be determine of the person 2 want to track person 1 105. This could be conducted via the process that when client 1 sends an invitation to ask person 2 to track person 1, person 2 accept the invitation. If person 2 is willing to track person 1, then all of the following process could be initiated. But if person 2 does not want to track person 1, then nothing will happen, no matter person 1 wants to be tracked or not. On the other hand, client 2 may send a request to client 1 to ask for the permission from person 1 to allow person 2 to track person 1 106. When being asked, person 1 can make either decision. If person 1 wants to be tracked by person 2, then a valid person 2 tracking person 1 relationship will be established. Client 1 will send information of permission to client 2 as a reply; and at the same time, send such information to the server. Finally, person 2 will be saved in person l's tracking list, which suggests that person 2 can track person 1 from now on 107.
On the other hand, when person 1 does not want to be tracked by person 2, client 1 will send the information of no permission to client 2 as the response. And once more, send this information to the server. The default setting is no tracking. Therefore, unless a valid track relation, such as person 2 tracks person 1, has been established, everyone can not track another person. Form the foregoing processes, the person 2 tracking person 1 relation has been established and registered on the server. Next step would be whenever client 1 find person 1 ( actually it is the device 1 held by person 1) is moving, it will report client l's new location information to the server, and the latter will next push it to the client 2. And client 2 will next move the annotation of person 1 to the new location on the parent map(s) of the map group that person 1 is a member of it. In this way, person 2 can effectively track the location of person 1. In reference to FIG. 2, more specifically, first Client 1 receives location
information 1 of device 1, wherein said location information is provided by the device 1 201. In order to determine whether person 1 is moving, client 2 needs to receive at least one more piece of location information of person 1 at a later time point. So, after a pre-determined time period 1, Client 1 receives location information 2 of device 1, wherein said location information 2 is provided by device 1 202. According to the incorporated previous utility application, the location information here may be provided by the GPS of the mobile device, or obtained via the Geofence that obtains that location information from the local wi-fi or other resources in order to save the power of the mobile device. Here, the pre-determined time period is usually pre- set for client 1; but it can be manually changed by person 1.
With all the information, the client 1 will calculate a movement distance 1 of device 1 after time period 1, based on the location information 1 and location information 2 203. And Client 1 compares movement distance 1 with a per-determined distance threshold 204. The threshold is generally a pre-set parameter that can be later modified by person 1. Depends on the particular situation, the threshold can be as small as a few feet, and as large as certain miles. If the calculated moving distance is smaller than or equal to the pre-set threshold, person 1 will be considered as not moving; no matter he or she actually moved or not. In such a case, no any new location information will be sent to the server. On the other hand, if the calculated distance is larger than the pre-set threshold, person 1 will be considered as in moving by client 1 205. Accordingly, client 1 reports location information 2, which is the most updated location information of client 1, to the server 206. After receiving the new location information, the server will check a number conditions and then make the decision to order client 1 either keep its current reporting mode or adjust to a different reporting mode or even stop reporting. And the client 1 will follow the order to act accordingly. The rationale of the foregoing is that if currently no one is tracking person 1, keep sending such location information of person 1 would waste a lot of power energy of device 1 and all other kinds of resources. So, client 1 will receive a reply order from the server, wherein said order is stop reporting, reporting with a lower frequency and no change. Following receiving such order, client 1 will act accordingly 207.
Concerning the server, after receiving the new location information of person 1, which is sent by client 1, the server will need to know if there is anybody in client 1 's tracking list. The person in client 1 ' s tracking list is the person who wants to track client 1. So, after receiving location information 2 from client 1, the server determines the existence of at least one person in client I's tracking list 301. In the case if there is no one in person I's tracking list, i.e., client I's tracking list is empty, the server sends order to client 1 to stop reporting location information 303. As mentioned previously, if no one wants to track person 1, yet client 1 keeps sending person's updated location information to the server, this will not only costing huge amount of power of device 1, due to all of the activities from GPS positioning, client 1 calculation and client 1 reporting, but also consume a significant amount of the server's resources. Therefore, in such a case, the server will order the client 1 to stop reporting.
Yet if there is at least one person is in person 1 ' s tracking list, indicating that someone is willing to track person 1. For example, person 2 is in person l's tracking list, before sending person l's most updated location information, the server needs to further check person 2 (client 2) is ready to receive and process such information about person l's new location. In certain scenarios, such as client 2 is in the background of device 2 or device 2 is not online, indicating that client 2 is not ready to track person 1 currently, then client 2 does not need to send person l's location at normal frequency, neither. This is because until client 2 is ready to receive and process the new location information (i.e., client 2 moves from device 2's background to foreground), such location information will be useless and will be replaced by the later on new location information even before client 2 receive it. Accordingly, in such scenarios, the server will order the client 1 to send new location information with a lower frequency, for example, from every 4 minutes to every 30 minutes.
More specifically, in reference to FIG. 3, when there is at least one person, client 2, in client l's tracking list, the server sends a status request to client 2 302. Before sending such status request, the server first assigns the status of the client 2 as a default one, running at the background. So, unless the client 2 sends a response to tell that it is running in the foreground, it will be treated as at the background, not active. There would be different responses from client 2, which indicate various status of client 2. When no responsive report received from client 2, the server determines client 2 is not online 304. In this case, the server order client 1 to report location information by a time period 2, wherein time period 2 is longer than time period 1, i.e., reporting location information at a lower frequency 305. And meanwhile, the server saves a copy of location information 2 on client 2's mailbox on the server 306. By doing this, when client 2 is online and in the foreground, it can immediately obtain person l's reported most updated location information from its own mailbox on the server. In another case, when client 2 reports it is in background of device 2, the server orders client 1 to report location information by a time period 2, wherein time period 2 is longer than time period 1 307. And similarly, the server will also save a copy of location
information 2 on client 2's mailbox on the server for further checking 308. Finally, when client 2 is ready to receive such information, i.e., client 2 is running in the foreground of device 2, the server will still save a copy of location information 2 on client 2's mailbox on the server 309. The server next sends location information 2 to client 2. In addition, the server orders client 2 to report its status 310.
In reference to FIG. 4, when client 2 is in foreground of device 2, which indicating client 2 is ready to receive and process location information of person 1, client 2 reports status to the server by a pre-determined time period 3, wherein the time period 3 is the time period from client 2's last communication with the server to the current status reporting to the server 401. This time period 3 could be set at an appropriate length, such as for every 10 minutes from client 2's last communication with the server. Similarly, this parameter is also adjustable. In addition, such communication between client 2 and the server comprises any kinds of communication, including status reporting, information sending/receiving or even the communication that is irrelevant to the tracking function of the present invention. Client 2 also sends updated status information to the server whenever it switches from one to another of the following statuses: not online, background and foreground 402. So, client 2 always keeps the server updated of its current status.
When the current status of client 2 is foreground or switched from not online or background to foreground, client 2 receives the most updated location information of client 1 saved on client 2's mailbox on the server 403. After receiving such information, client 2 saves a copy of the most updated location information of client 1 to a local database of device 2 404. The local database will next send a notice to client 2's user interface (UI) to inform the receiving of such location information of person 1 405. This notice may be just a simple notice about the arriving of the new location information, but with no any specific details. Or, the notice may include the necessary information to update the parent map. Such information comprises person l's name, person l's most updated location and the reporting time of the most updated location. After receiving the notice, the UI will next check the map group(s) that comprise person 1 406. It is noted that person 1 may be the member of multiple map groups. In such a case, each of the parent maps that represent the map groups comprising person 1 will be updated. The UI moves the annotation of person 1 to the most updated location on a parent map of the map group comprising person 1 407.
Following the updating of person l's location on the parent map, when the annotation of client 1 is clicked, a sub-map pops up from the parent map. The sub-map overlaps a portion of the parent map 408. This will essentially result into a "map-in-map" effect. One of the principal reasons for offering such map-in-map function is to provide a better tracking of the movement of the members in a map group. For example, for a map group of the family members who are living in different states (e.g., California, New York and Florida), in the parent map, each member has been correctly represented by their respective annotation on the map. In this scenario, in order to represent each member in parent map, the parent map would essentially include the entire continental region of the U.S. Accordingly, when a member A is driving from a street to another street in CA, and another member B is driving in FL, in the parent map, although they both driving (moving) very fast, yet such moving is almost undetectable in such a zoomed out parent map. However, if the local area of A has been zoomed in the parent map and now the moving of A can be clearly seen on the map, the other two members will be out of the zoomed parent map and their locations in relation to A and their moving tracks are all lost in the parent map.
In the present invention, with the map-in-map function, in the parent map, each member's current location and their interrelation to each other can be clearly seen. Moreover, on each popped up sub-map, the moving track of each member can be clearly seem, too. In addition, the sub-map also has various useful functions. It has the chatting function (by text, voice, image, and video). So, not only person 2 can track person 1, it can also send message or talking with person 1 in the present invention. For the user's convenience, the sub-map can also be movable to anywhere on the parent map, it size is changeable, and is can be zoomed. Furthermore, the present invention also has two unique and convenient functions. In addition to the technology, user's experience is one of the most important factors that affect a mobile device application's success. Most users want to see something real or feel like real. However, in regard most of the tracking applications, due to the interval between two consecutive location reports, the tracked person, on a tracking map, appears not moving or driving continuous, but jumping instantly from one location to another location, which is definitely not real for a user who is looking at the tracking map. This issue somehow will affect the experience of the user. Therefore, in the present invention, a unique approach has been employed to draw the moving track of person 1. Such an approach, on one hand at the most possible degree reflects the real moving condition of person 1, and on the other hand, makes the user feel that person 1 is moving continuously and smoothly, like real. Concerning drawing client l's moving track on the map, when the new location information of client 1 has been received by client 2 via the server 501, instead of moving the annotation of client 1 on the map instantly to the new location, Client 2 first anticipates the time interval that it is expected to receive the next location information, which is performed based on the historical records of a pre-determined time period 502. For example, during the last 3-5 minutes, such as 4 minutes, the time intervals between which client 2 has received two consecutive location information are 3s, 4s, 3s, 5s, 6s, 4s, 4s, etc. Then an arithmetic average will be calculated for these time intervals to obtain an average historical time interval. The anticipated next time interval will be treated as equal to or a little bit (such as Is) longer than the calculated average historical time interval. Following obtaining the anticipated next time interval, based on the received new location information, and the anticipated next time interval, client 2 will next calculate the anticipated moving speed of client 1 to move to the reported new location by the time span equal to the anticipated next time interval 503. Finally, the UI of client 2 will move the annotation of client 1 on map to the reported new location and the calculated anticipated moving speed of client 1 504.
Therefore, in most cases, when the client 1 arrives or about to arrive at the reported new location, the next location information will just comes in. In this way, to the eyes of human being, the person 1 keeps moving and moving smoothly on the map, with minimal instant jump and standing still.
Furthermore, in addition to track the current location of person 1, the present invention can also illustrate the moving history of person 1, as well as showing more details when person 1 is not moving, but staying at a location for a certain period of time. Client 2 draws a moving track of person 1 based on staying time of person 1 on each location point 601. Concerning the moving track (moving history) of person 1, person l's staying time at each location will be represented by the darkness of a color assigned to that location602. In practice, each map tile that person l's moving track has passed by will be marked with a color, wherein the darkness of that color is corresponding to the staying time of person 1 on the moving track section that is within that tile. Therefore, in a map that illustrating the moving (and staying) history of person 1, the generated moving track of person 1 will be surrounded by a collection of map tiles whose color darkness reflects that staying time of person 1 in the respective map tile area.
As shown in FIG. 7, a big parent map and small sub-maps together (Map-in-Map) can help a user identify every single tiny location movement for multiple people according to an embodiment of the present invention. The big parent map shows two people being far away from each other. For example, one is located in China and the other one is in the United Kingdom. Two small sub-map windows are being displayed to show the exact and precise movements of each person, each window can be dragged to any location on the parent map. Furthermore, each pin point has the capability to pop up another small map over-laying on a big parent map. The small sub-map has its own pin point/annotation and zoom-in level to just show that particular person's real time location precisely. Multiple small sub-maps can be displayed at the same time so multiple people's locations can be tracked at the same time.
Those small sub-maps can be moved around or laid out at any location of the big parent map.
The real-time location tracking with Map-in-Map for multiple people according to the present invention can be used on any computer, web browser, smart-phone devices and any other portable and non-portable electronic devices. Although the invention has been explained in relation to its preferred embodiment, it is to be understood that many other possible modifications and variations can be made without departing from the spirit and scope of the invention as herein described.

Claims

What is claimed is:
1. A non-transitory computer-readable medium that stores instructions executable by one or more processors to perform a method of real-time location tracking with the feature of Map-in-Map for multiple people, comprising
instructions for creating at least one map group;
instructions for making said map group comprising at least one person; instructions for making each of said at least one person with a mobile device; and
instructions for each of said at least one map group comprising a parent map, wherein a person in said map group is represented by a corresponding annotation on said parent map, every person has corresponding annotation on said parent map, and a position of said corresponding annotation on said parent map represents a location of said person in real word.
2. The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 1, wherein
the corresponding annotation being an icon, an image or a photo, wherein said icon comprises a pin-point, and said photo is said person's photo.
3. The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 1, comprising
instructions for designating a map group as map group 1 ;
instructions for designating a parent group of map group 1 as parent group 1; instructions for designating a person in map group 1 as person 1;
instructions for designating a mobile device of the person 1 as device 1 ; instructions for designating a software installed in the device 1 as client 1, wherein the client 1 is responsible for sending location information of said the device l;
instructions for designating a map group as map group 2, wherein map group 1 and map group 2 are either the same map group or different map groups;
instructions for designating a person in map group 2 as person 2, wherein the person 1 and the person 2 are different persons;
instructions for designating a mobile device of said person 2 as device 2, instructions for designating a software installed in the device 2 as client 2, wherein the client 2 is responsible for receiving and presenting location information of the device 1 ; and
instructions for creating a tracking list of person 1 to save information of persons that the person 1 wants to be tracked by, and meanwhile the persons in said tracking list of person 1 want to track the person 1.
The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 3, comprising
instructions for the client 1 sending a request to ask person 2 track person 1, or instructions for the client 2 sending a request to ask for a permission of the person 2 tracking the person 1 ; and
when the person 1 permits to be tracked by the person 2 or person 2 accepts to track person 1, instructions for establishing a relation that the person 2 tracks the person 1, instructions for saving the person 2 in person l's tracking list, and
instructions for reporting person l's tracking list to a server, or
when the person 1 does not permit to be tracked by the person 2 or person 2 does not accept to track person 1, instructions for terminating.
The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 4, comprising instructions for the client 1 receiving location information 1 of the device 1, wherein the location information 1 is provided by the device 1;
after a pre-determined time period 1, instructions for the client 1 receiving location information 2 of the device 1, wherein the location information 2 is provided by the device 1 ;
instructions for the client 1 calculating a movement distance 1 of the device 1 during the time period 1, based on the location information 1 and the location information 2;
instructions for the client 1 comparing the movement distance 1 with a per- determined distance threshold;
instructions for the client 1 deciding that the device 1 has moved, when the movement distance 1 is larger than the per-determined distance threshold;
instructions for the client 1 reporting the location information 2 to the server; instructions for the client 1 receiving a responsive order from the server, wherein the responsive order is stop reporting or reporting by a time period 2, and time period 2 is longer than time period 1 ; and
instructions for the client 1 acting according to the responsive order.
The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 5, comprising
instructions for the server determining the existence of at least one person in the tracking list of person 1 ;
when the determination is that the tracking list of person l's is empty, instructions for the server sending the responsive order to the client 1 to stop
reporting;
when the determination is that at least one person, the client 2, in the tracking list of person 1, instructions for the server assigning a status as background to the client 2;
instructions for sending a status request to the client 2; instructions for the server deciding that the client 2 is not online, when no responsive status report from the client 2 for the status request is received, instructions for the server sending the responsive order to the client 1 to report by the time period 2, and instructions for the server saving a copy of the location information 2 in client 2's mailbox on the server, or
instructions for the server deciding that the client 2 is in device 2's
background, when the responsive status report from the client 2 for the status request is that the client 2 is in background, instructions for the server sending the responsive order to the client 1 to report by the time period 2, and instructions for the server saving a copy of the location information 2 in client 2's mailbox on the server, or
instructions for the server deciding that the client 2 is in device 2's foreground, when the responsive status report from the client 2 for the status request is that the client 2 is in foreground, instructions for the server saving a copy of the location information 2 in client 2's mailbox on the server, and instructions for the server sending the location information 2 to the client 2.
The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 6, comprising
instructions for the client 2 sending status switch information to the server whenever the client 2 switches from one of statuses to another of the statuses, wherein the statuses comprising not online, background and foreground; and
instructions for the client 2 sending current status information to the server by a pre-determined time period 3, when the client 2 is in foreground of the device 2, wherein the time period 3 is a time span from the time point of last communication between the client 2 and the server to the time point when the client 2 sending the current status information to the server.
The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 6, comprising instructions for the client 2 receiving the location information 2, when the client 2 is in foreground of the device 2;
instructions for the client 2 saving a copy of the location information 2 into a local database of device 2; and
instructions for the local database sending a notice to a user interface (UI) of the client 2.
The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 8, wherein
the notice comprising information of person l's name or online name in map group or map groups, information of person l's location and information of location reporting time by client 1.
The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 8, comprising
instructions for the UI identifying map groups that comprise the person 1, wherein the map groups comprises the map group 1, but are not limited to the map group 1;
instructions for the UI identifying parent maps that comprise the person 1, wherein the parent maps comprises the parent map 1, but are not limited to the parent map 1;
instructions for the UI designating the identified parent maps that comprise the person 1 as parent maps with person 1, and designating any parent map belongs to the parent maps with person 1 as parent map with person 1;
instructions for the UI moving an annotation of the person 1 to a new location in the parent map with person 1, according to the location information 2;
when the annotation of person 1 is clicked, instructions for the UI popping up a sub-map from the parent map with person 1, wherein the sub-map comprises a local map centered at the new location and the annotation of the person 1 ; instructions for making size of the sub-map changeable;
instructions for making the sub-map zoomable;
instructions for making position of the sub-map changeable;
instructions for making the sub-map offer a communication function between the person 1 and the person 2, wherein the communication function comprises sending text message, sending image, sending voice message, sending video message, chatting by text, chatting by voice in real time and chatting by video in real time.
The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 10, comprising
instructions for client 2 receiving new location information of the client 1 via the server;
instructions for client 2 calculating an anticipated time interval that next future location information will come based on a moving history and reporting history of client 1 during a time period 4;
instructions for client 2 calculating an anticipated moving speed based on the anticipated time interval and the new location information;
instruction for the client 2 sending information of the anticipated moving speed and the new location information to the UI; and
instruction for the UI creating an animation to move annotations of person 1 on the parent map with person 1 and the sub-map based on the information of the anticipated moving speed and the new location information.
12. The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 11, wherein
the time period 4 is ranged from 3 to 5 minutes.
13. The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 10, comprising
instructions for the client 2 drawing a moving track of the person 1 based on person 1 staying time on each location point in the moving track; and
instructions for the client 2 corresponding the person l's staying time on a location within the moving track to a darkness of a color assigned to that location.
14. A non-transitory computer-readable medium that stores instructions executable by one or more processors to perform a method of real-time location tracking with the feature of Map-in-Map for multiple people, comprising
instructions for creating at least one map group;
instructions for making said map group comprising at least one person; instructions for making each of said at least one person with a mobile device; instructions for each of said at least one map group comprising a parent map, wherein a person in said map group is represented by a corresponding annotation on said parent map, every person has corresponding annotation on said parent map, and a position of said corresponding annotation on said parent map represents a location of said person in real word, wherein the corresponding annotation being an icon, an image or a photo, wherein said icon comprises a pin-point, and said photo is said person's photo;
instructions for designating a map group as map group 1 ;
instructions for designating a parent group of map group 1 as parent group 1; instructions for designating a person in map group 1 as person 1;
instructions for designating a mobile device of the person 1 as device 1 ; instructions for designating a software installed in the device 1 as client 1, wherein the client 1 is responsible for sending location information of said the device l;
instructions for designating a map group as map group 2, wherein map group 1 and map group 2 are either the same map group or different map groups; instructions for designating a person in map group 2 as person 2, wherein the person 1 and the person 2 are different persons;
instructions for designating a mobile device of said person 2 as device 2, instructions for designating a software installed in the device 2 as client 2, wherein the client 2 is responsible for receiving and presenting location information of the device 1 ; and
instructions for creating a tracking list of person 1 to save information of persons that the person 1 wants to be tracked by, and meanwhile the persons in said tracking list of person 1 want to track the person 1.
The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 14, comprising
instructions for the client 1 sending a request to ask person 2 track person 1, or instructions for the client 2 sending a request to ask for a permission of the person 2 tracking the person 1 ;
when the person 1 permits to be tracked by the person 2 or person 2 accepts to track person 1, instructions for establishing a relation that the person 2 tracks the person 1, instructions for saving the person 2 in person l's tracking list, and
instructions for reporting person l's tracking list to a server, or
when the person 1 does not permit to be tracked by the person 2 or person 2 does not accept to track person 1, instructions for terminating;
instructions for the client 1 receiving location information 1 of the device 1, wherein the location information 1 is provided by the device 1;
after a pre-determined time period 1, instructions for the client 1 receiving location information 2 of the device 1, wherein the location information 2 is provided by the device 1 ;
instructions for the client 1 calculating a movement distance 1 of the device 1 during the time period 1, based on the location information 1 and the location information 2; instructions for the client 1 comparing the movement distance 1 with a per- determined distance threshold;
instructions for the client 1 deciding that the device 1 has moved, when the movement distance 1 is larger than the per-determined distance threshold;
instructions for the client 1 reporting the location information 2 to the server; instructions for the client 1 receiving a responsive order from the server, wherein the responsive order is stop reporting or reporting by a time period 2, and time period 2 is longer than time period 1 ;
instructions for the client 1 acting according to the responsive order;
instructions for the server determining the existence of at least one person in the tracking list of person 1 ;
when the determination is that the tracking list of person l's is empty, instructions for the server sending the responsive order to the client 1 to stop reporting;
when the determination is that at least one person, the client 2, in the tracking list of person 1, instructions for assigning a status as background to the client 2;
instructions for the server sending a status request to the client 2; and instructions for the server deciding that the client 2 is not online, when no responsive status report from the client 2 for the status request is received, instructions for the server sending the responsive order to the client 1 to report by the time period
2, and instructions for the server saving a copy of the location information 2 in client 2's mailbox on the server, or
instructions for the server deciding that the client 2 is in device 2's
background, when the responsive status report from the client 2 for the status request is that the client 2 is in background, instructions for the server sending the responsive order to the client 1 to report by the time period 2, and instructions for the server saving a copy of the location information 2 in client 2's mailbox on the server, or instructions for the server deciding that the client 2 is in device 2's foreground, when the responsive status report from the client 2 for the status request is that the client 2 is in foreground, instructions for the server saving a copy of the location information 2 in client 2's mailbox on the server, and instructions for the server sending the location information 2 to the client 2.
16. The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 15, comprising
instructions for the client 2 sending status switch information to the server whenever the client 2 switches from one of statuses to another of the statuses, wherein the statuses comprising not online, background and foreground; and
instructions for the client 2 sending current status information to the server by a pre-determined time period 3, when the client 2 is in foreground of the device 2, wherein the time period 3 is a time span from the time point of last communication between the client 2 and the server to the time point when the client 2 sending the current status information to the server.
17. The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 15, comprising
instructions for the client 2 receiving the location information 2, when the client 2 is in foreground of the device 2;
instructions for the client 2 saving a copy of the location information 2 into a local database of device 2; and
instructions for the local database sending a notice to a user interface (UI) of the client 2, wherein
the notice comprising information of person l's name or online name in map group or map groups, information of person l's location and information of location reporting time by client 1.
18. The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 17, comprising instructions for the UI identifying map groups that comprise the person 1, wherein the map groups comprises the map group 1, but are not limited to the map group 1;
instructions for the UI identifying parent maps that comprise the person 1, wherein the parent maps comprises the parent map 1, but are not limited to the parent map 1;
instructions for the UI designating the identified parent maps that comprise the person 1 as parent maps with person 1, and designating any parent map belongs to the parent maps with person 1 as parent map with person 1;
instructions for the UI moving an annotation of the person 1 to a new location in the parent map with person 1, according to the location information 2;
when the annotation of person 1 is clicked, instructions for the UI popping up a sub-map from the parent map with person 1, wherein the sub-map comprises a local map centered at the new location and the annotation of the person 1 ;
instructions for making size of the sub-map changeable;
instructions for making the sub-map zoomable;
instructions for making position of the sub-map changeable;
instructions for making the sub-map offer a communication function between the person 1 and the person 2, wherein the communication function comprises sending text message, sending image, sending voice message, sending video message, chatting by text, chatting by voice in real time and chatting by video in real time.
The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 18, comprising
instructions for client 2 receiving new location information of the client 1 via the server;
instructions for client 2 calculating an anticipated time interval that next future location information will come based on a moving history and reporting history of client 1 during a time period 4, wherein the time period 4 is ranged from 3 to 5 minutes; instructions for client 2 calculating an anticipated moving speed based on the anticipated time interval and the new location information;
instruction for the client 2 sending information of the anticipated moving speed and the new location information to the UI; and
instruction for the UI creating an animation to move annotations of person 1 on the parent map with person 1 and the sub-map based on the information of the anticipated moving speed and the new location information.
The non-transitory computer-readable medium that stores instructions executable by one or more processors to perform the method of real-time location tracking with the feature of Map-in-Map for multiple people of claim 18, comprising
instructions for the client 2 drawing a moving track of the person 1 based on person 1 staying time on each location point in the moving track; and
instructions for the client 2 corresponding the person l's staying time on a location within the moving track to a darkness of a color assigned to that location.
PCT/US2013/064933 2012-10-15 2013-10-15 Real-time location tracking with map-in-map WO2014062611A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261713898P 2012-10-15 2012-10-15
US61/713,898 2012-10-15
PCT/US2013/035626 WO2013152349A1 (en) 2012-04-06 2013-04-08 Intelligent power saving method for mobile devices running location based service (lbs) applications
USPCT/US2013/035626 2013-04-08

Publications (1)

Publication Number Publication Date
WO2014062611A1 true WO2014062611A1 (en) 2014-04-24

Family

ID=50488680

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/064933 WO2014062611A1 (en) 2012-10-15 2013-10-15 Real-time location tracking with map-in-map

Country Status (1)

Country Link
WO (1) WO2014062611A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016034670A1 (en) * 2014-09-03 2016-03-10 Agt International Gmbh Location-oriented team intercommunication
CN110941259A (en) * 2018-09-21 2020-03-31 上海云绅智能科技有限公司 Robot tracking method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377210B1 (en) * 2000-02-25 2002-04-23 Grey Island Systems, Inc. Automatic mobile object locator apparatus and method
US20070281689A1 (en) * 2006-06-01 2007-12-06 Flipt, Inc Displaying the location of individuals on an interactive map display on a mobile communication device
US20090171939A1 (en) * 2007-12-28 2009-07-02 Yahoo! Inc. User-generated activity maps
US20120034929A1 (en) * 2010-08-07 2012-02-09 Wavemarket, Inc. System and method for showing dynamic location for a plurality of users

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377210B1 (en) * 2000-02-25 2002-04-23 Grey Island Systems, Inc. Automatic mobile object locator apparatus and method
US20070281689A1 (en) * 2006-06-01 2007-12-06 Flipt, Inc Displaying the location of individuals on an interactive map display on a mobile communication device
US20090171939A1 (en) * 2007-12-28 2009-07-02 Yahoo! Inc. User-generated activity maps
US20120034929A1 (en) * 2010-08-07 2012-02-09 Wavemarket, Inc. System and method for showing dynamic location for a plurality of users

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016034670A1 (en) * 2014-09-03 2016-03-10 Agt International Gmbh Location-oriented team intercommunication
CN110941259A (en) * 2018-09-21 2020-03-31 上海云绅智能科技有限公司 Robot tracking method and system

Similar Documents

Publication Publication Date Title
US11032670B1 (en) Destination sharing in location sharing system
EP3512221B1 (en) Empirical expert determination and question routing system and method
US20180183884A1 (en) Methods and systems for managing a task based on geographical locations
CN112333633B (en) Computer-implemented method, device and system for sharing a location of a mobile device
US20180059767A1 (en) Power Management of Mobile Clients Using Location-Based Services
US20150350262A1 (en) Causation of establishment of a location sharing group
CN104798417B (en) Geography fence based on semantic locations
US9003030B2 (en) Detecting relative crowd density via client devices
US10057115B2 (en) Device resource management based on contextual planning
US20160234060A1 (en) Setting a reminder that is triggered by a target user device
US8588809B2 (en) Managing public resources
US20140137219A1 (en) Automatically generating challenge questions inferred from user history data for user authentication
US20200193335A1 (en) Seamless management of connected environments
US11700168B2 (en) Setting a reminder that is triggered by a target user device
JP2018522325A5 (en)
JP2014519103A (en) Find nearby places based on automatic queries
WO2012149078A2 (en) Managing notifications pushed to user devices
TWI601089B (en) Systems and methods for event attendance notification
WO2015073468A1 (en) Real life presence and dynamic meeting scheduling
CN104616408B (en) Doorbell control method and device
WO2014062611A1 (en) Real-time location tracking with map-in-map
JP2018077831A (en) System and method for automatic recognition and management of scheduling and adjustment of enterprise visitor, computer mounting method, program, computerized system, and mobile terminal
US20200080847A1 (en) Systems and methods for real-time updating of attributes of an area and status of devices within the area
JP6003388B2 (en) Server apparatus, program, and communication system
US20190208051A1 (en) Context detection with accelerated ai training and adaptive device engagement

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13847118

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13847118

Country of ref document: EP

Kind code of ref document: A1