Apparatus, method and computer program for facilitating meeting point selection between multiple meeting participants
By calculating the center point and candidate meeting points using server equipment and employing homomorphic encryption technology to protect user privacy, the problem of users being unwilling to share location data is solved, achieving both privacy protection and accurate meeting point selection, thus improving the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2024-01-05
- Publication Date
- 2026-07-31
AI Technical Summary
In existing location-based services, users are becoming more aware of privacy protection, leading to their reluctance to directly share location data and impacting the user experience.
The system calculates the center point and candidate meeting points of multiple meeting participants using server equipment, protects user privacy using homomorphic encryption technology, selects the optimal meeting point and provides accurate arrival time estimates, allowing users to choose meeting points without sharing their real location.
It enables privacy-preserving meeting point selection among multiple meeting participants, ensuring that user location privacy is not leaked, while providing accurate arrival time information, thus improving the user experience.
Smart Images

Figure CN122497961A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of location-based services, and more specifically, to facilitating the selection of meeting points among multiple meeting participants, as well as related equipment, methods, and computer programs. Background Technology
[0002] Location-based services (LBS) are software services for mobile device applications that utilize information about the mobile device's geographic location. The application collects geographic data, that is, data collected in real time using one or more location tracking technologies.
[0003] Typically, location-based services integrate data from various resources, including Global Positioning System (GPS) satellites, cellular base station ping signals, and short-range positioning beacons, to provide services based on a user's geographic location. Although location-based technologies have been commercially available for nearly two decades, applications and services using geographic data have only recently become mainstream, thanks to the widespread use of smartphones and tablets.
[0004] However, if location tracking data falls into the wrong hands, it could be misused for illicit purposes. Furthermore, this data could be used for unsolicited and unwanted targeted marketing or advertising campaigns, which many users consider excessively intrusive. Overall, due to increased privacy awareness, users are now more concerned about how service providers use their location data.
[0005] Therefore, at least in some cases, a different approach may be needed to enable users to use a service provider's LBS without directly sharing their location with the service provider. Summary of the Invention
[0006] This invention provides a simplified overview of some concepts, which will be further described in the detailed embodiments below. This invention is not intended to identify key or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter.
[0007] One object of the present invention is to facilitate the selection of meeting points among multiple meeting participants. The above and other objects are achieved through the features of the independent claims. Other implementations will be apparent from the dependent claims, the specification, and the drawings.
[0008] According to a first aspect, a server device is provided. The server device is configured to acquire current location data of each of at least two meeting participants located in a meeting area. The server device is further configured to calculate a center point based on the acquired current location data of each meeting participant. The server device is further configured to select one or more points of interest (POIs) close to the calculated center point from a set of POIs in map data of the meeting area as candidate meeting points for a meeting between the at least two meeting participants, the selection being based at least on: the selected one or more POIs minimizing at least one of the combined travel distance or the combined travel time of the at least two meeting participants. The server device is further configured to indicate the candidate meeting points to each meeting participant. This disclosure facilitates the selection of meeting points among multiple meeting participants, allowing users, such as map service applications, to plan and travel to agreed-upon meeting points.
[0009] In one implementation of the first aspect, the server device is further configured to acquire information about the mode of transportation for each meeting participant. This implementation allows the information about the mode of transportation to be used when calculating the estimated arrival time, thereby producing a more accurate estimate.
[0010] In one implementation of the first aspect, the server device is further configured to calculate a candidate estimated arrival time for each meeting participant to reach the candidate meeting point, based at least on one of acquired current location data or acquired information about the mode of transportation for each meeting participant. The server device is also configured to indicate the candidate estimated arrival time to each meeting participant. This implementation allows the meeting participants to have accurately calculated candidate estimated times to reach each candidate meeting point, thereby helping them decide which candidate meeting point to choose for the meeting.
[0011] In one implementation of the first aspect, the center point includes the centroid, the geometric median, or the smallest region enclosing the at least two meeting participants. This implementation allows for accurate calculation of the center point of the current location data acquired for each meeting participant.
[0012] In one implementation of the first aspect, the current location data of each meeting participant is obtained in homomorphic encryption. This implementation allows for the protection of the privacy between the users and the privacy of the operator of the server equipment.
[0013] In one implementation of the first aspect, the combined travel distance of the at least two meeting participants includes a weighted combined travel distance of the at least two meeting participants. This implementation allows prioritizing some travel distances over others based on selected weights.
[0014] In one implementation of the first aspect, the combined travel time of the at least two meeting participants includes a weighted combined travel time of the at least two meeting participants. This implementation allows prioritizing some travel times over others based on selected weights.
[0015] In one implementation of the first aspect, the weighting is based on information obtained about the mode of transportation for each meeting participant. This implementation allows prioritizing certain travel times over others based on the meeting participants' mode of transportation.
[0016] In one implementation of the first aspect, the candidate meeting points are sent to each meeting participant in homomorphic encrypted form. This implementation allows for the protection of the privacy between the users and the privacy of the operator of the server equipment.
[0017] In one implementation of the first aspect, the set of points of interest includes points of interest belonging to categories selected by at least one of the at least two meeting participants. This implementation allows the meeting participants to determine at what type of meeting place they wish to meet.
[0018] In one implementation of the first aspect, the server device is further configured to indicate at least one of the calculated center point or the current location data of each meeting participant to each meeting participant. This implementation allows the meeting participants to have information about the calculated center point and / or their current location, thereby helping them decide which candidate meeting point to select for the meeting.
[0019] In one implementation of the first aspect, the server device is further configured to determine which candidate meeting point to select for the meeting between the at least two meeting participants. This implementation allows for the determination of which candidate meeting point to select for the meeting.
[0020] In one implementation of the first aspect, the server device is further configured to receive votes from each meeting participant regarding which candidate meeting location to select for the meeting, and to determine the candidate meeting location that receives the majority of votes. This implementation allows the user to decide which candidate meeting location to select for the meeting through voting.
[0021] In one implementation of the first aspect, the server device is further configured to calculate, for each meeting participant, a final estimated arrival time to the selected candidate meeting point based at least on either acquired current location data or acquired information about the mode of transportation of each meeting participant. The server device is also configured to indicate the final estimated arrival time to each meeting participant. This implementation allows the user to have accurate information regarding the calculated estimated arrival time to the selected candidate meeting point.
[0022] In one implementation of the first aspect, the server device is further configured to periodically repeat the calculation and indication of the final estimated arrival time. This implementation allows the user to have up-to-date information regarding the accurate calculation of the estimated arrival time to the selected candidate meeting point.
[0023] According to a second aspect, a method is provided. The method includes: acquiring current location data of each of at least two meeting participants located in a meeting area by a server device. The method further includes: calculating a center point by the server device based on the acquired current location data of each meeting participant. The method further includes: selecting one or more points of interest (POIs) close to the calculated center point from a set of POIs in map data of the meeting area as candidate meeting points for a meeting between the at least two meeting participants, the selection being based at least on: the selected one or more POIs minimizing at least one of a combined travel distance or a combined travel time for the at least two meeting participants. The method further includes: indicating the candidate meeting points to each meeting participant by the server device. This disclosure facilitates the selection of meeting points among multiple meeting participants, allowing users, such as map service applications, to plan and travel to agreed-upon meeting points.
[0024] In one implementation of the second aspect, the method further includes: obtaining information about the mode of transportation for each meeting participant from the server device. This implementation allows the information about the mode of transportation to be used when calculating the estimated arrival time, thereby producing a more accurate estimate.
[0025] In one implementation of the second aspect, the method further includes: the server device calculating a candidate estimated arrival time for each meeting participant to reach the candidate meeting point based at least on either acquired current location data or acquired information about the mode of transportation for each meeting participant; and instructing the candidate estimated arrival time to be indicated to each meeting participant. This implementation allows the meeting participants to have accurately calculated candidate estimated times to reach each candidate meeting point, thereby helping them decide which candidate meeting point to choose for the meeting.
[0026] In one implementation of the second aspect, the center point includes the centroid, geometric median, or the smallest region enclosing the at least two meeting participants. This implementation allows for accurate calculation of the center point of the current location data acquired for each meeting participant.
[0027] In one implementation of the second aspect, the current location data of each meeting participant is obtained in homomorphic encryption. This implementation allows for the protection of the privacy between the users and the privacy of the operator of the server equipment.
[0028] In one implementation of the second aspect, the combined travel distance of the at least two meeting participants includes a weighted combined travel distance of the at least two meeting participants. This implementation allows prioritizing some travel distances over others based on selected weights.
[0029] In one implementation of the second aspect, the combined travel time of the at least two meeting participants includes a weighted combined travel time of the at least two meeting participants. This implementation allows prioritizing some travel times over others based on selected weights.
[0030] In one implementation of the second aspect, the weighting is based on acquired information about the mode of transportation for each meeting participant. This implementation allows prioritizing certain travel times over others based on the meeting participants' mode of transportation.
[0031] In one implementation of the second aspect, the candidate meeting points are sent to each meeting participant in homomorphic encryption. This implementation allows for the protection of the privacy between the users and the privacy of the operator of the server equipment.
[0032] In one implementation of the second aspect, the set of points of interest includes points of interest belonging to categories selected by at least one of the at least two meeting participants. This implementation allows the meeting participants to determine at what type of meeting place they wish to meet.
[0033] In one implementation of the second aspect, the method further includes: the server device indicating at least one of the calculated center point or the current location data of each meeting participant to each meeting participant. This implementation allows the meeting participants to have information about the calculated center point and / or its current location, thereby helping the meeting participants decide which candidate meeting point to select for the meeting.
[0034] In one implementation of the second aspect, the method further includes: the server device determining which candidate meeting point to select for the meeting between the at least two meeting participants. This implementation allows for the determination of which candidate meeting point to select for the meeting.
[0035] In one implementation of the second aspect, the method further includes: at the server device, receiving votes from each meeting participant regarding which candidate meeting location to select for the meeting, and determining the candidate meeting location that receives the majority of votes to select for the meeting. This implementation allows the user to decide which candidate meeting location to select for the meeting through voting.
[0036] In one implementation of the second aspect, the method further includes: the server device calculating a final estimated arrival time for each meeting participant to reach a selected candidate meeting point, based at least on either acquired current location data or acquired information about the mode of transportation for each meeting participant; and instructing the final estimated arrival time to be indicated to each meeting participant. This implementation allows the user to have accurate information about the estimated arrival time to reach the selected candidate meeting point.
[0037] In one implementation of the second aspect, the method further includes: periodically repeating the calculation and indication of the final estimated arrival time by the server device. This implementation allows the user to have up-to-date information regarding the accurate calculation of the estimated arrival time to the selected candidate meeting point.
[0038] According to a third aspect, a computer program product is provided. The computer program product includes program code, which, when executed on a server device, performs the method according to the second aspect. This disclosure facilitates the selection of meeting points among multiple meeting participants, enabling users, such as map service applications, to plan and travel to agreed-upon meeting points.
[0039] According to a fourth aspect, an apparatus is provided. The apparatus includes components for performing the method according to the second aspect. This disclosure facilitates the selection of meeting points among multiple meeting participants, enabling users, such as users of map service applications, to plan and travel to agreed-upon meeting points.
[0040] Many of the accompanying features will become more readily understood, and thus more readily comprehended, with reference to the following detailed description taken in conjunction with the accompanying drawings. Attached Figure Description
[0041] In the following, exemplary embodiments are described in more detail with reference to the accompanying drawings, wherein:
[0042] Figure 1 This is a diagram illustrating exemplary systems that can implement various embodiments of the present disclosure;
[0043] Figure 2 This is a block diagram showing the server equipment;
[0044] Figures 3A to 3C It is a diagram illustrating various aspects of the meeting point selection among the multiple publicly disclosed meeting participants;
[0045] Figure 4 This is a flowchart illustrating the method.
[0046] In the following text, the same reference numerals refer to the same or at least functionally equivalent features. Detailed Implementation
[0047] In the following description, reference is made to the accompanying drawings, which form part of this disclosure and illustrate, by way of illustration, specific aspects to which this disclosure may be applied. It should be understood that other aspects may be utilized and structural or logical changes may be made without departing from the scope of this disclosure. Therefore, the following detailed description should not be construed in a limiting sense, as the scope of this disclosure is defined in the appended claims.
[0048] For example, it should be understood that the disclosure relating to the described method is equally applicable to the corresponding device or system for performing the method, and vice versa. For example, if a specific method step is described, the corresponding device may include units for performing the described method step, even if such units are not explicitly described or shown in the drawings. On the other hand, for example, if a particular apparatus is described based on functional units, the corresponding method may include steps for performing the described function, even if such steps are not explicitly described or shown in the drawings. Furthermore, it should be understood that, unless otherwise explicitly stated, features of the various exemplary aspects described herein can be combined with each other.
[0049] Figure 1An exemplary system 100 is illustrated, in which various embodiments of this disclosure can be implemented. The figure shows meeting participants 121, 122, and 123 located in meeting area 110. Each meeting participant 121, 122, and 123 has client devices 131, 132, and 133, which they use to interact with location-based services (LBS) provided by server device 200. Client devices 131, 132, and 133 may include, for example, mobile phones, smartphones, tablets, personal computers, laptops, smartwatches, smart glasses, or any handheld, portable, and / or wearable devices. Server device 200 will be described in more detail below.
[0050] At least some embodiments of this disclosure can facilitate the selection of meeting points among multiple meeting participants.
[0051] At least some embodiments of this disclosure allow for the reasonable determination of the distance from the meeting location to the initial location of each meeting participant.
[0052] At least some embodiments of this disclosure can be used to determine meeting points that are convenient for each meeting participant.
[0053] At least some embodiments of this disclosure enable meeting participants to hide from each other and from any other person their initial location.
[0054] At least some embodiments of this disclosure enable the meeting location to be displayed only to the meeting participants and not to any other person.
[0055] At least some embodiments of this disclosure are capable of calculating a set of candidate meeting points among meeting participants by openly sharing the locations of meeting participants (e.g., in a high-trust environment) or in a privacy-preserving manner (e.g., in a low-trust environment).
[0056] At least some embodiments of this disclosure are capable of selecting the optimal meeting point for each meeting participant in an open or privacy-preserving manner.
[0057] At least some embodiments of this disclosure are capable of dynamically updating the estimated arrival time / estimated time from the meeting point for each participant as they travel to the selected meeting point.
[0058] Next, based on Figure 2 An exemplary embodiment of server device 200 is described. Some features of the described device are optional features that can provide further advantages.
[0059] Figure 2This is a block diagram illustrating a server device 200 according to an embodiment of the present disclosure. In one embodiment, the server device 200 may include, but is not limited to, computer equipment. For example, the server device 200 may be cloud-based.
[0060] Server device 200 may include at least one processor or processing unit 202 and at least one memory 204 coupled to at least one processor 202, which may be used to implement the functions described in more detail below. Server device 200 may also include Figure 2 Other elements not shown in the diagram.
[0061] At least one processor 202 may include one or more of various processing devices, such as a coprocessor, microprocessor, controller, digital signal processor (DSP), processing circuitry with or without an accompanying DSP, or various other processing devices including integrated circuits, such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), microcontroller units (MCUs), hardware accelerators, dedicated computer chips, neural network (NN) chips, artificial intelligence (AI) accelerators, tensor processing units (TPUs), neural processing units (NPUs), etc.
[0062] Memory 204 can be used to store, for example, computer programs. Memory 204 may include one or more volatile memory devices, one or more non-volatile memory devices, and / or a combination of one or more volatile memory devices and non-volatile memory devices. For example, memory 204 may be embodied as a semiconductor memory (e.g., mask ROM, programmable ROM (PROM), erasable PROM (EPROM), flash ROM, random access memory (RAM), etc.).
[0063] Server device 200 is used to acquire the current location data of each of at least two meeting participants 121, 122, and 123 located in meeting area 110. In at least some embodiments, the acquired current location data of each meeting participant may be in homomorphic encrypted form.
[0064] In at least some embodiments, server device 200 can also be used to obtain information about the mode of transportation (e.g., driving, taking a taxi, public transportation, cycling, or walking) of each meeting participant.
[0065] The server device 200 is also used to calculate a center point 140 for the current location data of each meeting participant acquired. For example, the center point 140 may include the centroid, the geometric median, or the smallest region enclosing at least two meeting participants 121, 122, 123.
[0066] In at least some embodiments, server device 200 may also be used to indicate the calculated center point 140 and / or the current location data of each meeting participant (e.g., via client devices 131, 132, 133) to each meeting participant.
[0067] Server device 200 is further configured to select one or more points of interest (POIs) close to the calculated center point 140 from a set of POIs in the map data of meeting area 110 as candidate meeting points 151, 152, 153 for a meeting between at least two meeting participants 121, 122, 123. The selection is based at least on the following: the selected POIs minimize at least one of the following: the combined travel distance of at least two meeting participants 121, 122, 123 or the combined travel time of at least two meeting participants 121, 122, 123.
[0068] For example, the set of points of interest may include categories (e.g., restaurants, cafes, cinemas, shopping malls, sports centers) selected by at least one of the at least two meeting participants 121, 122, 123.
[0069] In at least some embodiments, the combined travel distance of at least two meeting participants 121, 122, 123 may include a weighted combined travel distance of at least two meeting participants 121, 122, 123. For example, the weighting of the combined travel distance may be based on information obtained about the mode of transportation of each meeting participant.
[0070] In at least some embodiments, the combined travel time of at least two meeting participants 121, 122, 123 may include a weighted combined travel time of at least two meeting participants 121, 122, 123. For example, the weighting of the combined travel time may be based on information obtained about the mode of transportation of each meeting participant.
[0071] Server device 200 is also configured to indicate candidate meeting points 151, 152, 153 (e.g., via client devices 131, 132, 133) to each meeting participant. In at least some embodiments, candidate meeting points 151, 152, 153 can be sent to each meeting participant in homomorphic encryption. For example, candidate meeting points 151, 152, 153 can be sent from server device 200 to client devices 131, 132, 133 of meeting participants 121, 122, 123 in homomorphic encryption, decrypted on client devices 131, 132, 133, and then indicated to meeting participants 121, 122, 123 on client devices 131, 132, 133.
[0072] In at least some embodiments, server device 200 may also be used to calculate, for each meeting participant, a candidate estimated time of arrival (ETA) to reach candidate meeting points 151, 152, 153, based at least on the acquired current location data and / or the acquired information about the mode of transportation of each meeting participant. Server device 200 may also be used to indicate the candidate estimated time of arrival to each meeting participant.
[0073] In at least some embodiments, server device 200 can also be used to determine which candidate meeting point to select for a meeting between at least two meeting participants 121, 122, 123. For example, server device 200 can also be used to receive (e.g., sent via client devices 131, 132, 133) votes from each meeting participant regarding which candidate meeting point to select for the meeting, and determine the candidate meeting point to select for the meeting that receives the majority of votes.
[0074] In at least some embodiments, server device 200 may also be used to calculate a final estimated arrival time for each meeting participant to reach a selected candidate meeting point, based at least on the acquired current location data and / or the acquired information about the mode of transportation of each meeting participant. Server device 200 may also be used to indicate the final estimated arrival time (e.g., via client devices 131, 132, 133) to each meeting participant.
[0075] In at least some embodiments, the server device 200 can also be used to periodically repeat the calculation and indication of the final estimated time of arrival.
[0076] Figure 3A Figure 300A illustrates the privacy-preserving calculations and indications for combined travel distance and combined travel time. Figure 3B Figure 300B shows the encryption of the location data of meeting participants 121, 122, and 123.
[0077] exist Figures 3A to 3C In the example, server device 200 is used to facilitate communication, computation, and mapping functions without knowing the location of the meeting participants or meeting point. Furthermore, in Figures 3A to 3C In the example, meeting participants 121, 122, and 123 want to meet but not display their location, and want to reduce travel time and distance, but they are not familiar with meeting area 110. Therefore, in Figures 3A to 3C In the example, server device 200 is used to set up a temporary meeting point.
[0078] First, each meeting participant 121, 122, and 123 is located at positions (x1, y1), (x2, y2), and (x3, y3), respectively.
[0079] The center point (x) can be calculated. c , y c ) 140, the center point may be, for example, the centroid, the geometric median, or the smallest region surrounding the positions of meeting participants 121, 122, 123.
[0080] A list of potential or candidate meeting points 151, 152, 153 can be determined based on, for example, minimizing the combined travel distance d1 + d2 + d3, the combined travel time t1 + t2 + t3, and / or the weighted travel distance or weighted travel time, where the weights depend on, for example, the mode of transportation of each meeting participant:
[0081] w1.d1 + w2.d2 + w3.d3, or
[0082] w1.t1 + w2.t2 + w3.t3.
[0083] For example, the actual meeting point 310 (one of the candidate meeting points 151, 152, and 153) can be determined automatically or through a vote by the meeting participants.
[0084] The above calculations can be performed in a privacy-preserving manner, for example, using homomorphic encryption, where each meeting participant 121, 122, 123 can share their location coordinates ENC(x) with server device 200. j , y jThe encrypted version of the meeting point or potential meeting point can be shared with each meeting participant and decrypted on the client devices 131, 132, and 133 of each meeting participant 121, 122, and 123.
[0085] Figure 3C Figure 300C illustrates the privacy-preserving calculations and indications for the estimated time of arrival.
[0086] After the participants 121, 122, and 123 agree on a meeting point, the participants begin their journey.
[0087] To keep other meeting participants informed of the updated expected time of arrival (ETA) (or estimated time to meeting (ETM)), each meeting participant's current location can be compared to the location of the selected meeting point 310, and the arrival time can be calculated, for example, by using a navigation application on each meeting participant's client devices 131, 132, 133.
[0088] By sharing their ETAs, meeting participants 121, 122, and 123 protected their privacy because they did not need to share their location before arriving at the meeting point.
[0089] During the trip, the ETA can be dynamically updated, allowing each meeting participant (121, 122, 123) to know the progress of other meeting participants.
[0090] The following describes a first use case for securely determining meeting points in the context of real-time location sharing between users, where the locations of meeting participants and their ETAs are publicly shared.
[0091] Alice wants to meet Bob and Carl, but since she's unfamiliar with the area, she doesn't know each other's locations. Alice is at location X (outdoors), while Bob and Carl are both at location Y (inside the shopping mall). They can each open a map service application to check their real-time navigation status. For example, the application could display other users' current locations, distances, and travel times relative to their own, and suggest several candidate meeting points (151, 152, 153) along with their ETAs (Electronic To-Availability) to those points. They vote, and the majority vote determines the meeting point. The application can then help them navigate to their chosen meeting point. This can be applied to scenarios such as walking, cycling, and car navigation. The environment can encompass indoors, outdoors, and a mix of both.
[0092] Therefore, this disclosure can suggest and facilitate the selection of a meeting place between Alice, Bob, and Carl.
[0093] The following describes a second use case for securely determining meeting points in the context of real-time location sharing between users, where the locations of meeting participants and ETAs are shared in a privacy-preserving manner.
[0094] Alice wants to meet Bob and Carl, but is unfamiliar with the area and doesn't know each other's locations. Alice is at location X (outdoors), while Bob and Carl are both at location Y (inside the shopping mall). They can each open a map service application to check their real-time navigation status. The applications can share each user's encrypted location with server device 200, which acts as a trusted third party (TTP). For example, using multi-party homomorphic computation, TTP 200 can calculate the centroid 140 of the user's current location. The calculated centroid 140 can be returned to each user's application, and a set of potential meeting points 151, 152, and 153 close to centroid 140 can be presented to the user for voting. Each user can rank the potential meeting points 151, 152, and 153, and TTP 200 can select a meeting point based on the top-ranked locations, which can be shared with each user's application. Each user's (or TTP 200's) application can calculate the corresponding ETA from the user to the meeting point. TTP 200 can determine the estimated meeting time based on the maximum value of all ETAs and share it with all users.
[0095] Therefore, this disclosure allows users to protect their privacy without having to share their location, ETA, or ETM with anyone.
[0096] For example, user A can start a secure meeting from the meeting / map / messaging application on their client device and begin inviting users B and C.
[0097] User A can select a venue type standard, such as restaurant, coffee shop, cinema, shopping mall, or sports center.
[0098] Users B and C see the invitation and can accept or decline it.
[0099] All users can choose their mode of transportation (e.g., driving, taking a taxi, public transportation, cycling, or walking).
[0100] If the user accepts, each person can receive a list, for example, of the top three preferred options to vote on, along with the ETA based on the user's mode of transportation.
[0101] Server 200 performs calculations based on centroids, weighted averages, and standard-based meeting points and ratings.
[0102] Meeting points can be prioritized, for example, based on travel time.
[0103] Once a meeting point is selected, users can see the maximum ETA. Users can also choose to display their ETA to other users.
[0104] Figure 4 An exemplary flowchart illustrating a method 400 according to an embodiment of this disclosure is shown.
[0105] At operation 401, server device 200 acquires the current location data of each of at least two meeting participants 121, 122, and 123 located in meeting area 110.
[0106] At optional operation 402, server device 200 can obtain information about the mode of transportation for each meeting participant.
[0107] At operation 403, server device 200 calculates center point 140 based on the current location data of each meeting participant.
[0108] At optional operation 404, server device 200 may enable at least the calculated center point 140 and / or the current location data of each meeting participant to be indicated to each meeting participant.
[0109] At optional operation 404, server device 200 may receive information about the category of points of interest selected by at least one of the at least two meeting participants 121, 122, 123.
[0110] At operation 406, server device 200 selects one or more points of interest (POIs) close to the calculated center point 140 from a set of POIs in the map data of meeting area 110 as candidate meeting points 151, 152, 153 for a meeting between at least two meeting participants 121, 122, 123. As described in more detail above, the selection is based at least on the fact that the selected one or more POIs minimize the combined travel distance and / or combined travel time of at least two meeting participants 121, 122, 123 from the set of POIs.
[0111] At operation 407, server device 200 assigns candidate meeting points 151, 152, and 153 to each meeting participant.
[0112] In optional operation 408, server device 200 may calculate, based at least on one of the acquired current location data or the acquired information on the mode of transportation of each meeting participant, a candidate estimated arrival time to candidate meeting points 151, 152, 153 for each meeting participant, and indicate the candidate estimated arrival time to each meeting participant.
[0113] At optional operation 409, server device 200 can receive a vote from each meeting participant regarding which candidate meeting point to select for the meeting.
[0114] At optional operation 410, server device 200 can determine which candidate meeting point to choose for a meeting between at least two meeting participants 121, 122, and 123. For example, when a vote is received at optional operation 409, server device 200 can determine which candidate meeting point to choose for the meeting to receive the majority of votes.
[0115] In optional operation 411, server device 200 may calculate the final estimated arrival time for each meeting participant to the selected candidate meeting point based at least on the acquired current location data and / or the acquired information about the mode of transportation of each meeting participant, and indicate the final estimated arrival time to each meeting participant.
[0116] In optional operation 412, server device 200 may periodically repeat operation 411, which calculates and indicates the final estimated arrival time.
[0117] Method 400 can be executed by server device 200. Operations 401 to 412 can be executed, for example, by at least one processor 202 and memory 204. Other features of method 400, which are generated directly by the functions and parameters of server device 200, will not be described further here. Method 400 can be executed by a computer program or a portion thereof.
[0118] Server device 200 may include components for performing at least one method described herein. In one example, the components may include at least one processor 202 and at least one memory 204, the at least one memory including program code that, when executed by the at least one processor, causes server device 200 to perform the method.
[0119] The functions described herein can be performed at least in part by one or more computer program product components (e.g., software components). According to one embodiment, server device 200 may include a processor or processor circuitry, such as a microcontroller, which, when program code is executed, is configured by the program code to perform embodiments of the described operations and functions. Alternatively or additionally, the functions described herein can be performed at least in part by one or more hardware logic components. Examples, but not limited to, illustrative types of hardware logic components that may be used include field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip systems (SOCs), complex programmable logic devices (CPLDs), tensor processing units (TPUs), and graphics processing units (GPUs).
[0120] Any ranges or device values given herein may be extended or modified without losing the desired effect. Furthermore, unless expressly prohibited, any embodiment may be combined with other embodiments.
[0121] Although the subject matter has been described in language specific to structural features and / or actions, it should be understood that the subject matter as defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are disclosed as examples of implementing the claims, and other equivalent features and actions are intended to be included within the scope of the claims.
[0122] It should be understood that the advantages and benefits described above may relate to one embodiment or multiple embodiments. The embodiments are not limited to solving any or all of the described problems, nor are they limited to embodiments having any or all of the described advantages and benefits. It should also be understood that reference to "a" may refer to one or more of these items.
[0123] The steps of the methods described herein can be performed in any suitable order, or simultaneously when appropriate. Additionally, individual boxes may be removed from any of these methods without departing from the spirit and scope of the subject matter described herein. Aspects of any of the embodiments described above can be combined with aspects of any other embodiments described to form further embodiments without losing the desired effect.
[0124] The term “comprising” is used herein to mean including the identified methods, frames or elements, but such frames or elements do not include an exclusive list, and the methods or apparatus may include additional frames or elements.
[0125] It should be understood that the above description is provided by way of example only, and various modifications can be made by those skilled in the art. The foregoing specification, examples, and data provide a complete description of the structure and use of exemplary embodiments. Although various embodiments have been described above with a degree of specificity or in combination with one or more individual embodiments, those skilled in the art can make numerous changes to the disclosed embodiments without departing from the spirit or scope of this specification.
Claims
1. A server device (200), characterized by Used for: Obtain the current location data of each of at least two meeting participants (121, 122, 123) located in the meeting area (110); Calculate the center point (140) for the current location data of each meeting participant. From a set of points of interest in the map data of the meeting area (110), one or more points of interest close to the calculated center point (140) are selected as candidate meeting points (151, 152, 153) for the meeting between the at least two meeting participants (121, 122, 123), and the selection is based at least on: the selected one or more points of interest minimizing at least one of the combined travel distance of the at least two meeting participants (121, 122, 123) or the combined travel time of the at least two meeting participants (121, 122, 123); The candidate meeting points (151, 152, 153) are then assigned to each meeting participant.
2. The server device (200) according to claim 1, characterized in that, It is also used to obtain information about the mode of transportation for each meeting participant.
3. The server device (200) according to claim 2, characterized in that, Also used for: Based at least on one of the acquired current location data or the acquired information on the mode of transportation for each meeting participant, calculate a candidate estimated arrival time for each meeting participant to reach the candidate meeting point (151, 152, 153). The candidate estimated arrival time is then indicated to each meeting participant.
4. The server device (200) according to claim 2 or 3, characterized in that, The center point (140) includes the centroid, the geometric median, or the smallest region surrounding the at least two meeting participants (121, 122, 123).
5. The server device (200) according to any one of claims 2 to 4, characterized in that, The current location data of each meeting participant is obtained in homomorphic encryption.
6. The server device (200) according to any one of claims 2 to 5, characterized in that, The combined travel distance of the at least two meeting participants (121, 122, 123) includes the weighted combined travel distance of the at least two meeting participants (121, 122, 123).
7. The server device (200) according to any one of claims 2 to 6, characterized in that, The combined travel time of the at least two meeting participants (121, 122, 123) includes the weighted combined travel time of the at least two meeting participants (121, 122, 123).
8. The server device (200) according to claim 6 or 7, characterized in that, The weighting is based on the information obtained about the mode of transportation for each meeting participant.
9. The server device (200) according to any one of claims 2 to 8, characterized in that, The candidate meeting points (151, 152, 153) are sent to each meeting participant in homomorphic encryption.
10. The server device (200) according to any one of claims 2 to 9, characterized in that, The set of points of interest includes points of interest of a category selected by at least one of the at least two meeting participants (121, 122, 123).
11. The server device (200) according to any one of claims 2 to 10, characterized in that, It is also used to indicate to each meeting participant at least one of the calculated center point (140) or the current location data of each meeting participant.
12. The server device (200) according to any one of claims 2 to 11, characterized in that, It is also used to determine which candidate meeting point to select for the meeting between the at least two meeting participants (121, 122, 123).
13. The server device (200) according to claim 12, characterized in that, It is also used to receive votes from each meeting participant about which candidate meeting point to choose for the meeting, and to determine the candidate meeting point that receives the majority of votes to choose for the meeting.
14. The server device (200) according to claim 12 or 13, characterized in that, Also used for: Based at least on either the acquired current location data or the acquired information about the mode of transportation for each meeting participant, calculate the final estimated arrival time for each meeting participant to reach the selected candidate meeting point; The final estimated arrival time is then indicated to each meeting participant.
15. The server device (200) according to claim 14, characterized in that, It is also used to periodically repeat the calculation and indication of the final estimated arrival time.
16. A method (400), characterized in that, include: The server device (200) obtains (401) the current location data of each of at least two meeting participants (121, 122, 123) located in the meeting area (110); The server device (200) calculates (403) the center point (140) for each meeting participant's current location data. The server device (200) selects (406) one or more points of interest (POIs) close to the calculated center point (140) from a set of POIs in the map data of the meeting area (110) as candidate meeting points (151, 152, 153) for the meeting between the at least two meeting participants (121, 122, 123), the selection being based at least on: the selected one or more POIs minimizing at least one of the combined travel distance of the at least two meeting participants (121, 122, 123) or the combined travel time of the at least two meeting participants (121, 122, 123); The server device (200) causes (407) the candidate meeting points (151, 152, 153) to be indicated to each meeting participant.
17. A computer program product including program code, characterized in that, When the program code is executed on a server device, it is used to perform the method according to claim 16.
18. An apparatus, characterized in that, Includes components for performing the method (400) according to claim 16.