KR101829908B1 - Method for providing user interface and client enabling the method - Google Patents

Method for providing user interface and client enabling the method Download PDF

Info

Publication number
KR101829908B1
KR101829908B1 KR1020160100253A KR20160100253A KR101829908B1 KR 101829908 B1 KR101829908 B1 KR 101829908B1 KR 1020160100253 A KR1020160100253 A KR 1020160100253A KR 20160100253 A KR20160100253 A KR 20160100253A KR 101829908 B1 KR101829908 B1 KR 101829908B1
Authority
KR
South Korea
Prior art keywords
client
indicator information
data
acknowledgment
chat room
Prior art date
Application number
KR1020160100253A
Other languages
Korean (ko)
Other versions
KR20170017838A (en
Inventor
김태정
조광현
Original Assignee
주식회사 투아이피
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 투아이피 filed Critical 주식회사 투아이피
Publication of KR20170017838A publication Critical patent/KR20170017838A/en
Application granted granted Critical
Publication of KR101829908B1 publication Critical patent/KR101829908B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications
    • G06Q50/50
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72547

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

클라이언트의 사용자 인터페이스 제공 방법이 개시된다. 일 실시예는 상대 클라이언트와 P2P(Peer To Peer) 통신 경로를 설정하고, 데이터 수신 확인과 관련된 인디케이터 정보를 상기 상대 클라이언트와 대응시키며, 데이터에 대한 전송 요청에 따라 상기 데이터를 상기 상대 클라이언트로 전송하고, 상기 인디케이터 정보를 클라이언트와 상기 상대 클라이언트가 참여하는 대화방의 대화창에 시각적으로 표시하고, 상기 데이터에 대한 상기 상대 클라이언트의 수신 확인이 있는 경우, 상기 인디케이터 정보의 그래픽 속성을 제어하는 단계를 포함한다.A method of providing a user interface of a client is disclosed. In one embodiment, a peer-to-peer (P2P) communication path is established with a counterpart client, indicator information associated with data receipt confirmation is associated with the counterpart client, data is transmitted to the counterpart client in response to a request for data transmission And visually displaying the indicator information in a chat window of a chat room in which the client and the partner client participate and controlling the graphical property of the indicator information when there is an acknowledgment of the relative client to the data.

Description

클라이언트 및 클라이언트의 사용자 인터페이스 제공 방법{METHOD FOR PROVIDING USER INTERFACE AND CLIENT ENABLING THE METHOD}METHOD FOR PROVIDING USER INTERFACE AND CLIENT ENABLING THE METHOD [

아래 실시예들은 사용자 인터페이스 제공 방법에 관한 것이다.The following embodiments relate to a method of providing a user interface.

스마트폰 등 컴퓨팅 파워가 향상된 다수의 사용자 기기들이 보급되고, 이러한 사용자 기기를 통한 데이터 송수신을 할 수 있는 무선 네트워크 기술이 발전하면서 많은 사용자들이 메시징 어플리케이션을 사용한다.Many user equipments with improved computing power such as smart phones are popular, and wireless network technology capable of transmitting / receiving data through such user equipments is developed and many users use messaging applications.

이러한 메시징 어플리케이션을 통해 텍스트, 이미지, 동영상 등의 멀티미디어 데이터를 포함하는 메시지가 송수신될 수 있다. 메시징 어플리케이션에서, 사용자가 전송한 메시지를 상대방이 수신하였는지 여부를 표시해 주는 기술이 채용되고 있다. 이러한 메시지 수신 확인 기술의 예로, 메시지의 일부 영역에 해당 메시지를 수신하는 상대방의 수를 표시하고, 상대방이 해당 메시지를 열람한 경우 표시된 수를 하나씩 차감하는 방식이 있다. 하지만, 이러한 메시지 수신 확인 기술을 통해 사용자는 메시지를 열람하지 않은 상대방이 누구인지 알 수 없다. Through this messaging application, messages including multimedia data such as text, images, and moving pictures can be transmitted and received. In the messaging application, a technique of indicating whether or not a message received by a user has been received is being adopted. As an example of such message acknowledgment technique, there is a method of displaying the number of counterparts receiving a corresponding message in a part of a message, and subtracting the displayed number one by one when the counterpart has read the message. However, with this message acknowledgment technique, the user can not know who is not reading the message.

관련 선행기술로 한국등록특허공보 제10-1293460호(발명의 명칭: 휴대 단말기의 인스턴트 메시지 수신 확인 방법, 출원인: 삼성전자)가 있다. 한국등록특허공보 제10-1293460호에는 메신저 모드에서 인스턴트 메시지를 휴대 단말기의 표시부에 표시하는 과정, 인스턴트 메시지 전송 시 수신 확인 리포트를 요청하는 과정, 수신 확인 리포트를 수신하는 과정, 수신 확인 리포트의 내용에 따라 인스턴트 메시지 수신 여부를 판단하는 과정, 및 판단 결과, 수신이 확인 되면 표시부에 표시한 문자를 변환하여 표시하는 과정을 포함하는 인스턴트 메시지 수신 확인 방법이 개시된다.Korean Patent Registration No. 10-1293460 entitled " Method for Confirming Instant Message Reception on a Handheld Terminal, Applicant: Samsung Electronics " Korean Patent Registration No. 10-1293460 discloses a method of displaying an instant message on a display unit of a portable terminal in a messenger mode, a process of requesting an acknowledgment report upon transmission of an instant message, a process of receiving an acknowledgment report, Determining whether or not the instant message is received according to the received instant message, and displaying the converted instant message on the display unit when the reception is confirmed.

일 측에 따른 클라이언트의 사용자 인터페이스 제공 방법은 상대 클라이언트와 P2P(Peer To Peer) 통신 경로를 설정하는 단계; 데이터 수신 확인과 관련된 인디케이터 정보를 상기 상대 클라이언트와 대응시키는 단계; 데이터에 대한 전송 요청에 따라 상기 데이터를 상기 상대 클라이언트로 전송하고, 상기 인디케이터 정보를 클라이언트와 상기 상대 클라이언트가 참여하는 대화방의 대화창에 표시하는 단계; 및 상기 데이터에 대한 상기 상대 클라이언트의 수신 확인이 있는 경우, 상기 인디케이터 정보의 그래픽 속성을 제어하는 단계를 포함한다.A method of providing a user interface of a client according to one side comprises: establishing a P2P (Peer To Peer) communication path with a target client; Associating indicator information related to data receipt confirmation with the counterpart client; Transmitting the data to the counterpart client in response to a transmission request for data, and displaying the indicator information in a chat window of a chat room in which the client and the counterpart client participate; And controlling the graphical property of the indicator information when there is an acknowledgment of the relative client to the data.

상기 인디케이터 정보는, 그래픽 오브젝트에 대한 정보를 포함할 수 있다.The indicator information may include information about a graphic object.

상기 데이터에 대한 상기 상대 클라이언트의 수신 확인이 있는 경우, 상기 인디케이터 정보는 상기 대화창에서 시각적으로 사라질 수 있다.If there is an acknowledgment of the relative client to the data, the indicator information may visually disappear from the dialog.

상기 상대 클라이언트로부터 데이터를 수신하는 단계; 및 상기 수신한 데이터를 시각적으로 표시하기 위해 정의된 표시 영역의 배경을 상기 인디케이터 정보의 컬러 정보로 처리하는 단계를 더 포함할 수 있다.Receiving data from the counterpart client; And processing the background of the display area defined for visually displaying the received data as color information of the indicator information.

상기 대화방에 참여한 상대 클라이언트가 복수인 경우, 상기 표시하는 단계는, 상기 복수의 상대 클라이언트 각각에 대응하는 인디케이터 정보를 상기 대화창에 시각적으로 표시하는 단계를 포함할 수 있다.The displaying step may visually display indicator information corresponding to each of the plurality of counterpart clients in the dialog window when the plurality of counterparts participating in the chatting room are plural.

상기 복수의 상대 클라이언트 각각에 대응하는 인디케이터 정보는 서로 다른 그래픽 속성을 가질 수 있다.The indicator information corresponding to each of the plurality of counterpart clients may have different graphic attributes.

상기 그래픽 속성을 제어하는 단계는 상기 상대 클라이언트로부터 상기 P2P 통신 경로를 통해 상기 데이터에 대한 수신 확인 응답을 수신하는 단계; 및 상기 수신 확인 응답을 기초로, 상기 인디케이터 정보가 상기 대화창에서 시각적으로 사라지도록 하는 단계를 포함할 수 있다.Wherein the controlling the graphics attribute comprises: receiving an acknowledgment response for the data from the peer client over the P2P communication path; And causing the indicator information to visually disappear from the dialog based on the acknowledgment response.

상기 대화방의 참여 클라이언트의 개수가 제1 기준을 초과하는 경우, 상기 표시하는 단계는, 상기 대화방에 대응하는 인디케이터 정보를 표시하는 단계를 포함할 수 있고, 상기 그래픽 속성을 제어하는 단계는, 상기 클라이언트의 데이터에 대한 수신 확인이 있는 경우, 상기 대화방에 대응하는 인디케이터 정보의 길이에 대한 시각적 효과를 제어하는 단계를 포함할 수 있다.Wherein if the number of participating clients of the chat room exceeds a first criterion, the displaying step may include displaying indicator information corresponding to the chat room, And controlling the visual effect on the length of the indicator information corresponding to the chat room when there is an acknowledgment to the data of the chat room.

상기 클라이언트의 데이터에 대한 수신 확인이 없는 참여 클라이언트의 개수가 제2 기준 이하인 경우, 상기 대화방에 대응하는 인디케이터 정보를 시각적으로 사라지게 하고, 상기 사라진 인디케이터 정보가 표시되어 있던 영역에, 상기 수신 확인이 없는 참여 클라이언트에 대응하는 인디케이터 정보를 표시하는 단계를 더 포함할 수 있다.If the number of the participating clients that do not receive acknowledgment of the data of the client is equal to or less than the second criterion, the indicator information corresponding to the chat room is visually disappeared, and in the area where the disappearing indicator information is displayed, And displaying indicator information corresponding to the participating client.

일 측에 따른 클라이언트는 통신 인터페이스; 통신 프로그램을 저장하는 메모리; 및 상기 통신 프로그램을 실행하는 컨트롤러를 포함하고, 상기 컨트롤러는, 상기 통신 인터페이스를 이용하여 상대 클라이언트와 P2P(Peer To Peer) 통신 경로를 설정하고, 데이터 수신 확인과 관련된 인디케이터 정보를 상기 상대 클라이언트와 대응시키며, 데이터에 대한 전송 요청에 따라 상기 데이터를 상기 통신 인터페이스를 이용하여 상기 상대 클라이언트로 전송하고, 상기 인디케이터 정보를 클라이언트와 상기 상대 클라이언트가 참여하는 대화방의 대화창에 표시하고, 상기 데이터에 대한 상기 상대 클라이언트의 수신 확인이 있는 경우, 상기 인디케이터 정보의 그래픽 속성을 제어한다.A client according to one side comprises a communication interface; A memory for storing a communication program; And a controller for executing the communication program, wherein the controller sets a P2P (Peer To Peer) communication path with a counterpart client using the communication interface, and transmits indicator information related to data reception confirmation to the counterpart client And transmits the data to the counterpart client using the communication interface in response to a transmission request for data, displays the indicator information in a chat window of a chat room in which the client and the counterpart client participate, If there is an acknowledgment of the client, it controls the graphic attribute of the indicator information.

상기 인디케이터 정보는, 그래픽 오브젝트에 대한 정보를 포함할 수 있다.The indicator information may include information about a graphic object.

상기 데이터에 대한 상기 상대 클라이언트의 수신 확인이 있는 경우, 상기 인디케이터 정보는 상기 대화창에서 시각적으로 사라질 수 있다.If there is an acknowledgment of the relative client to the data, the indicator information may visually disappear from the dialog.

상기 통신 인터페이스는, 상기 상대 클라이언트로부터 데이터를 수신할 수 있고, 상기 컨트롤러는, 상기 수신한 데이터를 시각적으로 표시하기 위해 정의된 표시 영역의 배경을 상기 인디케이터 정보의 컬러 정보로 처리할 수 있다.The communication interface may receive data from the counterpart client, and the controller may process the background of the display area defined for visually displaying the received data as color information of the indicator information.

상기 대화방에 참여한 상대 클라이언트가 복수인 경우, 상기 컨트롤러는, 상기 복수의 상대 클라이언트 각각에 대응하는 인디케이터 정보를 상기 대화창에 시각적으로 표시할 수 있다.When there are a plurality of relative clients participating in the chat room, the controller can visually display indicator information corresponding to each of the plurality of counterpart clients in the chat window.

상기 복수의 상대 클라이언트 각각에 대응하는 인디케이터 정보는 서로 다른 그래픽 속성을 가질 수 있다.The indicator information corresponding to each of the plurality of counterpart clients may have different graphic attributes.

상기 컨트롤러는, 상기 상대 클라이언트로부터 상기 통신 인터페이스를 이용하여 상기 데이터에 대한 수신 확인 응답을 수신하고, 상기 수신 확인 응답을 기초로, 상기 인디케이터 정보가 상기 대화창에서 시각적으로 사라지도록 할 수 있다. The controller may receive an acknowledgment response for the data from the counterpart client using the communication interface and cause the indicator information to visually disappear from the conversation window based on the acknowledgment response.

상기 대화방의 참여 클라이언트의 개수가 제1 기준을 초과하는 경우, 상기 컨트롤러는, 상기 대화방에 대응하는 인디케이터 정보를 표시하고, 상기 클라이언트의 데이터에 대한 수신 확인이 있는 경우, 상기 대화방에 대응하는 인디케이터 정보의 길이에 대한 시각적 효과를 제어할 수 있다.Wherein the controller displays indicator information corresponding to the chat room when the number of the participating clients of the chat room exceeds a first criterion and when there is an acknowledgment to the data of the client, The visual effect on the length of the object can be controlled.

상기 컨트롤러는, 상기 클라이언트의 데이터에 대한 수신 확인이 없는 참여 클라이언트의 개수가 제2 기준 이하인 경우, 상기 대화방에 대응하는 인디케이터 정보를 시각적으로 사라지게 하고, 상기 사라진 인디케이터 정보가 표시되어 있던 영역에, 상기 수신 확인이 없는 참여 클라이언트에 대응하는 인디케이터 정보를 표시할 수 있다.The controller visually disappears the indicator information corresponding to the chat room when the number of the participating clients that do not receive acknowledgment of the data of the client is equal to or less than the second criterion and displays the disappearing indicator information in the area where the disappearing indicator information is displayed And can display indicator information corresponding to the participating client without receipt confirmation.

실시예들은 상대방이 메시지 등의 데이터를 열람하였는지 여부를 표시하는 메시지 수신 확인 사용자 인터페이스를 제공할 수 있다. 또한, 실시예들은 어떤 상대방이 메시지를 열람하지 않았는지를 확인할 수 있게 하는 사용자 인터페이스를 제공할 수 있다. Embodiments may provide a message receipt confirmation user interface that indicates whether the other party has viewed data such as a message. Embodiments may also provide a user interface that allows a user to verify which party did not view the message.

도 1a 내지 도 1b는 일 실시예에 따른 P2P 통신 경로의 설정 및 P2P 통신을 설명하기 위한 흐름도이다.
도 2는 일 실시예에 따른 사용자 인터페이스 제공 방법의 일례를 설명하기 위한 순서도이다.
도 3 내지 도 4는 일 실시예에 따른 대화창을 설명하기 위한 도면이다.
도 5a 내지 도 5g는 일 실시예에 따른 단체 대화방의 대화창을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 클라이언트를 설명하기 위한 블록도이다.
FIGS. 1A and 1B are flowcharts for explaining the P2P communication path setting and the P2P communication according to an embodiment.
2 is a flowchart illustrating an example of a method for providing a user interface according to an embodiment.
3 to 4 are views for explaining a dialog window according to an embodiment.
5A to 5G are views for explaining a chat window of a group chat room according to an embodiment.
6 is a block diagram illustrating a client according to an exemplary embodiment of the present invention.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Various modifications may be made to the embodiments described below. It is to be understood that the embodiments described below are not intended to limit the embodiments, but include all modifications, equivalents, and alternatives to them.

실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used only to illustrate specific embodiments and are not intended to limit the embodiments. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this embodiment belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as ideal or overly formal in the sense of the art unless explicitly defined herein Do not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and redundant explanations thereof will be omitted. In the following description of the embodiments, a detailed description of related arts will be omitted if it is determined that the gist of the embodiments may be unnecessarily blurred.

도 1a 내지 도 1b는 일 실시예에 따른 P2P 통신 경로의 설정 및 P2P 통신을 설명하기 위한 흐름도이다.FIGS. 1A and 1B are flowcharts for explaining the P2P communication path setting and the P2P communication according to an embodiment.

도 1a에 도시되지 않았으나, 서버는 클라이언트 1 및 클라이언트 2 각각과 통신 세션(예를 들어, UDP(User Datagram Protocol) 세션)을 설정할 수 있다.Although not shown in FIG. 1A, the server may establish a communication session (e.g., a User Datagram Protocol (UDP) session) with each of the client 1 and the client 2.

클라이언트 1은 통신 요청을 서버로 전송한다(110). 예를 들어, 클라이언트 1은 클라이언트 2와 P2P(Peer to Peer) 통신을 하기 위해 P2P 통신 요청을 UDP 세션을 통해 서버로 전송할 수 있다.Client 1 sends a communication request to the server (110). For example, the client 1 can transmit a P2P communication request to the server through a UDP session in order to perform peer-to-peer (P2P) communication with the client 2.

서버는 클라이언트 1의 통신 요청을 클라이언트 2로 전송한다(111).The server transmits a communication request of the client 1 to the client 2 (111).

클라이언트 2는 클라이언트 1의 통신 요청을 수신한 경우, 매개부와 연결할 수 있다(122). 보다 구체적으로, 클라이언트 2가 클라이언트 1의 통신 요청을 서버로부터 수신한 경우, 클라이언트 2는 매개부에 접속을 시도할 수 있고, 매개부는 클라이언트 2의 접속을 허용할 수 있다. 이에 따라, 클라이언트 2는 매개부에 접속할 수 있고, 접속을 유지할 수 있다.When the client 2 receives the communication request of the client 1, it can connect with the intermediate unit (122). More specifically, when the client 2 receives the communication request of the client 1 from the server, the client 2 can attempt to connect to the intermediate unit, and the intermediate unit can allow the client 2 to connect. Accordingly, the client 2 can connect to the intermediate unit and can maintain the connection.

일 실시예에 따르면, 매개부는 서버와 물리적으로 구별되는 장치로, 네트워크 상에서 독립적인 장치일 수 있다. 또한, 구현에 따라 매개부는 서버에 포함될 수 있고, 서버 내에서 논리적으로 구분되는 복수의 유닛들 중 어느 하나일 수 있다.According to one embodiment, the intermediary is a device that is physically distinct from the server, and may be a device that is independent on the network. Also, depending on the implementation, the mediating unit may be included in the server, and may be any of a plurality of units logically divided in the server.

매개부는 클라이언트 2와 연결되는 경우, 매개키를 생성한다(113). 예를 들어, 매개부는 임의값을 갖는 매개키를 생성할 수 있다. 또한, 매개부는 클라이언트 1 및/또는 클라이언트 2의 고유 정보를 기초로 매개키를 생성할 수 있다. 고유 정보는, 예를 들어, 클라이언트 1 및 클라이언트 2 각각에 할당된 식별자를 포함할 수 있다.If the intermediary connects with client 2, it generates an intermediary key (113). For example, the mediator may generate an intermediary key having a random value. Further, the mediator can generate the mediator key based on the unique information of the client 1 and / or the client 2. The unique information may include, for example, an identifier assigned to each of client 1 and client 2.

매개부는 매개키를 클라이언트 2로 전송한다(114).The intermediary sends the intermediary key to client 2 (114).

클라이언트 2는 매개키를 서버로 전송한다(115).Client 2 sends the intermediary key to the server (115).

서버는 클라이언트 2의 네트워크 주소 및 매개키를 클라이언트 1로 전송한다(116). 네트워크 주소는, 예를 들어, IP(Internet Protocol) 주소를 포함할 수 있다.The server sends the client 2's network address and the intermediate key to the client 1 (116). The network address may include, for example, an IP (Internet Protocol) address.

클라이언트 1은 매개키를 매개부에 전송한다(117). 클라이언트 1은 매개키를 매개부에 전송하여 매개부에 접속할 수 있다. 또한, 클라이언트 1은 매개부와의 접속을 유지할 수 있다.Client 1 sends the intermediary key to the intermediary (117). Client 1 can connect to the mediator by sending the mediator key to the mediator. Also, the client 1 can maintain the connection with the mediator.

매개부는 클라이언트 1로부터 매개키를 수신한 경우, 매개 경로를 확보한다(128). 도 1a에 도시된 예에서, 매개부는 클라이언트 1 및 클라이언트 2와의 연결을 유지하고 있으므로, 클라이언트 1-매개부-클라이언트 2의 매개 경로가 형성될 수 있다. 매개 경로는 클라이언트 1와 클라이언트 2 사이의 P2P 통신 경로의 단절에 대비하기 위한 경로이다. 일 실시예에 있어서, 매개 경로는 매개키를 보유한 클라이언트 1와 클라이언트 2의 전용 방(dedicated room)을 포함할 수 있다. 매개 경로의 확보는 매개부에 전용 방이 생성됨을 의미할 수 있다. 매개부가 클라이언트 1로부터 매개키를 수신하는 경우, 매개부는 클라이언트 1 및 클라이언트 2가 참여할 수 있고, 다른 클라이언트는 참여할 수 없는 전용 방을 생성할 수 있다.When the intermediate unit receives the intermediate key from the client 1, the intermediate unit obtains the intermediate path (128). In the example shown in FIG. 1A, the intermediate portion maintains a connection with the client 1 and the client 2, so that the intermediate path of the client 1-mediate-client 2 can be formed. The intermediate path is a path for preparing for the disconnection of the P2P communication path between the client 1 and the client 2. In one embodiment, the intermediary path may comprise a dedicated room of client 1 and client 2 having an intermediate key. Securing an intermediate path may mean that a private room is created in the intermediate part. When the intermediate unit receives the intermediate key from the client 1, the intermediate unit can create a private room in which the client 1 and the client 2 can participate and the other client can not participate.

클라이언트 1은 네트워크 주소를 통해 클라이언트 2에게 속도 테스트 요청을 전송할 수 있다(119). 클라이언트 1은 매개부에 접속한 경우 또는 매개 경로가 확보된 경우, P2P 통신 속도를 테스트하기 위한 테스트 데이터를 클라이언트 2로 전송할 수 있다.The client 1 may send a speed test request to the client 2 via the network address (119). The client 1 can transmit test data to the client 2 to test the P2P communication speed when it is connected to the communication unit or when the intermediate path is secured.

클라이언트 2는 속도 테스트 요청에 대한 테스트 응답을 클라이언트 1로 전송할 수 있다(120). 클라이언트 1은 클라이언트 2의 응답 시간을 확인할 수 있다. 클라이언트 1은 클라이언트 1와 클라이언트 2 사이의 P2P 통신 속도를 확인할 수 있다.The client 2 may send a test response to the speed test request to the client 1 (120). The client 1 can confirm the response time of the client 2. The client 1 can confirm the P2P communication speed between the client 1 and the client 2.

클라이언트 2는 클라이언트 1에게 속도 테스트 요청을 전송할 수 있다(121). 클라이언트 1은 상대 클라이언트에게 속도 테스트 요청에 대한 테스트 응답을 전송할 수 있다(122). 클라이언트 2는 클라이언트의 응답 시간을 확인할 수 있다.Client 2 may send a speed test request to client 1 (121). Client 1 may send a test response to the speed test request to the other client (122). Client 2 can check the response time of the client.

클라이언트 2의 속도 테스트는 클라이언트 1의 속도 테스트와 동시에 수행될 수 있다.The speed test of the client 2 can be performed simultaneously with the speed test of the client 1.

일 실시예에 있어서, 클라이언트 1 및/또는 클라이언트 2의 속도 테스트는 미리 정해진 횟수만큼 반복될 수 있다. 예를 들어, 속도 테스트는 2회 또는 2회 이상 반복될 수 있다. 클라이언트 1은 클라이언트 2로부터 테스트 응답을 수신하면 클라이언트 2로 추가 속도 테스트 요청을 전송할 수 있다. 클라이언트 2는 클라이언트 1로 추가 속도 테스트 요청에 대한 테스트 응답을 전송할 수 있다. 반복된 속도 테스트를 기초로 클라이언트 1은 클라이언트 2의 평균 응답 시간을 확인할 수 있다. 마찬가지로, 반복된 속도 테스트를 기초로 클라이언트 2는 클라이언트 1의 평균 응답 시간을 확인할 수 있다.In one embodiment, the speed test of client 1 and / or client 2 may be repeated a predetermined number of times. For example, the speed test may be repeated two or more times. When the client 1 receives the test response from the client 2, it can send the additional speed test request to the client 2. Client 2 may send a test response to the additional speed test request to Client 1. Based on the repeated speed test, the client 1 can confirm the average response time of the client 2. Likewise, based on the repeated speed test, the client 2 can confirm the average response time of the client 1.

클라이언트 1와 클라이언트 2 사이에 P2P 통신 경로가 설정될 수 있다. 클라이언트 1가 네트워크 주소 A로 맵핑되고, 클라이언트 2가 네트워크 주소 B로 맵핑된다고 하자. P2P 통신 경로 A-B가 설정될 수 있다.A P2P communication path can be established between the client 1 and the client 2. Assume that client 1 is mapped to network address A, and client 2 is mapped to network address B. P2P communication path A-B can be set.

클라이언트 1은 공유키를 클라이언트 2로 전송한다(123). 공유키는 데이터를 암호화(encryption) 및/또는 복호화(decryption)에 사용된다. 공유키는 P2P 통신 경로를 통해 전송될 수 있다.The client 1 transmits the shared key to the client 2 (123). The shared key is used for encrypting and / or decrypting the data. The shared key may be transmitted over the P2P communication path.

도 1a에 도시된 예에서, 속도 테스트 종료 후에 클라이언트 1은 공유키를 클라이언트 2로 전송한다. 하지만, 이는 일 실시예에 따른 예시적인 사항일 뿐, 클라이언트 1은 속도 테스트 요청과 공유키를 동시에 클라이언트 2로 전송할 수 있다. 클라이언트 1은 클라이언트 2로부터 테스트 응답을 수신하지 못하면, 속도 테스트 요청과 공유키를 동시에 클라이언트 2로 재전송할 수 있다. 클라이언트 1은 클라이언트 2로부터 테스트 응답을 수신하면, 추가 속도 테스트 요청을 클라이언트 2로 전송할 때 공유키를 전송하지 않는다.In the example shown in FIG. 1A, after the speed test is completed, the client 1 transmits the shared key to the client 2. However, this is only an example according to one embodiment, and the client 1 can transmit the speed test request and the shared key to the client 2 at the same time. If the client 1 fails to receive the test response from the client 2, the client 1 can retransmit the speed test request and the shared key to the client 2 at the same time. When the client 1 receives the test response from the client 2, it does not transmit the shared key when transmitting the additional rate test request to the client 2.

또한, 도 1a에 도시된 예에서, 클라이언트 1은 P2P 통신 경로를 통해 공유키를 클라이언트 2로 전송한다. 하지만, 이는 일 실시예에 따른 예시적인 사항일 뿐이다. 도 1a에 도시된 예와 달리, 단계(110)에서, 서버는 클라이언트 1의 통신 요청을 수신한 후 공유키를 생성할 수 있다. 서버는 공유키를 클라이언트 1에게 전송할 수 있다. 서버는 단계(111)에서 통신 요청과 공유키를 클라이언트로 2로 전송할 수 있다. 클라이언트 1 및 2는 공유키를 저장할 수 있다.Further, in the example shown in FIG. 1A, the client 1 transmits the shared key to the client 2 via the P2P communication path. However, this is only an example according to one embodiment. Unlike the example shown in FIG. 1A, at step 110, the server can generate a shared key after receiving the client 1's communication request. The server can send the shared key to the client 1. The server may transmit the communication request and the shared key to the client 2 in step 111. [ Clients 1 and 2 can store the shared key.

클라이언트 1은 클라이언트 2에게 데이터 1을 전송할 수 있다(124). 여기서, 데이터 1은 공유키로 암호화될 수 있다. 데이터 1은 전체 데이터의 데이터 조각(fragment)일 수 있다.Client 1 may send Data 1 to Client 2 (124). Here, the data 1 can be encrypted with the shared key. Data 1 may be a data fragment of the entire data.

클라이언트 2는 데이터 1을 수신하고, 공유키를 이용하여 데이터 1을 복호화한다. 클라이언트 2는 데이터 1에 대한 확인 응답을 클라이언트 1로 전송할 수 있다(125).Client 2 receives data 1 and decrypts data 1 using the shared key. Client 2 may send an acknowledgment for Data 1 to Client 1 (125).

클라이언트 1은 데이터 1에 대한 확인 응답을 수신한 경우, 클라이언트 2에게 데이터 2를 전송할 수 있다(126). 데이터 2는 전체 데이터의 데이터 조각일 수 있고, 위에서 설명한 것과 같이, 공유키로 암호화될 수 있다. When client 1 receives an acknowledgment for data 1, it can send data 2 to client 2 (126). Data 2 may be a piece of data of the entire data and may be encrypted with a shared key, as described above.

일 실시예에 있어서, 클라이언트 2의 이동 등으로 인해 클라이언트 2의 네트워크 주소가 변경 중이라 하자(136). 클라이언트 2의 네트워크 주소가 변경 중인 경우, 클라이언트 1은 클라이언트 2로부터 데이터 2에 대한 확인 응답을 응답 시간(또는 평균 응답 시간)보다 늦게 수신하거나 수신하지 못할 수 있다. 이 경우, 클라이언트 1은 데이터 2를 매개부로 전송한다(128). 클라이언트 1은 데이터 2에 대한 확인 응답을 속도 테스트 단계에서 확인한 응답 시간 이내에 수신하지 못한 경우, 데이터 2를 매개부로 전송할 수 있다. 달리 표현하면, 클라이언트 1은 P2P 통신 이전부터 매개부와의 접속을 유지하고 있으므로, 확인 응답을 미리 정해진 시간 동안 수신하지 못한 것과 관련된 이벤트를 감지하는 경우, 데이터 2를 매개부로 전송할 수 있다. 클라이언트 1은 매개 경로를 통해 데이터 2를 매개부로 전송할 수 있다.In one embodiment, it is assumed that the network address of the client 2 is being changed due to the movement of the client 2 or the like (136). If the network address of Client 2 is changing, Client 1 may not receive or receive an acknowledgment for Data 2 from Client 2 later than the response time (or average response time). In this case, the client 1 transmits the data 2 to the intermediate unit (128). If the client 1 fails to receive the acknowledgment for data 2 within the response time determined in the speed test step, it can transmit data 2 to the intermediary part. In other words, since the client 1 maintains the connection with the mediation unit prior to the P2P communication, when the client 1 detects an event related to the failure to receive the confirmation response within a predetermined time, the client 2 can transmit the data 2 to the mediation unit. Client 1 may send data 2 to the intermediary via the intermediary path.

매개부는 데이터 2를 클라이언트 1로부터 수신한 경우, 데이터 2를 메모리에 저장한다. 메모리는, 예를 들어, 매개 경로 또는 전용 방에 대응하는 메모리를 포함할 수 있다. When receiving the data 2 from the client 1, the intermediate unit stores the data 2 in the memory. The memory may include, for example, a memory corresponding to an intermediate path or a dedicated room.

클라이언트 2는 네트워크 주소의 변경이 완료된 경우, 네트워크 주소가 변경되었음을 서버에게 알릴 수 있다(129). 클라이언트 2의 네트워크 주소가 B에서 B'으로 변경된 경우, 클라이언트 2는 네트워크 주소가 B에서 B'로 변경되었음을 서버에 알릴 수 있다. 다시 말해, 서버는 클라이언트 2로부터 네트워크 주소가 변경됨을 나타내는 변경 정보를 수신할 수 있다. 여기서, 변경 정보는 클라이언트 2의 변경된 네트워크 주소를 포함할 수 있다. 이에 따라, 서버는 클라이언트 2의 변경된 네트워크 주소를 확인할 수 있다.When the change of the network address is completed, the client 2 can notify the server that the network address has been changed (129). If the network address of Client 2 is changed from B to B ', Client 2 can inform the server that the network address has changed from B to B'. In other words, the server can receive change information from the client 2 indicating that the network address has changed. Here, the change information may include the changed network address of the client 2. Accordingly, the server can confirm the changed network address of the client 2.

서버는 클라이언트 2의 네트워크 주소가 변경되었음을 클라이언트 1에게 알릴 수 있다(130). 다시 말해, 클라이언트 1은 서버로부터 네트워크 주소의 변경 정보를 수신할 수 있다. 이에 따라, 클라이언트 1은 클라이언트 2의 변경된 네트워크 주소를 확인할 수 있다.The server may notify the client 1 that the network address of the client 2 has been changed (130). In other words, the client 1 can receive the change information of the network address from the server. Accordingly, the client 1 can confirm the changed network address of the client 2.

네트워크 주소가 B'으로 맵핑된 클라이언트 2는 매개키로 매개부와 연결한다(131). 달리 표현하면, 클라이언트 2는 매개키를 매개부로 전송하여 매개부에 접속을 시도할 수 있고, 매개부는 클라이언트 2의 접속을 허용할 수 있다. 이에 따라, 클라이언트 2는 매개부에 접속할 수 있다. 클라이언트 2가 매개부와 연결되는 경우, 매개부는 클라이언트 2에게 데이터 2를 전송할 수 있다(132). 예를 들어, 클라이언트 2는 매개키를 이용하여 전용 방에 참여할 수 있다. 클라이언트 2가 전용 방에 참여하는 경우, 클라이언트 2는 전용 방에 대응하는 메모리에 저장된 데이터 2를 수신할 수 있다.Client 2, whose network address is mapped to B ', connects to the intermediary with the intermediary key (131). In other words, client 2 may attempt to connect to the intermediary by sending the intermediary key to the intermediary, and the intermediary may allow client 2 to connect. Accordingly, the client 2 can access the mediating unit. If client 2 is associated with the intermediary, then the intermediary may send data 2 to client 2 (132). For example, client 2 may participate in a private room using an intermediary key. When the client 2 participates in the private room, the client 2 can receive the data 2 stored in the memory corresponding to the private room.

클라이언트 2는 데이터 2를 수신하는 경우, 공개키를 이용하여 데이터 2를 복호화할 수 있다. 클라이언트 2는 데이터 2에 대한 확인 응답을 클라이언트 1로 전송할 수 있다(133).When the client 2 receives the data 2, it can decrypt the data 2 using the public key. Client 2 may send an acknowledgment for Data 2 to Client 1 (133).

클라이언트 1은 데이터 2에 대한 확인 응답을 수신하는 경우, 데이터 3을 클라이언트 2로 전송할 수 있다(134). P2P 통신 경로가 A-B에서 A-B'으로 변경된다.If client 1 receives an acknowledgment for data 2, it can send data 3 to client 2 (134). P2P communication path is changed from A-B to A-B '.

데이터 3은 공유키로 암호화될 수 있다.Data 3 can be encrypted with the shared key.

클라이언트 2는 데이터 3을 수신할 수 있고, 공유키를 이용하여 데이터 3을 복호화할 수 있다. 클라이언트 2는 데이터 3에 대한 확인 응답을 클라이언트 1로 전송할 수 있다(135).Client 2 can receive data 3 and decrypt data 3 using the shared key. Client 2 may send an acknowledgment for Data 3 to Client 1 (135).

도 1b를 참조하면, 클라이언트 2는 데이터 4를 클라이언트 1로 전송한다(136). 데이터 4는 공유키로 암호화될 수 있다.Referring to FIG. 1B, client 2 transmits data 4 to client 1 (136). Data 4 can be encrypted with the shared key.

클라이언트 1은 데이터 4를 수신하고, 공유키를 이용하여 데이터 4를 복호화할 수 있다. 클라이언트 1은 데이터 4에 대한 확인 응답을 클라이언트 2로 전송할 수 있다(137).Client 1 can receive data 4 and decrypt data 4 using the shared key. Client 1 may send an acknowledgment for Data 4 to Client 2 (137).

클라이언트 2는 클라이언트 1로 데이터 5를 전송할 수 있다(138). 여기서, 클라이언트 1은 이동으로 인해 네트워크 주소가 변경될 수 있다. 이로 인해, 클라이언트 2는 데이터 5에 대한 확인 응답을 미리 정해진 시간 이내에 수신하지 못할 수 있다. 이 경우, 클라이언트 2는 데이터 5를 매개부에 전송할 수 있다(139).Client 2 may send data 5 to Client 1 (138). Here, the client 1 can change the network address due to movement. As a result, the client 2 may not receive an acknowledgment for the data 5 within a predetermined time. In this case, client 2 may send data 5 to the intermediary (139).

클라이언트 1은 네트워크 주소가 변경되었음을 서버에 알릴 수 있고(140), 서버는 클라이언트 1의 네트워크 주소가 변경되었음을 클라이언트 2에 알릴 수 있다(141). 클라이언트 1의 네트워크 주소가 A에서 A'으로 변경되었다고 하자.Client 1 may inform the server that the network address has changed (140), and the server may notify client 2 that the network address of client 1 has changed (141). Assume that the client 1's network address has changed from A to A '.

클라이언트 1은 매개키로 매개부에 연결할 수 있다(142). 보다 구체적으로, 클라이언트 1은 매개키를 매개부에 전송하여 매개부로의 접속을 시도할 수 있고, 매개부는 클라이언트 1의 접속을 허용할 수 있다.Client 1 may connect to the mediator with an intermediary key (142). More specifically, the client 1 may attempt to connect to the intermediate unit by sending the intermediate key to the intermediate unit, and the intermediate unit may allow the client 1 to connect.

매개부는 변경된 네트워크 주소로 맵핑된 클라이언트 1과 연결된 경우, 클라이언트 1에게 데이터 5를 전송할 수 있다(143).If the intermediate unit is connected to the client 1 mapped to the changed network address, it can transmit the data 5 to the client 1 (143).

클라이언트 1은 데이터 5를 수신할 수 있다. 여기서, 데이터 5는 공유키로 암호화된 것일 수 있다. 클라이언트 1은 공유키로 데이터 5를 복호화할 수 있다.Client 1 may receive data 5. Here, the data 5 may be encrypted with the shared key. The client 1 can decrypt the data 5 with the shared key.

클라이언트 1은 데이터 5에 대한 확인 응답을 클라이언트 2로 전송할 수 있다(144).Client 1 may send an acknowledgment for Data 5 to Client 2 (144).

클라이언트 1 및/또는 2의 IP 주소가 변경되면, P2P 통신 경로가 단절되어, 클라이언트 1과 클라이언트 2는 P2P 통신을 지속적으로 유지할 수 없다. 일 실시예에 따르면, P2P 통신 이전에, 매개 경로가 확보되었으므로, P2P 통신 경로가 단절되어도, 클라이언트 1 및/또는 클라이언트 2는 매개부와 일시적으로 통신할 수 있다. 이로 인해, 클라이언트 1 및/또는 클라이언트 2는 매개부로부터 데이터를 수신할 수 있고, 데이터 누락이 방지될 수 있다. 또한, 네트워크 스루풋(network throughput)이 향상될 수 있다.If the IP address of the client 1 and / or 2 is changed, the P2P communication path is disconnected, and the client 1 and the client 2 can not maintain the P2P communication continuously. According to one embodiment, prior to the P2P communication, since the intermediate path is secured, the client 1 and / or the client 2 can temporarily communicate with the intermediate part even if the P2P communication path is disconnected. As a result, the client 1 and / or the client 2 can receive data from the intermediate part, and data omission can be prevented. In addition, the network throughput can be improved.

도 2는 일 실시예에 따른 사용자 인터페이스 제공 방법의 일례를 설명하기 위한 순서도이다.2 is a flowchart illustrating an example of a method for providing a user interface according to an embodiment.

도 2에 도시된 사용자 인터페이스 제공 방법의 일례는 클라이언트에 의해 실행될 수 있다.An example of the user interface providing method shown in FIG. 2 may be executed by a client.

도 2를 참조하면, 클라이언트는 상대 클라이언트와 P2P 통신 경로를 설정한다(210). P2P 통신 경로의 설정에 대해선 도 1을 통해 설명하였으므로, 자세한 설명을 생략한다. P2P 통신 경로는 클라이언트 및 상대 클라이언트가 참여하는 대화방에 대응할 수 있다. 클라이언트와 상대 클라이언트 사이의 P2P 통신은 대화방의 대화창에 시각적으로 표시될 수 있다. 예를 들어, 클라이언트가 상대 클라이언트로 전송한 데이터가 대화창에 시각적으로 표시될 수 있다. 데이터는, 예를 들어, 텍스트 데이터, 컨텐츠(일례로, 사진, 동영상, 파일 등)를 포함할 수 있다. Referring to FIG. 2, a client establishes a P2P communication path with a partner client (210). The setting of the P2P communication path has been described with reference to FIG. 1, and a detailed description thereof will be omitted. The P2P communication path can correspond to a chat room in which a client and a relative client participate. P2P communication between the client and the relative client can be visually displayed in the chat window of the chat room. For example, data that a client sends to a partner client can be visually displayed in the dialog. The data may include, for example, textual data, content (e.g., pictures, videos, files, etc.).

클라이언트는 데이터 수신 확인과 관련된 인디케이터(indicator) 정보를 상대 클라이언트와 대응시킨다(220). 인디케이터 정보는, 예를 들어, 대화창 또는 연락처 리스트에서 상대 클라이언트를 다른 클라이언트와 구별하기 위한 그래픽적인 요소를 나타낼 수 있다. 일 실시예에 있어서, 클라이언트는 복수의 컬러 정보 중 어느 하나를 랜덤하게 선택하고, 선택된 컬러 정보를 상대 클라이언트에 할당할 수 있다. 예를 들어, 클라이언트는 복수의 컬러 정보 중에서 붉은색을 선택할 수 있고, 붉은색을 상대 클라이언트에 할당할 수 있다. 클라이언트는 상대 클라이언트에 할당된 컬러 정보를 제외한 나머지 컬러 정보를 다른 클라이언트에 할당할 수 있다.The client associates indicator information associated with the data receipt confirmation with the other client (220). The indicator information may, for example, represent graphical elements for distinguishing a relative client from another client in a dialog or contact list. In one embodiment, the client may randomly select any one of the plurality of color information and assign the selected color information to the other client. For example, the client can select a red color among a plurality of color information, and assign a red color to a relative client. The client can allocate the color information other than the color information assigned to the other client to another client.

클라이언트는 데이터에 대한 전송 요청에 따라 데이터를 상대 클라이언트로 전송하고, 인디케이터 정보를 대화방의 대화창에 표시한다(230). 예를 들어, 클라이언트의 사용자가 대화창을 통해 "Hi~!"를 입력하고 전송 버튼을 누르면, 전송 요청이 발생할 수 있다. 클라이언트는 전송 요청에 따라 "Hi~!"의 텍스트 데이터를 상대 클라이언트로 전송할 수 있다. 위에서 설명한 것과 같이, 클라이언트는 P2P 통신 경로를 통해 텍스트 데이터를 상대 클라이언트로 전송할 수 있고, "Hi~!"가 대화창에 표시될 수 있다. 또한, 사용자는 대화창을 통해 클라이언트에 저장된 컨텐츠를 선택할 수 있고, 컨텐츠에 대한 선택을 기초로 전송 요청이 발생할 수 있다. 클라이언트는 전송 요청에 따라 컨텐츠를 상대 클라이언트로 전송할 수 있다.The client transmits the data to the partner client according to the transmission request for the data, and displays the indicator information in the chat window of the chat room (230). For example, if a user of the client inputs "Hi ~!" Through a dialog and presses the transfer button, a transfer request may occur. The client can transmit text data of "Hi ~!" To the other client according to the transmission request. As described above, the client can send text data to the other client over the P2P communication path, and "Hi ~!" Can be displayed in the dialog. Also, the user can select the content stored in the client through the dialog window, and a transmission request may be generated based on the selection of the content. The client can transmit the content to the other client according to the transmission request.

클라이언트는 인디케이터 정보를 대화창에 표시할 수 있다. 인디케이터 정보는 데이터가 표시된 영역과 인접한 영역에 표시될 수 있다. The client can display the indicator information in the dialog. The indicator information can be displayed in an area adjacent to the area where the data is displayed.

클라이언트는 데이터에 대한 상대 클라이언트의 수신 확인이 있는 경우, 인디케이터 정보의 그래픽 속성을 제어한다(240). 그래픽 속성은, 예를 들어, 시각적으로 표시된 인디케이터 정보의 명암(brightness), 형상(shape), 크기(size), 컬러 등을 포함할 수 있다. 일 실시예에 있어서, 클라이언트는 상대 클라이언트의 수신 확인이 있는 경우, 인디케이터 정보가 대화창에서 시각적으로 사라지도록 할 수 있다. 또한, 클라이언트는 상대 클라이언트의 수신 확인이 있는 경우, 시각적으로 표시된 인디케이터 정보의 윤곽(contour)를 유지하고, 컬러 정보를 변경할 수 있다. 일례로, 클라이언트는 붉은색의 인디케이터 정보를 그레이(grey) 처리할 수 있다.The client controls (240) the graphical attribute of the indicator information if there is an acknowledgment of the client relative to the data. Graphic attributes may include, for example, the brightness, shape, size, color, etc. of visually displayed indicator information. In one embodiment, the client may cause the indicator information to visually disappear from the dialog if there is an acknowledgment of the other client. The client can also maintain the contour of visually displayed indicator information and change the color information if there is an acknowledgment of the opponent client. For example, the client may gray out red indicator information.

도 3 내지 도 4는 일 실시예에 따른 대화창을 설명하기 위한 도면이다.3 to 4 are views for explaining a dialog window according to an embodiment.

도 3을 참조하면, 클라이언트(사용자: Paul)와 상대 클라이언트(사용자: Tadd)가 참여하는 대화방의 대화창(310)이 도시된다. 도 3에 도시된 예는 클라이언트의 대화창(310)이다.Referring to FIG. 3, a chat window 310 of a chat room in which a client (user: Paul) and a partner client (user: Tadd) participate is shown. The example shown in Fig. 3 is a chat window 310 of the client.

대화창(310)에는 표시 영역(320)이 정의될 수 있고, 표시 영역(320) 내에는 서로 다른 정보를 표시하기 위한 복수의 영역(330, 340, 및 350)이 정의될 수 있다. A display area 320 may be defined in the dialog window 310 and a plurality of areas 330, 340, and 350 may be defined in the display area 320 to display different information.

수신 확인 영역(330)은 인디케이터 정보(331)가 시각적으로 표시되는 영역이다. 도 3에 도시된 예의 경우, 상대 클라이언트에 대응하는 인디케이터 정보(331)가 표시된다. 클라이언트는 상대 클라이언트를 대화방에 초대하거나 대화방을 생성할 때, 인디케이터 정보(331)를 상대 클라이언트에 대응시킬 수 있다. 인디케이터 정보(331), 예를 들어, 컬러 정보를 포함할 수 있고, 클라이언트는 붉은색을 상대 클라이언트에 할당할 수 있다. 이에 따라, 클라이언트가 상대 클라이언트로 데이터를 전송한 경우, 붉은색 점이 인디케이터 정보(331)로서 수신 확인 영역(330)에 표시될 수 있다. 도 3에 도시된 인디케이터 정보(331)의 형태는 예시적인 사항일 뿐, 인디케이터 정보(331)의 형태는 전술한 사항으로 제한되지 않는다. 인디케이터 정보(331)의 형태는 별, 사각형, 하트 등의 그래픽 오브젝트일 수 있다. 또한, 인디케이터 정보(331)의 형태는 사용자에 의해 설정되거나 변경될 수 있다.The acknowledgment area 330 is an area in which the indicator information 331 is visually displayed. In the case of the example shown in Fig. 3, the indicator information 331 corresponding to the opponent client is displayed. When the client invites a relative client to the chat room or creates a chat room, the client can associate the indicator information 331 with the partner client. Indicator information 331, e.g., color information, and the client may assign a red color to the other client. Accordingly, when the client transmits data to the other client, a red dot can be displayed in the acknowledgment area 330 as the indicator information 331. [ The form of the indicator information 331 shown in FIG. 3 is an example only, and the form of the indicator information 331 is not limited to the above description. The shape of the indicator information 331 may be a graphic object such as a star, a rectangle, or a heart. In addition, the form of the indicator information 331 may be set or changed by the user.

전송 시간 표시 영역(340)은 클라이언트가 상대 클라이언트로 데이터를 전송한 시간이 표시되는 영역이다. The transmission time display area 340 is a region in which the time when the client transmits data to the partner client is displayed.

데이터 표시 영역(350)은 클라이언트가 상대 클라이언트로 전송한 데이터가 표시되는 영역이다. 예를 들어, 도 3에 도시된 것과 같이, 데이터 표시 영역(350)에는 "Hi~!"가 표시될 수 있다. 또한, 데이터 표시 영역(350)에는 사진이 표시되거나 동영상을 재생하기 위한 재생 정보가 표시될 수 있다.The data display area 350 is an area in which data transmitted by the client to the other client is displayed. For example, as shown in Fig. 3, "Hi ~!" May be displayed in the data display area 350. [ In the data display area 350, a picture may be displayed or reproduction information for reproducing a moving picture may be displayed.

도 3에 도시된 예의 경우, 클라이언트가 전송한 데이터에 대한 상대 클라이언트의 수신 확인이 없으므로, 인디케이터 정보(331)의 그래픽 속성은 유지된다. 상대 클라이언트의 수신 확인이 있는 경우, 인디케이터 정보(331)의 그래픽 속성은 변경될 수 있다. 일례로, 상대 클라이언트가 데이터에 대한 확인 응답을 클라이언트로 전송한 경우, 상대 클라이언트는 인디케이터 정보(331)를 시각적으로 사라지게 할 수 있다. 다른 일례로, 클라이언트는 인디케이터 정보(331)의 윤곽을 유지하고, 인디케이터 정보(331)를 시각적으로 비활성화(예를 들어, 그레이(grey) 처리)시킬 수 있다.In the case of the example shown in FIG. 3, since there is no acknowledgment of the other client to the data transmitted by the client, the graphic attribute of the indicator information 331 is maintained. If there is an acknowledgment of the opponent client, the graphical attribute of the indicator information 331 may be changed. For example, if the opponent client sends an acknowledgment of the data to the client, the opponent client may visually disappear the indicator information 331. [ In another example, the client may maintain an outline of the indicator information 331 and visually deactivate (e.g., gray process) the indicator information 331.

그래픽 속성의 변경을 통해 Paul은 Tadd가 데이터를 확인한 것을 알 수 있다.By changing the graphical property, Paul can see that Tadd has verified the data.

도 4를 참조하면, 클라이언트의 대화창(410)에는 상대 클라이언트가 클라이언트로 전송한 "Hi~!"가 표시되고, 클라이언트가 상대 클라이언트로 전송한 "Where are you?"가 표시된다. 도 4에 도시된 예에서, "Where are you?"에 대한 상대 클라이언트의 수신 확인이 없으므로, 표시 영역(470) 내의 인디케이터 정보는 시각적으로 사라지지 않을 수 있다. Referring to FIG. 4, in the client's chat window 410, "Hi ~!" Sent by the client to the client is displayed, and "Where are you?" Sent by the client to the client is displayed. In the example shown in FIG. 4, the indicator information in the display area 470 may not disappear visually because there is no acknowledgment of the other client to "Where are you?".

대화창(410)의 상단에는 복수의 기능 버튼과 상대 클라이언트의 식별자(430)가 표시된다. 복수의 기능 버튼은 Back 버튼(420), 통화 버튼(440), 삭제 버튼(450), 및 설정 버튼(460)을 포함할 수 있다.At the upper part of the dialog window 410, a plurality of function buttons and an identifier 430 of the counterpart client are displayed. The plurality of function buttons may include a back button 420, a call button 440, a delete button 450, and a setting button 460.

Back 버튼(420)에 대한 입력이 있는 경우, 클라이언트는 대화방 목록을 표시할 수 있다.When there is an input to the Back button 420, the client can display the chat room list.

통화 버튼(440)에 대한 입력이 있는 경우, 클라이언트는 상대 클라이언트에게 통화 요청을 전송할 수 있다. 클라이언트는 상대 클라이언트와 P2P 통신 경로를 통해 통화 요청을 전송할 수 있다. 상대 클라이언트의 수신 응답이 있으면, 클라이언트와 상대 클라이언트는 음성 데이터를 실시간으로 주고 받을 수 있다.If there is an input to call button 440, the client can send a call request to the other client. The client can send a call request through the P2P communication path with the other client. If there is a reception response of the partner client, the client and the partner client can exchange voice data in real time.

삭제 버튼(450)에 대한 입력이 있는 경우, 선택 버튼(451 및 452)이 표시될 수 있다. 선택 버튼(451)에 대한 입력을 기초로, 클라이언트는 상대 클라이언트로 전송한 데이터 중 선택 버튼(451)과 관련된 데이터를 삭제할 수 있다. 또한, 선택 버튼(451)에 대한 입력을 기초로, 클라이언트는 표시 영역(490)을 삭제할 수 있다. 이로 인해, 표시 영역(490)은 대화창(410)에서 시각적으로 사라질 수 있다. 클라이언트는 선택 버튼(451)과 관련된 데이터에 대한 삭제 명령을 P2P 통신 경로를 통해 상대 클라이언트로 전송하거나 서버를 경유하여 상대 클라이언트로 전송할 수 있다. 상대 클라이언트는 삭제 명령에 대응하는 데이터를 삭제할 수 있다. 상대 클라이언트는 클라이언트로부터 수신한 "Hi~!"를 표시하기 위해 정의된 표시 영역을 삭제할 수 있다. 이에 따라, 상대 클라이언트의 대화창에서 클라이언트로부터 수신한 "Hi~!"를 표시하기 위해 정의된 표시 영역은 시각적으로 사라질 수 있다. When there is an input to the delete button 450, the select buttons 451 and 452 can be displayed. Based on the input to the select button 451, the client can delete data associated with the select button 451 from the data transmitted to the opponent client. Further, based on the input to the selection button 451, the client can delete the display area 490. [ As a result, the display area 490 can disappear visually from the dialog window 410. The client can transmit a delete command for data related to the select button 451 to the other client via the P2P communication path or to the other client via the server. The relative client can delete the data corresponding to the delete command. The relative client can delete the display area defined to display "Hi ~!" Received from the client. Accordingly, the display area defined for displaying "Hi ~!" Received from the client in the dialogue window of the opponent client can be visually disappeared.

선택 버튼(452)에 대한 입력을 기초로, 클라이언트는 선택 버튼(452)과 관련된 데이터를 삭제할 수 있다. 또한, 선택 버튼(452)에 대한 입력을 기초로, 클라이언트는 표시 영역(470)을 삭제할 수 있다. 이로 인해, 식별 정보(480) 및 표시 영역(470)은 대화창(410)에서 시각적으로 사라질 수 있다. 마찬가지로, 클라이언트는 선택 버튼(452)과 관련된 데이터에 대한 삭제 명령을 상대 클라이언트로 전송할 수 있다. 상대 클라이언트는 삭제 명령에 따라 "where are you?"에 대응하는 데이터를 삭제할 수 있다. 또한, 상대 클라이언트는 "where are you?"를 표시하기 위해 정의된 표시 영역을 삭제할 수 있다. 이로 인해, 상대 클라이언트의 대화창에는 "where are you?"를 표시하기 위해 정의된 표시 영역이 시각적으로 사라질 수 있다.Based on the input to the select button 452, the client may delete data associated with the select button 452. Further, based on the input to the select button 452, the client can delete the display area 470. [ For this reason, the identification information 480 and the display area 470 can disappear visually from the dialog window 410. Likewise, the client may send a delete command for the data associated with the select button 452 to the other client. The relative client can delete the data corresponding to "where are you?" In accordance with the delete command. Also, the relative client can delete the defined display area to display "where are you? &Quot;. This causes the display area defined to display "where are you?" In the dialogue of the opponent client to disappear visually.

설정 버튼(460)에 대한 입력이 있는 경우, 클라이언트는 대화방에 참여한 상대 클라이언트의 식별 정보를 표시할 수 있다. 또한, 설정 버튼(460)에 대한 입력이 있는 경우, 클라이언트는 친구를 초대하기 위한 초대 버튼을 표시할 수 있다. 초대 버튼에 대한 입력이 있는 경우, 클라이언트는 연락처 리스트를 표시할 수 있다. When there is an input to the setting button 460, the client can display the identification information of the partner client participating in the chat room. In addition, when there is an input to the setting button 460, the client can display an invitation button for inviting a friend. If there is an input for the invitation button, the client can display the contact list.

일 실시예에 있어서, 표시 영역(470 및 490)과 인접하게, 클라이언트의 식별 정보(480)가 표시될 수 있다. 식별 정보(480)는 클라이언트의 사용자 Paul의 축약 형태(abbreviation)일 수 있다.In one embodiment, adjacent to the display areas 470 and 490, the identification information 480 of the client may be displayed. The identification information 480 may be an abbreviation of the client user Paul.

대화방이 생성될 때, 상대 클라이언트 및 클라이언트 각각에 서로 다른 컬러 정보가 할당될 수 있다. 대화창(410)에서, 식별 정보(480)의 배경 및/또는 표시 영역(490)의 배경은 클라이언트에 할당된 컬러 정보로 처리될 수 있다. 또한, 표시 영역(491)의 배경 및/또는 식별 정보(492)의 배경은 상대 클라이언트에 할당된 컬러 정보로 처리될 수 있다. 예를 들어, 대화방이 생성될 때, 클라이언트는 상대 클라이언트에 붉은색을 할당하고, 클라이언트 자신에게 파란색을 할당할 수 있다. 클라이언트는 식별 정보(480)의 배경 및/또는 표시 영역(490)의 배경을 파란색으로 처리할 수 있고, 표시 영역(491)의 배경 및/또는 식별 정보(492)의 배경을 붉은색으로 처리할 수 있다.When a chat room is created, different color information can be assigned to each of the other client and the client. In the dialog window 410, the background of the identification information 480 and / or the background of the display area 490 may be processed with color information assigned to the client. Further, the background of the display area 491 and / or the background of the identification information 492 may be processed with color information assigned to the other client. For example, when a chat room is created, the client can assign a red color to a relative client and assign a blue color to the client itself. The client can process the background of the identification information 480 and / or the background of the display area 490 in blue and the background of the display area 491 and / or the background of the identification information 492 in red .

도 5a 내지 도 5g는 일 실시예에 따른 단체 대화방의 대화창을 설명하기 위한 도면이다.5A to 5G are views for explaining a chat window of a group chat room according to an embodiment.

클라이언트 A, B, C, 및 D가 단체 대화방에 참여한다고 하자.Assume that clients A, B, C, and D participate in a group chat room.

클라이언트 A는 클라이언트 B, C, 및 D 중 어느 하나 또는 둘 이상과 P2P 통신 경로를 설정할 수 있다. 클라이언트 A와 클라이언트 B 사이에 P2P 통신 경로가 설정될 수 있고, 클라이언트 B와 클라이언트 C 사이에 P2P 통신 경로가 설정될 수 있으며, 클라이언트 C와 클라이언트 D 사이에 P2P 통신 경로가 설정될 수 있다. 또한, 클라이언트 A, B, C, 및 D는 토큰링(token ring) 형태의 네트워크를 형성할 수 있다. 또한, 클라이언트 A는 클라이언트 B, C, 및 D 각각과 P2P 통신 경로를 설정할 수 있다.Client A can establish a P2P communication path with any one or more of clients B, C, and D. A P2P communication path can be established between the client A and the client B, a P2P communication path can be established between the client B and the client C, and a P2P communication path can be established between the client C and the client D. Clients A, B, C, and D may also form a token ring network. In addition, the client A can establish a P2P communication path with the clients B, C, and D, respectively.

특정 클라이언트가 전송한 데이터를 수신하는 클라이언트는 상대 클라이언트로 정의될 수 있다. 예를 들어, 클라이언트 A의 데이터를 수신할 클라이언트 B, C, 및 D는 상대 클라이언트로 정의될 수 있다. 상대 클라이언트는 특정 클라이언트와 P2P 통신 경로를 통해 연결되거나 연결되지 않을 수 있다. 위에서 설명한 것과 같이, 클라이언트 C는 클라이언트 A와 P2P 통신 경로를 통해 연결되지 않을 수 있다. 그러나, 클라이언트 C는 클라이언트 B로부터 P2P 통신 경로를 통해 클라이언트 A의 데이터를 수신할 수 있어, 클라이언트 A의 상대 클라이언트로 정의될 수 있다.A client receiving data transmitted by a specific client may be defined as a relative client. For example, clients B, C, and D that receive data from client A may be defined as relative clients. Relative clients may or may not be connected through a P2P communication path with a particular client. As described above, the client C may not be connected to the client A through the P2P communication path. However, the client C can receive the data of the client A via the P2P communication path from the client B, and can be defined as a client of the client A.

도 5a를 참조하면, 클라이언트 A의 대화창(510)이 도시된다.5A, a dialog window 510 of client A is shown.

대화창(510)에 표시 영역(520)이 정의될 수 있다. 표시 영역(520) 내에는 수신 확인 영역(530), 전송 시간 표시 영역(540), 및 데이터 표시 영역(550)이 정의될 수 있다. 각각의 영역에 대해선 도 3에서 설명하였으므로, 자세한 설명을 생략한다.A display area 520 may be defined in the dialog window 510. In the display area 520, an acknowledgment area 530, a transmission time display area 540, and a data display area 550 can be defined. Since the respective regions have been described with reference to FIG. 3, detailed description will be omitted.

클라이언트 A는 클라이언트 B, C, 및 D 각각과 인디케이터 정보를 대응시킬 수 있다. 인디케이터 정보는, 예를 들어, 컬러 정보 및/또는 그래픽 오브젝트의 형태 등을 포함할 수 있다. 클라이언트 A는 클라이언트 A, B, C, 및 D가 참여하는 단체 대화방이 생성될 때, 클라이언트 B, C, 및 D 각각과 인디케이터 정보를 대응시킬 수 있다. 클라이언트 B, C, 및 D 각각과 대응하는 인디케이터 정보는 서로 다를 수 있다. 예를 들어, 클라이언트 A는 클라이언트 B, C, 및 D 각각에 서로 다른 컬러 정보를 인디케이터 정보로 대응시킬 수 있다. 또한, 클라이언트 A는 컬러 정보를 갖는 그래픽 오브젝트를 클라이언트 B, C, 및 D 각각에 인디케이터 정보로 대응시킬 수 있다. 클라이언트 B에는, 일례로, 붉은색 점이 인디케이터 정보로 대응될 수 있다. 클라이언트 C에는, 일례로, 파란색 점이 인디케이터 정보로 대응될 수 있고, 클라이언트 D에는, 노란색 점이 인디케이터 정보로 대응될 수 있다.The client A can associate the indicator information with the clients B, C, and D, respectively. The indicator information may include, for example, color information and / or the shape of a graphical object. The client A can associate the indicator information with each of the clients B, C, and D when the group chat room in which the clients A, B, C, and D participate is created. The indicator information corresponding to each of the clients B, C, and D may be different from each other. For example, the client A can associate different color information with each of the clients B, C, and D with the indicator information. Further, the client A can associate the graphic object having the color information with the indicator information to the clients B, C, and D, respectively. In the client B, for example, a red dot may correspond to the indicator information. In the client C, for example, a blue dot may correspond to the indicator information, and in the client D, a yellow dot may correspond to the indicator information.

일 실시예에 있어서, 클라이언트 A는 클라이언트 B, C, 및 D 각각을 친구로 등록할 때, 클라이언트 B, C, 및 D 각각에 컬러 정보를 할당할 수 있고, 클라이언트 A, B, C, 및 D가 참여하는 단체 대화방이 생성될 때, 클라이언트 B, C, 및 D 각각에 할당되어 있던 컬러 정보를 클라이언트 B, C, 및 D 각각에 인디케이터 정보로 대응시킬 수 있다. 예를 들어, 클라이언트 A는 클라이언트 B, C, 및 D 각각을 친구로 등록할 때, 클라이언트 B, C, 및 D 각각에 붉은색, 파란색, 및 노란색을 할당할 수 있다. 클라이언트 A, B, C, 및 D가 참여하는 단체 대화방이 생성될 때, 클라이언트 A는 클라이언트 B에 할당되어 있던 붉은색을 인디케이터 정보로 클라이언트 B에 대응시킬 수 있다. 마찬가지로, 클라이언트 A는 클라이언트 C 및 D 각각에 파란색 및 노란색을 인디케이터 정보로 대응시킬 수 있다. 또한, 클라이언트 B, C, 및 D 각각에 인디케이터 정보가 대응되기 전에 컬러 정보가 이미 할당되어 있는 경우, 클라이언트 A는 할당된 컬러 정보를 갖는 그래픽 오브젝트를 클라이언트 B, C, 및 D 각각에 인디케이터 정보로 대응시킬 수 있다. 클라이언트 A는, 일례로, 클라이언트 B에 붉은색 점을 인디케이터 정보로 대응시킬 수 있다. 또한, 클라이언트 A는, 일례로, 클라이언트 C에 파란색 점을 인디케이터 정보로 대응시킬 수 있고, 클라이언트 D에 노란색 점을 인디케이터 정보로 대응시킬 수 있다.In one embodiment, when registering each of clients B, C, and D as a friend, client A may assign color information to each of clients B, C, and D, and clients A, B, C, and D The color information allocated to each of the clients B, C, and D can be associated with the indicator information in the clients B, C, and D, respectively. For example, client A may assign red, blue, and yellow to each of clients B, C, and D when registering each of clients B, C, and D as friends. When a group chat room in which the clients A, B, C, and D participate is created, the client A can associate the red color assigned to the client B with the client B as indicator information. Similarly, the client A can associate blue and yellow with the indicator information for each of the clients C and D, respectively. When the color information is already allocated before the indicator information is associated with each of the clients B, C, and D, the client A transmits the graphic object having the assigned color information to the clients B, C, and D as indicator information . The client A can, for example, map the red dot to the client B with the indicator information. In addition, the client A can associate the blue point with the indicator information, and the client D with the yellow point with the indicator information, for example.

도 5a에 도시된 예에서, "Hi~!"가 표시된다. 수신 확인 영역(530)에는 복수의 인디케이터 정보(531, 532, 및 533)가 표시될 수 있다. 클라이언트 A는 대화창(510)에 클라이언트 B, C, 및 D 각각에 대응되는 인디케이터 정보(531, 532, 및 533)를 표시할 수 있다. 예를 들어, 클라이언트 B와 대응하는 인디케이터 정보(531)는 붉은색 점일 수 있고, 클라이언트 C와 대응하는 인디케이터 정보(532)는 파란색 점일 수 있다. 또한, 클라이언트 D에 대응하는 인디케이터 정보(533)는 노란색 점일 수 있다.In the example shown in Fig. 5A, "Hi ~!" Is displayed. In the acknowledgment area 530, a plurality of indicator information 531, 532, and 533 may be displayed. The client A can display the indicator information 531, 532, and 533 corresponding to the clients B, C, and D in the dialog window 510, respectively. For example, the indicator information 531 corresponding to client B may be a red dot, and the indicator information 532 corresponding to client C may be a blue dot. Also, the indicator information 533 corresponding to the client D may be a yellow dot.

클라이언트 A가 전송한 데이터에 대한 클라이언트 B, C, 및 D의 수신 확인이 있으면, 클라이언트 A는 복수의 인디케이터 정보(531, 532, 및 533) 각각의 그래픽 속성을 변경할 수 있다. 이하, 도 5b를 참조하면서, 그래픽 속성의 변경에 대해서 설명한다.If there is an acknowledgment of the clients B, C, and D to the data transmitted by the client A, the client A can change the graphic attributes of each of the plurality of indicator information 531, 532, and 533. Hereinafter, the change of the graphic attribute will be described with reference to FIG. 5B.

도 5b를 참조하면, 대화창(510)의 수신 확인 영역(530)에는 인디케이터 정보(531)가 없다. 클라이언트 B의 수신 확인이 있으므로, 인디케이터 정보(531)가 시각적으로 사라질 수 있다. 도 5b에 도시된 예와 달리, 클라이언트 B의 수신 확인이 있는 경우, 인디케이터 정보(531)의 윤곽은 유지되고, 컬러 정보가 변할 수 있다. 클라이언트 A의 사용자는 수신 확인 영역(530)을 통해 클라이언트 C 및 D 각각의 사용자가 메시지를 확인하지 않았다는 것을 알 수 있다.Referring to FIG. 5B, there is no indicator information 531 in the acknowledgment area 530 of the dialog window 510. Because there is an acknowledgment of the client B, the indicator information 531 may disappear visually. Unlike the example shown in FIG. 5B, if there is an acknowledgment of the client B, the outline of the indicator information 531 is maintained and the color information may change. The user of the client A can know through the acknowledgment area 530 that the user of each of the clients C and D has not acknowledged the message.

도 5b에 도시된 예에서, "Hi~!"가 표시 영역(560)에 표시된다. 또한, 클라이언트 B의 복수의 식별 정보(563 및 564)가 표시된다. 식별 정보(563)는 표시 영역(560) 내에 표시될 수 있고, 식별 정보(564)는 표시 영역(560)의 외부에 표시될 수 있다. 식별 정보(564)는 식별 정보(563)의 축약 형태일 수 있다. 또한, 표시 영역(560)에는 클라이언트 B가 데이터를 전송한 시간이 표시될 수 있다.In the example shown in Fig. 5B, "Hi to!" Is displayed in the display area 560. [ Further, a plurality of pieces of identification information 563 and 564 of the client B are displayed. The identification information 563 may be displayed in the display area 560 and the identification information 564 may be displayed outside the display area 560. [ The identification information 564 may be an abbreviated form of the identification information 563. [ Further, the display area 560 may display the time at which the client B transmits data.

도 5b에 도시된 예에서, 표시 영역(560)에 클라이언트 A에 대응하는 인디케이터 정보는 표시되지 않고, 클라이언트 C에 대응하는 인디케이터 정보(561) 및 클라이언트 D에 대응하는 인디케이터 정보(562)가 표시된다. 인디케이터 정보(561) 및 인디케이터 정보(562)의 표시는 클라이언트 B의 데이터에 대한 클라이언트 C 및 D의 수신 확인이 없다는 것을 의미할 수 있다. In the example shown in Fig. 5B, indicator information corresponding to the client A is not displayed in the display area 560, but indicator information 561 corresponding to the client C and indicator information 562 corresponding to the client D are displayed . The indication of the indicator information 561 and the indicator information 562 may indicate that there is no acknowledgment of the client C and D to the client B's data.

클라이언트 B의 데이터에 대한 클라이언트 A의 수신 확인이 있으므로, 클라이언트 B의 대화창에는 클라이언트 A의 인디케이터 정보가 표시되지 않을 수 있다.Since there is an acknowledgment of the client A to the data of the client B, the indicator information of the client A may not be displayed in the dialog box of the client B.

클라이언트 A는 표시 영역(560)의 배경 및/또는 식별 정보(564)의 배경을 클라이언트 B에 할당된 컬러 정보로 처리할 수 있다. 예를 들어, 클라이언트 A는 표시 영역(560)의 배경을 붉은색으로 처리할 수 있다. 여기서, 인디케이터 정보(561 및 562)가 시각적으로 뚜렷이 보일 수 있도록 수신 확인 영역의 배경은 흰색 또는 투명으로 처리될 수 있다.The client A can process the background of the display area 560 and / or the background of the identification information 564 as color information assigned to the client B. [ For example, the client A can process the background of the display area 560 in red. Here, the background of the acknowledgment area may be treated as white or transparent so that the indicator information 561 and 562 may be visually distinct.

도 5c를 참조하면, 클라이언트 C(사용자: Alex)의 데이터 및 클라이언트 D(사용자: Mason)의 데이터가 대화창(510)에 표시된다. 클라이언트 A는 클라이언트 C에 할당된 컬러 정보로 표시 영역(570) 및/또는 식별 정보(571)의 배경을 처리할 수 있다. 다시 말해, 표시 영역(570) 및/또는 식별 정보(571)의 배경의 컬러 정보는 클라이언트 C에 할당된 컬러 정보일 수 있다. 마찬가지로, 클라이언트 A는 클라이언트 D에 할당된 컬러 정보로 표시 영역(580) 및 식별 정보(581)의 배경을 처리할 수 있다.Referring to FIG. 5C, data of the client C (user: Alex) and data of the client D (user: Mason) are displayed in the dialog window 510. The client A can process the background of the display area 570 and / or the identification information 571 with the color information assigned to the client C. [ In other words, the color information of the background of the display area 570 and / or the identification information 571 may be the color information assigned to the client C. Similarly, the client A can process the background of the display area 580 and the identification information 581 with the color information assigned to the client D.

도 5a 내지 도 5c에 도시된 예와 달리, 도 5d를 참조하면, 표시 영역(520)과 인접하게 식별 정보(590)가 표시될 수 있다. 일 실시예에 있어서, 클라이언트 A는 식별 정보(590)를 클라이언트 A의 데이터에 대응하는 표시 영역(520)과 인접한 영역에 표시할 수 있다. 식별 정보(590)는 클라이언트 A의 사용자에 대한 식별 정보일 수 있다. 또한, 클라이언트 A는 자신에 할당된 컬러 정보로 표시 영역(520) 및/또는 식별 정보(590)의 배경을 처리할 수 있다.Unlike the example shown in FIGS. 5A to 5C, referring to FIG. 5D, identification information 590 may be displayed adjacent to the display area 520. FIG. In one embodiment, the client A can display the identification information 590 in an area adjacent to the display area 520 corresponding to the data of the client A. [ The identification information 590 may be identification information for the user of the client A. [ In addition, the client A can process the background of the display area 520 and / or the identification information 590 with the color information assigned thereto.

도 5e를 참조하면, 클라이언트 A의 대화창(510)이 도시된다. 도 5a에 도시된 예의 경우, 복수의 인디케이터 정보(531, 532, 및 533) 각각은 서로 일정 거리만큼 떨어져서 표시된다. 도 5e에 도시된 예의 경우, 수신 확인 영역(530)에는 인디케이터 정보(511)가 표시될 수 있다. 보다 구체적으로, 대화방에 참여하는 클라이언트의 개수가 제1 기준(예를 들어, 20개)을 초과하는 경우, 수신 확인 영역(530)에는 대화방에 대응하는 인디케이터 정보(511)가 표시될 수 있다. 제1 기준에 대한 예는 전술한 사항으로 제한되지 않는다. 대화방에 대응하는 인디케이터 정보(511)의 형태는, 예를 들어, 바(bar)일 수 있다. 그러나, 대화방에 대응하는 인디케이터 정보(511)의 형태는 전술한 사항으로 제한되지 않는다. 대화방에 대응하는 인디케이터 정보(511)는 원, 다각형 등 다양한 형태일 수 있다.5E, a dialog 510 of client A is shown. In the case of the example shown in FIG. 5A, each of the plurality of indicator information 531, 532, and 533 is displayed apart from each other by a certain distance. In the example shown in FIG. 5E, the indicator information 511 may be displayed in the acknowledgment area 530. FIG. More specifically, if the number of clients participating in the chat room exceeds a first criterion (for example, 20), the indicator information 511 corresponding to the chat room may be displayed in the acknowledgment area 530. [ Examples of the first criterion are not limited to those described above. The form of the indicator information 511 corresponding to the chat room may be, for example, a bar. However, the form of the indicator information 511 corresponding to the chat room is not limited to the above description. The indicator information 511 corresponding to the chat room may be various forms such as a circle, a polygon, and the like.

도 5e에 도시된 예의 경우, 대화창(510)에는 "Hi~!" 및 바 형태의 인디케이터 정보(511)가 표시된다. "Hi~!"에 대한 다른 클라이언트의 수신 확인이 있는 경우, 인디케이터 정보(511)의 그래픽 속성은 변경될 수 있다. 여기서, 다른 클라이언트는 대화방의 복수의 참여 클라이언트 중 클라이언트 A를 제외한 참여 클라이언트 중 일부 또는 전부를 나타낸다. 이하, 도 5g를 참조하면서, 인디케이터 정보(511)의 그래픽 속성의 변경에 대해 설명한다.In the example shown in Fig. 5E, the dialog window 510 contains "Hi ~!" And bar-shaped indicator information 511 are displayed. If there is another client's acknowledgment of "Hi ~! &Quot;, the graphical attribute of the indicator information 511 may be changed. Here, the other clients represent some or all of the participating clients excluding the client A among the plurality of participating clients in the chat room. Hereinafter, the change of the graphic attribute of the indicator information 511 will be described with reference to FIG.

도 5g를 참조하면, 수신 확인 영역(530)에 인디케이터 정보(513)가 표시된다. 인디케이터 정보(513)의 길이는 인디케이터 정보(511)의 길이에 비해 짧다. 인디케이터 정보(511)의 길이가 짧다는 것은 클라이언트 A의 데이터에 대한 수신 확인이 있다는 것을 의미할 수 있다. 도 5g에 도시된 예의 경우, 클라이언트 A의 "Hi~!"에 대한 다른 클라이언트(예를 들어, Tadd, Alex, Mason 등)의 수신 확인이 있으므로, 길이가 짧아진 인디케이터 정보(513)가 표시된다. 클라이언트 A는 다른 클라이언트의 수신 확인이 있는 경우, 인디케이터 정보(511)의 형태에 대한 시각적 효과를 제어할 수 있다. 영역(512)에 해당하는 만큼의 클라이언트가 클라이언트 A의 "Hi~!"를 확인한 것이다.Referring to FIG. 5G, indicator information 513 is displayed in the acknowledgment area 530. FIG. The length of the indicator information 513 is shorter than the length of the indicator information 511. The short length of the indicator information 511 may mean that there is an acknowledgment of the client A's data. In the example shown in Fig. 5G, there is an acknowledgment of another client (e.g., Tadd, Alex, Mason, etc.) for "Hi ~!" Of the client A, so that the indicator information 513 whose length is shortened is displayed . Client A may control the visual effect on the type of indicator information 511 if there is an acknowledgment from another client. The client corresponding to the area 512 confirms "Hi ~!"

일 실시예에 있어서, 인디케이터 정보(513)에 대한 사용자 입력(예를 들어, 터치 제스쳐)이 있는 경우, 클라이언트 A의 데이터에 대한 수신 확인이 없는 클라이언트의 식별 정보가 표시될 수 있다.In one embodiment, if there is a user input (e.g., a touch gesture) to the indicator information 513, the identification information of the client without acknowledgment of the client A's data may be displayed.

Tadd의 데이터에 대응하는 표시 영역에 인디케이터 정보가 표시될 수 있다. Tadd의 데이터에 대한 다른 클라이언트의 수신 확인이 있으므로, 인디케이터 정보의 길이는 짧다. 마찬가지로, Alex 및 Mason 각각의 데이터에 대응하는 표시 영역에 인디케이터 정보가 표시될 수 있다. Alex 및 Mason 각각의 데이터에 대한 다른 클라이언트의 수신 확인이 있으므로, 인디케이터 정보의 길이는 짧다.The indicator information can be displayed in the display area corresponding to the data of Tadd. Since there is another client's acknowledgment of the data of Tadd, the length of the indicator information is short. Likewise, the indicator information can be displayed in the display area corresponding to the data of each of Alex and Mason. Since there is another client acknowledgment of the data for each of Alex and Mason, the length of the indicator information is short.

도 5g를 참조하면, 수신 확인 영역(530)에 복수의 점이 표시된다. 일 실시예에 있어서, 클라이언트 A의 데이터에 대한 수신 확인이 없는 클라이언트의 개수가 제2 기준(예를 들어, 8개) 이하인 경우, 수신 확인이 없는 클라이언트에 대응하는 인디케이터 정보가 수신 확인 영역(530)에 표시될 수 있다. 제2 기준에 대한 예는 전술한 사항으로 제한되지 않는다. 도 5g에 도시된 예의 경우, 클라이언트 A의 데이터에 대한 8개의 클라이언트의 수신 확인이 없으므로, 8개의 클라이언트 각각에 대응하는 인디케이터 정보가 수신 확인 영역(530)에 표시된다.Referring to FIG. 5G, a plurality of points are displayed in the acknowledgment area 530. FIG. In one embodiment, when the number of clients without acknowledgment of the client A's data is less than or equal to a second criterion (e.g., 8), indicator information corresponding to the client without receipt confirmation is transmitted to the acknowledgment area 530 ). ≪ / RTI > Examples of the second criterion are not limited to those described above. In the case of the example shown in FIG. 5G, since there is no acknowledgment of the eight clients to the data of the client A, the indicator information corresponding to each of the eight clients is displayed in the acknowledgment area 530.

도 1 내지 도 4를 통해 기술된 사항들은 도 5a 내지 도 5g를 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다. 도 5a 내지 도 5g를 통해 기술된 사항들은 도 1 내지 도 4를 통해 기술된 사항들에 적용될 수 있다.1 to 4 can be applied to the matters described with reference to FIGS. 5A to 5G, detailed description will be omitted. The matters described through FIGS. 5A to 5G can be applied to the matters described in FIGS. 1 to 4. FIG.

도 6은 일 실시예에 따른 클라이언트를 설명하기 위한 블록도이다.6 is a block diagram illustrating a client according to an exemplary embodiment of the present invention.

도 6을 참조하면, 일 실시예에 따른 클라이언트(600)는 통신 인터페이스(610), 메모리(620), 및 컨트롤러(630)를 포함한다.6, a client 600 in accordance with an embodiment includes a communication interface 610, a memory 620, and a controller 630. [

통신 인터페이스(610)는 P2P 통신 요청을 서버로 전송한다. 또한, 통신 인터페이스(610)는 상대 클라이언트와 P2P 통신 경로를 설정한다.The communication interface 610 transmits a P2P communication request to the server. Further, the communication interface 610 establishes a P2P communication path with the other client.

메모리(620)는 통신 프로그램을 저장한다.The memory 620 stores a communication program.

컨트롤러(630)는 통신 프로그램을 실행한다. 보다 구체적으로, 컨트롤러(630)는 데이터 수신 확인과 관련된 인디케이터 정보를 상대 클라이언트와 대응시킨다. 또한, 컨트롤러(630)는 데이터에 대한 전송 요청에 따라 데이터를 통신 인터페이스를 이용하여 상대 클라이언트로 전송한다. 또한, 컨트롤러(630)는 인디케이터 정보를 대화창에 표시하고, 데이터에 대한 상대 클라이언트의 수신 확인이 있는 경우, 인디케이터 정보의 그래픽 속성을 제어한다.The controller 630 executes a communication program. More specifically, the controller 630 associates the indicator information associated with the data receipt confirmation with the other client. In addition, the controller 630 transmits data to the other client using a communication interface in response to a request for transmission of data. In addition, the controller 630 displays the indicator information in a dialog and controls the graphical properties of the indicator information if there is an acknowledgment of the other client to the data.

대화방의 참여 클라이언트의 개수는 복수일 수 있다. 예를 들어, 대화방에 클라이언트(600) 및 복수의 상대 클라이언트가 있으면, 대화방의 참여 클라이언트의 개수는 복수일 수 있다. 위에서 설명한 것과 같이, 클라이언트(600)는 복수의 상대 클라이언트 중 어느 하나 또는 둘 이상과 P2P 통신 경로를 설정할 수 있다. 또한, 클라이언트(600)는 복수의 상대 클라이언트 각각과 P2P 통신 경로를 설정할 수 있다. 컨트롤러(630)는 클라이언트(600)을 제외한 참여 클라이언트의 인디케이터 정보를 표시할 수 있다. 다시 말해, 컨트롤러(630)는 복수의 상대 클라이언트 각각의 인디케이터 정보를 표시할 수 있다. 참여 클라이언트의 수신 확인이 있는 경우, 컨트롤러(630)는 수신 확인이 있는 참여 클라이언트에 대응하는 인디케이터 정보를 대화창에서 시각적으로 사라지게 할 수 있다. 다시 말해, 컨트롤러(630)는 수신 확인이 있는 상대 클라이언트에 대응하는 인디케이터 정보를 대화창에서 시각적으로 사라지게 할 수 있다.The number of participating clients in the chat room may be plural. For example, if there are a client 600 and a plurality of relative clients in the chat room, the number of participating clients in the chat room may be plural. As described above, the client 600 can establish a P2P communication path with one or more of a plurality of relative clients. In addition, the client 600 can establish a P2P communication path with each of a plurality of relative clients. The controller 630 may display indicator information of the participating clients except for the client 600. [ In other words, the controller 630 can display the indicator information of each of the plurality of opponent clients. If there is an acknowledgment of the participating client, the controller 630 may cause the indicator information corresponding to the participating client with acknowledgment to disappear visually from the dialog. In other words, the controller 630 may cause the indicator information corresponding to the opponent client with acknowledgment to disappear visually from the dialog.

대화방의 참여 클라이언트의 개수가 제1 기준(예를 들어, 20개)을 초과할 수 있다. 예를 들어, 대화방에 클라이언트(600) 및 복수의 상대 클라이언트가 있으면, 대화방의 참여 클라이언트의 개수는 제1 기준을 초과할 수 있다. 이 경우, 컨트롤러(630)는 대화방에 대응하는 인디케이터 정보를 표시할 수 있다. 다시 말해, 컨트롤러(630)는 복수의 상대 클라이언트 각각의 인디케이터 정보가 아닌 대화방에 대응하는 인디케이터 정보를 표시할 수 있다. 컨트롤러(630)는 클라이언트(600)의 데이터에 대한 수신 확인이 있는 경우, 대화방에 대응하는 인디케이터 정보의 길이에 대한 시각적 효과를 제어할 수 있다. 예를 들어, 복수의 상대 클라이언트 중 일부가 클라이언트(600)의 데이터를 수신 확인한 경우, 컨트롤러(630)는 대화방에 대응하는 인디케이터 정보의 길이가 짧아지도록 할 수 있다.The number of participating clients in the chat room may exceed a first criterion (e.g., 20). For example, if there are a client 600 and a plurality of relative clients in the chat room, the number of participating clients in the chat room may exceed the first criterion. In this case, the controller 630 can display the indicator information corresponding to the chat room. In other words, the controller 630 can display the indicator information corresponding to the chat room rather than the indicator information of each of the plurality of the relative clients. The controller 630 can control the visual effect on the length of the indicator information corresponding to the chat room if there is an acknowledgment for the data of the client 600. [ For example, when a part of a plurality of relative clients receives and confirms data of the client 600, the controller 630 may shorten the length of the indicator information corresponding to the chat room.

클라이언트(600)의 데이터에 대한 수신 확인이 없는 참여 클라이언트의 개수가 제2 기준(예를 들어, 8개) 이하인 경우, 컨트롤러(630)는 대화방에 대응하는 인디케이터 정보를 시각적으로 사라지게 할 수 있다. 또한, 컨트롤러(630)는 사라진 인디케이터 정보가 표시되어 있던 영역에, 수신 확인이 없는 참여 클라이언트에 대응하는 인디케이터 정보를 표시할 수 있다.The controller 630 may visually disappear the indicator information corresponding to the chat room if the number of the participating clients without acknowledgment of the data of the client 600 is equal to or less than the second criterion (for example, eight). In addition, the controller 630 can display indicator information corresponding to the participating client which has not received confirmation in the area where the disappearing indicator information was displayed.

도 1 내지 도 5g를 통해 기술된 사항들은 도 6을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.1 to 5G can be applied to the matters described with reference to FIG. 6, detailed description will be omitted.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (19)

클라이언트의 사용자 인터페이스 제공 방법에 있어서,
상대 클라이언트와 P2P(Peer To Peer) 통신 경로를 설정하는 단계;
데이터 수신 확인과 관련된 인디케이터 정보를 상기 상대 클라이언트와 대응시키는 단계;
데이터에 대한 전송 요청에 따라 상기 데이터를 상기 상대 클라이언트로 전송하고, 상기 인디케이터 정보를 클라이언트와 상기 상대 클라이언트가 참여하는 대화방의 대화창에 표시하는 단계; 및
상기 데이터에 대한 상기 상대 클라이언트의 수신 확인이 있는 경우, 상기 인디케이터 정보의 그래픽 속성을 제어하는 단계
를 포함하고,
상기 클라이언트는,
상기 클라이언트 및 복수의 상대 클라이언트들이 참여하는 대화방을 통해 데이터를 전송하고, 상기 상대 클라이언트들 각각에 대응된 서로 다른 인디케이터 정보를 표시하며, 상기 상대 클라이언트들 중 일부의 데이터 수신 확인이 있는 경우, 상기 데이터 수신 확인이 있는 클라이언트에 대응된 인디케이터 정보의 그래픽 속성을 제어하고, 상기 데이터 수신 확인이 없는 클라이언트에 대응된 인디케이터 정보의 그래픽 속성을 유지하는,
클라이언트의 사용자 인터페이스 제공 방법.
A method of providing a user interface of a client,
Establishing a Peer To Peer (P2P) communication path with a relative client;
Associating indicator information related to data receipt confirmation with the counterpart client;
Transmitting the data to the counterpart client in response to a transmission request for data, and displaying the indicator information in a chat window of a chat room in which the client and the counterpart client participate; And
Controlling the graphical property of the indicator information when there is an acknowledgment of the relative client to the data;
Lt; / RTI >
The client includes:
The method of claim 1, further comprising the steps of: transmitting data through a chat room in which the client and a plurality of relative clients participate; displaying different indicator information corresponding to each of the counterpart clients; Controlling a graphical attribute of indicator information corresponding to a client having an acknowledgment and maintaining a graphical attribute of indicator information corresponding to the client without the data acknowledgment,
A method for providing a user interface of a client.
제1항에 있어서,
상기 인디케이터 정보는,
그래픽 오브젝트에 대한 정보를 포함하는,
클라이언트의 사용자 인터페이스 제공 방법.
The method according to claim 1,
Wherein the indicator information comprises:
A computer program product comprising information about a graphics object,
A method for providing a user interface of a client.
제1항에 있어서,
상기 데이터에 대한 상기 상대 클라이언트의 수신 확인이 있는 경우, 상기 인디케이터 정보는 상기 대화창에서 시각적으로 사라지는,
클라이언트의 사용자 인터페이스 제공 방법.
The method according to claim 1,
If there is an acknowledgment of the relative client to the data, the indicator information is visually disappearing from the dialog,
A method for providing a user interface of a client.
제1항에 있어서,
상기 상대 클라이언트로부터 데이터를 수신하는 단계; 및
상기 수신한 데이터를 시각적으로 표시하기 위해 정의된 표시 영역의 배경을 상기 인디케이터 정보의 컬러 정보로 처리하는 단계
를 더 포함하는,
클라이언트의 사용자 인터페이스 제공 방법.
The method according to claim 1,
Receiving data from the counterpart client; And
Processing the background of the display area defined for visually displaying the received data as color information of the indicator information
≪ / RTI >
A method for providing a user interface of a client.
삭제delete 삭제delete 제1항에 있어서,
상기 그래픽 속성을 제어하는 단계는
상기 상대 클라이언트로부터 상기 P2P 통신 경로를 통해 상기 데이터에 대한 수신 확인 응답을 수신하는 단계; 및
상기 수신 확인 응답을 기초로, 상기 인디케이터 정보가 상기 대화창에서 시각적으로 사라지도록 하는 단계
를 포함하는,
클라이언트의 사용자 인터페이스 제공 방법.
The method according to claim 1,
The step of controlling the graphic attribute
Receiving an acknowledgment response for the data from the correspondent client over the P2P communication path; And
Allowing the indicator information to visually disappear from the dialog window based on the acknowledgment response
/ RTI >
A method for providing a user interface of a client.
제1항에 있어서,
상기 대화방의 참여 클라이언트의 개수가 제1 기준을 초과하는 경우, 상기 표시하는 단계는,
상기 대화방에 대응하는 인디케이터 정보를 표시하는 단계
를 포함하고,
상기 그래픽 속성을 제어하는 단계는,
상기 클라이언트의 데이터에 대한 수신 확인이 있는 경우, 상기 대화방에 대응하는 인디케이터 정보의 길이에 대한 시각적 효과를 제어하는 단계
를 포함하는,
클라이언트의 사용자 인터페이스 제공 방법.
The method according to claim 1,
Wherein if the number of participating clients of the chat room exceeds a first criterion,
Displaying indicator information corresponding to the chat room
Lt; / RTI >
The method of claim 1,
Controlling the visual effect on the length of the indicator information corresponding to the chat room if there is an acknowledgment of the data of the client
/ RTI >
A method for providing a user interface of a client.
제8항에 있어서,
상기 클라이언트의 데이터에 대한 수신 확인이 없는 참여 클라이언트의 개수가 제2 기준 이하인 경우, 상기 대화방에 대응하는 인디케이터 정보를 시각적으로 사라지게 하고, 상기 사라진 인디케이터 정보가 표시되어 있던 영역에, 상기 수신 확인이 없는 참여 클라이언트에 대응하는 인디케이터 정보를 표시하는 단계
를 더 포함하는,
클라이언트의 사용자 인터페이스 제공 방법.
9. The method of claim 8,
If the number of the participating clients that do not receive acknowledgment of the data of the client is equal to or less than the second criterion, the indicator information corresponding to the chat room is visually disappeared, and in the area where the disappearing indicator information is displayed, Displaying indicator information corresponding to the participating client
≪ / RTI >
A method for providing a user interface of a client.
하드웨어와 결합되어 제1항 내지 제4항 및 제7항 내지 제9항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
9. A computer program stored on a medium in combination with hardware to perform the method of any one of claims 1 to 4 and 7 to 9.
클라이언트에 있어서,
통신 인터페이스;
통신 프로그램을 저장하는 메모리; 및
상기 통신 프로그램을 실행하면, 상기 통신 인터페이스를 이용하여 상대 클라이언트와 P2P(Peer To Peer) 통신 경로를 설정하고, 데이터 수신 확인과 관련된 인디케이터 정보를 상기 상대 클라이언트와 대응시키며, 데이터에 대한 전송 요청에 따라 상기 데이터를 상기 통신 인터페이스를 이용하여 상기 상대 클라이언트로 전송하고, 상기 인디케이터 정보를 상기 인디케이터 정보를 클라이언트와 상기 상대 클라이언트가 참여하는 대화방의 대화창에 표시하고, 상기 데이터에 대한 상기 상대 클라이언트의 수신 확인이 있는 경우, 상기 인디케이터 정보의 그래픽 속성을 제어하는 컨트롤러
를 포함하고,
상기 클라이언트는,
상기 클라이언트 및 복수의 상대 클라이언트들이 참여하는 대화방을 통해 데이터를 전송하고, 상기 상대 클라이언트들 각각에 대응된 서로 다른 인디케이터 정보를 표시하며, 상기 상대 클라이언트들 중 일부의 데이터 수신 확인이 있는 경우, 상기 데이터 수신 확인이 있는 클라이언트에 대응된 인디케이터 정보의 그래픽 속성을 제어하고, 상기 데이터 수신 확인이 없는 클라이언트에 대응된 인디케이터 정보의 그래픽 속성을 유지하는,
클라이언트.
In the client,
Communication interface;
A memory for storing a communication program; And
And a peer-to-peer (P2P) communication path is established with the other client using the communication interface, indicator information related to data reception confirmation is associated with the counterpart client, Transmitting the indicator information to the client and the chat window of the chat room participating in the partner client, and transmitting the indicator information to the counterpart client via the communication interface, A controller for controlling the graphic attribute of the indicator information,
Lt; / RTI >
The client includes:
The method of claim 1, further comprising the steps of: transmitting data through a chat room in which the client and a plurality of relative clients participate; displaying different indicator information corresponding to each of the counterpart clients; Controlling a graphical attribute of indicator information corresponding to a client having an acknowledgment and maintaining a graphical attribute of indicator information corresponding to the client without the data acknowledgment,
Client.
제11항에 있어서,
상기 인디케이터 정보는,
그래픽 오브젝트에 대한 정보를 포함하는,
클라이언트.
12. The method of claim 11,
Wherein the indicator information comprises:
A computer program product comprising information about a graphics object,
Client.
제11항에 있어서,
상기 데이터에 대한 상기 상대 클라이언트의 수신 확인이 있는 경우, 상기 인디케이터 정보는 상기 대화창에서 시각적으로 사라지는,
클라이언트.
12. The method of claim 11,
If there is an acknowledgment of the relative client to the data, the indicator information is visually disappearing from the dialog,
Client.
제11항에 있어서,
상기 통신 인터페이스는,
상기 상대 클라이언트로부터 데이터를 수신하고,
상기 컨트롤러는,
상기 수신한 데이터를 시각적으로 표시하기 위해 정의된 표시 영역의 배경을 상기 인디케이터 정보의 컬러 정보로 처리하는,
클라이언트.
12. The method of claim 11,
Wherein the communication interface comprises:
Receiving data from the counterpart client,
The controller comprising:
Processing the background of the display area defined for visually displaying the received data as color information of the indicator information,
Client.
삭제delete 삭제delete 제11항에 있어서,
상기 컨트롤러는,
상기 상대 클라이언트로부터 상기 통신 인터페이스를 이용하여 상기 데이터에 대한 수신 확인 응답을 수신하고, 상기 수신 확인 응답을 기초로, 상기 인디케이터 정보가 상기 대화창에서 시각적으로 사라지도록 하는,
클라이언트.
12. The method of claim 11,
The controller comprising:
Receiving an acknowledgment response for the data from the counterpart client using the communication interface and for causing the indicator information to visually disappear from the conversation window based on the acknowledgment response;
Client.
제11항에 있어서,
상기 대화방의 참여 클라이언트의 개수가 제1 기준을 초과하는 경우, 상기 컨트롤러는,
상기 대화방에 대응하는 인디케이터 정보를 표시하고, 상기 클라이언트의 데이터에 대한 수신 확인이 있는 경우, 상기 대화방에 대응하는 인디케이터 정보의 길이에 대한 시각적 효과를 제어하는,
클라이언트.
12. The method of claim 11,
If the number of participating clients in the chat room exceeds a first criterion,
And displaying the indicator information corresponding to the chat room and controlling the visual effect on the length of the indicator information corresponding to the chat room when there is an acknowledgment on the data of the client,
Client.
제18항에 있어서,
상기 컨트롤러는,
상기 클라이언트의 데이터에 대한 수신 확인이 없는 참여 클라이언트의 개수가 제2 기준 이하인 경우, 상기 대화방에 대응하는 인디케이터 정보를 시각적으로 사라지게 하고, 상기 사라진 인디케이터 정보가 표시되어 있던 영역에, 상기 수신 확인이 없는 참여 클라이언트에 대응하는 인디케이터 정보를 표시하는,
클라이언트.
19. The method of claim 18,
The controller comprising:
If the number of the participating clients that do not receive acknowledgment of the data of the client is equal to or less than the second criterion, the indicator information corresponding to the chat room is visually disappeared, and in the area where the disappearing indicator information is displayed, Displaying indicator information corresponding to the participating client,
Client.
KR1020160100253A 2015-08-07 2016-08-05 Method for providing user interface and client enabling the method KR101829908B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150111398 2015-08-07
KR20150111398 2015-08-07

Publications (2)

Publication Number Publication Date
KR20170017838A KR20170017838A (en) 2017-02-15
KR101829908B1 true KR101829908B1 (en) 2018-02-19

Family

ID=58112061

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160100253A KR101829908B1 (en) 2015-08-07 2016-08-05 Method for providing user interface and client enabling the method

Country Status (1)

Country Link
KR (1) KR101829908B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100746943B1 (en) * 2006-02-06 2007-08-07 주식회사 케이티프리텔 Mobile terminal for chatting by using sms and method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100746943B1 (en) * 2006-02-06 2007-08-07 주식회사 케이티프리텔 Mobile terminal for chatting by using sms and method thereof

Also Published As

Publication number Publication date
KR20170017838A (en) 2017-02-15

Similar Documents

Publication Publication Date Title
US10778656B2 (en) Sharing resources across multiple devices in online meetings
US11362811B2 (en) Secure telecommunications
US11271879B2 (en) Information transmission control method, apparatus, and system
CN109314661B (en) Communication system
KR101714874B1 (en) Efficient secure instant messaging
JP2020502711A (en) Method and apparatus for distributing augmented reality based virtual objects
CN105391676A (en) Instant communication message processing method, device and system
JP2019508767A (en) Information updating method and apparatus and server
CN104981275A (en) Generic companion-messaging between media platforms
US10855846B1 (en) Encrypting multiple party calls
CN103997405B (en) A kind of key generation method and device
US20220247796A1 (en) Electronic conferencing
US11388205B2 (en) Systems and methods for establishing a shared augmented reality session
KR101840752B1 (en) Terminal and operation method of terminal
KR101829908B1 (en) Method for providing user interface and client enabling the method
KR20190105755A (en) Method and system for providing secure message
US11943073B2 (en) Multiple grouping for immersive teleconferencing and telepresence
EP4260539A1 (en) Electronic conferencing
WO2021112807A1 (en) A system for using augmented reality in messaging applications
CN112422881A (en) P2P video conference method for free networking
CN107005840B (en) Device discovery using discovery nodes
US20230188509A1 (en) Enabling and disabling end-to-end encryption in multiparty conference
KR20170026268A (en) Method for displaying local time of friend and apparatus enabling the method
KR20210044618A (en) Method for transmitting/receiving emoticon performed by user device or server
WO2020223917A1 (en) Method and apparatus for implementing secure multi-party computation, and computer device and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant