Devices, methods and computer programs for facilitating a meeting point selection among multiple meeting participants
A server device calculates a central point and selects candidate meeting points using encrypted location data to facilitate meeting point selection among participants, ensuring privacy and accuracy in travel times, addressing concerns of location data sharing.
Patent Information
- Application Number
- PCT/EP2024/050203
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-05
- Publication Date
- 2025-07-10
AI Technical Summary
Location-based services raise privacy concerns as users are hesitant to share their location data, and there is a need for a system that facilitates meeting point selection among multiple participants without directly sharing their locations.
A server device calculates a central point based on participants' encrypted location data, selects candidate meeting points minimizing travel distance or time, and indicates these points to participants while preserving privacy through homomorphic encryption.
Enables accurate meeting point selection and estimated arrival times without revealing individual locations, allowing participants to plan and travel to a convenient meeting point while maintaining privacy.
Smart Images

Figure EP2024050203_10072025_PF_FP_ABST
Abstract
Description
[0001] DEVICES, METHODS AND COMPUTER PROGRAMS FOR FACILITATING A MEETING POINT SELECTION AMONG MULTIPLE MEETING PARTICIPANTS
[0002] TECHNICAL FIELD
[0003] The present disclosure relates to the field of location-based services, and, more particularly, to facilitating a meeting point selection among multiple meeting participants, and related devices, methods and computer programs.
[0004] BACKGROUND
[0005] A location-based service (LBS) is a software service for mobile device applications that utilizes knowledge about where the mobile device is geographically located. The application collects geodata, which is data gathered in real time using one or more location tracking technologies.
[0006] Typically, location-based services may integrate data from various resources, including global positioning system (GPS) satellites, cellular tower pings and short-range positioning beacons, to provide services based on the user's geographical location. Although location-based technologies have been commercially available for almost two decades, the applications and services that use geodata have recently become mainstream, thanks to the widespread use of smartphones and tablets.
[0007] However, location tracking data in the wrong hands could be abused for illegal purposes. Furthermore, the data can be used for unsolicited and unwanted targeted marketing or advertising campaigns that many find overly intrusive. In general, due to an increase in privacy awareness, users nowadays are more concerned about how service providers use their location data. Accordingly, at least in some situations, there may be a need for a different approach where a user can use an LBS of a service provider without directly sharing their location with the service provider.
[0008] SUMMARY
[0009] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
[0010] It is an object of the invention to allow facilitating a meeting point selection among multiple meeting participants. The foregoing and other objects are achieved by the features of the independent claims. Further implementation forms are apparent from the dependent claims, the description and the figures.
[0011] According to a first aspect, a server device is provided. The server device is configured to obtain current location data of each meeting participant of at least two meeting participants located in a meeting area. The server device is further configured to calculate a central point for the obtained current location data of each meeting participant. The server device is further configured to select, out of a group of points of interest in map data of the meeting area, one or more points of interest in proximity to the calculated central point as candidate meeting points for a meeting between the at least two meeting participants, based at least on the selected one or more points of interest minimizing at least one of a combined travel distance of the at least two meeting participants or a combined travel time of the at least two meeting participants among the group of points of interest. The server device is further configured to cause the candidate meeting points to be indicated to each meeting participant. The present disclosure allows facilitating a meeting point selection among multiple meeting participants, such that users of, e.g., map service applications may plan and travel to an agreed meeting point.
[0012] In an implementation form of the first aspect, the server device is further configured to obtain information about a mode of transport of each meeting participant. This implementation form allows using the information about the modes of transport in calculating estimated times of arrival, thereby resulting in more accurate estimates.
[0013] In an implementation form of the first aspect, the server device is further configured to calculate candidate estimated times of arrival to the candidate meeting points for each meeting participant, based at least on one of the obtained current location data or the obtained information about the mode of transport of each meeting participant. The server device is further configured to cause the candidate estimated times of arrival to be indicated to each meeting participant. This implementation form allows the meeting participants to have accurately calculated candidate estimated times of arrival to the various candidate meeting points, thereby helping them to decide which candidate meeting point to select for the meeting.
[0014] In an implementation form of the first aspect, the central point comprises a centroid, a geometric median, or a smallest location enclosing the at least two meeting participants. This implementation form allows accurately calculating the central point for the obtained current location data of each meeting participant.
[0015] In an implementation form of the first aspect, the obtained current location data of each meeting participant is in a homomor- phically encrypted form. This implementation form allows preserving privacy of the users from each other and from the party running the server device.
[0016] In an implementation form of the first aspect, the combined travel distance of the at least two meeting participants comprises a weighted combined travel distance of the at least two meeting participants. This implementation form allows prioritizing some travel distances over others based on a selected weight.
[0017] In an implementation form of the first aspect, the combined travel time of the at least two meeting participants comprises a weighted combined travel time of the at least two meeting participants. This implementation form allows prioritizing some travel times over others based on a selected weight.
[0018] In an implementation form of the first aspect, the weighting is based on the obtained information about the mode of transport of each meeting participant. This implementation form allows prioritizing some travel times and / or travel times over others based on the modes of transport of the meeting participants.
[0019] In an implementation form of the first aspect, the candidate meeting points are transmitted to each meeting participant in a homomorphically encrypted form. This implementation form allows preserving privacy of the users from each other and from the party running the server device.
[0020] In an implementation form of the first aspect, the group of points of interest comprises points of interest in a category selected by at least one meeting participant of the at least two meeting participants. This implementation form allows the meeting participants to determine in which type of a meeting point they want to meet.
[0021] In an implementation form of the first aspect, the server device is further configured to cause at least one of the calculated central point or the current location data of each meeting participant to be indicated to each meeting participant. This implementation form allows the meeting participants to have information about the calculated central point and / or their current location, thereby helping them to decide which candidate meeting point to select for the meeting.
[0022] In an implementation form of the first aspect, the server device is further configured to determine which candidate meeting point is selected for the meeting between the at least two meeting participants. This implementation form allows deciding which candidate meeting point to select for the meeting.
[0023] In an implementation form of the first aspect, the server device is further configured to receive a vote on which candidate meeting point to select for the meeting from each meeting participant, and to determine a candidate meeting point receiving a majority of the votes to be selected for the meeting. This implementation form allows the users to decide by voting which candidate meeting point to select for the meeting.
[0024] In an implementation form of the first aspect, the server device is further configured to calculate a final estimated time of arrival to the selected candidate meeting point for each meeting participant, based at least on one of the obtained current location data or the obtained information about the mode of transport of each meeting participant. The server device is further configured to cause the final estimated times of arrival to be indicated to each meeting participant. This implementation form allows the users to have accurately calculated information about the estimated time of arrival to the selected candidate meeting point.
[0025] In an implementation form of the first aspect, the server device is further configured to periodically repeat the calculation and indication of the final estimated times of arrival. This implementation form allows the users to have accurately calculated and up-to-date information about the estimated time of arrival to the selected candidate meeting point. According to a second aspect, a method is provided. The method comprises obtaining, by a server device, current location data of each meeting participant of at least two meeting participants located in a meeting area. The method further comprises calculating, by the server device, a central point for the obtained current location data of each meeting participant. The method further comprises selecting, by the server device, out of a group of points of interest in map data of the meeting area, one or more points of interest in proximity to the calculated central point as candidate meeting points for a meeting between the at least two meeting participants, based at least on the selected one or more points of interest minimizing at least one of a combined travel distance of the at least two meeting participants or a combined travel time of the at least two meeting participants among the group of points of interest. The method further comprises causing, by the server device, the candidate meeting points to be indicated to each meeting participant. The present disclosure allows facilitating a meeting point selection among multiple meeting participants, such that users of, e.g., map service applications may plan and travel to an agreed meeting point.
[0026] In an implementation form of the second aspect, the method further comprises obtaining, by the server device, information about a mode of transport of each meeting participant. This implementation form allows using the information about the modes of transport in calculating estimated times of arrival, thereby resulting in more accurate estimates.
[0027] In an implementation form of the second aspect, the method further comprises calculating, by the server device, candidate estimated times of arrival to the candidate meeting points for each meeting participant, based at least on one of the obtained current location data or the obtained information about the mode of transport of each meeting participant, and causing the candidate estimated times of arrival to be indicated to each meeting participant. This implementation form allows the meeting participants to have accurately calculated candidate estimated times of arrival to the various candidate meeting points, thereby helping them to decide which candidate meeting point to select for the meeting.
[0028] In an implementation form of the second aspect, the central point comprises a centroid, a geometric median, or a smallest location enclosing the at least two meeting participants. This implementation form allows accurately calculating the central point for the obtained current location data of each meeting participant.
[0029] In an implementation form of the second aspect, the obtained current location data of each meeting participant is in a homo- morphically encrypted form. This implementation form allows preserving privacy of the users from each other and from the party running the server device.
[0030] In an implementation form of the second aspect, the combined travel distance of the at least two meeting participants comprises a weighted combined travel distance of the at least two meeting participants. This implementation form allows prioritizing some travel distances over others based on a selected weight.
[0031] In an implementation form of the second aspect, the combined travel time of the at least two meeting participants comprises a weighted combined travel time of the at least two meeting participants. This implementation form allows prioritizing some travel times over others based on a selected weight.
[0032] In an implementation form of the second aspect, the weighting is based on the obtained information about the mode of transport of each meeting participant. This implementation form allows prioritizing some travel times and / or travel times over others based on the modes of transport of the meeting participants.
[0033] In an implementation form of the second aspect, the candidate meeting points are transmitted to each meeting participant in a homomorphically encrypted form. This implementation form allows preserving privacy of the users from each other and from the party running the server device.
[0034] In an implementation form of the second aspect, the group of points of interest comprises points of interest in a category selected by at least one meeting participant of the at least two meeting participants. This implementation form allows the meeting participants to determine in which type of a meeting point they want to meet.
[0035] In an implementation form of the second aspect, the method further comprises causing, by the server device, at least one of the calculated central point or the current location data of each meeting participant to be indicated to each meeting participant. This implementation form allows the meeting participants to have information about the calculated central point and / or their current location, thereby helping them to decide which candidate meeting point to select for the meeting. In an implementation form of the second aspect, the method further comprises determining, by the server device, which candidate meeting point is selected for the meeting between the at least two meeting participants. This implementation form allows deciding which candidate meeting point to select for the meeting.
[0036] In an implementation form of the second aspect, the method further comprises receiving, at the server device, a vote on which candidate meeting point to select for the meeting from each meeting participant, and determining a candidate meeting point receiving a majority of the votes to be selected for the meeting. This implementation form allows the users to decide by voting which candidate meeting point to select for the meeting.
[0037] In an implementation form of the second aspect, the method further comprises calculating, by the server device, a final estimated time of arrival to the selected candidate meeting point for each meeting participant, based at least on one of the obtained current location data or the obtained information about the mode of transport of each meeting participant, and causing the final estimated times of arrival to be indicated to each meeting participant. This implementation form allows the users to have accurately calculated information about the estimated time of arrival to the selected candidate meeting point.
[0038] In an implementation form of the second aspect, the method further comprises periodically repeating, by the server device, the calculation and indication of the final estimated times of arrival. This implementation form allows the users to have accurately calculated and up-to-date information about the estimated time of arrival to the selected candidate meeting point.
[0039] According to a third aspect, a computer program product is provided. The computer program product comprises program code configured to perform a method according to the second aspect, when the program code is executed on a server device. The present disclosure allows facilitating a meeting point selection among multiple meeting participants, such that users of, e.g., map service applications may plan and travel to an agreed meeting point.
[0040] According to a fourth aspect, an apparatus is provided. The apparatus comprises means for carrying out a method according to the second aspect. The present disclosure allows facilitating a meeting point selection among multiple meeting participants, such that users of, e.g., map service applications may plan and travel to an agreed meeting point.
[0041] Many of the attendant features will be more readily appreciated as they become better understood by reference to the following detailed description considered in connection with the accompanying drawings.
[0042] DESCRIPTION OF THE DRAWINGS
[0043] In the following, example embodiments are described in more detail with reference to the attached figures and drawings, in which:
[0044] Fig. 1 is a diagram illustrating an example system, where various embodiments of the present disclosure may be implemented;
[0045] Fig. 2 is a block diagram illustrating a server device;
[0046] Figs. 3 A to 3C are diagrams illustrating various aspects of disclosed meeting point selection among multiple meeting participants; and
[0047] Fig. 4 is a flow chart illustrating a method.
[0048] In the following, identical reference signs refer to identical or at least functionally equivalent features.
[0049] DETAILED DESCRIPTION
[0050] In the following description, reference is made to the accompanying drawings, which form part of the disclosure, and in which are shown, by way of illustration, specific aspects in which the invention may be placed. It is understood that other aspects may be utilized, and structural or logical changes may be made without departing from the scope of the invention. The following detailed description, therefore, is not to be taken in a limiting sense, as the scope of the invention is defined in the appended claims.
[0051] For instance, it is understood that a disclosure in connection with a described method may also hold true for a corresponding device or system configured to perform the method and vice versa. For example, if a specific method step is described, a corresponding device may include a unit to perform the described method step, even if such unit is not explicitly described or illustrated in the figures. On the other hand, for example, if a specific apparatus is described based on functional units, a corresponding method may include a step performing the described functionality, even if such step is not explicitly described or illustrated in the figures. Further, it is understood that the features of the various example aspects described herein may be combined with each other, unless specifically noted otherwise.
[0052] Fig. 1 illustrates example system 100, where various embodiments of the present disclosure may be implemented. Meeting participants 121, 122, 123 are shown located in meeting area 110. Each meeting participant 121, 122, 123 has client device 131, 132, 133, respectively, that they use for interacting with a location-based service (LBS) provided by server device 200. Client devices 131, 132, 133 may include, e.g., a mobile phone, a smartphone, a tablet computer, a personal computer, a laptop computer, a smart watch, a smart eyewear, or any hand-held, portable and / or wearable device. Server device 200 will be described in more detail below.
[0053] At least some embodiments of the present disclosure may allow facilitating a meeting point selection among multiple meeting participants.
[0054] At least some embodiments of the present disclosure may allow a fairly determined distance of the meeting locations to the initial location of every meeting participant.
[0055] At least some embodiments of the present disclosure may allow determining a meeting point that is convenient to every meeting participant.
[0056] At least some embodiments of the present disclosure may allow the meeting participants keep their initial locations hidden from each other and everyone else.
[0057] At least some embodiments of the present disclosure may allow the meeting location to be revealed only to the meeting participants and no one else.
[0058] At least some embodiments of the present disclosure may allow calculation of a set of candidate meeting points amongst meeting participants either with open sharing of the locations of the meeting participants (e.g., in a high trust environment) or in a privacy preserving manner (e.g., in a low trust environment).
[0059] At least some embodiments of the present disclosure may allow selection of a meeting point that is optimal for each meeting participant in an open or privacy preserving manner.
[0060] At least some embodiments of the present disclosure may allow dynamic updates of estimated times of arrival / estimated times to meeting for each meeting participant enroute to the selected meeting point.
[0061] Next, example embodiments of server device 200 are described based on Fig. 2. Some of the features of the described devices are optional features which may provide further advantages.
[0062] Fig. 2 is a block diagram illustrating server device 200 according to an embodiment of the present disclosure. In an embodiment, server device 200 may include but is not limited to a computer device. For example, server device 200 may be cloud-based. Server device 200 may comprise 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 functionalities described below in more detail. Server device 200 may also include other elements not shown in Fig. 2.
[0063] At least one processor 202 may include, e.g., one or more of various processing devices, such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing circuitry with or without an accompanying DSP, or various other processing devices including integrated circuits such as, for example, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, a neural network (NN) chip, an artificial intelligence (Al) accelerator, a tensor processing unit (TPU), a neural processing unit (NPU), or the like.
[0064] Memory 204 may be configured to store e.g. computer programs and the like. 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 semiconductor memories (such as mask ROM, PROM (programmable ROM), EPROM (erasable PROM), flash ROM, RAM (random access memory), etc.). Server device 200 is configured to obtain current location data of each meeting participant of at least two meeting participants 121, 122, 123 located in meeting area 110. At least in some embodiments, the obtained current location data of each meeting participant may be in a homomorphically encrypted form.
[0065] At least in some embodiments, server device 200 may be further configured to obtain information about a mode of transport (e.g., driving, taxi, public transportation, cycling or walking) of each meeting participant.
[0066] Server device 200 is further configured to calculate central point 140 for the obtained current location data of each meeting participant. For example, central point 140 may comprise a centroid, a geometric median, or a smallest location enclosing at least two meeting participants 121, 122, 123.
[0067] At least in some embodiments, server device 200 may be further configured to cause calculated central point 140 and / or the current location data of each meeting participant to be indicated to each meeting participant (e.g., via client devices 131, 132, 133).
[0068] Server device 200 is further configured to select, out of a group of points of interest in map data of meeting area 110, one or more points of interest in proximity to calculated central point 140 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 selected one or more points of interest minimizing at least one of a combined travel distance of at least two meeting participants 121, 122, 123 or a combined travel time of at least two meeting participants 121, 122, 123 among the group of points of interest.
[0069] For example, the group of points of interest may comprise points of interest in a category (e.g., a restaurant, a cafe, a cinema, a shopping mall, a sports center) selected by at least one meeting participant of at least two meeting participants 121, 122, 123. At least in some embodiments, the combined travel distance of at least two meeting participants 121, 122, 123 may comprise 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 the obtained information about the mode of transport of each meeting participant. At least in some embodiments, the combined travel time of at least two meeting participants 121, 122, 123 may comprise 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 the obtained information about the mode of transport of each meeting participant.
[0070] Server device 200 is further configured to cause candidate meeting points 151, 152, 153 to be indicated to each meeting participant (e.g., via client devices 131, 132, 133). At least in some embodiments, candidate meeting points 151, 152, 153 may be transmitted to each meeting participant in a homomorphically encrypted form. For example, the candidate meeting points 151, 152, 153 may be transmitted in the homomorphically encrypted form from server device 200 to client devices 131, 132, 133 of the meeting participants 121, 122, 123, and decrypted on client devices 131, 132, 133 and then indicated to the meeting participants 121, 122, 123 on client devices 131, 132, 133.
[0071] At least in some embodiments, server device 200 may be further configured to calculate candidate estimated times of arrival (ETAs) to candidate meeting points 151, 152, 153 for each meeting participant, based at least on the obtained current location data and / or the obtained information about the mode of transport of each meeting participant. Server device 200 may be further configured to cause the candidate estimated times of arrival to be indicated to each meeting participant.
[0072] At least in some embodiments, server device 200 may be further configured to determine which candidate meeting point is selected for the meetingbetween at least two meeting participants 121, 122, 123. For example, server device 200 may be further configured to receive a vote (e.g., sent with client devices 131, 132, 133) on which candidate meeting point to select for the meeting from each meeting participant, and to determine a candidate meeting point receiving a majority of the votes to be selected for the meeting.
[0073] At least in some embodiments, server device 200 may be further configured to calculate a final estimated time of arrival to the selected candidate meeting point for each meeting participant, based at least on the obtained current location data and / or the obtained information about the mode of transport of each meeting participant. Server device 200 may be further configured to cause the final estimated times of arrival to be indicated to each meeting participant (e.g., via client devices 131, 132, 133).
[0074] At least in some embodiments, server device 200 may be further configured to periodically repeat the calculation and indication of the final estimated times of arrival. Diagram 300A of Fig. 3A illustrates privacy preserving calculations and indications of the combined travel distances and combined travel times, and diagram 300B of Fig. 3B illustrates encryption of the location data of the meeting participants 121, 122, 123.
[0075] In the examples of Figs. 3A-3C, server device 200 is used to facilitate communication, computation, and the map without knowing the location of the meeting participants or the meeting point. Further in the examples of Figs. 3 A-3C, the meeting participants 121, 122, 123 want to meet but not reveal their location, and they want to reduce travel time and distance, but they do not know the meeting area 110 well. Accordingly, in the examples of Figs. 3A-3C, server device 200 is used to set up an ad-hoc meeting point.
[0076] At first, each of the meeting participants 121, 122, 123 is located at a position (xi, yi), (X2, yr), (xr, yr), respectively.
[0077] A central point (xc, yc) 140 may be calculated which may be, e.g., a centroid, a geometric median or a smallest location enclosing the locations of the meeting participants 121, 122, 123.
[0078] A list of potential or candidate meeting points 151, 152, 153 may be identified based on, e.g., minimizing a combined travel distance di + dr + dr, a combined travel time ti + tr + tr, and / or a weighted travel distance or weighted travel time, with the weight depending on, e.g., the mode of transport of each meeting participant: wi.di + wr.dr + wr.dr, or wi.ti + wr.tr + wr.tr.
[0079] The actual meeting point 310 (out of candidate meeting points 151, 152, 153) may be decided automatically or by a vote of the meeting participants, for example.
[0080] The above calculations may be carried out in a privacy preserving manner using, e.g., homomorphic encryption where each meeting participant 121, 122, 123 may share an encrypted version of their location coordinates ENC(xj, yj) with server device 200, and the encrypted location of the meeting point or potential meeting points may be shared with each meeting participant and decrypted on client devices 131, 132, 133 of each meeting participant 121, 122, 123.
[0081] Diagram 300C of Fig. 3C illustrates privacy preserving calculations and indications of the estimated time of arrival. After the participating meeting participants 121, 122, 123 have agreed a meeting point then they start their journey . To keep other meeting participants updated with the expected time of arrival (ETA) (or an estimated time to meeting (ETM)), the current location of each meeting participants may be compared against the location of the selected meeting point 310 and the time to arrival may be calculated, e.g., by using a navigation application on client devices 131, 132, 133 of each meeting participant 121, 122, 123.
[0082] By sharing the ET As, meeting participants 121, 122, 123 preserve their privacy since they do not share their location until they arrive at the meeting point.
[0083] During the journey, the ETAs may be dynamically updated, thereby allowing each meeting participant 121, 122, 123 to be aware of the progress of the other meeting participants.
[0084] The following describes a first use case of securely determining a meeting point with real-time location sharing among users in which locations and ETAs of the meeting participants are openly shared.
[0085] Alice wants to meet Bob and Carl, and they are not aware of the locations of one another as they are not familiar with the place. Alice is in a location X (outside) and both Bob and Carl are in a location Y (inside a shopping mall). They may each open a map service application that facilitates a real-time navigation status. The application may show, e.g., a current location, distance and travel duration of the other users relative to themselves, and suggest a few candidate meeting points 151, 152, 153 with ETAs to the meeting points. They vote and decide upon the majority vote. The application may then help them to navigate towards the selected meeting point. This may apply, e.g., to walking, cycling and car navigation scenarios. The context may cover indoor, outdoor and a mix of both.
[0086] Thus, the disclosure may propose and facilitate a meeting point among Alice, Bob, and Carl.
[0087] The following describes a second use case of securely determining a meeting point with real-time location sharing among users in which locations and ETAs of the meeting participants are shared in a privacy preserving manner. Alice wants to meet Bob and Carl, and they are not aware of the location of one another as they are not familiar with the place. Alice is in a location X (outside) and both Bob and Carl are in a location Y (inside a shopping mall). They may each open a map service application that facilitates a real-time navigation status. The application may share an encrypted location of each user with server device 200 which acts as a trusted third party (TTP). Using multi-party homomorphic computation, for example, TTP 200 may calculate centroid 140 of the current locations of the users. Calculated centroid 140 may be returned to the applications of each user, and a set of potential meeting points 151, 152, 153 close to centroid 140 may be presented to the users for voting. Each user may rank potential meeting points 151, 152, 153, and TTP 200 may select the meeting point based on the top ranked location which may be shared with the applications of each user. The applications of each user (or TTP 200) may calculate the ETA of the respective user to the meeting point. TTP 200 may determine an expected meeting time based on the maximum of all the ETAs and share it with all the users.
[0088] Thus, the disclosure may result in no user having to share their location or their ETA to ETM with anyone, and hence allows preserving privacy.
[0089] For example, user A may start a secure meeting from a meeting / map / messaging application of his / her client device, and start inviting users B, C.
[0090] User A may select a venue type criterion, such as a restaurant, a cafe, a cinema, a shopping mall, or a sports center. Users B, C see the invitation and may accept or reject.
[0091] All the users may select their transportation modes (e.g., driving, taxi, public transportation, cycling, or walking)
[0092] If the users accept, everyone may receive a list of, e.g., prioritized top three options to vote, with the ETAs based on their transportation modes.
[0093] Server 200 performs computations based on the centroid, weightings, the proposed meeting points based on the criteria, and the ratings.
[0094] The meeting points may be prioritized, e.g., based on the travel times.
[0095] Once the meeting point is selected, the users may see the maximum ETA. Users may also choose to expose their ETA to other users.
[0096] Fig. 4 shows an example flow chart that illustrates method 400 according to an embodiment of the present disclosure.
[0097] At operation 401, server device 200 obtains the current location data of each meeting participant of at least two meeting participants 121, 122, 123 located in meeting area 110.
[0098] At optional operation 402, server device 200 may obtain the information about the mode of transport of each meeting participant.
[0099] At operation 403, server device 200 calculates central point 140 for the obtained current location data of each meeting participant.
[0100] At optional operation 404, server device 200 may cause at least calculated central point 140 and / or the current location data of each meeting participant to be indicated to each meeting participant.
[0101] At optional operation 404, server device 200 may receive information about the category of the points of interest selected by at least one meeting participant of at least two meeting participants 121, 122, 123.
[0102] At operation 406, server device 200 selects, out of the group of points of interest in the map data of meeting area 110, one or more points of interest in proximity to calculated central point 140 as candidate meeting points 151, 152, 153 for the meeting between at least two meeting participants 121, 122, 123. As described in more detail above, the selection is based at least on the selected one or more points of interest minimizing at least the combined travel distance of at least two meeting participants 121, 122, 123 and / or the combined travel time of at least two meeting participants 121, 122, 123 among the group of points of interest.
[0103] At operation 407, server device 200 causes candidate meeting points 151, 152, 153 to be indicated to each meeting participant. At optional operation 408, server device 200 may calculate the candidate estimated times of arrival to candidate meeting points 151, 152, 153 for each meeting participant, based at least on one of the obtained current location data or the obtained information about the mode of transport of each meeting participant, and cause the candidate estimated times of arrival to be indicated to each meeting participant.
[0104] At optional operation 409, server device 200 may receive the votes on which candidate meeting point to select for the meeting from each meeting participant.
[0105] At optional operation 410, server device 200 may determine which candidate meeting point is selected for the meeting between at least two meeting participants 121, 122, 123. For example, when the votes were received at optional operation 409, server device 200 may determine that the candidate meeting point receiving the majority of the votes is to be selected for the meeting. At optional operation 411, server device 200 may calculate the final estimated time of arrival to the selected candidate meeting point for each meeting participant, based at least on the obtained current location data and / or the obtained information about the mode of transport of each meeting participant, and cause the final estimated times of arrival to be indicated to each meeting participant.
[0106] At optional operation 412, server device 200 may periodically repeat operation 411 of the calculation and indication of the final estimated times of arrival.
[0107] Method 400 may be carried out by server device 200. Operations 401-412 may, for example, be carried out by at least one processor 202 and memory 204. Further features of method 400 directly resulting from the functionalities and parameters of server device 200 are not repeated here. Method 400 can be carried out by computer programs or portions thereof.
[0108] Server device 200 may comprise means for performing at least one method described herein. In one example, the means may comprise at least one processor 202, and at least one memory 204 including program code configured to, when executed by the at least one processor, cause server device 200 to perform the method.
[0109] The functionality described herein can be performed, at least in part, by one or more computer program product components such as software components. According to an embodiment, server device 200 may comprise a processor or processor circuitry, such as for example a microcontroller, configured by the program code when executed to execute the embodiments of the operations and functionality described. Alternatively, or in addition, the functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can 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).
[0110] Any range or device value given herein may be extended or altered without losing the effect sought. Also, any embodiment may be combined with another embodiment unless explicitly disallowed.
[0111] Although the subject matter has been described in language specific to structural features and / or acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as examples of implementing the claims and other equivalent features and acts are intended to be within the scope of the claims.
[0112] It will be understood that the benefits and advantages described above may relate to one embodiment or may relate to several embodiments. The embodiments are not limited to those that solve any or all of the stated problems or those that have any or all of the stated benefits and advantages. It will further be understood that reference to 'an' item may refer to one or more of those items.
[0113] The steps of the methods described herein may be carried out in any suitable order, or simultaneously where appropriate. Additionally, individual blocks may be deleted from any of the methods without departing from the spirit and scope of the subject matter described herein. Aspects of any of the embodiments described above may be combined with aspects of any of the other embodiments described to form further embodiments without losing the effect sought.
[0114] The term 'comprising' is used herein to mean including the method, blocks or elements identified, but that such blocks or elements do not comprise an exclusive list and a method or apparatus may contain additional blocks or elements.
[0115] It will be understood that the above description is given by way of example only and that various modifications may be made by those skilled in the art. The above 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 certain degree of particularity, or with reference to one or more individual embodiments, those skilled in the art could make numerous alterations to the disclosed embodiments without departing from the spirit or scope of this specification.
Claims
CLAIMS1. A server device (200), configured to: obtain current location data of each meeting participant of at least two meeting participants (121, 122, 123) located in a meeting area (110); calculate a central point (140) for the obtained current location data of each meeting participant; select, out of a group of points of interest in map data of the meeting area (110), one or more points of interest in proximity to the calculated central point (140) as candidate meeting points (151, 152, 153) for a meeting between the at least two meeting participants (121, 122, 123), based at least on the selected one or more points of interest minimizing at least one of a combined travel distance of the at least two meeting participants (121, 122, 123) or a combined travel time of the at least two meeting participants (121, 122, 123) among the group of points of interest; and cause the candidate meeting points (151, 152, 153) to be indicated to each meeting participant.
2. The server device (200) according to claim 1, further configured to obtain information about a mode of transport of each meeting participant.
3. The server device (200) according to claim 2, further configured to : calculate candidate estimated times of arrival to the candidate meeting points (151, 152, 153) for each meeting participant, based at least on one of the obtained current location data or the obtained information about the mode of transport of each meeting participant; and cause the candidate estimated times of arrival to be indicated to each meeting participant.
4. The server device (200) according to claim 2 or 3, wherein the central point (140) comprises a centroid, a geometric median, or a smallest location enclosing the at least two meeting participants (121, 122, 123).
5. The server device (200) according to any of claims 2 to 4, wherein the obtained current location data of each meeting participant is in a homomorphically encrypted form.
6. The server device (200) according to any of claims 2 to 5, wherein the combined travel distance of the at least two meeting participants (121, 122, 123) comprises a weighted combined travel distance of the at least two meeting participants (121, 122, 123).
7. The server device (200) according to any of claims 2 to 6, wherein the combined travel time of the at least two meeting participants (121, 122, 123) comprises a 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, wherein the weighting is based on the obtained information about the mode of transport of each meeting participant.
9. The server device (200) according to any of claims 2 to 8, wherein the candidate meeting points (151, 152, 153) are transmitted to each meeting participant in a homomorphically encrypted form.
10. The server device (200) according to any of claims 2 to 9, wherein the group of points of interest comprises points of interest in a category selected by at least one meeting participant of the at least two meeting participants (121, 122, 123).
11. The server device (200) according to any of claims 2 to 10, further configured to cause at least one of the calculated central point (140) or the current location data of each meeting participant to be indicated to each meeting participant.
12. The server device (200) according to any of claims 2 to 11, further configured to determine which candidate meeting point is selected for the meeting between the at least two meeting participants (121, 122, 123).
13. The server device (200) according to claim 12, further configured to receive a vote on which candidate meeting point to select for the meeting from each meeting participant, and to determine a candidate meeting point receiving a majority of the votes to be selected for the meeting.
14. The server device (200) according to claim 12 or 13, further configured to: calculate a final estimated time of arrival to the selected candidate meeting point for each meeting participant, based at least on one of the obtained current location data or the obtained information about the mode of transport of each meeting participant; and cause the final estimated times of arrival to be indicated to each meeting participant.
15. The server device (200) according to claim 14, further configured to periodically repeat the calculation and indication of the final estimated times of arrival.
16. A method (400), comprising: obtaining (401), by a server device (200), current location data of each meeting participant of at least two meeting participants (121, 122, 123) located in a meeting area (110); calculating (403), by the server device (200), a central point (140) for the obtained current location data of each meeting participant; selecting (406), by the server device (200), out of a group of points of interest in map data of the meeting area (110), one or more points of interest in proximity to the calculated central point (140) as candidate meeting points (151, 152, 153) for a meeting between the at least two meeting participants (121, 122, 123), based at least on the selected one or more points of interest minimizing at least one of a combined travel distance of the at least two meeting participants (121, 122, 123) or a combined travel time of the at least two meeting participants (121, 122, 123) among the group of points of interest; and causing (407), by the server device (200), the candidate meeting points (151, 152, 153) to be indicated to each meeting participant.
17. A computer program product comprising program code configured to perform a method according to claim 16, when the program code is executed on a server device.
18. An apparatus, comprising means for carrying out the method (400) according to claim 16.
Citation Information
Patent Citations
Tool for assisting user in finding a fair meeting location
US10228257B2
Meeting optimizer
US20090055238A1
Service for negotiating a meeting location given multiple user preferences and locations using social networking
US20100076951A1
Method and apparatus for providing a meeting point and routes for participants to a proposed meeting
US20110113148A1
Dynamic meeting location determination
US20130080204A1