Method and apparatus for providing entry functionality for location-based chat rooms
The instant messaging method facilitates location-based chat room entry by determining participation areas and using join codes, addressing the lack of geographical communication in existing services and ensuring secure messaging.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- CACAO CO LTD
- Filing Date
- 2025-11-07
- Publication Date
- 2026-05-20
AI Technical Summary
Existing instant messaging services lack a location-based chat room entry function that allows users to join chat rooms based on their geographical location, limiting the ability to create dynamic and location-specific communication environments.
An instant messaging method that determines a participation area based on the location of a host terminal, generates a join code, and allows guest terminals to join chat rooms within this area using a location-based entry function, independent of the host's response, while ensuring secure communication through encryption.
Enables users to enter chat rooms based on their geographical location, enhancing the dynamicity and security of communication by allowing location-specific participation and secure messaging.
Smart Images

Figure 2026084104000001_ABST
Abstract
Description
[Technical Field]
[0001] The following discloses the technology for providing location-based chat room entry functionality in an instant messaging service. [Background technology]
[0002] Recently, with the development of mobile smart devices, the use of online platform services for interacting with other users via networks has increased. Representative examples of online platform services for interacting with other users include social networking services (SNS), which are online platforms that generate and strengthen social relationships through communication, information sharing, and network expansion among users, and instant messaging services (IMS), which are online platforms for real-time content communication between two or more users. As interaction between users through such mobile devices increases, online platform services support not only chat services for daily conversations with other users, but also the provision of various services based on communication between multiple users. [Overview of the project] [Problems that the invention aims to solve]
[0003] The objective of this invention is to provide a location-based chat room entry function in an instant messaging service. [Means for solving the problem]
[0004] An instant messaging method performed by a server may include the steps of: determining a join area based on the location of a host terminal, based on an activation request for activating the location-based chat room entry function in the chat room received from the host terminal of the chat room; generating a join code for the chat room based on the activation request and sending information about the generated join code to the host terminal; and activating the location-based chat room entry function of the chat room based on the join code and the join area.
[0005] The instant messaging method may further include the steps of: receiving information about an input code entered by a user from a guest terminal of a guest account; determining the chat room having the same participation code as the input code from among a plurality of candidate chat rooms in which the location-based chat room entry function has been activated; allowing the guest account to join the chat room based on the guest terminal being located within the participation area of the determined chat room, and sending information about the determined chat room to the guest terminal; and adding the guest account to the participants of the chat room based on the receipt of a participation request to the chat room from the guest terminal.
[0006] The instant messaging method may further include the steps of: receiving a request to join the chat room from a guest terminal of a guest account; determining whether the request to join was generated via a link that provides access to the chat room or via the entry function of the location-based chat room; determining whether to add the guest account to the chat room in response to the host terminal's response to the request, based on the fact that the request to join was generated via a link that provides access to the chat room; and adding the guest account to the chat room participants, independently of the host terminal's response, based on the fact that the request to join was generated via the entry function of the location-based chat room.
[0007] The step of determining the participation area may include determining a first area determined based on the location of the first host terminal, along with a second area determined based on the location of the second host terminal, based on the fact that the host terminal of the chat room includes a first host terminal and a second host terminal, as the participation area.
[0008] The step of determining the participation area may include the step of adding an area determined based on the location of the other user account's terminal to the participation area, based on receiving a request from the host terminal to add a participation area based on the other user account's terminal that has joined the chat room.
[0009] The step of determining the participation area may further include: determining a first participation area based on a first location of the host terminal at a first time point corresponding to the first activation request in response to a first activation request received from the host terminal; deactivating the location-based chat room entry function of the chat room based on the first activation request based on at least one of a deactivation request for the location-based chat room entry function received from the host terminal or the elapsed time predetermined from the first time point; determining a second participation area based on a second location of the host terminal at a second time point corresponding to the second activation request in response to a second activation request for the chat room after deactivation; and activating the location-based chat room entry function of the chat room so that guest accounts of guest terminals located in at least one of the first participation area or the second participation area can enter the chat room.
[0010] The instant messaging method may further include the step of changing the participation area based on the changed location of the host terminal, based on the detection of a change in the host terminal's location, while the entry function of the chat room is activated.
[0011] The steps include receiving a ciphertext of the chat room's private key from the host terminal, the chat room's private key being encrypted with the participation code; and allowing a guest account to join the chat room, and, based on receiving a request to join the chat room from the guest terminal of the guest account, sending the ciphertext of the chat room's private key to the guest terminal, wherein the chat room's private key is the chat room's key, which is generated in pair with the chat room's public key, and is the decryption key of a message key encrypted with the chat room's public key, and messages sent through the chat room can be retrieved based on the message key.
[0012] An instant messaging method performed by a host terminal of a chat room host account includes the steps of: sending an activation request to a server for activating the location-based chat room entry function in the chat room based on user input; receiving information from the server regarding a participation code for the chat room; and displaying a screen relating to the chat room in which a guest account using a guest terminal has been added as a participant, based on the guest account joining the chat room, wherein the guest terminal can receive the same input code as the participation code from the user and be placed in the participation area of the chat room determined based on the location of the host terminal.
[0013] The host terminal includes a first host terminal, and the instant messaging method can determine the participation area to be a first area determined based on the location of the first host terminal, along with a second area determined based on the location of the second host terminal, based on the fact that the host terminal of the chat room includes the first host terminal and the second host terminal.
[0014] The instant messaging method further includes sending a request to the server to add a participation area based on other user accounts that have joined the chat room, and the participation area can be modified by adding areas determined based on the location of the other user accounts' terminals.
[0015] The step of sending the activation request to the server includes sending a first activation request to the server at a first time point, the participation area includes a first participation area determined at the first time point based on a first location of the host terminal, the location-based chat room entry function based on the first activation request is deactivated by sending a deactivation request to the server for the location-based chat room entry function, or by the elapsed time of a predetermined period from the first time point, the instant messaging method further includes sending a second activation request to the server for the chat room at a second time point after the deactivation, the location-based chat room entry function of the chat room based on the second activation request can process guest accounts of guest terminals located in at least one of the first participation area or a second participation area determined at the second time point based on a second location of the host terminal as being able to enter the chat room.
[0016] The instant messaging method further includes the steps of: receiving information about the participation code, generating a ciphertext of the chat room's private key by encrypting the chat room's private key with the participation code; and sending the ciphertext of the chat room's private key to the server, wherein the chat room's private key is the chat room's key, which is generated in conjunction with the chat room's public key, and is the decryption key of the message key encrypted with the chat room's public key, and messages sent through the chat room can be retrieved based on the message key.
[0017] An instant messaging method performed by a server may include the steps of: receiving information from a guest terminal regarding an input code for entering a chat room using a location-based chat room entry function; determining a chat room from a plurality of candidate chat rooms with the same participation code as the input code, based on the location-based chat room entry function being activated; allowing the guest account of the guest terminal to join the chat room and sending information regarding the determined chat room to the guest terminal, based on the guest terminal being located within the participation area of the determined chat room; and adding the guest account to the participants of the chat room based on the reception of a participation request to the chat room from the guest terminal.
[0018] The participation request includes a first participation request, the guest terminal includes a first guest terminal, and the instant messaging method may further include the steps of: receiving a second participation request to the chat room from a second guest terminal; determining whether the second participation request was generated via a link that allows access to the chat room or via an entry function of the location-based chat room; determining whether to add the guest account to the chat room in response to the host terminal of the chat room to the second participation request, based on the fact that the second participation request was generated via a link that allows access to the chat room; and adding the guest account to the chat room participants independently of the host terminal's response to the second participation request, based on the fact that the second participation request was generated via an entry function of the location-based chat room.
[0019] The instant messaging method allows the guest account to participate in the chat room, and based on receiving a participation request for the chat room from the guest terminal of the guest account, further includes a step of sending, to the guest terminal, a ciphertext of the private key of the chat room, where the private key of the chat room is encrypted with the participation code of the chat room. The private key of the chat room is a key of the chat room generated in pair with the public key of the chat room, is a decryption key for decrypting the message key encrypted with the public key of the chat room, and a message sent through the chat room can be obtained based on the message key.
[0020] An instant messaging method executed by a guest terminal of a guest account includes a step of sending information about the input code to a server based on obtaining an input code for entering a chat room using an entry function of a location-based chat room, a step of receiving, from the server, information about a chat room that has the same participation code as the input code and in which the guest terminal is located within the participation area of the chat room among a plurality of candidate chat rooms in which the entry function of the location-based chat room is activated, a step of sending a participation request for the chat room to the server, and a step of displaying a screen related to the chat room in which the guest account is added as a participant of the chat room based on the guest account participating in the chat room.
[0021] The participation requirement includes a first participation requirement, the chat room includes a first chat room, and the addition of the guest account as a participant to the chat room is added independently of the response of the host terminal of the first chat room to the first participation requirement. The instant messaging method further includes the step of sending a second participation requirement for a second chat room to the server. The guest account is added as a participant to the second chat room in response to the response of the host terminal of the second chat room based on the fact that the second participation requirement is generated via a link accessible to the second chat room. Based on the fact that the second participation requirement is generated via the entry function of the location-based chat room, it can be added as a participant to the second chat room independently of the response of the host terminal of the second chat room.
[0022] The server includes at least one processor including a processing circuit and a memory including one or more storage media for storing instructions. When the instructions are executed independently or collectively by the at least one processor, the server determines a participation area based on the position of the host terminal based on an activation request for activating the entry function of the location-based chat room in the chat room received from the host terminal of the chat room, generates a participation code for the chat room based on the activation request, transmits information regarding the generated participation code to the host terminal, and the entry function of the location-based chat room of the chat room based on the participation code and the participation area can be activated.
[0023] The host terminal of the chat room host account includes a display, at least one processor including a processing circuit, and memory including one or more storage media for storing instructions, and when the instructions are executed independently or collectively by the at least one processor, the host terminal can send an activation request to a server for activating the location-based chat room entry function in the chat room based on user input, receive information from the server regarding the participation code for the chat room, receive the same input code as the participation code from the user, and display a screen relating to the chat room in which the guest account has been added as a participant to the chat room based on the fact that a guest account using a guest terminal located in the chat room's participation area determined relative to the host terminal's location has joined the chat room.
[0024] The server includes at least one processor including a processing circuit and memory including one or more storage media for storing instructions, and when the instructions are executed independently or collectively by the at least one processor, the server receives information from the guest terminal regarding an input code for entering a chat room using the location-based chat room entry function, determines a chat room from a plurality of candidate chat rooms in which the location-based chat room entry function has been activated that has the same participation code as the input code, allows the guest account of the guest terminal to join the chat room based on the guest terminal being located within the participation area of the determined chat room, transmits information regarding the determined chat room to the guest terminal, and can add the guest account to the participants of the chat room based on the reception of a participation request to the chat room from the guest terminal.
[0025] A guest terminal of a guest account includes a display, at least one processor including a processing circuit, and memory including one or more storage media for storing instructions. When the instructions are executed independently or collectively by the at least one processor, the guest terminal sends information about the input code to a server based on obtaining an input code for entering a chat room using the location-based chat room entry function, receives information from the server about a chat room among a plurality of candidate chat rooms in which the location-based chat room entry function has been activated, which has the same participation code as the input code and in which the guest terminal is located within the chat room's participation area, sends a participation request to the server, and a screen relating to the chat room to which the guest account has been added as a participant can be displayed based on the guest account joining the chat room. [Effects of the Invention]
[0026] According to the present invention, an instant messaging service can provide a function to enter a location-based chat room. [Brief explanation of the drawing]
[0027] [Figure 1] This diagram illustrates examples of instant messaging systems according to various embodiments.
[0028] [Figure 2] This flowchart illustrates examples of location-based chat room entry functions provided in instant messaging systems according to various embodiments.
[0029] [Figure 3A] This figure illustrates examples of interfaces displayed when a user terminal according to various embodiments generates a chat room and activates the entry function for a location-based chat room.
[0030] [Figure 3B] This figure illustrates examples of interfaces displayed when a user terminal according to various embodiments activates the entry function of a chat room based on location.
[0031] [Figure 4] This figure illustrates examples of interfaces displayed when a user terminal according to various embodiments enters a chat room where the location-based chat room entry function has been activated.
[0032] [Figure 5] This flowchart illustrates examples of how a server, according to various embodiments, adds a guest account to a chat room based on a request to join the chat room.
[0033] [Figure 6] This diagram illustrates examples of how participation areas according to various embodiments are added based on the location of other user accounts' terminals.
[0034] [Figure 7] This figure illustrates an example of the operation in which participation regions according to various embodiments are determined based on past participation regions determined based on past activation requests.
[0035] [Figure 8] This system diagram illustrates examples of the operation of an instant messaging system that provides security instant messaging services according to various embodiments.
[0036] [Figure 9] This is an illustrative diagram of the hardware configuration of a system for an instant messaging service according to one embodiment. [Modes for carrying out the invention]
[0037] Specific structural or functional descriptions of embodiments are disclosed for illustrative purposes only and may be modified in various ways. Therefore, embodiments are not limited to any particular disclosure, and the scope of this specification includes modifications, equivalents, or substitutions that are part of the technical concept.
[0038] Terms such as "first" or "second" may be used to describe multiple components, but such terms should be interpreted solely for the purpose of distinguishing one component from others. For example, the first component can be named the second component, and similarly, the second component can also be named the first component.
[0039] When it is mentioned that one component is “linked” or “connected” to another component, it should be understood that it is directly linked to or connected to the other component, but that other components may be present in between.
[0040] The terms used herein are used solely to describe specific embodiments and are not intended to limit the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as “includes” or “having” indicate the presence of features, figures, steps, actions, components, parts, or combinations thereof described in the specification, and should be understood not to preemptively exclude the possibility of the presence or addition of one or more other features, figures, steps, actions, components, parts, or combinations thereof.
[0041] Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as those generally understood by a person of ordinary skill in the art to which this embodiment belongs. Commonly used, predefined terms should be interpreted as having the meaning consistent with their meaning in the context of the relevant art, and not as ideal or overly formal unless expressly defined herein.
[0042] The embodiments will be described in detail below with reference to the attached drawings. In the description with reference to the attached drawings, the same components will be given the same reference numerals regardless of the reference numerals in the drawings, and redundant explanations will be omitted.
[0043] Figure 1 illustrates examples of instant messaging systems according to various embodiments.
[0044] An instant messaging system 100 according to one embodiment includes a user terminal 110, a server 120, and a network 130.
[0045] User terminal 110 refers to any electronic device, such as a computer, portable computer, wireless phone, mobile phone, smartphone, PDA (Personal Digital Assistant), web tablet, or wearable device, that is capable of installing and running applications related to server 120 (hereinafter, may be simply referred to as "apps"), or any device capable of running web applications. Here, user terminal 110 can perform all general service operations, such as configuring service screens, data input, data transmission and reception, and data storage, under the control of an app or web. User terminal 110 can process user interfaces or user interactions via a processor, and may output or transmit processing results via the output device of user terminal 110.
[0046] The user terminal 110 runs an application or web page related to the services provided by the server 120. Users can use the services provided by the server 120 by running the application or web page related to the services via the user terminal 110.
[0047] According to one embodiment, the server 120 may include a server that provides an instant messaging service (IMS), a social networking service, and / or an instant messaging service via the network 130.
[0048] Server 120 can provide services to user terminal 110. According to one embodiment, server 120 may include an instant messaging server (not shown). The instant messaging server may provide instant messaging services to user terminal 110.
[0049] An instant messaging service refers to a messenger service that allows users to send and receive text, photos, audio, and other content in real time over a network. Instant messaging services can be installed on a user's device in the form of an app and / or program, enabling them to provide instant messaging services to the user.
[0050] Instant messaging services can provide chat rooms where users can send and receive messages containing data such as text with designated recipients. Instant messaging services provide users with messaging functionality by displaying data sent and received through chat rooms. One or more users may participate in a single chat room. For example, only a single user may participate in a chat room. In other words, a user may create / create a chat room with themselves (or a chat room just for themselves) and send and receive messages through such a chat room. Users who participate in a chat room can share the content of messages, such as text and photos, sent and received within the chat room.
[0051] An instant messaging service can generate individual user accounts through a subscription process. The instant messaging service may manage chat rooms and messages corresponding to each user's account. Users can send and receive messages via chat rooms with other users who have also subscribed to the instant messaging service, using the account generated upon subscribing.
[0052] As will be described in more detail later with reference to Figures 2 to 9, the instant messaging server provides a location-based chat room entry function and / or a secure instant messaging service. The location-based chat room entry function means a function that allows a user terminal 110 to enter a specific chat room based on its location within a determined area (e.g., a participation area) for that chat room. The location-based chat room entry function will be described in more detail later with reference to Figures 2 to 7. The secure instant messaging service may include an instant messaging service that encrypts and sends / receives data, as an instant messaging service with enhanced security. The secure instant messaging service will be described in more detail later with reference to Figure 8.
[0053] Server 120 may interact with applications or websites related to services executed on user terminal 110 for purposes such as user interface (UI), function, operation, or service.
[0054] User accounts are created when users subscribe to services provided by server 120, which acts as a service platform providing services to user accounts that have subscribed to services such as social networking services (SNS) and instant messaging services (IMS). In various embodiments of this disclosure, user accounts are described primarily as accounts that have subscribed to instant messaging services. Since user terminals 110 use services using user accounts, user accounts included in the embodiments described below are interpreted as corresponding to user terminals 110.
[0055] In various embodiments of this disclosure, “User” is interpreted not only as a natural person, but also as a user account that has subscribed to the instant messaging service or a user terminal connected with a user account. “Host” is interpreted not only as a natural person that has established / or has the authority to manage a chat room, but also as the host’s user account (which may hereafter be expressed as “Host Account” or similar) or the host’s user terminal (which may hereafter be expressed as “Host Terminal” or similar). “Guest” is interpreted not only as a natural person that requests to join a chat room established and / or managed by the host, but also as the guest’s user account (which may hereafter be expressed as “Guest Account” or similar) or the guest’s user terminal (which may hereafter be expressed as “Guest Terminal” or similar).
[0056] Figure 2 is a flowchart illustrating examples of location-based chat room entry functions provided in instant messaging systems according to various embodiments.
[0057] An instant messaging system (for example, the instant messaging system 100 in Figure 1) includes a host terminal 210, a server 220 (for example, the server 120 in Figure 1), and a guest terminal 230.
[0058] The host terminal 210 refers to a user terminal (for example, user terminal 110 in Figure 1) that uses a host account to access an instant messaging service (for example, to connect to an instant messaging service). The host account refers to one or more user accounts that have joined a particular chat room and have been designated as the host. For example, the host account refers to a user account that creates / makes a particular chat room, or is designated as an additional host account by the host account of a particular chat room.
[0059] Guest terminal 230 refers to a user terminal (e.g., user terminal 110 in Figure 1) that uses a guest account to access the instant messaging service (e.g., connect to the instant messaging service). A guest account refers to a user account that joins a specific chat room. For example, a guest account refers to a user account that did not join a specific chat room but joins it later.
[0060] In various embodiments of this disclosure, host terminal 210 (or host account) and guest terminal 230 (or guest account) are terms indicating a status granted to a particular chat room. Therefore, a first user account may be both the host account of a first chat room and the guest account of a second chat room, and a second user account may be both the guest account of a first chat room and the host account of a second chat room. Furthermore, a particular user account may be / be the host account of two or more chat rooms, or the guest account of two or more chat rooms.
[0061] In various embodiments of this disclosure, the operation of a host terminal 210 (or host account) and a guest terminal 230 (or guest account) for a specific chat room is mainly described, or a single user terminal acts as a host terminal 210 for a first chat room and as a guest terminal 230 for a second chat room for various chat rooms in which the user account participates.
[0062] In step S201, the host terminal 210 sends an activation request to the server 220 to activate the location-based chat room entry function in the chat room, based on user input (for example, host input).
[0063] In step S202, the server 220 determines the join area based on the location of the host terminal 210, based on the activation request.
[0064] For example, server 220 may determine an area (e.g., a 2D area, a 3D area) within a predetermined radius (e.g., a radius of 3m) from the location of host terminal 210 as the participation area.
[0065] According to one embodiment, the host terminal 210 acquires location information indicating its geographical location using sensors included in the host terminal 210 (e.g., GPS sensor, GNSS sensor). The host terminal 210 may transmit its location information to the server 220. The server 220 may determine the participating area based on the location information of the host terminal 210 received from the host terminal 210.
[0066] In various embodiments of this disclosure, the chat room host terminal 210 is primarily described as a single terminal, but is not limited thereto. According to one embodiment, the chat room host terminal 210 may include multiple terminals.
[0067] Server 220 may determine a second area, determined based on the location of the second host terminal, as a participating area, along with a first area determined based on the location of the first host terminal 210, based on the fact that the chat room host terminal 210 includes the first host terminal 210 and the second host terminal.
[0068] The first host terminal is a terminal connected to the instant messaging service with the first host account, and the second host terminal may be a terminal connected to the instant messaging service with a second host account different from the first host account. For reference, as described above with reference to Figure 1, the user account that created the chat room may be designated as the host account of the chat room. Subsequently, the user account that is the host account of the chat room may designate other user accounts that have joined the chat room as additional host accounts. As a result, there may be multiple host accounts for a single chat room.
[0069] However, this is not limited to the above, and the first host terminal and the second host terminal may be terminals connected to the instant messaging service with the same host account. In other words, if there is a first host terminal (e.g., a smartphone) and a second host terminal (e.g., a laptop) logged in with the chat room's host account, the first area may be determined based on the location of the first host terminal, and the second area may be determined based on the location of the second host terminal.
[0070] In step S203, server 220 generates a join code for the chat room based on the activation request. Server 220 may generate a join code specific to the activation request. The join code is valid only while the location-based chat room entry function is activated in response to the activation request. The join code becomes invalid when the location-based chat room entry function corresponding to the activation request is deactivated.
[0071] For example, the location-based chat room entry function may be activated and then deactivated based on a first activation request. Subsequently, the location-based chat room entry function may be activated and then deactivated based on a second activation request following the first activation request. The participant code corresponding to the first activation request remains invalid even if the same chat room's entry function is activated by the second activation request. Therefore, while the chat room's entry function is activated by the second activation request, a guest account that entered the participant code corresponding to the second activation request is allowed to enter the chat room, while a guest account that entered the participant code corresponding to the first activation request is denied (e.g., restricted) from entering the chat room.
[0072] According to one embodiment, if the location-based chat room entry function allows entry to the chat room based solely on the user terminal's location, in order to prevent unintended user accounts from entering the chat room, the server 220 can allow a user account that has entered the chat room entry code to enter the chat room while the user terminal's location is within the participation area.
[0073] In step S204, the server 220 sends information about the generated participation code to the host terminal 210. The host terminal 210 receives information about the participation code for the chat room from the server 220. The host terminal 210 may display the participation code via a display.
[0074] The user of host terminal 210 (e.g., the host) may announce a participation code to the user of guest terminal 230 (e.g., the guest). If the host and guest are physically in the same space (e.g., a conference room), the host may transmit the participation code to the guest. As will be described later, the guest can enter the chat room by entering the participation code transmitted by the host into the guest terminal 230.
[0075] In step S205, server 220 activates the chat room entry function based on the chat room location and participation area.
[0076] While activating the location-based chat room entry function, Server 220 generates an entry containing information about the chat room (e.g., a chat room identifier) and a participation code. Server 220 may add the generated entry to a database. Exemplaryly, the entry may further include information about the participation area, along with the participation code and chat room information. The database means a database that stores entries for multiple candidate chat rooms for which the location-based chat room entry function has been activated. The database may be contained within Server 220 (e.g., an internal database) or contained in an external device accessible by Server 220 (e.g., an external database).
[0077] In step S206, the guest terminal 230 obtains an input code to enter the chat room using the location-based chat room entry function. The input code may be entered by the user (e.g., the guest). As mentioned above, the guest may be in a physical space like the host. The host can inform the guest of the participation code displayed by the host terminal 210. The guest can then enter the participation code provided by the host as an input code into the guest terminal 230.
[0078] In step S207, the guest terminal 230 sends information about the input code to the server 220. The server 220 may receive information about the input code from the guest terminal 230.
[0079] In step S208, the server 220 determines (for example, selects and checks) the chat room that has the same participation code as the input code from among several candidate chat rooms whose location-based chat room entry function has been activated.
[0080] For example, server 220 may search for the input code among the participation codes of entries for multiple candidate chat rooms in the database. If a target entry containing the same participation code as the input code exists in the database, server 220 can retrieve information about the chat room included in the target entry. If no target entry containing the same participation code as the input code exists in the database, server 220 may send information to the guest terminal 230 indicating that there is no chat room among the multiple candidate chat rooms that corresponds to the input code. The guest terminal 230 displays a guidance message requesting confirmation of the input code.
[0081] In step S209, the server 220 allows the guest account to join the chat room based on the fact that the guest terminal 230 is located within the participation area of the determined chat room.
[0082] Server 220 may determine whether or not the guest terminal 230 is located within the chat room's participation area based on at least one of the following: the guest terminal 230's location information, ultrasound (e.g., inaudible sound waves), or short-range wireless communication (e.g., Bluetooth®, NFC (Near Field Communication)).
[0083] For example, server 220 may receive location information of guest terminal 230 from guest terminal 230. Guest terminal 230 may obtain location information indicating its geographical location using sensors (e.g., GPS sensor, GNSS sensor). Guest terminal 230 may send its location information to server 220 along with information about the input code, or after a chat room with the same participation code as the input code has been determined. Server 220 may determine whether or not guest terminal 230 is located within the participation area based on the location information of guest terminal 230.
[0084] For example, server 220 may send a command to host terminal 210 to emit ultrasound based on activating the location-based chat room entry function. Host terminal 210 may radiate ultrasound while the location-based chat room entry function is activated. In this case, the participation area may be determined as an area that can receive ultrasound emitted by host terminal 210. If guest terminal 230 receives ultrasound emitted from host terminal 210, it may send information about the emitted ultrasound to server 220. Based on the result of comparing the information about the ultrasound received from guest terminal 230 with the information about the ultrasound emitted by host terminal 210, server 220 determines that guest terminal 230 is located within the participation area if the information about the ultrasound received from guest terminal 230 and the information about the ultrasound emitted by host terminal 210 match.
[0085] For example, server 220 may use short-range wireless communication to determine whether guest terminal 230 is located within the participation area. Server 220 may determine that guest terminal 230 is located within the participation area if it receives information from host terminal 210 and / or guest terminal 230 indicating that communication signals have been sent and received via short-range wireless communication between host terminal 210 and guest terminal 230. Exemplary, host terminal 210 may broadcast a Bluetooth® advertisement packet while the location-based chat room entry function is activated. Guest terminal 230 may scan for advertisement packets after sending information about the input code, or after a chat room with the same participation code as the input code has been determined. Guest terminal 230 may send information to server 220 indicating that it has received an advertisement packet from host terminal 210. Based on the fact that guest terminal 230 has received an advertisement packet from host terminal 210, server 220 determines that guest terminal 230 is located within the participation area.
[0086] Server 220 allows the guest account to join the chat room if the guest terminal 230 is located within the designated chat room's participation area.
[0087] Although not explicitly shown with reference to Figure 2, server 220 can restrict guest accounts from joining a chat room based on the fact that guest terminal 230 is not located within the designated chat room participation area.
[0088] In step S210, the server 220 sends information about the determined chat room to the guest terminal 230. The guest terminal 230 may receive information about the chat room from the server 220. The guest terminal 230 may use the information about the chat room received from the server 220 to display a screen for entering the chat room. The screen for entering the chat room may include information about the chat room and a join button for joining the chat room. The screen for entering the chat room will be explained in more detail with reference to Figure 4.
[0089] In step S211, the guest terminal 230 sends a request to join the chat room to the server 220. The guest terminal 230 may also send a request to join the chat room to the server 220 based on receiving user input (e.g., guest input) in which the guest selects the join button on the screen for entering the chat room. The server 220 may receive a request to join the chat room from the guest terminal 230.
[0090] In step S212, the server 220 adds the guest account to the chat room participants based on the reception of a join request to the chat room from the guest terminal 230. The server 220 may also add the guest account as a participant to the chat room independently of the host terminal 210's response to the join request, based on the fact that the join request was generated via the location-based chat room entry function. As will be described in detail with reference to Figure 5, if the join request to the chat room is generated via a link that allows access to the chat room, the server 220 can decide whether or not to include the guest account based on the host terminal 210's response to the join request.
[0091] Server 220 may send information to host terminal 210 and guest terminal 230 indicating that a guest account has been added to the chat room participants. The information indicating that a guest account has been added to the chat room participants may include information that allows user terminals (e.g., host terminal 210, guest terminal 230) to display a screen related to the chat room to which they have been added as participants.
[0092] In step S213, the server 220 sends information to the host terminal 210 indicating that a guest account has been added to the chat room participants. The host terminal 210 may also receive information from the server 220 indicating that a guest account has been added to the chat room participants.
[0093] In step S214, the host terminal 210 displays a screen related to the chat room to which the guest account has been added as a participant, based on the guest account joining the chat room.
[0094] In step S215, the server 220 sends information to the guest terminal 230 that a guest account has been added to the chat room participants. The guest terminal 230 may also receive information from the server 220 indicating that the guest account has been added as a participant in the chat room.
[0095] In step S216, the guest terminal 230 displays a screen relating to the chat room to which the guest account has been added as a participant, based on the guest account joining the chat room.
[0096] According to one embodiment, the host terminal 210's location may change while the chat room entry function is active. Based on detecting the change in the host terminal 210's location, the server 220 may change the participation area based on the changed location of the host terminal 210. The server 220 can update the participation area based on the host terminal 210's real-time location.
[0097] For example, if the participation area is determined to be an area within a 3m radius from the host terminal 210, the participation area may be determined at each timepoint as an area within a 3m radius centered on the host terminal 210's position at that time.
[0098] However, the participation area in the various embodiments of this disclosure is not limited to being changed by a change in the position of the host terminal 210. In one embodiment, the participation area is determined based on the position of the host terminal 210 at the time the activation request is generated, and the participation area does not change even if a change in the position of the host terminal 210 occurs after the time the activation request is generated.
[0099] According to one embodiment, the location-based chat room entry function may be deactivated after a predetermined time (e.g., 5 minutes) has elapsed since the activation request was generated, or in response to a deactivation request from the host terminal 210. As described above, if the location-based chat room entry function is deactivated, all participation codes and / or participation areas may be set to invalid. Based on the fact that the location-based chat room entry function has been deactivated, the server 220 can delete the chat room entry included in the database.
[0100] Figure 3A illustrates examples of interfaces displayed when a user terminal according to various embodiments creates a chat room and activates the location-based chat room entry function.
[0101] A user terminal according to one embodiment (for example, user terminal 110 in Figure 1, host terminal 210 in Figure 2) can generate a chat room and activate the location-based chat room entry function of the generated chat room.
[0102] On screen 301a, the user terminal displays the chat room recording screen. The chat room recording screen includes a button 311a for adding a chat room. The user terminal may receive user input 312a selecting button 311a. In response to user input 312a, the user terminal may display the chat room addition menu screen.
[0103] On screen 302a, the user terminal displays the chat room addition menu screen. The chat room addition menu screen includes a button 321a corresponding to adding a location-based chat room. The user terminal may receive user input 322a indicating the selection of button 321a. In response to user input 322a, the user terminal may display the location-based chat room addition menu screen.
[0104] In screen 303a, the user terminal displays the location-based chat room addition menu screen. According to one embodiment, the location-based chat room addition menu screen includes an invite button 331a and a join button 332a. The invite button 331a provides a function to create a chat room and activate the entry function of the location-based chat room of the created chat room so that other user accounts can join the created chat room. The join button 332a provides a function to enter the chat room whose entry function of the location-based chat room has been activated. In Figure 3A, the user terminal may obtain user input 333a selecting the invite button 331a. The user terminal may display the chat room creation screen in response to user input 333a.
[0105] On screen 304a, the user terminal displays the chat room creation screen. The user terminal may input information about the chat room (for example, a representative image of the chat room, the name of the chat room) through the chat room creation screen. The user terminal may send a chat room creation request to the server in response to user input 342a, which is selecting the confirm button 341a on the chat room creation screen. The server may create a chat room in response to the chat room creation request and set the user account as the host account of the created chat room.
[0106] The user terminal sends a request to the server to activate the location-based entry function for the chat room. The server may respond to the activation request by generating a participation code and sending the generated participation code to the user terminal.
[0107] On screen 305a, the user terminal displays the chat room interface. The user terminal may display a participation code 351a based on information about the participation code received from the server. The host (e.g., the user of the user terminal) informs other users (e.g., guests) present in the same physical space of the participation code displayed on the user terminal. The user terminal further includes an end-invitation button 352a. The end-invitation button 352a provides the function of deactivating the entry function of the chat room's location-based chat room. In response to user input 353a selecting the end-invitation button 352a, the user terminal may display an end-invitation confirmation menu.
[0108] On screen 306a, the user terminal displays an invitation completion confirmation menu. The invitation completion confirmation menu includes a cancel button and a confirm button. The cancel button provides a function to maintain the activation of the location-based chat room entry function (for example, a function to cancel user input 353a). The confirm button provides a function to immediately deactivate the location-based chat room entry function.
[0109] Figure 3B illustrates examples of interfaces displayed when a user terminal according to various embodiments activates the chat room location-based chat room entry function.
[0110] A user terminal according to one embodiment (for example, the user terminal in Figure 1, the host terminal 210 in Figure 2) can activate the location-based chat room entry function of a chat room where the user account is the host account.
[0111] On screen 301b, the user terminal displays the chat room interface of a chat room. The chat room interface includes an invite button 311b. The invite button 311b provides the function of inviting other user accounts to the chat room corresponding to the chat room interface. In response to user input 312b selecting the invite button 311b, the user terminal may display an invite menu.
[0112] On screen 302b, the user terminal displays an invitation menu. The invitation menu includes a link-based invitation button 321b and a location-based invitation button 322b. The link-based invitation button 321b provides the function of generating and / or transmitting a link or QR code (registered trademark) (quick response code) that allows access to the chat room. The location-based invitation button 322b provides the function of activating the entry function to the location-based chat room. The user terminal may obtain user input 323b selecting the location-based invitation button 322b. In response to user input 323b, the user terminal may send a request to the server to activate the location-based entry function to the chat room. In response to the activation request, the server may generate a participation code and send the generated participation code to the user terminal.
[0113] On screen 303b, the user terminal displays information about the participation code. Similar to or identical to screen 305a in Figure 3A, the user terminal displays information about the participation code, and the user of the user terminal (e.g., the host) informs other users (e.g., guests) present in the same physical space of the participation code displayed on the user terminal. The user accounts of the other users (e.g., guests) can then enter the chat room via the participation code.
[0114] Figure 4 illustrates examples of interfaces displayed when a user terminal according to various embodiments enters a chat room where the location-based chat room entry function has been activated.
[0115] A user terminal according to one embodiment (for example, the user terminal in Figure 1, the guest terminal 230 in Figure 2) can enter a chat room in which the location-based chat room entry function has been activated.
[0116] On screen 401, the user terminal displays the chat room display screen. The chat room display screen includes a button 411 for adding a chat room. The user terminal may receive user input 412 indicating that button 411 has been selected. In response to user input 412, the user terminal may display the chat room addition menu screen.
[0117] On screen 402, the user terminal displays the chat room addition menu screen. The chat room addition menu screen includes a button 421 corresponding to adding a location-based chat room. The user terminal may receive user input 422 indicating the selection of button 421. The user terminal may also display the location-based chat room addition menu screen in response to user input 422.
[0118] In screen 403, the user terminal displays the location-based chat room addition menu screen. According to one embodiment, the location-based chat room addition menu screen includes an invite button (e.g., invite button 331a in Figure 3A) and a join button 431 (e.g., join button 332a in Figure 3A). In Figure 4, the user terminal may obtain user input 432 in which the invite button 431 is selected. The user terminal may display an input code input screen in response to user input 432.
[0119] On screen 404, the user terminal obtains an input code from the user. The user terminal sends information about the obtained input code to the server. Based on the input code, the server may select a chat room with the same participation code as the input code. Based on the fact that the user terminal is located within the participation area of the selected chat room, the server allows the user account to join the chat room. The server may send information about the chat room to the user terminal.
[0120] On screen 405, the user terminal displays a screen for entering the chat room based on information about the chat room received from the server. The screen for entering the chat room may include information about the chat room (e.g., a representative image of the chat room, the name of the chat room). The screen for entering the chat room includes a join button 451. The user terminal may send a join request to the server in response to user input 452 selecting the join button 451. Based on the receipt of the join request from the user terminal, the server may add the user account as a participant in the chat room.
[0121] On screen 406, the user's terminal displays a screen related to the chat room to which the user account has been added as a participant.
[0122] Figure 5 is a flowchart illustrating examples of how a server, according to various embodiments, adds a guest account to a chat room based on a request to join the chat room.
[0123] In one embodiment, the servers (for example, Server 120 in Figure 1, Server 220 in Figure 2) differ in whether or not a response from the host terminal (for example, Host terminal 210 in Figure 2) is required to add the guest account as a participant in the chat room, based on the method by which the participation request was generated.
[0124] In step 510, the server receives a request to join the chat room from the guest terminal of the guest account (for example, guest terminal 230 in Figure 2).
[0125] As mainly explained in Figures 1 to 4, a request to join a chat room may be sent to a chat room where the location-based chat room entry function has been activated, using the same input code as the chat room's entry code, and may be received from a guest terminal located within the chat room's participation area. However, the request to join a chat room is not limited to being generated via the location-based chat room entry function; it may also be generated via a link that provides access to the chat room.
[0126] According to one embodiment, the host terminal may generate and / or distribute a link that allows access to the chat room. Exemplaryly, as shown in screen 302b of Figure 3B, the user terminal may request the server to generate a link that allows access to the chat room based on a link-based invitation button (e.g., button 321b) and receive the generated link from the server. The user terminal may transmit the link that allows access to the chat room to the guest account. The guest terminal may send a request to join the chat room to the server via the link.
[0127] In step 520, the server determines whether the join request was generated via a link that provides access to the chat room, or via the location-based chat room entry function.
[0128] In step 530, the server determines whether to add the guest account to the chat room based on the host terminal's response to the join request, since the join request was generated via a link that provides access to the chat room.
[0129] If the join request is generated via a link that provides access to the chat room, the server may send an approval request to the host terminal for the join request. The approval request may include at least one of the following: information about the chat room (e.g., chat room identifier), information about the guest account (e.g., guest account profile), or information about the join request (e.g., time of creation of the join request, method of creation of the join request). The host terminal may send either an acceptance response or a rejection response to the approval request as the host terminal's response to the join request to the server.
[0130] The server may add a guest account as a participant in the chat room based on the receipt of an acceptance response. The server may restrict the addition of a guest account as a participant in the chat room based on the receipt of a rejection response.
[0131] In step 540, the server adds a guest account to the chat room participants, independently of the host terminal's response, based on the fact that the participation request was generated via the location-based chat room entry function.
[0132] As described above with reference to Figure 2, participation requests generated via the location-based chat room entry function can be generated when a guest terminal is located near the host terminal, with the participation code sent to the host terminal being entered as an input code via the guest terminal. The chat room host informs only guests who have been allowed to enter the chat room of the chat room participation code, and the server can immediately add guest accounts that have entered the same input code as the participation code as participants in the chat room, even without a response from the host terminal.
[0133] According to one embodiment, when a chat room host invites guests located in the same physical space to the chat room, instead of sending a link to the chat room and accepting participation requests for each guest, the host can invite guests located in the same physical space to the chat room by activating the location-based chat room entry function and informing the guests of the participation code. Furthermore, even if a friendship relationship has not been established between the host account and the guest account, the host account does not need to add the guest account as a friend, and the guest account can enter the chat room with only the participation code (or input code) and location. Therefore, when using the location-based chat room entry function, there is no need to establish unnecessary friendship relationships between the host account and the guest account in order to invite someone to the chat room.
[0134] In various embodiments of this disclosure, when a server receives multiple join requests for the same chat room, it may process differently, depending on the method used to generate each join request, whether or not a response from the host terminal is required to add a guest account as a participant in the chat room.
[0135] For example, the server may receive a first join request to the chat room from a first guest terminal. The server may receive a second join request to the chat room from a second guest terminal. Based on the fact that the first join request was generated via the location-based chat room entry function, the server may add the first guest account of the first guest terminal to the chat room participants independently of the host terminal's response (for example, regardless of the host terminal's response). Based on the fact that the second join request was generated via a link that provides access to the chat room, the server may decide whether or not to add the guest account to the chat room in response to the host terminal's response to the second join request.
[0136] In various embodiments of this disclosure, when a guest terminal sends a request to join multiple chat rooms to a server, it can process differently whether a host terminal response is required to add the guest account as a participant in the chat room, depending on the method used to generate each join request.
[0137] The guest terminal may send a first join request to the first chat room to the server. Based on the fact that the first join request to the first chat room was generated based on the location-based chat room entry function, the server may add the guest account as a participant in the chat room, independently of the host terminal's response to the first join request.
[0138] A guest terminal may send a second join request to the second chat room to the server. The guest account may be added as a participant to the second chat room in response to the host terminal of the second chat room, based on the fact that the second join request was generated via a link that provides access to the second chat room. Alternatively, the guest account may be added as a participant to the second chat room independently of the host terminal of the second chat room, based on the fact that the second join request was generated via the entry function of the location-based chat room.
[0139] Figure 6 illustrates an example of how participation areas according to various embodiments are added based on the location of other user accounts' terminals.
[0140] The host terminal 610 (for example, host terminal 210 in Figure 2) sends an activation request to the server (for example, server 120 in Figure 1, server 220 in Figure 2) to activate the chat room's location-based chat room entry function. Illustratively, referring to Figure 6, there may be four user accounts (for example, the first user account, the second user account, the third user account, and the fourth user account) participating in the chat room. The host terminal 610 may be the terminal logged in with the first user account, which is the host account of the chat room. User terminal 620 may be the terminal logged in with the second user account. User terminal 630 may be the terminal logged in with the third user account. User terminal 640 may be the terminal logged in with the fourth user account.
[0141] In situation 601, the server determines the participating area 651 based on the location of the host terminal 610.
[0142] According to one embodiment, the host terminal 610 may request that the participation area 651 be expanded based on other user accounts that have joined the chat room. Exemplaryly, the host terminal 610 may request that the participation area 651 be expanded based on a fourth user account.
[0143] The host terminal 610 may send a request to the server to add a participation area 651 based on other user accounts that have joined the chat room. The request to add a participation area 651 may include information about the chat room (e.g., a chat room identifier) and information about other user accounts (e.g., a fourth user account) and / or user terminal 640 logged in with those other user accounts. The server may receive a request to add a participation area 651 from the host terminal 610.
[0144] In situation 602, the server adds area 651-2 to the joined area 651, based on receiving an add request for the joined area 651 from the host terminal 610, with the area determined based on the location of the terminal 640 of another user account. The server may also determine area 651-2 based on the location of the user terminal 640 logged in with another user account (e.g., a fourth user account) in response to the add request for the joined area 651. The server can modify the joined area 651 by adding area 651-2, determined based on the location of the user terminal 640 of another user account, to area 651-1, which was determined based on the location of the host terminal 610.
[0145] Figure 7 illustrates an example of the operation in which participation regions according to various embodiments are determined based on past participation regions determined based on past activation requests.
[0146] According to one embodiment, if the chat room location-based chat room entry function is activated multiple times based on multiple activation requests corresponding to multiple time points, the participation area corresponding to each activation request may be determined based on the participation area determined in response to a previous activation request.
[0147] Referring to Figure 7, there may be four user accounts participating in the chat room (for example, User 1, User 2, User 3, and User 4). Host terminal 710 may be a terminal logged in with User 1, which is the host account of the chat room. User terminal 720 may be a terminal logged in with User 2. User terminal 730 may be a terminal logged in with User 3. User terminal 740 may be a terminal logged in with User 4.
[0148] In one embodiment, the host terminal 710 sends a first activation request to the server at a first time point. In situation 701, the server, in response to the first activation request received from the host terminal 710, determines the first participation area 751 based on the first position of the host terminal 710 at the first time point corresponding to the first activation request.
[0149] The server deactivates the location-based chat room entry function of the chat room based on the first activation request, based on at least one of the following: a request to deactivate the location-based chat room entry function received from the host terminal 710, or the elapsed time predetermined from the first point in time.
[0150] The host terminal 710 sends a second activation request for the chat room to the server at two points in time after deactivation. In situation 702, based on the reception of the second activation request for the chat room from the host terminal 710 after deactivation, the server determines the second participation area 752 based on the second position of the host terminal 710 at the second point in time corresponding to the second activation request.
[0151] The server may activate the chat room location-based entry function so that guest accounts of guest terminals located in at least one of the first participating area 751 or the second participating area 752 can enter the chat room. In other words, the chat room location-based entry function based on the second activation request can process guest accounts of guest terminals located in either the first participating area 751 or the second participating area 752 as eligible to enter the chat room.
[0152] Figure 8 is a system diagram illustrating examples of the operation of an instant messaging system that provides security instant messaging services according to various embodiments.
[0153] According to one embodiment, an instant messaging system (for example, the instant messaging system 100 in Figure 1) can provide a secure instant messaging service.
[0154] Data sent and / or stored in an instant messaging system constitutes encrypted data for security purposes. More specifically, data sent and / or stored via an instant messaging system may be encrypted by the sender. Data sent and / or stored via an instant messaging system may be encrypted so that it can be decrypted by a designated recipient. A designated recipient may include users designated to receive data in various ways. For example, a designated recipient may be designated as a recipient by the sender, may be automatically designated as a recipient by belonging to a particular group, or may be a user included in a chat room from which data was sent in a secure instant messaging service. Because data sent and / or stored in an instant messaging system via server 820 is encrypted data, server 820 and any third party accessing server 820 cannot access, forge, or modify the original data, thus providing a secure instant messaging service with enhanced security.
[0155] In a secure instant messaging service, messages sent via a chat room may be encrypted via a message key and stored on server 820. In various embodiments of this disclosure, the key used to encrypt a message may be expressed as a symmetric key, such as the message key. A symmetric key means that the key used for encryption and the key used for decryption are the same. Messages sent via a chat room are retrieved based on the message key. For example, a message sent via a chat room may be retrieved as a result of decrypting the ciphertext of the message with the message key.
[0156] A chat room key includes the chat room's public key and its private key. The chat room key may be an asymmetric key. The chat room's public key refers to the public key used to encrypt message keys. The chat room's private key refers to the private key used to decrypt encrypted message keys (i.e., the ciphertext of the message key). In other words, the chat room's private key may be a chat room key generated in conjunction with the chat room's public key. The chat room's private key may also be the decryption key for message keys encrypted with the chat room's public key.
[0157] A user key is an asymmetric key and may include a user's public key and a user's private key. The user's public key is a public key generated on the user terminal or server 820 in relation to the user's account, and is used to encrypt data. The user's private key is a private key generated in relation to the user account, and is used to decrypt data encrypted with the user's public key. The user's public key may be stored in a database accessible by server 820 and / or other user terminals. The user's private key may be stored internally or externally within the user terminal, or as ciphertext of the encrypted private key.
[0158] A user terminal (for example, user terminal 110 in Figure 1, host terminal 210 in Figure 2) obtains the ciphertext of a message from server 820 in order to retrieve a message from the chat room. The user terminal needs the message key to decrypt the ciphertext of the message. The message key may be stored in the database as the ciphertext of the message key encrypted with the chat room's public key. Therefore, the user terminal needs the chat room's private key to decrypt the ciphertext of the message key. As a result, the user terminal needs the chat room's private key to retrieve a message sent through the chat room.
[0159] Referring to Figure 8, an example of the operation in which a host terminal 810 (for example, host terminal 210 in Figure 2) transmits the private key of a chat room to a guest terminal 830 (for example, guest terminal 230 in Figure 2) that has joined the chat room via the location-based chat room entry function will be explained. The host terminal 810 can encrypt the private key of the chat room using the participation code (or input code) as a symmetric key for encrypting or decrypting the private key of the chat room and transmit it to the guest terminal 830.
[0160] In Figure 8, E k (l) represents the result obtained by encrypting the plaintext l with key k (e.g., the ciphertext), and D k (c) represents the result obtained by decrypting the ciphertext c with key k.
[0161] In operation S801, the host terminal 810 sends a chat room creation request to the server 820. The host terminal 810 may also request the creation of a chat room of the chat room type to which the security instant messaging service is applied.
[0162] In operation S802, the host terminal 810 generates a chat room key. e This means the public key of the chat room, T d This refers to the private key of the chat room.
[0163] In operation S803, the host terminal 810 generates a ciphertext of the chat room's private key by encrypting the chat room's private key with the host's public key. H represents the host's public key.
[0164] In operation S804, the host terminal 810 sends a ciphertext to the server 820, which is the private key of the chat room encrypted with the host's public key. The server 820 may store the ciphertext received from the host terminal 810, which is the private key of the chat room encrypted with the host's public key, in its database.
[0165] Operations S803 and S804 are backup operations to prevent the loss of the private key of the chat room stored on the host terminal 810, and may be omitted.
[0166] In operation S805, the host terminal 810 sends a request to activate the entry function of the location-based chat room to the server 820. The server 820 may receive the request to activate the entry function of the location-based chat room from the host terminal 810.
[0167] In operation S806, the server 820 generates a participation code in response to the activation request and sends information regarding the generated participation code to the host terminal 810. The host terminal 810 may receive the information regarding the participation code from the server 820.
[0168] In operation S807, after receiving the information regarding the participation code, the host terminal 810 encrypts the private key of the chat room with the participation code to generate a ciphertext of the private key of the chat room. In FIG. 8, C represents the participation code, and E C (T d ) represents the ciphertext of the private key of the chat room encrypted with the participation code.
[0169] In operation S808, the host terminal 810 sends the ciphertext E C (T d ) of the private key of the chat room to the server 820. The server 820 may receive, from the host terminal 810, the ciphertext E C (T d ) of the private key of the chat room encrypted with the participation code.
[0170] Although not clearly shown in reference to FIG. 8, the server 820 receives information regarding an input code that is the same as the participation code from the guest terminal 830, and based on the fact that the guest terminal 830 is located within the participation area, permits the guest account to participate in the chat room.
[0171] In operation S809, the guest terminal 830 sends a request to join the chat room to the server 820. The server 820 may receive the request to join the chat room.
[0172] In operation S810, server 820 allows the guest account to join the chat room and, based on receiving a request to join the chat room from the guest terminal 830 of the guest account, sends the ciphertext E of the chat room's private key to the guest terminal 830. C (T d ) is sent. After the guest terminal 830 sends the join request, the server 820 sends the private key of the chat room as encrypted text E. C (T d You may receive )
[0173] In operation S811, the guest terminal 830 receives the ciphertext E of the private key of the chat room. C (T d By decrypting the input code, the chat room's private key T d The input code obtained on guest terminal 830, which was added as a participant in the chat room, is the same as the chat room's participant code C, and therefore the ciphertext E of the chat room's private key, encrypted with the symmetric key participant code C, is obtained. C (T d ) may be decrypted with the input code.
[0174] Guest terminal 830 retrieved the private key T of the chat room from which the message key ciphertext was obtained. d The message key is obtained by decrypting it. The guest terminal 830 may retrieve messages sent and received via the chat room based on the obtained message key.
[0175] According to one embodiment, the guest terminal 830 may receive encrypted messages from the server 820 that were sent via the chat room before the guest account joined the chat room. As a result, the guest terminal 830 can obtain messages that were sent via the chat room before the guest account joined the chat room.
[0176] Figure 9 is an illustrative diagram of the hardware configuration of a system for an instant messaging service according to one embodiment.
[0177] Referring to Figure 9, a system for an instant messaging service according to one embodiment (for example, the instant messaging system 100 in Figure 1) includes a user terminal 910 (for example, the user terminal 110 in Figure 1) and a server 920 (for example, the server 120 in Figure 1) connected via a network 930 (for example, the network 130 in Figure 1).
[0178] In one embodiment, the user terminal 910 may be a mobile terminal implemented by a computer device. For example, the user terminal 910 can communicate with the server 920 and / or other electronic devices (e.g., other user terminals, other servers) via the network 930 using wireless communication and / or wired communication methods.
[0179] In one embodiment, the server 920 is implemented as a computer device or multiple computer devices that communicate with user terminals 910 and / or other servers via a network 930 to provide commands, codes, files, content, services, etc. The communication method is not limited and may include the network 930, a communication method that utilizes a communication network (e.g., a mobile communication network, wired internet, wireless internet, broadcasting network), or a short-range wireless communication method between devices. For example, the network 930 may include one or more arbitrary networks such as a PAN (personal area network), LAN (local area network), CAN (campus area network), MAN (metropolitan area network), WAN (wide area network), BBN (broadband network), or the Internet.
[0180] In one embodiment, the server 920 may provide a file for installing an application to a user terminal 910 connected via the network 930. In this case, the user terminal 910 may install an application (for example, an application related to an instant messaging service) using the file provided by the server 920. The user terminal 910 connects to the server 920 and is provided with services and content offered by the server 920, under the control of the operating system (OS) and at least one program (for example, a browser or an installed application). For example, when the user terminal 910 sends a request for a service to the server 920 via the network 930 under the control of an application, the server 920 sends a code corresponding to the request to the user terminal 910, and the user terminal 910 can provide content to the user by configuring and displaying a screen based on the code under the control of an application.
[0181] According to one embodiment, the user terminal 910 includes a memory 911, a processor 913, a communication module 915, and an input / output interface 917. The server 920 includes a memory 921, a processor 923, a communication module 925, and an input / output interface 927.
[0182] In one embodiment, processors 913 and 923 may perform at least one operation relating to the instant messaging service described above, with reference to Figures 1 to 8. For example, processor 913 may perform at least one operation of a user terminal 910 running on an app or web relating to the instant messaging service described above, with reference to Figures 1 to 8, and processor 923 may perform at least one operation of a server 920 providing the social media service described above, with reference to Figures 1 to 8. Processors 913 and 923 are configured to process computer program instructions by performing basic arithmetic, logic, and input / output operations. Instructions may be provided to processors 913 and 923 by memory 911 and 921 or by communication modules 915 and 925.
[0183] The memories 911 and 921 may be volatile or non-volatile memory as a recording medium readable by a computer. In one embodiment, the memories 911 and 921 may store information for driving the app or web related to the instant messaging service described above, with reference to Figures 1 to 8.
[0184] In one embodiment, the memory 911 may include code for an application relating to an instant messaging service, which is installed and driven on the user terminal 910 by a file provided by the server 920 via the network 930.
[0185] In one embodiment, the memory 921 may store a program that embodies the operation for the instant messaging service described above, as shown in Figures 1 to 8.
[0186] The communication modules 915 and 925 according to one embodiment may include a communication circuit. The communication modules 915 and 925 provide functions for user terminals 910 and server 920 to communicate with each other via the network 930, and also provide functions for communicating with other electronic devices or other servers.
[0187] For example, a request generated by program code relating to an instant messaging service application stored in a recording device such as memory 911 by the processor 913 of the user terminal 910 may be transmitted to the server 920 via the network 930 under the control of the communication module 915.
[0188] For example, control signals, instructions, content, files, etc., provided by the control of the processor 923 of the server 920 may be received by the user terminal 910 via the communication module 925 and the network 930, through the communication module 915 of the user terminal 910.
[0189] The input / output interfaces 917 and 927 may be means for interfacing with the input / output device 919. For example, the input device may include a device such as a keyboard or mouse, and the output device may include a device such as a display for displaying the communication session of an application. In a different example, the input / output interface 917 may be means for interfacing with a device that combines input and output functions into one, such as a touchscreen. In a more specific example, the processor 913 of the user terminal 910 may, in the instruction processing of a computer program loaded into memory 911, display a service screen or content configured using data provided by the server 920 via the input / output interface 917. As an example, at least one of the interface screens described above with reference to Figures 1 to 8 may be displayed on the display via the input / output interface 917. Input received from the user through the input / output device 919 may be provided via the input / output interface 917 in a form that can be processed by the processor 913 of the user terminal 910.
[0190] According to one embodiment, the user terminal 910 and the server 920 may include other components not shown in Figure 9. For example, the user terminal 910 may be implemented to include at least some of the input / output devices 919 described above, or it may further include other components such as a transceiver, a GPS (Global Positioning System) module, a camera, various sensors, a database, etc.
[0191] The embodiments described above are embodied in hardware components, software components, or combinations of hardware and software components. For example, the devices and components described in these embodiments are embodied using one or more general-purpose or special-purpose computers, such as a processor, controller, ALU (arithmetic logic unit), digital signal processor, microcomputer, FPA (field programmable array), PLU (programmable logic unit), microprocessor, or different devices that execute and respond to instructions. The processing device executes an operating system (OS) and one or more software applications that run on the OS. The processing device also accesses, stores, manipulates, processes, and generates data in response to the execution of the software. For convenience of understanding, the processing device may sometimes be described as being used as a single unit, but a person with ordinary skill in the art will understand that the processing device includes multiple processing elements and / or multiple types of processing elements. For example, the processing device includes multiple processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
[0192] Software includes computer programs, code, instructions, or a combination of one or more of these, which can configure a processing unit to operate as desired, or instruct the processing unit independently or in combination. Software and / or data can be permanently or temporarily embodied in any type of machine, component, physical device, virtual device, computer storage medium or device, or transmitted signal wave, for interpretation by a processing unit or for providing instructions or data to a processing unit. Software can be distributed across a network of computer systems and stored and executed in a distributed manner. Software and data can be stored on a recording medium readable by one or more computers.
[0193] The method according to this embodiment is embodied in the form of program instructions that are implemented via various computer means and recorded on a computer-readable recording medium. The recording medium includes program instructions, data files, data structures, etc., individually or in combination. The recording medium and program instructions may be specifically designed and configured for the purposes of the present invention, or they may be known and usable by those skilled in the art who have technology in the field of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floppy disks, and hardware devices specifically configured to store and execute program instructions, such as ROMs, RAMs, and flash memory. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code executed by a computer using an interpreter or the like.
[0194] The hardware device described above may be configured to operate as one or more software modules to perform the operations shown in the present invention, and vice versa.
[0195] In this document, each expression such as "A or B," "at least one of A and B," "at least one of A or B," "A, B, or C," "at least one of A, B, and C," and "at least one of A, B, or C" includes any one of the items listed with that expression, or any possible combination thereof.
[0196] As described above, although embodiments have been illustrated with limited drawings, a person with ordinary skill in the art can apply various technical modifications and variations based on the above description. For example, the described technique may be performed in a different order than described, and / or the described system, structure, apparatus, circuit, and other components may be combined or assembled in a different manner than described, or replaced or substituted by other components or equivalents, and still achieve the desired results.
[0197] Therefore, other embodiments, other embodiments, and claims equivalent to those described below also fall within the scope of the claims.
Claims
1. An instant messaging method performed by a server, The steps include determining the participation area based on the location of the host terminal, based on an activation request for activating the entry function of a location-based chat room in the chat room, received from the host terminal of the chat room, Based on the activation request, the steps include generating a join code for the chat room and sending information regarding the generated join code to the host terminal, A step of activating the entry function of the location-based chat room of the chat room based on the participation code and the participation area, The steps include receiving a request to join the chat room from a guest terminal with a guest account, The steps include determining whether the participation request was generated via a link that allows access to the chat room, or via the entry function of the location-based chat room, Based on the fact that the participation request was generated via a link that allows access to the chat room, the step of determining whether or not to add the guest account to the chat room in response to the host terminal's response to the participation request, Based on the fact that the participation request was generated via the entry function of the location-based chat room, the steps include adding the guest account to the chat room participants independently of the host terminal's response, Instant messaging methods, including [mention specific methods here].
2. The aforementioned instant messaging method is The steps include receiving information about the input code entered by the user from the guest terminal, The steps include determining the chat room having the same participation code as the input code from among multiple candidate chat rooms whose location-based chat room entry function has been activated, The steps include: allowing the guest account to join the chat room based on the guest terminal being located within the participation area of the determined chat room, and transmitting information about the determined chat room to the guest terminal; The steps include: adding the guest account to the participants of the chat room based on the receipt of a participation request from the guest terminal to the chat room; The instant messaging method according to claim 1, further comprising:
3. The instant messaging method according to claim 1, wherein the step of determining the participation area includes determining a first area determined based on the location of the first host terminal, along with a second area determined based on the location of the second host terminal, based on the fact that the host terminal of the chat room includes a first host terminal and a second host terminal, as the participation area.
4. The instant messaging method according to claim 1, wherein the step of determining the participation area includes the step of adding an area determined based on the location of the other user account's terminal to the participation area, based on receiving a request from the host terminal to add a participation area based on the other user account's terminal that has joined the chat room.
5. The step of determining the participation area is: A step of determining a first participation area based on a first position of the host terminal at a first time point corresponding to the first activation request, in response to a first activation request received from the host terminal, The aforementioned instant messaging method is A step of deactivating the location-based chat room entry function of the chat room based on the first activation request, based on at least one of the following: a request to deactivate the entry function of the location-based chat room received from the host terminal, or the elapsed time predetermined from the first time point; The steps include: determining a second participation area based on the second location of the host terminal at a second time point corresponding to the second activation request, based on the reception of a second activation request for the chat room from the host terminal after the deactivation; The steps include activating the location-based chat room entry function of the chat room so that a guest account of a guest terminal located in at least one of the first or second participation areas can enter the chat room, The instant messaging method according to claim 1, further comprising:
6. The instant messaging method according to claim 1, further comprising the step of changing the participation area based on the changed location of the host terminal, based on the detection of a change in the location of the host terminal, while the entry function of the chat room is activated.
7. The steps include receiving a ciphertext of the chat room's private key, which is encrypted with the participation code, from the host terminal, The steps include: allowing a guest account to join the chat room, and, upon receiving a request to join the chat room from the guest terminal of the guest account, sending an encrypted message of the chat room's private key to the guest terminal; It further includes, The private key for the aforementioned chat room is: The chat room key is generated in conjunction with the public key of the chat room. This is the decryption key for the message key encrypted with the public key of the aforementioned chat room. The instant messaging method according to claim 1, wherein messages sent via the chat room are retrieved based on the message key.
8. An instant messaging method executed by the host terminal of the chat room host account, The steps include sending an activation request to the server for activating the location-based chat room entry function in the chat room based on user input, The steps include receiving information regarding the participation code for the chat room from the server, The steps include: displaying a screen relating to the chat room in which the guest account, which is using a guest terminal, has been added as a participant, based on the guest account joining the chat room via a participation request; Includes, The aforementioned guest account is If the participation request is generated via a link that allows access to the chat room, the host terminal will join the chat room in response to the participation request. An instant messaging method in which, when the aforementioned participation request is generated via the location-based chat room entry function, the guest terminal obtains the same input code as the participation code and joins the chat room based on its location within the chat room's participation area, determined based on the host terminal's location, independently of the host terminal's response.
9. The aforementioned host terminal is Including the first host terminal, The aforementioned instant messaging method is The aforementioned participation area is, The instant messaging method according to claim 8, wherein, based on the fact that the host terminal of the chat room includes the first host terminal and the second host terminal, a second region is determined based on the position of the second host terminal, along with a first region determined based on the position of the first host terminal.
10. The instant messaging method further includes the step of sending a request to the server to add a participation area based on other user accounts that have joined the chat room, The instant messaging method according to claim 8, wherein the participation area is modified by adding an area to the participation area determined based on the location of the terminal of the other user account.
11. The step of sending the activation request to the server is: The process includes the step of sending a first activation request to the server at a first time point, The aforementioned participation area is, The first participation area is determined based on the first position of the host terminal at the aforementioned first time point, The entry function for the location-based chat room based on the first activation request is as follows: Sending a request to deactivate the entry function of the location-based chat room to the server, or being deactivated based on the passage of time from the first time point in time, The aforementioned instant messaging method is The process further includes, after the deactivation, sending a second activation request to the server for the chat room at a second time point, The chat room entry function based on the second activation request is: The instant messaging method according to claim 8, wherein a guest account of a guest terminal located in at least one of the first participation area or a second participation area determined based on the second position of the host terminal at the second time point is processed as being able to enter the chat room.
12. The aforementioned instant messaging method, The steps include: after receiving information regarding the participation code, generating a ciphertext of the chat room's private key by encrypting the chat room's private key with the participation code; The steps include sending the encrypted private key of the chat room to the server, It further includes, The private key for the aforementioned chat room is: The chat room key is generated in conjunction with the public key of the chat room. This is the decryption key for the message key encrypted with the public key of the aforementioned chat room. The instant messaging method according to claim 8, wherein messages sent via the chat room are retrieved based on the message key.
13. An instant messaging method performed by a server, The steps include receiving information regarding an input code for entering a chat room using the location-based chat room entry function from the guest terminal, The steps include determining which chat room has the same participation code as the input code from among several candidate chat rooms whose location-based chat room entry function has been activated, The steps include sending the information regarding the determined chat room to the guest terminal, Based on the receipt of a participation request to the chat room from the guest terminal, the step of determining whether the participation request was generated via a link that allows access to the chat room or via the entry function of the location-based chat room, If the participation request is generated via a link that allows access to the chat room, the step of determining whether to allow the guest account of the guest terminal to join the chat room in response to the participation request from the host terminal of the chat room, When the participation request is generated via the entry function of the location-based chat room, the step of allowing the guest account to join the chat room, independently of the host terminal's response to the participation request, based on the guest terminal being located within the chat room's participation area, The steps include adding the guest account to the participants of the chat room based on the fact that the guest account allows participation in the chat room, Instant messaging methods, including [mention specific methods here].
14. The aforementioned instant messaging method is The steps further include allowing the guest account to join the chat room, and, upon receiving a request to join the chat room from the guest terminal of the guest account, sending to the guest terminal a ciphertext of the chat room's private key, which is encrypted with the chat room's join code, The private key for the aforementioned chat room is: The chat room key is generated in conjunction with the public key of the chat room. This is the decryption key for the message key encrypted with the public key of the aforementioned chat room. The instant messaging method according to claim 13, wherein a message sent via the chat room is retrieved based on the message key.
15. An instant messaging method performed by a guest terminal of a guest account, The steps include: sending information about the input code to a server based on obtaining an input code for entering a chat room using the location-based chat room entry function; The steps include receiving information from the server regarding a chat room from which the entry function of the location-based chat room has been activated, that has the same participation code as the input code, and in which the guest terminal is located within the participation area of the chat room; The steps include sending a request to join the chat room to the server, The steps include: displaying a screen relating to the chat room in which the guest account has been added as a participant, based on the guest account joining the chat room; Includes, The aforementioned guest account is If the participation request is generated via a link that allows access to the chat room, the host terminal of the chat room will respond and join the chat room. An instant messaging method in which, when the aforementioned participation request is generated via the location-based chat room entry function, the guest terminal joins the chat room based on its location within the chat room's participation area, independently of the host terminal's response to the chat room.
16. The aforementioned instant messaging method is The steps include: sending the participation request, receiving the encrypted private key of the chat room from the server; The steps include obtaining the private key of the chat room by decrypting the ciphertext of the received chat room private key with the input code, The steps include obtaining the message key by decrypting the message key's ciphertext with the private key of the acquired chat room, The steps include: obtaining messages sent and received via the chat room based on the obtained message key; The instant messaging method according to claim 15, further comprising:
17. A computer-readable recording medium storing one or more computer programs including instruction words for performing the method described in any one of claims 1 to 16.
18. It is a server, A processor including a processing circuit, A memory containing one or more storage media for storing instructions, Includes, When the instruction is executed independently or collectively by the at least one processor, the server will: Based on an activation request for activating the location-based chat room entry function received from the chat room's host terminal, the participation area is determined based on the host terminal's location. Based on the activation request, generate a participation code for the chat room and transmit information regarding the generated participation code to the host terminal. The entry function of the location-based chat room of the chat room is activated based on the participation code and the participation area. A guest account receives a request to join the chat room from a guest device, Determine whether the participation request was generated via a link that allows access to the chat room, or via the entry function of the location-based chat room. Based on the fact that the participation request was generated via a link that allows access to the chat room, the host terminal's response to the participation request determines whether or not to add the guest account to the chat room. A server in which, based on the fact that the participation request was generated via the entry function of the location-based chat room, the guest account is added to the participants of the chat room independently of the host terminal's response.
19. The host device of the chat room's host account, The display and A processor including a processing circuit, A memory containing one or more storage media for storing instructions, Includes, When the instruction is executed independently or collectively by the at least one processor, the host terminal will: Based on user input, the chat room sends an activation request to the server to activate the location-based chat room entry function. The server receives information regarding the participation code for the chat room, Based on a guest account using a guest device joining the chat room via a participation request, a screen related to the chat room is displayed, indicating that the guest account has been added as a participant to the chat room. The aforementioned guest account is If the participation request is generated via a link that allows access to the chat room, the host terminal will join the chat room in response to the participation request. A host terminal that, when the aforementioned participation request is generated via the entry function of the location-based chat room, obtains the same input code as the participation code and joins the chat room independently of the host terminal's response based on being located in the chat room's participation area determined relative to the host terminal's location.
20. It is a server, A processor including a processing circuit, A memory containing one or more storage media for storing instructions, Includes, When the instruction is executed independently or collectively by the at least one processor, the server will: The guest terminal receives information regarding the input code for entering the chat room using the location-based chat room entry function. From among multiple candidate chat rooms whose location-based chat room entry function has been activated, the chat room having the same participation code as the input code is determined. The information regarding the determined chat room is transmitted to the guest terminal. Based on the receipt of a participation request to the chat room from the guest terminal, it is determined whether the participation request was generated via a link that allows access to the chat room, or via the entry function of the location-based chat room. If the participation request is generated via a link that allows access to the chat room, the host terminal of the chat room will respond to the participation request and determine whether or not to allow the guest account of the guest terminal to join the chat room. When the participation request is generated via the entry function of the location-based chat room, the host terminal's response to the participation request is independently of the guest terminal's response, and the guest account is allowed to join the chat room based on the guest terminal being located within the chat room's participation area. A server on which the guest account is added to the participants of the chat room based on the guest account allowing participation in the chat room.
21. It is a guest account on a guest device, The display and A processor including a processing circuit, A memory containing one or more storage media for storing instructions, Includes, When the instruction is executed independently or collectively by the at least one processor, the guest terminal will: Based on obtaining an input code for entering the chat room using the location-based chat room entry function, information regarding the input code is sent to the server. The server receives information from among multiple candidate chat rooms whose location-based chat room entry function has been activated, which have the same participation code as the input code, and in which the guest terminal is located within the chat room's participation area. Send a request to join the chat room to the server, Based on the guest account joining the chat room, a screen relating to the chat room to which the guest account has been added as a participant is displayed. The aforementioned guest account is If the participation request is generated via a link that allows access to the chat room, the host terminal of the chat room will respond and join the chat room. When the aforementioned participation request is generated via the entry function of the location-based chat room, the guest terminal joins the chat room based on the fact that the guest terminal is located within the participation area of the chat room, independently of the response of the host terminal of the chat room.