Device for determining match between users and method thereof
The electronic device and method efficiently match users in specific locations for group ordering by using bounding boxes and ray casting, addressing high shipping costs for perishable goods and enhancing service convenience.
Patent Information
- Application Number
- PCT/KR2024/020225
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-23
- Filing Date
- 2024-12-10
- Publication Date
- 2025-11-27
AI Technical Summary
Existing methods struggle to efficiently match users in specific locations for group ordering items, especially for perishable goods, due to challenges in handling multiple items with freshness and expiration dates, leading to high shipping costs.
An electronic device and method that determines user locations within set areas using bounding boxes and ray casting algorithms, verifying eligible users for matching based on service history and permissions, and providing group ordering services.
Facilitates user matching for group ordering, reducing shipping costs and increasing convenience by optimizing service operations and item delivery efficiency.
Smart Images

Figure KR2024020225_27112025_PF_FP_ABST
Abstract
Description
Device and method for determining whether users are matched
[0001] The present disclosure relates to a device and method for determining whether a user matches another user. More specifically, the present disclosure relates to an electronic device and method for determining whether one or more users exist in a location that satisfies a set condition relative to the location of a first user, and, if one or more users exist, determining whether to match a second user among the one or more users with the first user.
[0002] With the advancement of electronic technology, e-commerce has become a distinct form of shopping. First-time users can purchase items online without having to visit a physical shopping mall or market. Items purchased online are then delivered to the delivery address requested by the first-time user.
[0003] Shipping costs can act as a barrier to first-time users' purchases, so various methods can be explored to reduce shipping costs. For items like manufactured goods, where expiration dates and freshness are less important, shipping costs can be significantly reduced by having a single courier handle multiple items. However, for items like food or plants, where expiration dates and freshness are more important, it's difficult to have a single courier handle multiple items.
[0004] In this regard, reference can be made to prior literature such as KR101735018B1 and KR102346739B1.
[0005] The problem to be solved by the present embodiment is to provide an electronic device and method thereof, which acquires information on a first user, determines whether there is one or more users at a location that satisfies a set condition in relation to the location of the first user, and, if there is one or more users, determines whether to match a second user included in one or more users with the first user, in order to solve the above-described problem.
[0006] The technical tasks to be achieved by this embodiment are not limited to the technical tasks described above, and other technical tasks can be inferred from the following embodiments.
[0007] A method for determining whether a user matches with another user in an electronic device according to an embodiment of the present invention comprises the steps of: obtaining information about a first user; determining whether there is one or more users at a location that satisfies a set condition in relation to the location of the first user; and, if there is one or more users, determining whether to match a second user included in the one or more users with the first user.
[0008] According to one embodiment, the step of determining whether one or more users exist may include: a step of checking a plurality of users for matching, including the first user; a step of determining whether the locations of the plurality of users belong to a plurality of set areas; and a step of determining whether a user belonging to the first area exists among the plurality of users when the location of the first user belongs to a first area among the plurality of set areas.
[0009] According to one embodiment, the step of determining whether the locations of the plurality of users belong to the plurality of set areas may include the step of checking a plurality of bounding boxes corresponding to each of the plurality of set areas; and the step of determining, with respect to a first bounding box included in the plurality of bounding boxes, whether the locations of the plurality of users belong to the first bounding box.
[0010] According to one embodiment, the step of determining whether the locations of the plurality of users belong to the plurality of set areas may further include, when it is determined that the location of a third user included in the plurality of users belongs to the first bounding box, the step of further determining whether the location of the third user belongs to an area corresponding to the first bounding box.
[0011] According to one embodiment, the electronic device can determine whether the location of the third user belongs to an area corresponding to the first bounding box based on a ray casting algorithm.
[0012] According to one embodiment, the plurality of bounding boxes may include one or more bounding boxes having a rectangular shape with sides parallel to the x-axis or y-axis, and including corresponding areas.
[0013] According to one embodiment, the step of determining whether the positions of the plurality of users belong to the first bounding box may further include the step of obtaining coordinate information corresponding to the positions of the plurality of users; and the step of comparing at least one of a maximum x-coordinate associated with the first bounding box, a minimum y-coordinate associated with the first bounding box, a maximum y-coordinate associated with the first bounding box, and a minimum y-coordinate associated with the first bounding box with at least one of an x-coordinate included in the coordinate information and a y-coordinate included in the coordinate information.
[0014] According to one embodiment, the step of verifying the plurality of users may include a step of verifying, among the plurality of candidate users, candidate users who have permitted matching with other users.
[0015] According to one embodiment, the step of verifying the plurality of users may include at least one of the steps of verifying, among the plurality of candidate users, at least one candidate user currently using the service, allowing matching with other users when using the service; and the steps of verifying, among the plurality of candidate users, at least one candidate user not currently using the service, allowing matching with other users when not using the service.
[0016] According to one embodiment, the step of verifying the plurality of users may further include a step of determining whether the probability of using the service within a set time period is higher than a threshold probability for each of one or more candidate users who are not currently using the service.
[0017] According to one embodiment, the step of verifying the plurality of users may include at least one of the steps of verifying, among the plurality of candidate users, at least one candidate user who has a history of being matched with the first user; and the step of verifying, among the plurality of candidate users, at least one candidate user who has a history of rejecting a match with the first user.
[0018] According to one embodiment, the method for determining whether there is a match between the users further includes a step of checking the plurality of areas set, and the step of checking the plurality of areas set may include at least one of the steps of receiving input information for setting one or more areas; and receiving information on one or more areas from a map provider.
[0019] According to one embodiment, when it is determined to match the second user with the first user, the method for determining whether there is a match between the users may further include a step of providing an item group ordering service for a user group including the first user and the second user.
[0020] According to one embodiment, the step of determining whether one or more users exist may include the step of determining whether a user exists at a location reachable within a set time from the location of the first user.
[0021] According to one embodiment, the step of determining whether to match the second user with the first user includes the step of comparing one or more pieces of information associated with the first user and one or more pieces of information associated with the second user, wherein the one or more pieces of information associated with the first user include service usage history information of the first user, and the one or more pieces of information associated with the second user include service usage history information of the second user.
[0022] An electronic device according to one embodiment includes a memory storing instructions and a processor, wherein the processor is connected to the memory to obtain information on a first user, determine whether there is one or more users at a location that satisfies a set condition in relation to a location of the first user, and, if there is one or more users, determine whether to match a second user included in the one or more users with the first user.
[0023] Specific details of other embodiments are included in the detailed description and drawings.
[0024] According to the present disclosure, an electronic device and method for determining whether users are matched can provide an opportunity for conversation between users by matching users in a specific location relationship, and can induce the use of a service that can increase convenience when used together.
[0025] According to one embodiment of the present disclosure, an electronic device and method for determining whether there is a match between users can provide an item group ordering service for a user group including users in a specific location relationship, thereby reducing overall service operation costs and increasing the amount of item orders.
[0026] The effects of the invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.
[0027] Figure 1 is a schematic diagram showing a system for matching between users.
[0028] FIG. 2 is a flowchart illustrating an operation of an electronic device according to one embodiment to determine whether a user matches another user.
[0029] Figure 3 is a drawing for exemplarily explaining a set area according to one embodiment.
[0030] Figure 4 is a drawing for exemplarily explaining a bounding box according to one embodiment.
[0031] FIG. 5 is a drawing for exemplifying a method of comparing coordinates associated with a bounding box according to one embodiment with coordinates corresponding to the locations of multiple users.
[0032] FIG. 6 is a drawing for exemplarily explaining a user group including a first user and a second user according to one embodiment.
[0033] FIG. 7 is a drawing for exemplarily explaining a method for receiving input information for setting one or more areas according to an embodiment.
[0034] Figure 8 is an exemplary diagram of the configuration of an electronic device according to one embodiment.
[0035] The terms used in the embodiments have been selected from widely used and common terms, taking into account the functions of the present disclosure. However, these terms may vary depending on the intentions of those skilled in the art, precedents, the emergence of new technologies, etc. Furthermore, in certain cases, terms may be arbitrarily selected by the applicant, in which case their meanings will be described in detail in the relevant description. Therefore, the terms used in this disclosure should not be defined simply as names of terms, but rather based on the meanings of the terms and the overall content of the present disclosure.
[0036] When a part of the specification is said to "include" a component, this does not exclude other components, but rather implies the inclusion of other components, unless otherwise specifically stated. Furthermore, terms such as "part" and "module" used in the specification mean a unit that processes at least one function or operation, which may be implemented in hardware, software, or a combination of hardware and software.
[0037] The expression “at least one of a, b, and c” described throughout the specification may encompass ‘a alone’, ‘b alone’, ‘c alone’, ‘a and b’, ‘a and c’, ‘b and c’, or ‘all of a, b, and c’.
[0038] The "terminal" mentioned below may be implemented as a computer or portable terminal that can connect to a server or other terminal via a network. Here, the computer includes, for example, a notebook, desktop, laptop, etc. equipped with a web browser, and the portable terminal may include, for example, a wireless communication device that guarantees portability and mobility, and may include all types of handheld-based wireless communication devices such as communication-based terminals such as IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), LTE (Long Term Evolution), smartphones, tablet PCs, etc.
[0039] Below, embodiments of the present disclosure are described in detail with reference to the attached drawings so that those skilled in the art can easily implement the present disclosure. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein.
[0040] Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings.
[0041] In describing the embodiments, descriptions of technical details that are well-known in the technical field to which the present invention pertains and are not directly related to the present invention will be omitted. This is to avoid obscuring the gist of the present invention by omitting unnecessary explanations and to convey it more clearly.
[0042] For the same reason, some components in the attached drawings are exaggerated, omitted, or schematically depicted. Furthermore, the dimensions of each component do not entirely reflect its actual size. Identical or corresponding components in each drawing are assigned the same reference numbers.
[0043] The advantages and features of the present invention, and the methods for achieving them, will become clearer with reference to the embodiments described in detail below together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms. These embodiments are provided only to ensure that the disclosure of the present invention is complete and to fully inform those skilled in the art of the scope of the invention, and the present invention is defined only by the scope of the claims. Like reference numerals designate like elements throughout the specification.
[0044] At this time, it will be understood that each block of the processing flow diagrams and combinations of the flow diagrams can be performed by computer program instructions. These computer program instructions can be installed in a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing equipment, so that the instructions executed by the processor of the computer or other programmable data processing equipment create a means for performing the functions described in the flow diagram block(s). These computer program instructions can also be stored in a computer-available or computer-readable memory that can direct a computer or other programmable data processing equipment to implement the functions in a specific manner, so that the instructions stored in the computer-available or computer-readable memory can also produce a manufactured item that includes an instruction means for performing the functions described in the flow diagram block(s). Since the computer program instructions may be installed on a computer or other programmable data processing device, a series of operational steps may be performed on the computer or other programmable data processing device to create a computer-executable process, and the instructions that cause the computer or other programmable data processing device to perform the steps for performing the functions described in the flowchart block(s) may also provide steps for performing the functions described in the flowchart block(s).
[0045] Additionally, each block may represent a module, segment, or portion of code that contains one or more executable instructions for performing a specific logical function(s). It should also be noted that in some alternative implementation examples, the functions described in the blocks may occur out of order. For example, two blocks depicted in succession may actually be executed substantially concurrently, or the blocks may sometimes be executed in reverse order, depending on their respective functions.
[0046] Figure 1 is a schematic diagram showing a system for matching between users.
[0047] According to various embodiments, a system for matching between users includes an electronic device (110). According to one embodiment, the system for matching between users may further include a device (120) of a first user. According to one embodiment, the system for matching between users may further include a network that supports information transmission and reception between the electronic device (110), the device (120) of the first user, and at least some of the external devices.
[0048] The electronic device (110) and the first user's device (120) may include a memory and a processor, and may further include a transceiver. In addition, each of the electronic device (110) and the first user's device (120) refers to a unit that processes at least one function or operation, which may be implemented by hardware, software, or a combination of hardware and software.
[0049] Meanwhile, throughout the embodiments, the electronic device (110) and the first user's device (120) are each referred to as separate devices or servers, but this may be a logically divided structure, and at least some of them may be implemented by separate functions in a single device or server. For example, throughout the present disclosure, the electronic device (110) and the first user's device (120) may be implemented by a single device, and in this case, the process of transmitting and receiving information between the electronic device (110) and the first user's device (120) may actually be understood as a process in which data is exchanged within a single device.
[0050] According to one embodiment, the electronic device (110) and the first user's device (120) may include a plurality of computer systems or computer software implemented as network servers. For example, at least some of the electronic device (110) and the first user's device (120) may refer to a computer system and computer software that are connected to a lower-level device that can communicate with other network servers through a computer network such as an intranet or the Internet, receive a task execution request, perform the task in response, and provide the execution result. In addition, at least some of the electronic device (110) and the first user's device (120) may be understood as a broad concept that includes a series of application programs that can operate on a network server, and various databases built on other internal or connected nodes. For example, at least some of the electronic device (110) and the first user's device (120) may be implemented using a network server program that is provided in various ways according to an operating system such as DOS, Windows, Linux, UNIX, or MacOS.
[0051] Meanwhile, for the convenience of explanation, each operating entity is referred to as an electronic device (110) and a first user's device (120), but these should be understood as comprehensive devices that correspond to various types of devices such as computer devices and mobile communication terminals, include various types of devices, or can be included in various types of devices.
[0052] The electronic device (110) is a device that acquires and processes various information. The electronic device (110) can perform various tasks for matching between users. Specifically, the electronic device (110) acquires information about a first user, determines whether there are one or more users in a location that satisfies a set condition in relation to the location of the first user, and, if there are one or more users, determines whether to match a second user included in the one or more users with the first user. According to one embodiment, the electronic device (110) can determine whether there are one or more users by determining whether another user is located in the first area to which the first user belongs. However, the scope of the present disclosure is not limited thereto.
[0053] A primary user may include various entities to which the matching function is provided. For example, a primary user may be a user who wishes to join a user group with other users through matching, or more specifically, a user who wishes to group-order items through such a user group. However, a user's intention (e.g., a desire to join a user group with other users through matching or a desire to group-order items) is sufficiently latent and does not necessarily require the primary user's definitive intention. For example, even if a specific user does not explicitly express a desire to group-order items through matching, if their service usage history suggests a preference for group ordering, they may be included as a primary user.
[0054] The first user's device (120) may be a device operated and managed by the first user. The first user's device (120) may interact with the first user or with a device such as an electronic device (110) and may further perform operations related thereto. For example, the first user's device (120) may obtain information of the first user (e.g., receive input from the first user) and transmit it to the electronic device (110). In addition, the first user's device (120) may receive a result of determining whether or not there is a match from the electronic device (110) and provide it to the first user (e.g., display it on a screen). In some embodiments, the first user's device (120) may receive an input from the first user agreeing to the match and transmit a request to proceed with the match to the electronic device (110) based on the input.
[0055] More detailed information regarding the operation of the electronic device (110) and the first user's device (120) will be described later in FIGS. 2 to 7, etc.
[0056] The electronic device (110) and the first user's device (120) may include a computer device, a mobile communication terminal, a server, etc. The electronic device (110) and the first user's device (120) may include input devices such as a touchpad, a mouse, and a keyboard for receiving input, or may be connected to an input device. In addition, the electronic device (110) and the first user's device (120) may include output devices such as a screen, a speaker, and an interface device for matching between users, or may be connected to an output device. Furthermore, the input devices and output devices of the electronic device (110) and the first user's device (120) may be configured as one unit or may be interconnected. For example, an interface for receiving input may be displayed on at least one of the electronic device (110) and the first user's device (120).
[0057] The operations related to a series of information provision methods according to various embodiments may be implemented by a single physical device, or may be implemented in a manner in which multiple physical devices are organically combined. For example, some of the components included in the system for user-to-user matching may be implemented by one physical device, and the remaining parts may be implemented by another physical device. For example, one physical device may be implemented as part of the electronic device (110), and the other physical device may be implemented as part of the device (120) of the first user or as part of another external device. In some cases, each component included in the system for user-to-user matching may be distributed and arranged in different physical devices, and the distributed components may be organically combined to perform the functions and operations of the system for user-to-user matching. For example, the electronic device (110) of this specification includes at least one sub-device, and some operations described as being performed by the electronic device (110) may be performed by the first sub-device, and other operations may be performed by the second sub-device.
[0058] FIG. 2 is a flowchart illustrating an operation of an electronic device according to one embodiment to determine whether a user matches another user.
[0059] Referring to FIG. 2, an electronic device (110) according to an embodiment obtains information about a first user (201). According to an embodiment, the electronic device (110) may receive information about the first user from the first user's device (120) (see drawing number 201). However, the scope of the present disclosure is not limited thereto. For example, the electronic device (110) may receive information about the first user from an external device, or may utilize previously obtained information about the first user, and various other embodiments may exist.
[0060] According to one embodiment, the operation of drawing number 201 may correspond to a trigger operation for the operations of drawing number 202 and drawing number 203, which will be described later. According to a more specific example, the operation of drawing number 201 for obtaining information of the first user may include an operation for confirming the first user as a target for provision of the matching function. In other words, the operation of drawing number 201 is not merely an operation for receiving information, but may include an operation for deciding to provide the matching function to the first user. As described above in FIG. 1, this decision may be made based on the explicit intent of the first user, but it may also be sufficient if it is determined that a potential intent exists even if the explicit intent of the first user is not present.
[0061] The electronic device (110) determines whether there is one or more users at a location that satisfies a set condition in relation to the location of the first user (202). According to an embodiment, the electronic device (110) can identify multiple users for matching. The multiple users for matching may include the first user. Thereafter, the electronic device (110) determines whether the locations of the multiple users belong to multiple set areas, and if the location of the first user belongs to the first area among the multiple set areas, determines whether a user belonging to the first area exists among the multiple users, thereby determining whether one or more users exist.
[0062] In some embodiments, the operation of "verifying multiple users for matching" may be omitted. For example, if all users who have subscribed to the service or have used the service belong to the "multiple users," and the information of such users is immediately available on the electronic device (110) without the need for a separate acquisition process, the operation of verifying multiple users for matching may be omitted. However, for convenience of explanation, embodiments in which the operation of "verifying multiple users for matching" is performed are described below, but the embodiments below may also be applied even when the operation is omitted.
[0063] In relation to an operation of determining whether the locations of multiple users belong to a plurality of set areas, according to one embodiment, the electronic device (110) may check a plurality of bounding boxes corresponding to each of the plurality of set areas. In relation to this, the plurality of bounding boxes may include one or more boxes having a rectangular shape that includes the corresponding area and has sides parallel to the x-axis or y-axis.
[0064] Thereafter, with respect to the first bounding box included in the plurality of bounding boxes, the electronic device (110) can determine whether the locations of the plurality of users belong to the first bounding box. Here, the reference to the "first bounding box" is for convenience of explanation, and it should not be understood that the electronic device (110) determines whether the locations of the plurality of users belong to only a specific box among the plurality of bounding boxes. In other words, it should be understood that the electronic device (110) can determine whether the locations of the plurality of users belong to at least some of the boxes among the plurality of bounding boxes.
[0065] In relation to the above description, in determining whether it belongs to an area and a first bounding box, there may be various embodiments, such as determining whether it is included within the area or the first bounding box, or further determining whether it is included within the boundary of the area or the first bounding box.
[0066] Meanwhile, the plurality of bounding boxes confirmed by the electronic device (110) may include, but are not limited to, preset boxes, and various other embodiments may exist, such as where the electronic device (110) may set corresponding bounding boxes for at least some areas in real time, depending on the embodiment. According to a more specific example, in principle, bounding boxes are set in advance for preset areas, but when information on a new (e.g., not preset) area is received, the electronic device (110) may set a bounding box for the corresponding area.
[0067] According to one embodiment, when it is determined that the location of a third user included in a plurality of users falls within the first bounding box, the electronic device (110) may further determine whether the location of the third user falls within an area corresponding to the first bounding box. According to a more specific example, the electronic device (110) may determine whether the location of the third user falls within an area corresponding to the first bounding box based on a ray casting algorithm.
[0068] In connection with the description of the present disclosure, it should be understood with caution that the "area corresponding to the first bounding box" does not mean the entire space within the first bounding box, but rather the area that serves as the basis for setting the first bounding box. For example, in FIGS. 3 and 4 described below, the area of drawing number 301 can be understood as the area corresponding to the bounding box of drawing number 401, and the area of drawing number 302 can be understood as the area corresponding to the bounding box of drawing number 402.
[0069] The ray casting algorithm can be understood as a type of inside-polygon test, which determines whether a point is inside a polygon when given a point and a polygon. An example ray casting algorithm can be expressed in pseudocode, as shown in Table 1 below.
[0070] count ← 0foreach side in polygon:if ray_intersects_segment(P,side) thencount ← count + 1if is_odd(count) thenreturn insideelsereturn outside
[0071] ray_intersects_segment can be understood as a function that returns true if a horizontal ray starting from point P intersects the segment, and false otherwise. For a more detailed understanding of ray_intersects_segment, you can refer to the pseudocode in Table 2 below.
[0072] count ← 0ray_intersects_segment:P : the point from which the ray startsA : the end-point of the segment with the smallest y coordinate(A must be "below" B)B : the end-point of the segment with the greatest y coordinate(B must be "above" A)if Py = Ay or Py = By thenPy ← Py + εend ifif Py < Ay or Py > By thenreturn falseelse if Px >= max(Ax, Bx) thenreturn falseelseif Px < min(Ax, Bx) thenreturn trueelseif Ax ≠ Bx thenm_red ← (By - Ay) / (Bx - Ax)elsem_red ← ∞end ifif Ax ≠ Px thenm_blue ← (Py - Ay) / (Px - Ax)elsem_blue ← ∞end ifif m_blue ≥ m_red thenreturn trueelsereturn falseend ifend ifend if
[0073] In some embodiments, when it is determined that the location of a third user included in a plurality of users belongs to the first bounding box, the electronic device (110) may consider that the location of the third user belongs to an area corresponding to the first bounding box (i.e., the process of determining whether the location of the third user belongs to an area corresponding to the first bounding box may be omitted). Although considering it this way has the disadvantage that users who do not belong to the same area may form a group, on the other hand, there may be the advantage that the cost for performing an operation to determine whether the location of the third user belongs to the area corresponding to the first bounding box can be saved. In addition, for each of a plurality of areas, it is determined whether the coincidence rate of the space included in the area and the space included in the corresponding bounding box exceeds a set threshold rate, and for one or more areas and bounding boxes whose coincidence rate exceeds the set threshold rate, if it is determined that the location of a specific user belongs to the corresponding bounding box at a later time, the location of the user may be considered to also belong to an area included in the corresponding bounding box, and various embodiments may fall within the scope of the present disclosure.
[0074] Meanwhile, with regard to the operation of Drawing 202, one may wonder whether directly applying the ray casting algorithm to each user and area pair would make it easier to determine whether the locations of multiple users belong to the multiple areas set, compared to the processes proposed in one embodiment of the present disclosure (processes of checking the bounding box, checking whether the location of the third user belongs to the first bounding box, and further determining whether the location of the third user belongs to the area corresponding to the first bounding box). However, the ray casting algorithm consumes a significant amount of cost (resources and time) to perform, and as the number of users and the number of areas increases, the cost of performing the ray casting algorithm one by one increases significantly, which places a greater burden on the system. Therefore, as proposed in the present disclosure, reducing the number of uses of the ray casting algorithm by utilizing the bounding box can be significantly helpful in saving costs and ensuring system stability.
[0075] Meanwhile, the above description should be understood as being intended to explain the purpose and effect of using a bounding box, and despite the above description, it should be understood that an embodiment that directly utilizes a ray casting algorithm for each user and area pair to determine whether a user belongs to that area still falls within the scope of the present disclosure. Furthermore, the electronic device (110) according to the embodiment may determine whether a user belongs to that area by directly utilizing a ray casting algorithm for each user and area pair if the result is lower than a set threshold value, and various other embodiments may fall within the scope of the present disclosure.
[0076] In order to help understand the above description related to the operation of drawing number 202 and to explain more details related thereto, reference may be made to FIGS. 3 to 5. Referring further to FIG. 3, examples of set areas are illustrated as drawing numbers 301 and 302. As can be seen from drawing numbers 301 and 302, the area is not limited to a fixed shape and the shape may include various polygons. Furthermore, the area may include shapes that are not expressed as polygons, such as circles, and as long as it is a closed shape surrounded by an outline, the area may be expressed in various ways without being restricted by a specific shape.
[0077] As an example, information for each area can be expressed as geofencing data as shown in Table 3 below.
[0078] Area ID Area Name Geofencing Data 1 Area APOLYGON ((127.00391647009724 37.50190121259534, 127.00393007949822 37.50140555836879, 127.00416104728959 37.499940178944996, 127.00451422563856 37.49865801248957, 127.00503033587881 37.49803310473877,127.00531555189531 37.49761291320188, 127.0060353461102 37.49758059094482, 127.0062798004650537.49788226628378, 127.00596741872408 37.498819628025785, 127.00570935788545 37.49951996896368,127.00646991994256 37.49963848931567, 127.00668722256029 37.49996172828459, 127.0069860176739137.500080249841616, 127.00689094586039 37.50044659124576, 127.00666005380651 37.50098533421502,127.0063884101624 37.501631834597106, 127.00625258275852 37.50220291793548, 127.0065513888831137.50235377139114, 127.00640197906068 37.502924864218244, 127.00621182649729 37.502924864218244,127.00470421130967 37.50236454665816, 127.00391647009724 37.50190121259534))2Area BPOLYGON ((127.01342459352793 37.49955346216835, 127.01397295143795 37.497845098404284, 127.01414682101864 37.4969219290479, 127.01587214224764 37.49714476407537, 127.01781145680582 37.49804670858414,127.01711597848066 37.499171471178784, 127.01631350349095 37.50023255243562, 127.0153237843376237.50090102588565, 127.01342459352793 37.49955346216835)).
[0079] Area A corresponds to an example of area number 301 in FIG. 3, and Area B corresponds to an example of area number 302 in FIG. 3. Meanwhile, expressing area information with geofencing data as in Table 3 described above is only an example for expressing areas, and the scope of the present disclosure is not limited thereto.
[0080] Referring further to FIG. 4, examples of bounding boxes corresponding to areas of drawing numbers 301 and 302 are illustrated as drawing numbers 401 and 402. As can be seen in drawing numbers 401 and 402, a plurality of bounding boxes corresponding to a plurality of set areas may include a box having a rectangular shape with sides parallel to the x-axis or y-axis, including the corresponding area.
[0081] Referring further to FIG. 5, an example of representing data of each bounding box is illustrated. According to the example of FIG. 5, the coordinates (X1, Y1) of the lower left corner of the bounding box (see drawing number 501) and the coordinates (X2, Y2) of the upper right corner (see drawing number 502) may be included in the data of the bounding box. If the bounding box has a shape of a rectangle whose sides are parallel to the x-axis or the y-axis, the coordinates of the lower left corner may include the minimum x-coordinate and the minimum y-coordinate associated with the bounding box, and the coordinates of the upper right corner may include the maximum x-coordinate and the maximum y-coordinate associated with the bounding box.
[0082] Meanwhile, the aforementioned "coordinates associated with the bounding box" can be understood as a concept that includes both coordinates included inside the bounding box and coordinates included in the boundary of the bounding box, and can be understood in the same way in the following description.
[0083] With reference to the above description, a more specific example of a process for determining whether the positions of a plurality of users belong to the first bounding box will be described. The electronic device (110) may obtain coordinate information corresponding to the positions of the plurality of users, and compare at least one of the maximum x-coordinate associated with the first bounding box, the minimum y-coordinate associated with the first bounding box, the maximum y-coordinate associated with the first bounding box, and the minimum y-coordinate associated with the first bounding box with at least one of the x-coordinate included in the coordinate information and the y-coordinate included in the coordinate information. For example, let us assume that the coordinates of user A are (3,5), the coordinates of user B are (5,1), the coordinates of user C are (4,8), and the coordinates of user D are (6,10), and the coordinates of the lower left corner of the first bounding box are (2,2), and the coordinates of the upper right corner are (4,6). Then, user A may be judged to belong to the first bounding box because his x-coordinate is greater than or equal to 2 and less than or equal to 4 and his y-coordinate is greater than or equal to 2 and less than or equal to 6, whereas users B, C, and D may be judged not to belong to the first bounding box because they do not satisfy at least one of the conditions that his x-coordinate is greater than or equal to 2 and less than or equal to 4 and the conditions that his y-coordinate is greater than or equal to 2 and less than or equal to 6.
[0084] The above example is an example of determining whether each user belongs to the bounding box after determining both the maximum and / or minimum coordinates associated with the bounding box and the coordinates associated with the user. However, depending on the embodiment, it may be determined whether the user satisfies the necessary conditions for belonging to the bounding box first with respect to the x-coordinate, and then further determined whether the user satisfies the necessary conditions for the y-coordinate only for the user who satisfies the necessary conditions for the x-coordinate, or it may be determined whether the user satisfies the necessary conditions for belonging to the bounding box first with respect to the y-coordinate, and then further determined whether the user satisfies the necessary conditions for the x-coordinate only for the user who satisfies the necessary conditions for the y-coordinate, and so on. It should be understood that various embodiments may fall within the scope of the present disclosure.
[0085] In this way, since the bounding box has the characteristic of being able to quickly determine whether a specific coordinate belongs inside it, it can be confirmed that the embodiment utilizing the bounding box can save cost (resources and time) compared to the embodiment that individually uses the ray casting algorithm for each user and area pair.
[0086] Returning to FIG. 2, regarding the operation of "verifying multiple users for matching," the electronic device (110) according to one embodiment may verify, among the multiple candidate users, those candidate users who have authorized matching with other users. The multiple candidate users may be understood as a broad concept encompassing users who have subscribed to or have a history of using the services provided by the electronic device (110).
[0087] In a more specific embodiment, the electronic device (110) may identify one or more candidate users currently using the service, among a plurality of candidate users, who allow matching with other users while using the service. Furthermore, the electronic device (110) may identify one or more candidate users not currently using the service, among a plurality of candidate users, who allow matching with other users while not using the service. Based on the results of such identification, the electronic device (110) may identify multiple users for matching among the plurality of candidate users.
[0088] In some embodiments, the electronic device (110) may determine whether the probability of one or more candidate users who are not currently using the service using the service within a set time period is higher than a threshold probability. In this regard, even if the candidate user has permitted matching with other users when not using the service, if the probability of using the service within the set time period is lower than the threshold probability, the electronic device (110) may determine that the candidate user is not included in the multiple users for matching. Alternatively, even if the candidate user has not permitted matching with other users when not using the service, if the probability of using the service within the set time period is higher than the threshold probability and the candidate user has permitted matching with other users when using the service, the electronic device (110) may determine that the candidate user is included in the multiple users for matching.
[0089] Meanwhile, a candidate user who "permits" a matching to take place may include, but is not limited to, a candidate user who "preliminarily permitted" the matching to take place, and may broadly interpret the scope thereof, such as including a candidate user who sends a permission response in real time in response to a query sent by the electronic device (110) as to whether the user intends to match. Furthermore, a candidate user who "permits" a matching to take place may include, but is not limited to, a candidate user who explicitly consents to matching with others, and may include a user who has previously requested matching with other users in the candidate user who implicitly consents to matching with other users, and may be included in the candidate user who permits matching, and various other embodiments may exist in this regard.
[0090] In relation to the operation of "verifying multiple users for matching," an electronic device (110) according to an embodiment may consider the matching history of multiple candidate users. In a more specific embodiment, the electronic device (110) may perform at least one of the following operations: verifying one or more candidate users among the multiple candidate users who have a history of being matched with a first user; and verifying one or more candidate users among the multiple candidate users who have a history of rejecting a match with the first user.
[0091] Based on the embodiments related to the above “verifying multiple users for matching” operation, it can be understood that the electronic device (110) can not only verify whether to include a candidate user in the multiple users for matching, but also determine the matching priority among the multiple users for matching.
[0092] Meanwhile, with respect to the aforementioned "confirming multiple users for matching" operations, depending on the embodiment, the aforementioned confirmation methods may not be applied to the first user. For example, the first user may be included in the multiple users for matching even if he or she is not a user who has permitted matching with others. To explain further for understanding, if the operation of drawing number 201 corresponds to a trigger operation for the operations of drawing number 202 and drawing number 203 (for example, if the operation of drawing number 201 includes an operation for confirming the first user as a target for provision of the matching function), it may be determined that there is no need to confirm again whether the first user is a user who has permitted matching with others since the first user has already been confirmed as a target for provision of the matching function with others.
[0093] In relation to the operation of drawing number 202 above, an embodiment of determining whether one or more users exist by checking multiple users for matching, determining whether the locations of the multiple users belong to multiple areas where the locations of the multiple users are set, and determining whether a user belonging to the first area exists among the multiple users when the location of the first user belongs to the first area among the multiple areas where the location of the first user is set has been described in detail. Meanwhile, the operation of drawing number 202 is not necessarily limited to this embodiment. For example, the electronic device (110) can determine whether one or more users exist by determining whether a user exists at a location that can be reached from the location of the first user within a set time period, or determining whether a user exists within a set distance from the location of the first user. As another example, the electronic device (110) can determine whether one or more users exist by comparing one or more of the zip code information and the road name information corresponding to the location of the first user with at least some of the zip code information and the road name information corresponding to the locations of the multiple users.
[0094] Furthermore, the electronic device (110) may implement the method of the present disclosure by combining multiple embodiments, and as a more specific example, it may first classify users at a location reachable within a set time from the location of the first user, and then secondarily check whether the classified users belong to the same area as the first user, etc., and various embodiments may fall within the scope of the present disclosure.
[0095] If there are one or more users in a location that satisfies a set condition relative to the location of the first user, the electronic device (110) determines whether to match a second user, one of the one or more users, with the first user (203). For convenience of explanation throughout this disclosure, the term "matching" is used to describe whether to "match" the second user with the first user. However, the term "matching" should be interpreted broadly to encompass various methods of grouping multiple users together, and should not be construed as limited to connecting two users. (See "User Group Including a First User and a Second User," described below.)
[0096] An electronic device (110) according to one embodiment may determine whether to match a second user with a first user by comparing one or more pieces of information associated with a first user and one or more pieces of information associated with a second user. In this regard, the one or more pieces of information associated with the first user may include service usage history information of the first user, and the one or more pieces of information associated with the second user may include service usage history information of the second user.
[0097] If it is determined that a second user should be matched with a first user, the electronic device (110) may provide an item group ordering service for a user group including the first and second users. Items subject to group ordering may include items requiring significant consideration of expiration date or freshness, such as food or plants, but the scope of the present disclosure is not necessarily limited thereto.
[0098] An example of a user group including a first user and a second user is illustrated in FIG. 6. Referring further to FIG. 6 , a user's device (120) according to the example may display a chat room (601) in which the user group participates, and the chat room may provide information on participants (602) including the first user and the second user. Users may engage in various conversations through the displayed chat room (601), such as discussing items to be ordered by the group.
[0099] Meanwhile, the scope of the present disclosure is not limited to the embodiment of FIG. 6 providing a chat room (601), and various embodiments may fall within the scope of the present disclosure, such as, for example, an electronic device (110) determining a common interest item among a plurality of users belonging to a user group and providing suggestion information including information on the common interest item to the users belonging to the user group.
[0100] FIG. 7 is a drawing for exemplarily explaining a method for receiving input information for setting one or more areas according to an embodiment.
[0101] Referring to FIG. 7, in the "embodiment of checking multiple users for matching and determining whether the locations of the multiple users belong to multiple areas set" related to the operation of drawing number 202 according to one embodiment, the electronic device (110) can check multiple areas set. According to one embodiment, the operation of checking multiple areas set may include one or more of an operation of receiving input information for setting one or more areas and an operation of receiving information on one or more areas from a map provider.
[0102] An operation of receiving input information for setting one or more areas is exemplarily illustrated in FIG. 7. Referring to FIG. 7, an operator manually provides input for setting one or more areas at an operator terminal (701) (see drawing number 702), and based on this, one or more areas can be set. It should be understood that the term "operator" may broadly include various types of subjects, including those whose work area is included in the area setting, as well as customers such as users.
[0103] Meanwhile, with respect to the action of receiving information on one or more areas from a map provider, the term "map provider" may include various entities engaged in the business of providing map information, and its scope is not limited to a specific individual or corporation.
[0104] Figure 8 is an exemplary diagram of the configuration of an electronic device according to one embodiment.
[0105] Referring to FIG. 8, the electronic device (110) includes a processor (810) and a memory (820), and may further include a transceiver (830) depending on the embodiment. The electronic device (110) is connected to a first user's device (120) and an external device, etc., through the transceiver (830), and may exchange data.
[0106] The processor (810) may include at least one of the devices described above with reference to FIGS. 1 to 7, or may perform at least one method described above with reference to FIGS. 1 to 7. The memory (820) may store information for performing at least one method described above with reference to FIGS. 1 to 7. The memory (820) may be a volatile memory or a non-volatile memory.
[0107] The processor (810) can execute a program and control an electronic device (110) for matching between users. The code of the program executed by the processor (810) can be stored in the memory (820).
[0108] Additionally, the electronic device (110) of the embodiment may further include an interface capable of providing information to a user (e.g., a first user).
[0109] Meanwhile, the present specification and drawings disclose preferred embodiments of the present invention. Although specific terms have been used, they are used in a general sense only to easily explain the technical contents of the present invention and to assist in understanding the invention, and are not intended to limit the scope of the present invention. It will be apparent to those skilled in the art that other modified examples based on the technical concept of the present invention are possible in addition to the embodiments disclosed herein.
[0110] The server or terminal according to the above-described embodiments may include a processor, a memory for storing and executing program data, permanent storage such as a disk drive, a communication port for communicating with an external device, a user interface device such as a touch panel, a key, a button, etc. The methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable codes or program commands that can be executed on the processor. Here, the computer-readable recording medium includes a magnetic storage medium (e.g., read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and an optical reading medium (e.g., CD-ROM, DVD: Digital Versatile Disc)). The computer-readable recording medium may be distributed to computer systems connected to a network, so that the computer-readable code can be stored and executed in a distributed manner. The medium is readable by a computer, stored in a memory, and executed by a processor.
[0111] The present embodiment may be represented by functional block configurations and various processing steps. These functional blocks may be implemented by various hardware and / or software configurations that perform specific functions. For example, the embodiment may employ integrated circuit configurations such as memory, processing, logic, look-up tables, etc., which may perform various functions under the control of one or more microprocessors or other control devices. Similarly, the present embodiment may be implemented in a programming or scripting language such as C, C++, Java, assembler, Python, etc., including various algorithms implemented as a combination of data structures, processes, routines, or other programming configurations. Functional aspects may be implemented as algorithms that execute on one or more processors. Furthermore, the present embodiment may employ conventional techniques for electronic configuration, signal processing, and / or data processing. Terms like "mechanism," "element," "means," and "composition" can be used broadly and are not limited to mechanical or physical components. These terms can also encompass a series of software routines, such as those associated with a processor.
[0112] The above-described embodiments are merely examples, and other embodiments may be implemented within the scope of the claims set forth below.
Claims
1. A method for determining whether a user matches with another user in an electronic device, Step of obtaining information of the first user; A step of determining whether there is one or more users at a location that satisfies a set condition in relation to the location of the first user; and A method for determining whether there is a match between users, comprising a step of determining whether to match a second user included in the one or more users with the first user, when one or more users exist.
2. In paragraph 1, The step of determining whether one or more of the above users exist is A step of verifying a plurality of users for matching, including the first user; A step of determining whether the locations of the plurality of users belong to a plurality of areas set; and A method for determining whether there is a match between users, characterized in that it includes a step of determining whether a user belonging to the first area exists among the plurality of users when the location of the first user belongs to the first area among the plurality of areas set.
3. In paragraph 2, The step of determining whether the locations of the above multiple users belong to the above multiple set areas is A step of checking a plurality of bounding boxes corresponding to each of the plurality of areas set above; and A method for determining whether there is a match between users, characterized in that it includes a step of determining whether the locations of the plurality of users belong to the first bounding box included in the plurality of bounding boxes.
4. In paragraph 3, The step of determining whether the locations of the above multiple users belong to the above multiple set areas is A method for determining whether there is a match between users, characterized in that the method further includes a step of determining whether the location of the third user included in the plurality of users belongs to an area corresponding to the first bounding box when the location of the third user belongs to the first bounding box.
5. In paragraph 4, A method for determining whether there is a match between users, characterized in that the electronic device determines whether the location of the third user belongs to an area corresponding to the first bounding box based on a ray casting algorithm.
6. In paragraph 3, A method for determining whether there is a match between users, characterized in that the plurality of bounding boxes include at least one bounding box having a rectangular shape that includes a corresponding area and has sides parallel to the x-axis or y-axis.
7. In paragraph 3, The step of determining whether the locations of the above plurality of users belong to the first bounding box is A step of obtaining coordinate information corresponding to the locations of the plurality of users; and A method for determining whether there is a match between users, characterized in that it further comprises a step of comparing at least one of the maximum x-coordinate associated with the first bounding box, the minimum y-coordinate associated with the first bounding box, the maximum y-coordinate associated with the first bounding box, and the minimum y-coordinate associated with the first bounding box with at least one of the x-coordinate included in the coordinate information and the y-coordinate included in the coordinate information.
8. In paragraph 2, The step of verifying the above multiple users is A method for determining whether a user matches another user, characterized in that it includes a step of checking, among a plurality of candidate users, which candidate users have permitted matching with other users.
9. In paragraph 2, The step of verifying the above multiple users is A step of verifying one or more candidate users currently using the service, among multiple candidate users, to allow matching with other users while using the service; and A step for identifying one or more candidate users who are not currently using the service, among multiple candidate users, to allow matching with other users when not using the service. A method for determining whether a user matches, characterized in that it includes at least one of:
10. In paragraph 9, The step of verifying the above multiple users is A method for determining whether there is a match between users, characterized in that it further includes a step of determining whether the probability of using the service within a set time period is higher than a threshold probability for one or more candidate users who are not currently using the service.
11. In paragraph 2, The step of verifying the above multiple users is A step of identifying at least one candidate user among multiple candidate users who has a history matching the first user; and A step of checking at least one candidate user among multiple candidate users who has a history of rejecting matching with the first user. A method for determining whether a user matches, characterized in that it includes at least one of:
12. In paragraph 2, Further comprising a step of checking the plurality of areas set above, The step of checking the multiple areas set above is A step of receiving input information for setting one or more areas; and A step of receiving information on one or more areas from a map provider. A method for determining whether a user matches, characterized in that it includes at least one of:
13. In paragraph 1, A method for determining whether there is a match between users, characterized in that it further includes a step of providing an item group ordering service for a user group including the first user and the second user when determining to match the second user with the first user.
14. In paragraph 1, The step of determining whether one or more of the above users exist is A method for determining whether there is a match between users, characterized in that it includes a step of determining whether there is a user at a location reachable within a set time from the location of the first user.
15. In paragraph 1, The step of determining whether to match the second user with the first user is Comprising a step of comparing one or more pieces of information associated with the first user and one or more pieces of information associated with the second user, One or more pieces of information associated with the first user include service usage history information of the first user, A method for determining whether there is a match between users, characterized in that one or more pieces of information associated with the second user include service usage history information of the second user.
16. A non-transitory computer-readable recording medium having recorded thereon a program for executing the method of paragraph 1 on a computer.
17. In an electronic device that determines whether a user matches with another user, Includes a memory and a processor that stores instructions, The above processor is connected to the above memory, Obtain the information of the first user, Determine whether there is one or more users at a location that satisfies the set conditions in relation to the location of the first user, An electronic device that determines whether to match a second user included in the one or more users with the first user when one or more users exist.
Citation Information
Patent Citations
Method of location based service using semi-quantization and method by the same
KR1020090000636A
Nearest search on adaptive index with variable compression
KR1020090028706A
Location filtering using mobile country code
KR1020120117870A
Distance-based joint ordering application device and distance-based joint ordering system comprising it
KR102409980B1
KR20240001432A