This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2010-294286, filed on Dec. 28, 2010, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein relate to a service providing method, an information processing apparatus and a computer readable information recording medium.
A technique is known where simple map data is stored in an information providing apparatus, and in the simple map data, information transmission determination information is attached to each of plural unit areas. The information transmission determination information indicates whether the unit area is an information transmission area (where a portable terminal will transmit position information) or an information not-transmission area (where the portable terminal will not transmit the position information). In this technique, the portable terminal compares the simple map data and its own position, and the portable terminal transmits the position information in a case where the portable terminal lies within the information transmission area. On the other hand, in a case where the portable terminal lies within the information not-transmission area, the portable terminal is prevented from transmitting the position information.
Further, a technique of “automatic GPS” is known where a position of a portable terminal is periodically measured, and information of the measured position (position information) is provided to a service providing party.
Patent Document 1:
Japanese Laid-Open Patent Publication No. 2009-88775
Non-Patent Document 1:
11 “NTT docomo, automatic GPS” (URL: http://www.nttdocomo.co.jp/service/information/auto_gps/)
Non-Patent Document 2:
“NTT docomo, automatic GPS associated functions” (URL: http://www.nttdocomo.co.jp/service/customize/iconcie r/auto_gps/)
According to one aspect of the present disclosure, an information processing apparatus determines movements of terminals based on position information notified by the terminals, and, in a case of having determined that a difference between the movements of the terminals is equal to or less than a threshold, the information processing apparatus stores information indicating the determined terminals in an associating information DB in such a manner of being associated with each other. The information processing apparatus transmits, to the associated terminals, signals indicating notification modes of reduced notification frequencies. When receiving the position information notified by one of the associated terminals, the information processing apparatus uses the position information notified by one of the associated terminals as the position information of the one of the associated terminals. Further, the information processing apparatus uses the position information notified by the one of the associated terminals also as the position information of another one of the associated terminals.
According to embodiments of the present invention, in a service providing method where an information processing apparatus receives position information notified by a terminal and provides a service corresponding to the position information notified by the terminal, it is possible to efficiently reduce a power consumption in the terminal.
Below, the service providing methods according to the embodiments of the present invention will be described.
According to the service providing method in the embodiment 1, a server which provides a service is notified of position information indicating a position of a terminal such as a cellular phone by the terminal, and provides the service corresponding to the notified position information to the terminal. Further, according to the service providing method in the embodiment 1, when the terminal notifies the server of the position information, in a case where the terminals are determined as accompanying together, the server uses the position information as being common to the terminals determined as accompanying together. Using the position information as being common to the terminals determined as accompanying together will now be described.
That is, when one terminal of plural terminals determined as accompanying together notifies the server of the position information, the server uses the notified position information as the position information of the one terminal, and also, uses the same position information also as the position information of another terminal of the plural terminals. To use the common position information for respective ones of the plural terminals determined as accompanying together by the server will be referred to as “to use the position information as being common”.
According to the service providing method in embodiment 1, by using the position information as being common to the terminals determined as accompanying together, it is possible to reduce the frequency of notifying the server of the position information by the respective terminals. The frequency of notifying means an average number of times of notifying within a certain period of time, and may also be referred to as a notification frequency. As a result of thus reducing the notification frequency, it is possible to effectively reduce power consumption of each terminal, and also, it is possible to effectively reduce a load of each terminal to measure its own position to obtain the position information. It is noted that an interval(s) at which the terminal notifies the position information may be simply referred to as a notification interval(s), and a timing(s) at which the terminal notifies the position information may be simply referred to as a notification timing(s).
Below, a system will be described where a server that provides a service is notified of position information indicating a position of a terminal such as a cellular phone by the terminal, and the server provides the service corresponding to the notified position information. In the system, the terminal uses a GPS (Global Positioning System) function and obtain the position information that is information of the own position, and notifies the server of the position information. The server receives the notification, and provides the service corresponding to the position information. Specifically, for example, according to the position of the terminal, information introducing recommended restaurants or shops near the position may be provided to the terminal, or information of a last train may be provided to the terminal according to the position of the terminal and according to the current time.
In such a system, each terminal periodically obtains its own position and transmits the position information to the server. In this case, power is consumed for the respective operations of obtaining its own position and transmitting the position information, and also, a load of the communication network increases when the terminal transmits the position information to the server. On the other hand, in a case where the notification frequency is reduced for the purpose of reducing the power consumption and the load of the communication network, there may be a likelihood that appropriate services are not be provided.
According to the embodiment 1, the server obtains a movement path of each terminal from the position information notified by the terminal, and detects that the plural terminals are accompanying together, using the obtained movement paths, for example. It is noted that terminals determined as accompanying together may be refereed to as mutually accompanying terminals, or simply accompanying terminals.
When detecting that plural terminals are accompanying together, the server manages the mutually accompanying terminals in a manner of associating the terminals with each other.
Based on the notifying interval(s) of notifying the position information by each terminal (in an embodiment 2 described later, based on the notification interval(s) and a battery remaining amount), the server calculates notification timings of notifying the position information for the respective terminals such that the number of terminals which notify the position information simultaneously among the mutually accompanying terminals is one (see
Thus, according to the embodiment 1, by using the position information as being common to the mutually accompanying terminals, it is possible to use the position information notified by one of the mutually accompanying terminals also as the position information of the other terminals. As a result, the server obtains the position information at intervals of time the same as the notification intervals at which the respective terminals have notified the position information before receiving and using the above-mentioned notification timings, even when the notification frequencies at which the respective terminals notify their position information are reduced as a result of the server transmitting the notification timings of reducing the notification frequencies to the respective terminals. Therefore, it is possible to reduce the power consumption of each terminal, and also, reduce the load of the communication network. Further, the server determines whether the terminals are accompanying together only using the position information notified by the respective terminals without using sensor information or terminal information. Therefore, the server does not have the load of collecting the sensor information or terminal information. The determination as to whether the terminals are accompanying together may be referred to as a determination of accompanying terminals.
With reference to
As depicted in
The server 200 and the terminal 100 are connected by a radio communication network 300 as being able to carry out radio communication therebetween.
The terminal 100 is, for example, a cellular phone, a portable information terminal, a notebook-type personal computer, or such, and includes a CPU (Central Processing Unit) 101, a memory 102, a communication part 103, a GPS part 104, a power supply part 105, a battery 106 and a timer 107.
The CPU 101 controls operations of the entirety of the terminal 100, and also, carries out various arithmetic and logic operations. The memory 102 stores programs and data. The CPU 101 executes a program stored by the memory 102, to control operations of the terminal 100 and carry out various arithmetic and logic operations. Further, the memory 102 provides a working area for the CPU 101.
The communication part 103 includes a modem (modulator and demodulator) and so forth, and carries out radio communication with the server 200 via the radio communication network 300. The communication part 103 carries out radio communication with a GPS satellite (not depicted), and provides a signal received from the GPS satellite to the GPS part 104.
The GPS part 104 determines the position of the terminal 100 based on the signal received from the GPS satellite provided by the communication part 103, and notifies the server 200 of the position information via the communication part 103.
The power supply part 105 supplies power supplied by the battery 106 to respective parts of the terminal 100 including the GPS part 104 (in the embodiment 2 described above, information of the battery remaining amount of the battery 106 is notified to the server 200 via the communication part 103).
The timer 107 measures the notification timings of notifying the position information to the server 200 from the terminal 100.
The server 200 includes a CPU 201, a memory 102, a hard disk drive 203 and a communication part 204.
The CPU 201 controls operations of the entirety of the server 200, and also, carries out various arithmetic and logic operations. The memory 202 stores programs and data. The CPU 2101 executes a program stored by the memory 202, to control operations of the server 200 and carry out various arithmetic and logic operations. Further, the memory 202 provides a working area for the CPU 201.
The communication part 203 includes a modem (modulator and demodulator) and so forth, and carries out radio communication with the terminal 100 via the radio communication network 300.
The server 200 is notified of the position information by the terminal 100, and provides a service corresponding to the notified position information to the terminal. For example, the server 200 is notified of the position information by the terminal 100, and provides information corresponding to the notified position information to the terminal 100. It is noted that for example, in the server 200, the CPU 201 may execute a program stored by the memory 202, and thus, carry out the following operations. That is, the information to be provided corresponding to the position information notified by the terminal 100 is read from information that is previously stored in the hard disk drive 203, and is provided to the terminal 100. Further, as another example, in the server 200, the CPU 201 may execute a program stored by the memory 202, and thus, carry out the following operations. That is, the information to be provided to the terminal 100 is stored or prepared by an information providing server or such (not depicted) which is provided separately from the server 200. Then, the server 200 transfers the position information notified by the terminal 100 to the information providing server or such, and provides the information provided by the information providing server or such in response to the position information to the terminal 100. The information to be provided to the terminal 100 by the server 200, the information providing server, a content server or such, may be, for example, the above-mentioned information introducing restaurant or shops recommended concerning the notified position of the terminal 100, information of the last train provided according to the notified position of the terminal 100 and the current time, or such.
With reference to
As depicted in
The GPS information obtaining part 111 obtains the position information of the terminal 100 provided by the GPS part 104 and sends the position information to the notification control part 112.
The server 200 includes a position management part 211, an accompanying determination part 212, a notification timing calculation part 213, a branch point management part 214, a position information DB (database) 215, an associating information DB 216, a terminal information DB 217 and a branch point information DB 218.
The position management part 211, the accompanying determination part 212, the notification timing calculation part 213 and the branch point management part 214 are realized as a result of the CPU 201 depicted in
The position information DB (database) 215, the associating information DB 216, the terminal information DB 217 and the branch point information DB 218 are realized as a result of the CPU 201 depicted in
The position management part 211 receives the position information transmitted by the communication control part 112 of the terminal 100, and registers the position information in the position information DB 215. The accompanying determination part 212 carries out a determination of accompanying terminals (accompanying determination process). The determination of accompanying terminals is carried out based on the position information of the respective terminals stored in the position information DB 215. Further, the accompanying determination part 212 also carries out an accompanying cancellation determination process described later. The accompanying cancellation determination process is a determination as to whether an accompanying state of the accompanying terminals has been cancelled, and is carried out based on the position information of the respective terminals stored by the position information DB 215.
The notification timing calculation part 213 calculates the notification timings of the accompanying terminals, and transmits the calculated notification timings to the corresponding terminals 100 respectively via the accompanying determination part 212. The calculation of the notification timings is carried out based on the notification intervals of the accompanying terminals (in the embodiment 2 described later, the notification intervals and the battery remaining amounts).
The branch point management part 214 manages branch point information based on the position information stored by the position information DB 215 using the branch point information DB 218. The branch point information is information indicating positions (branch points) at which there are likelihoods that accompanying states of accompanying terminals are cancelled. The positions (branch points) at which there are likelihoods that accompanying states of accompanying terminals are cancelled means positions of points (branch points) at which paths of the respective terminals generated from histories of the position information of the respective terminals branch or separate. For example, the branch points coincide with branch points or intersections of roads. First of all, the paths of the respective terminals are obtained from the histories of the position information of the respective terminals. The paths of the respective terminals mean paths in which the respective terminals have moved. For example, in the history data, an end point of part in which the paths of plural terminals coincide with each other (which paths may be those occurring at mutually different times), i.e., a point at which after a state where the paths of the plural terminals coincide with each other continues, the paths separate from each other is a branch point.
The position information DB 215 stores the position information of the respective terminals at every time.
The associating information DB 216 stores a list of accompanying terminals. In the example of
The terminal information DB 217 stores information of the respective terminals. In the example of
The branch point information DB 218 stores the above-mentioned branch point information. In the example of
Next, flows of operations of respective processes according to the embodiment 1 will be described.
In
The position information for an accompanying cancellation determination will now be described. The server 200 obtains the branch point information from the branch point information DB 218 in a step of obtaining the branch point information (step S112) depicted in
When the received position information is the position information for an accompanying cancellation determination (step S102 YES), the server 200 registers the position information to the position information DB 215 (step S103), and then carries out step S104. On the other hand, when the received position information is not the position information for an accompanying cancellation determination (step S102 NO), then the server 200 carries out step S106.
In step S104, the server 200 determines whether having received the position information from all of the terminals for which the accompanying cancellation forecast is being carried out. All of the terminals for which the accompanying cancellation forecast is being carried out means all the terminals for which there are likelihoods that the accompanying states of the accompanying terminals are cancelled, and means the terminals of transmission destinations to which the server 200 has transmitted the accompanying cancellation forecast notification messages.
When not having received the position information from all the terminals for which the accompanying cancellation forecast is being carried out (step S104 NO), the server 200 again carries out step S101. When having received the position information from all the terminals for which the accompanying cancellation forecast is being carried out (step S104 YES), the server 200 carries out the accompanying cancellation determination process described later with reference to
In step S106, the server 200 obtains the group ID of the terminal having transmitted the received position information, extracts the information (i.e., associating information) indicating all the terminals having the obtained group ID from the associating information DB 216, and then, carries out step S107. However, in a case where the terminal having transmitted the received position information is not an accompanying terminal, the server 200 then carries out step S107 without carrying out step S106 since the terminal does not have the group ID.
In step S107, in the case where the terminal is not an accompanying terminal, the server 200 registers the received position information for the terminal. On the other hand, in a case where the terminal is an accompanying terminal, the server 200 registers the received position information for the terminal, and also, based on the associating information extracted in step S106, the server 200 registers the position information also for the other accompanying terminals. That is, in the case where the terminal having transmitted the position information received by the server 200 is an accompanying terminal, the other accompanying terminals accompanying the above-mentioned terminal are regarded as having the same position information, and registers the position information having been received from the above-mentioned terminal also for each of the other accompanying terminals. That is, the position information notified by one of the accompanying terminals is obtained as the position information of the one terminal, and also, is obtained the position information as each of the other terminals accompanying the above-mentioned terminal. Next to step S107, an associating process and the accompanying cancellation forecast process described later with reference to
Next, a flow of operations of the associating process and the accompanying cancellation forecast process will be described with reference to
First, in step S111, the server 200 obtains from the position information DB 215 a history of the terminal having transmitted the position information received by the server 200.
Next, in step S112, the server 200 obtains a moving speed and a moving direction of the terminal from the obtained history. Then, the server 200 extracts from the branch point information DB 218 the branch point information of the branch point(s) which the terminal is expected to pass through until the subsequent notification timing, based on the moving speed and the moving direction of the terminal and the shortest notification interval of the accompanying terminals included in the associating information obtained in step S106. After that, the server 200 carries out step S113.
In step S113, the server 200 determines whether the branch point information could have been obtained (extracted) in step S112. When the branch point information could have been obtained in step S112 (step S113 YES), the server 200 then carries out step S114, and then, carries out the accompanying cancellation forecast process. On the other hand, when the branch point information could not have been obtained in step S112 (step S113 NO), the server 200 then carries out step S117, and then carries out the associating process including the accompanying determination process.
In step S114, the server 200 determines whether there is the group ID of the terminal having transmitted the received position information, which group ID the server 200 has tried to obtain in step S106, and determines whether there is another terminal associated with the terminal. That is, the server 200 determines whether the terminal is an accompanying terminal. In a case where there is no terminal associated with the terminal (step S114 NO), the process is finished.
On the other hand, in a case where there is a terminal associated with the terminal (step S114 YES), the server 200 extracts an associated terminal, i.e., any one of the terminal having transmitted the position information and all the terminal(s) accompanying the terminal, in step S115. Then, the server 200 transmits the accompanying cancellation forecast notification message to the extracted terminal, and then, carries out step S116.
In step S116, the server 200 determines whether having completed transmitting the accompanying cancellation forecast notification messages to the terminal having transmitted the position information and all the terminals accompanying the terminal. In a case where having completed transmitting the accompanying cancellation forecast notification messages to the terminal having transmitted the position information and all the terminals accompanying the terminal (step S116 YES), the server 200 finishes the process. On the other hand, when not yet having completed transmitting the accompanying cancellation forecast notification messages to the terminal having transmitted the position information and all the terminals accompanying the terminal (step S116 NO), the server 200 carries out step S115 again.
In step S117, the server 200 obtains accompanying terminal information. The accompanying terminal information means information of the terminal(s) accompanying the terminal having transmitted the position information. That is, to obtain accompanying terminal information at this time means to carry out the accompanying determination process. Specifically, the immediately preceding history of the position information of the terminal having transmitted the position information is obtained from the position information DB 215, and the immediately preceding path is obtained from the obtained history of the position information. Then, the position information DB 215 is read, and another terminal having an immediately preceding path identical or approximately identical to the obtained path of the terminal is searched for. The thus-obtained terminal through the search is determined as a terminal being accompanying the terminal having transmitted the position information received by the server 200. Next to step S117, the server 200 carries out step S118.
A method of an accompanying determination (the accompanying determination process) will now be described.
In the case of the embodiment 1, the position information DB 215 is read, and it is determined that two terminals are accompanying together in a case where the two terminals having the same immediately preceding paths exist. Here, having the same immediately preceding paths means, in a case where the position information is obtained at intervals of 5 minutes for example, the distance between two terminals is equal to or less than a certain distance 5 minute ago and the distance between the two terminals is equal to or less than the certain distance also at the present time. That is, movements of two terminals are determined, and it is determined that the two terminals are accompanying together in a case where the movements of the two terminals are equal to or less than a threshold.
As another method of the accompanying determination, it is also possible to determine that two terminals are accompanying together simply in a case where the distance between the terminals is equal to or less than a certain distance (or the distance between the terminals is less than a certain distance). The certain distance may be, for example, 20 m. That is, for example, two terminals may be determined as accompanying together when the distance between the two terminals is less than 20 m.
Further, in a case of equal to or more than three terminals, it is possible to determine these terminals as accompanying together in a case where two terminals of each of all of the combinations of two terminals that may be extracted from these terminals are determined as accompanying together (the same method may be applied hereinafter).
Alternatively, it is also possible to determine two terminals are accompanying together in a case where the two terminals have the distance therebetween equal to or less than a certain distance for equal to or more than a certain period of time.
Alternatively, it is also possible to determine whether accompanying exists by using a different logic depending on a state of movements of terminals. Specifically, in a case where a state of movements is “stopping” or “walking”, two terminals may be determined as accompanying together when the distance between the two terminals is less than 20 m as mentioned above. On the other hand, in a case where a state of movements is “on a train”, motion vectors of two terminals may be calculated. In this case, two terminals may be determined as accompanying together in a case where the difference between the magnitudes of the motion vectors (movement distances) is less than 30 m and also the difference between the directions (directions of movements) of the motion vectors is less than 22.5 degrees in each of both sides in a case where the positions of the terminals are measured at intervals of 15 seconds, for example. It is noted that a determination of the state of movement may be determined as follows. For example, in a case where the movement distance of the terminal is less than 10 m in a case where the position of the terminal is measured at intervals of 15 seconds, the terminal is determined as “stopping”; in a case of equal to or more than 10 m and less than 30 m, the terminal is determined as “walking”; and in a case of equal to or more than 30 m, the terminal is determined as “on a train”, for example.
As a further another method of the accompanying determination, there is a method of paying attention to a point that changes in movements of two terminals are likely to be the same in a case where the users of the two terminals act together. In this method, each terminal has an acceleration sensor, and a change in a movement of each terminal is detected by monitoring the output of the acceleration sensor. In this method, the position of one terminal measured when the movement of the terminal is changed and the position of the other terminal measured when the movement of the other terminal is changed are compared, and the distance between the two terminals is calculated. Then, in a case where the calculated distance is equal to or less than a threshold, the two terminals are determined as accompanying together.
Further, in the case of this method, among users of respective terminals, information for identifying a group of users having a relationship is previously registered, and two terminals may be determined as accompanying together only in a case where the uses of the terminals have the relationship. That is, in this case, although the distance between the two terminals is equal to or less than a threshold, the two terminals are determined as not accompanying together in a case where the users of the two terminals do not have the relationship. As examples of the relationship between users, “colleagues at work”, “family”, or such may be cited.
Returning to the description of
In step S119, the associating information is registered. That is, for the accompanying terminal(s) obtained from steps S117 and S118 and the terminal having transmitted the position information, a common group ID is given, and these terminals are registered in the associating information DB 216. Thus, these accompanying terminals are associated with one another.
Next, in step S120, the notification timing is calculated. A method of calculating the notification timing will be described later with reference to
Next, with reference to
First, in step S131, accompanying terminals and not-accompanying terminals are extracted. That is, the terminals for which the above-mentioned accompanying cancellation forecast is being carried out are classified into accompanying terminals and not-accompanying terminals. Thus, the accompanying cancellation determination process is carried out. In the accompanying cancellation determination process, the position information DB 215 is read, and the positions indicated by the respective position information of all the terminals for which the above-mentioned accompanying cancellation forecast is being carried out are compared with each other. Then, in a case where, for example, one terminal thereof is away from each of all the other terminals by equal to or more than a certain distance, the accompanying of the one terminal is determined as having been cancelled. The one terminal thus determined as the accompanying having been cancelled is the above-mentioned not-accompanying terminal. Thus, all the terminals for which the above-mentioned accompanying cancellation forecast is being carried out are classified into accompanying terminals and not-accompanying terminals. Then, the server 200 carries out step S132.
In step S132, the notification timing is calculated. That is, in a case where not-accompanying terminal(s) exist in step S131, the number of the accompanying terminals is reduced as a result of the not-accompanying terminal(s) being removed from the accompanying terminals. Then, the notification timings of the remaining accompanying terminals will be again calculated as a result. On the other hand, in a case where any not-accompanying terminal does not exist in step S131, the number of the accompanying terminals is not changed, and therefore, the notification timings of the accompanying terminals are not again calculated.
Next, in the steps starting from step S133, the notification timings thus calculated in step S132 are transmitted to the respective ones of the accompanying terminals. It is noted that as mentioned above, in a case where any not-accompanying terminal does not exist in step S131, the notification timings of the accompanying terminals are not again calculated. Therefore, in this case, notifications of the notification timings are not carried out. As to the not-accompanying terminal(s), the notification timing(s) (i.e., the original notification timing(s)) in the state where the terminal(s) are not the accompanying terminals, or such, are transmitted thereto.
In step S133, one of the accompanying terminals and not-accompanying terminals both extracted in step S131 is taken, the notification timing is transmitted thereto in step S134, and the server 200 then carries out step S135. In step S135, the server 200 determines whether the notification timing has been transmitted in step S133 to each of all the accompanying and not-accompanying terminals extracted in step S131. In a case where the notification timing has been transmitted to each of all the accompanying and not-accompanying terminals extracted in step S131 (step S135 YES), the process is finished. On the other hand, in a case where the notification timing has not been transmitted to each of all the accompanying and not-accompanying terminals extracted in step S131 yet (step S135 NO), the server 200 again carries out step S133.
Next, a branch point extraction process will be described with reference to
In
Next, in step S144, from the history of the position information of the terminal obtained in step S141, the position information indicating the position immediately after the path indicated by the path information generated in step S142 is taken. Next, in step S145, the terminal having the position information the same as the position information taken in step S144 is searched for from the terminals obtained in step S143 through the search. Next, in step S146, it is determined whether the number of the terminals taken in step S145 through the search is smaller than the number of the terminals taken in step S143 through the search. In a case where the number of the terminals taken in step S145 through the search is smaller than the number of the terminals taken in step S143 through the search (step S146 YES), the server 200 then carries out step S147.
In step S147, the server 200 registers the branch point information that is the above-mentioned position information taken in step S144 as a branch point in the branch point information DB 218. It is noted that the state where the number of the terminals taken in step S145 through the search is smaller than the number of the terminals taken in step S143 through the search means that as to the terminals by which the number of the terminal thus becomes smaller, the position information becomes not coincident with that of the other terminals. That is, the paths of the terminals by which the number of the terminals becomes smaller are regarded as having been branched, in the data of the histories. That is, the terminal selected in step S141 and the terminals searched for in step S143 have the position information coincident with each other at least in the range of the path indicated by the path information generated in step S142. Therefore, in the determination of step S146, the position at which the position information becomes not coincident in the path after the range in which the position information is coincident is obtained, and the obtained position is registered as the branch point.
On the other hand, in a case where the number of the terminals taken in step S145 through the search is coincident with the number of the terminals taken in step S143 through the search (step S146 NO), it is determined that the path has not been branched yet, and the server 200 then carries out step S148. In step S148, it is determined whether all of the position information that is included in the history of the position information of the terminal selected in step S141 and indicates the positions after the path indicated by the path information generated in step S142 has been taken.
In a case where all of the position information that is included in the history of the position information of the terminal selected in step S141 and indicates the positions after the path indicated by the path information generated in step S142 has not been taken yet (step S148 NO), the server 200 again carries out step S144. In step S144 in this case, the position information indicating the position, next to (immediately after) the position that is immediately after the path indicated by the path information generated in step S142 and has been taken in step S144 at the last time, is taken. Then, for the thus-taken position information, steps S145 and S146 are carried out again. In a case where the determination result of step S146 is still NO and the determination result of step S148 is still NO, step S144 is again carried out. At this time in step S144, the position information indicating the position, further next to (immediately after) the position that is after the path indicated by the path information generated in step S142 and has been taken in step S144 at the immediately preceding time, is taken. Then, for the thus-taken position information, steps S145 and S146 are carried out again. Thus, the branch point of the path is searched for.
In a case where all of the position information that is included in the history of the position information of the terminal selected in step S141 and indicates the positions after the path indicated by the path information generated in step S142 has been taken (step S148 YES), the server 200 finishes the process. However, at this time, the server 200 may return to step S141, select another terminal randomly, obtain the history of the position information of the other terminal and again carry out the steps starting from step S142 for the obtained history of the position information. As a result, it is possible to enrich the contents of the branch point information to be previously registered in the branch point information DB 214. Further, for the same terminal selected in step S141, partial path information different from the path information having been generated in step S142 at the last time may be generated from the history of the position information in step S142 at the current time, and the steps starting from step S143 may be carried out again for the currently generated path information. As a result, it is possible to enrich the contents of the branch point information to be previously registered in the branch point information DB 214.
Further, as the branch point information to be previously registered in the branch point information DB 214, other than the branch point information obtained according to
Next, with reference to
In
The message type of the message thus received by the server 200 is not an “accompanying-cancellation-determination position information notification message” (i.e., the position information notification message for an accompanying cancellation determination) (see
Accordingly, the position management part 211 of the server 200 obtains from the terminal information DB 217 the group ID of the terminal B having transmitted the received position information (step S106 in
Next, in step S4, the position management part 211 registers the position information received from the terminal B in the position information DB 215 (step S107 in
Next, in step S6, the accompanying determination part 212 obtains the history of the position information of the terminal B from the position information DB 215 (step S111 in
In the example of
Next, in step S7, the accompanying determination part 212 registers in the terminal information DB 217 the group ID (G1) of the terminals A and B thus having been determined as accompanying together as mentioned above. Next, in step S8, the accompanying determination part 212 registers in the associating information DB 216 the group ID (G1) and the IDs of the respective terminals A and B belonging to the group of the group ID (G1) (step S119 in
Next, in step S9, the accompanying determination part 212 sends the terminal IDs (A, B) of the accompanying terminals A and B to the notification timing calculation part 213, and asks the notification timing calculation part 213 to calculate the notification timings. Next, in step S10, the notification timing calculation part 213 obtains the notification intervals of the accompanying terminals A and B from the terminal information DB 217, and calculates the notification timings of the accompanying terminals in step S11 (step S120 in
Next, in step S12, the accompanying determination part 212 transmits the notified notification timings to the notification control parts 112 of the respective accompanying terminals A and B (steps S121→S122 in
In
Therefore, in step S23, the position management part 211 of the server 200 obtains the group ID of the terminal C having transmitted the received position information from the position information DB 217 (step S106 in
Next, in step S24, the position management part 211 registers the position information notified by the terminal C in the position information DB 215 (step S107 in
Next, in step S26, the accompanying determination part 212 obtains the history of the position information of the terminal C from the position information DB 215 (step S111 of
Further, in this case, the accompanying determination part 212 determines the immediately preceding path of the terminal C from the obtained history of the position information of the terminal C. Further, the accompanying determination part 212 reads the position information DB 215, and searches for a terminal having the same immediately preceding path as the determined immediately preceding path of the terminal C (step S117 of
Next, in step S27, the accompanying determination part 212 registers the group ID (G1) of the accompanying terminals A, B and C. It is noted that at this time, as for the terminals A and B, the group ID (G1) has been already registered as mentioned above. Therefore, the accompanying determination part 212 may obtain the group ID (G1) already registered for the terminals A and B, and register the obtained group ID (G1) also as the terminal C. Alternatively, the accompanying determination part 212 may newly obtain a group ID for the terminals A, B and C, and register the obtained group ID. At this time, for the terminals A and B, the newly obtained group ID may be registered in an overwriting manner.
Next, in step S28, the accompanying determination part 212 registers in the associating information DB 216 the group ID (G1) and the respective IDs of the terminals A, B and C belonging to the group of the group ID (G1) (step S119 of
Next, in step S29, the accompanying determination part 212 sends the terminal IDs of the accompanying terminals A, B and C to the notification timing calculation part 213, and requests the notification timing calculation part 213 to calculate the notification timings of the accompanying terminals A, B and C. Next, in step S30, the notification timing calculation part 213 obtains the notification intervals of the accompanying terminals A, B and C from the terminal information DB 217, and calculates the notification timings of the accompanying terminals A, B and C in step S31 (step S120 in
Next, in step S32, the accompanying determination part 212 transmits the notified notification timings to the notification control parts 112 of the respective accompanying terminals A, B and C (the loop of steps S121, S122 of
Next, with reference to
In step S41, the notification control part 112 of the terminal A obtains the position information from the GPS information obtaining part 111, and then, in step S42, the notification control part 112 notifies the position management part 211 of the server 200 of the obtained position information. Next, in step S43, the position management part 211 of the server 200 receives the notification of the position information (step S101 YES in
Next, in step S44, since the position management part 211 has obtained the group ID of the terminal A in step S43, the position management part 211 obtains the list of the terminal IDs (A, B, C) belonging to the above-mentioned group ID (G1) from the associating information DB 216. The position management part 211 further obtains the shortest one (the shortest notification interval) of the respective notification intervals of these terminals A, B and C (step S106 in
Next, in step S45, the position management part 211 uses the received position information of the terminal A as being common as the position information of the respective ones of the terminals A, B and C, and registers the position information in the position information DB 215 (step S107 in
With reference to
In
With reference to
In
Similarly, in
As depicted in
Thus, positions included in the respective paths of the plural terminals (A, B and C) are compared with each other along the paths. Then, in the history data, a position at which positions included in the respective paths are separated by the certain distance or more is found out after a path part exists where positions included in the respective paths have less than the certain distance therebetween. Then, the position immediately before the position at which the positions included in the respective paths are separated by the certain distance or more may be obtained as the branch point.
In step S53, the information of the thus-obtained branch point (the branch point information) is registered in the branch point information DB 218 by the branch point management part 214.
Next, with reference to
In
Next, in step S62, the accompanying determination part 212 obtains the histories of the position information of the accompanying terminals included in the sent list of the terminal IDs of the accompanying terminals from the position information DB 215 (step S111 of
Next, in step S63, the accompanying determination part 212 uses the position information of the current position, the moving speed and the moving direction of the terminal A and the shortest notification interval of the accompanying terminals, and requests the branch point management part 214 to obtain the branch point information. The branch point management part 214 obtains the branch point information from the branch point information DB 218 based on the above-mentioned information (the position information of the current position, the moving speed and the moving direction of the terminal A and the shortest notification interval of the accompanying terminals), and notifies the accompanying determination part 212 of the obtained branch point information in step S64 (step S112, step S113 YES in
Further, the accompanying determination part 212 determines whether there is a terminal associated with the terminal A (step S114 in
Next, in step S65, based on the branch point information obtained from the branch point management part 214 and the position information of the current position and the moving speed of the terminal A, the accompanying determination part 212 calculates the time at which it is expected that the terminal A passes through the branch point indicated by the branch point information. Next, in step S66, the accompanying determination part 212 transmits the accompanying cancellation forecast notification messages, instructing the terminals to notify their position information at the time after the calculated time at which the terminal A (and also the other accompanying terminals B and C since they are accompanying together) is expected to pass through the branch point, to the respective one of the accompanying terminals A, B and C (the loop of step S115 and S116 in
Next, with reference to
In
Next, in step S73, the position management part 211 of the server 200 obtains the group ID of the terminal A from the terminal information DB 217. In this case, the group ID (G1) of the accompanying terminals A, B and C are obtained.
Next, in step S74, the position management part 211 obtains the list of the terminal IDs of the terminals (the accompanying terminals A, B and C) having the group ID (G1) from the associating information ID 216. There, A, B and C as the terminal IDs of the accompanying terminals A, B and C are obtained.
Next, in step S75, the position management part 211 registers the position information of the terminal A in the position information DB 215, and in step S76, the position management part 211 sends the position information of the terminal A and the list of the terminal IDs of the accompanying terminals to the accompanying determination part 212.
Next, in step S77, the accompanying determination part 212 stores the position information of the terminal A in the memory 202, and also, determines whether the current position information of each of all the accompanying terminals (A, B and C) included in the sent list of the terminal IDs is stored in the memory 202. In this case, as mentioned above, the position information has not been notified by any one of the other accompanying terminals B and C yet. Therefore, it is not determined that the current position information of each of all the accompanying terminals (A, B and C) included in the sent list of the terminal IDs is stored in the memory 202. Therefore, in this case, an accompanying cancellation determination is not carried out.
In the case of
Next, in step S85, the position management part 211 registers the position information of the terminal C in the position information DB 215, and, in step S86, the position management part 211 sends the position information of the terminal C and the list of the terminal IDs of the accompanying terminals to the accompanying determination part 212.
Next, in step S87, the accompanying determination part 212 carries out an accompanying cancellation determination using the information stored in the memory 202 (step S131 of
In the case of the example of
The accompanying cancellation determination is such that, for example, in a case where one of mutually accompanying terminals has come to have a distance from any one of the other terminals which distance is equal to or more than a certain distance, it may be determined that the accompanying of the one terminal for the remaining terminals has been cancelled.
It is noted that other than the above-mentioned method of the accompanying cancellation determination, it is also possible to use the following method. That is, the accompanying determination (accompanying determination process) described above is carried out, and it may be determined that the accompanying has been cancelled when the requirement(s) for determining the accompanying has(have) come to be not fulfilled.
Further, as another method of the accompanying cancellation determination, the following method may be used. That is, when a first terminal of plural mutually accompanying terminals has come to not fulfill the requirement(s) for determining the accompanying only for any second terminal of the remaining terminals, it may be determined that the accompanying of the first terminal has been cancelled only for the second terminal. In this case, on the other hand, it may be determined that the accompanying of the first terminal for the remaining terminals other than the second terminal is still maintained, as long as the requirement(s) for determining the accompanying of the first terminal for each of the remaining terminals other than the second terminal is still fulfilled. For example, suppose that terminals A, B and C have been accompanying together. Then, the requirement(s) for determining the accompanying of the terminal A for the terminal B is still fulfilled, but the requirement(s) for determining the accompanying of the terminal A for the terminal C becomes not fulfilled. In this case, either one of two cases may occur. In one of the two cases, the terminals A and B are accompanying together, while the terminal C is a not-accompanying terminal and is not accompanying any one of the terminals A and B. In the other of the two cases, the terminals A and B are accompanying together, while the terminal C is not accompanying the terminal A but is still accompanying the terminal B. In the latter case, the accompanying relationship between the terminals A and B and the accompanying relationship between the terminals B and C exist individually. Even in such a case, the terminals A, B and C may be determined as still accompanying together, and the position information may be used as being common to the terminals A, B and C.
Next, in step S88 of
Next, in step S91, the accompanying determination part 212 may transmit to the not-accompanying terminal C the notification timing of the original notification interval so that the terminal C returns the own notification interval to the original notification interval that has been used before becoming the accompanying terminal together with the terminals A and B. On the other hand, the accompanying determination part 212 transmits the notification timings of the accompanying terminals A and B notified in step S90 to the notification control parts 112 of the respective ones of the accompanying terminals A and B.
Further, in the example of
Next, with reference to
The notification timing is calculated based on the notification interval (in the state where the terminal is not an accompanying terminal) of each of the accompanying terminals. More specifically, the ratio of the reciprocals of the (original) notification intervals of the respective ones of the accompanying terminals are defined as a ratio of the numbers of times of collection. The number of times of collection means an average number of times of notifications per a certain time period, and is also referred to as a notification frequency. Then, according to the ratio of the numbers of times of collection (first requirement) and the shortest notification interval (second requirement), the notification timings of the respective ones of the accompanying terminals are determined.
As one example, it is assumed that the (original) notification intervals of the respective ones of terminals A, B and C are 5 minutes, 10 minutes and 10 minutes. In this case, the ratio of the numbers of times of collection is the ratio of the reciprocals of the notification intervals, and thus, is 1/5:1/10:1/10=2:1:1. Further, the shortest notification intervals of 5 minutes, 10 minutes and 10 minutes is 5 minutes.
In
In the example of
According to the notification timings of the example of
Further, among the accompanying terminals A, B and C, as mentioned above, the position information is used as being common to the terminals A, B and C. As a result, in each of the timings of, for example, 15 minutes and 20 minutes where notification of the position information from the terminal A is not carried out but instead any one of the terminals B and C carries out notification of the position information, the server 200 can use the position information notified by any one of the terminals B and C also as the position information of the terminal A. Therefore, even when using the notification timings of
Similarly, according to the notification timings in the example of
Further, as mentioned above, the position information is used as being common to the accompanying terminals A, B and C. As a result, in each of the timings of, for example, 5 minutes, 10 minutes and 20 minutes where notification of the position information from the terminal B is not carried out but instead any one of the terminals A and C carries out notification of the position information, the server 200 can use the position information notified by any one of the terminals A and C also as the position information of the terminal B. Similarly, in each of the timings of, for example, 5 minutes, 10 minutes and 15 minutes where notification of the position information from the terminal C is not carried out but instead any one of the terminals A and B carries out notification of the position information, the server 200 can use the position information notified by any one of the terminals A and B also as the position information of the terminal C.
Therefore, even when using the notification timings of
It is noted that the pattern of the notification timings of the respective ones of the terminals A, B and C is not limited to the example of
As another example, a description will now be made for a case where the (original) notification intervals of the respective ones of the terminals A, B and C are 5 minutes, 11 minutes and 16 minutes, respectively.
In this case, the notification intervals of the terminals A, B and C are 5 minutes, 11 minutes and 16 minutes, respectively, as mentioned above. Then, the shortest notification interval 5 minutes is used to divide each of them, and the fraction below the decimal point is omitted. Thus, 1, 2 and 3 are obtained. Further, the shortest notification interval (5 minutes) is used to multiply them, and as a result, 5 [minutes], 10 [minutes] and 15 [minutes] are obtained.
Next, the same as the above-mentioned example, the ratio of the reciprocals of the obtained 5 minutes, 10 minutes and 15 minutes is obtained. As a result, the ratio of the numbers of times of collection is obtained as 1/5:1/10:1/15=6:3:2.
In
Next, in step S154, the ratio of the reciprocals of the respective values obtained in step S153 is obtained. Next, in step S155, the respective values of the obtained ratio (the ratio of the numbers of times of collection) are added together, and the thus-obtained value is multiplied by the shortest notification interval. Thus, the cycle period is obtained.
The cycle period means a value obtained from multiplying the number of times of notification included in the pattern of the notification timings of the accompanying terminals by the shortest notification interval. The pattern of the notification timings will now be described. For example, in the case of
Returning to the description of
It is noted that as an example of a method of allocating in step S156, it is possible to use a method where allocating is carried out randomly with such weights that the notification timings of the respective terminals occur with probabilities in proportion to the ratio of the number of times of collection (first requirement). Alternatively, as another method, the numbers of times in proportion to the ratio of the number of times of collection may be allocated successively to each terminal in turn. For example, in the example of
When the example of
Then, each of the notification intervals of the respective terminals A, B and C is divided by the shortest notification interval, and the fraction below the decimal point of each quotient is omitted. Thus, 1, 2 and 3 are obtained, and then, the shortest notification interval is used to multiply each of 1, 2 and 3. Thus, 5 [minutes], 10 [minutes] and 15 [minutes] are obtained (step S153). Further, the ratio of the reciprocals of the obtained values is obtained as 1/5:1/10:1/15=6:3:2 (step S154).
Then, the respective values of the obtained ratio are added together as 6+3+2=11. The thus-obtained value “11” is multiplied by 5 [min], and thus, the cycle period (55 [min]) is obtained (step S155). Then, in respective times of the 11 times included in the cycle period, the notification timings of the terminals A, B and C are allocated in the ratio of the numbers of times of collection (6:3:2) (step S156). As a result, the pattern of the notification timings as the example of
A service providing method according to an embodiment 2 of the present invention will now be described.
The service providing method according to the embodiment 2 has a configuration approximately the same as the service providing method according to the embodiment 1 described above, description will be made for different points between the two embodiments 1 and 2, and duplicate description will be omitted as is appropriate.
In the case of the embodiment 2, each terminal 100 notifies the server 200 of a battery remaining amount in addition when notifying the position information, and the notification timing calculation part 213 of the server 213 considers the notified battery remaining amounts of the respective terminals, and calculates the notification timings of the accompanying terminals.
More specifically, in step S2 in
In the example of
In step S5 in
Next, one example of a method of calculating the notification timings considering the battery remaining amounts of the accompanying terminals according to the embodiment 2 will be described. In this case, the notification timing calculation part 213 calculates the notification timings of the respective accompanying terminals based on the (original) notification intervals and the battery remaining amounts of the respective ones of the accompanying terminals. More specifically, what is different from the embodiment 1 is that the notification timings of the respective ones of the accompanying terminals are calculated according to the ratio obtained from multiplying the respective values of the ratio of the numbers of times of collection of the respective ones of the accompanying terminals by the respective values of the ratio of the battery remaining amounts of the respective ones of the accompanying terminals, respectively.
For example, in the case where the (original) notification intervals of the terminals A, B and C are 5 minutes, 10 minutes and 10 minutes, respectively, the ratio of the numbers of times of collection is, the ratio of the reciprocals of the notification intervals the same as in the embodiment 1, i.e., 1/5:1/10:1/10=2:1:1. Further, assuming that the battery remaining amounts of the terminals A, B and C are 100%, 100% and 50%, respectively, the ratio of the battery remaining amounts is 100:100:50=2:2:1. Then, when the respective values of the ratio of the numbers of times of collection (2:1:1) are multiplied by the respective values of the ratio of the battery remaining amounts (2:2:1), respectively, 2×2:1×2:1×1=4:2:1 is obtained. The thus-obtained ratio 4:2:1 is the ratio of the numbers of times of collection considering the battery remaining amounts.
Then, in the case of the embodiment 2, the notification timings are determined such that the requirement of the ratio of the numbers of times of collection considering the battery remaining amounts is met (first requirement) and also any one of the accompanying terminals carries out notification of the position information in turn at intervals of the shortest notification interval (second requirement).
In the flow of
Step S165 is carried out after step S154. In step S165, the respective values of the ratio of the numbers of times of collection obtained in step S154 are multiplied by the respective values of the ratio of the battery remaining amounts, respectively. Thus, the ratio of the numbers of times of collection considering the battery remaining amounts is obtained. Next, in step S166, the respective values of the obtained ratio (the ratio of the number of times of collection considering the battery remaining amounts) are added together, and the thus-obtained value is multiplied by the shortest notification interval. Thus, the cycle period is obtained.
Next, in step S167, in each time (of the number of times of notification) included in the obtained cycle period, the notification timings of the respective terminals are allocated in the ratio of the numbers of times of collection considering the battery remaining amounts. Next, in step S168, the operation in step S167 is repeated.
It is noted that as an example of a method of allocating in step S167, the same as in the embodiment 1, it is possible to use a method where allocating is carried out randomly with such weights that the notification timings of the respective terminals occur with probabilities in proportion to the ratio of the number of times of collection considering the battery remaining amounts (first requirement). Alternatively, as another method, the same as in the embodiment 1, the numbers of times in proportion to the ratio of the number of times of collection considering the battery remaining amounts may be allocated successively to each terminal in turn. For example, in the example of
When the example of
Then, in step S165, the respective values of the obtained ratio of the numbers of times of collection are multiplied by the respective values of the ratio of the battery remaining amounts of the respective accompanying terminals. Thus, as mentioned above, 2×2:1×2:1×1=4:2:1 is obtained. Next, in step S166, the respective values of the obtained ratio of the numbers of times of collection considering the battery remaining amounts are added together as 4+2+1=7. The thus-obtained value “7” is multiplied by 5 [min], and thus, the cycle period is obtained. Then, in respective times of the 7 times included in the cycle period, the notification timings of the terminals A, B and C are allocated in the ratio of the numbers of times of collection considering the battery remaining amounts (4:2:1) (step S167).
As a result, the pattern of the notification timings as the example of
In the case of the example of FIG. 22A., the notification frequency of the terminal A is four times every 35 minutes, and thus, is reduced from the original notification frequency of once every 5 minutes (i.e., seven times every 35 minutes). Thus, the notification frequency becomes 4/7 (=0.57 . . . ). The notification frequency of the terminal B is two times every 35 minutes, and thus, is reduced from the original notification frequency of once every 10 minutes (i.e., 3.5 times every 35 minutes). Thus, the notification frequency becomes 2/3.5 (=0.57 . . . ). The notification frequency of the terminal C is one time every 35 minutes, and thus, is reduced from the original notification frequency of once every 10 minutes (i.e., 3.5 times every 35 minutes). Thus, the notification frequency becomes 1/3.5 (=0.28 . . . ).
Thus, especially as for the terminal C having the small battery remaining amount of 50%, the notification frequency is reduced by a larger ratio in comparison to the other terminals A and B. That is, according to the embodiment 2, it is possible to minimize a further reduction of the battery remaining amount by selectively reducing the notification frequency of the terminal having the small battery remaining amount by a larger amount, in addition to the advantageous effects of the embodiment 1.
Thus, the present invention has been described herein with reference to preferred embodiments thereof. While the present invention has been shown and described with particular examples, it should be understood that various changes and modifications may be made to the particular examples without departing from the scope of the broad spirit and scope of the present invention as defined in the claims. That is, the scope of the present invention is not limited to the particular examples and the attached drawings.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventors to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority or inferiority of the invention. Although the embodiments of the present disclosure have been described in detail, it should be understood that various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2010-294286 | Dec 2010 | JP | national |