WO2016190657A1 - 단말 및 단말의 동작 방법 - Google Patents

단말 및 단말의 동작 방법 Download PDF

Info

Publication number
WO2016190657A1
WO2016190657A1 PCT/KR2016/005523 KR2016005523W WO2016190657A1 WO 2016190657 A1 WO2016190657 A1 WO 2016190657A1 KR 2016005523 W KR2016005523 W KR 2016005523W WO 2016190657 A1 WO2016190657 A1 WO 2016190657A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
data
server
chat room
event
Prior art date
Application number
PCT/KR2016/005523
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020160061170A external-priority patent/KR101840752B1/ko
Application filed by 김태정 filed Critical 김태정
Publication of WO2016190657A1 publication Critical patent/WO2016190657A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/08Upper layer protocols
    • H04W80/10Upper layer protocols adapted for application session management, e.g. SIP [Session Initiation Protocol]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/047Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
    • H04W12/0471Key exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements

Definitions

  • the following embodiments relate to a terminal and a method of operating the terminal.
  • Such messaging platforms are typically server-client, requiring a separate security policy for the security of messages containing sensitive content.
  • the message creator cannot modify, delete, or retrieve the message.
  • Korean Patent Publication No. 10-2014-0098544 name of the invention: a method and a device for activating a security function for a chat area.
  • the Korean Laid-Open Patent Publication discloses a chat area on a display, a display unit displaying chat text of a plurality of users in a displayed chat area, a security request signal for requesting to activate a security function through a user interface, and receiving the user interface.
  • a device includes a signal input unit configured to receive a selection signal for a non-secure area within the displayed chat area, and a security function controller for displaying the non-secure area differently from the secure area.
  • a method of operating a terminal includes determining a counterpart terminal for peer-to-peer communication based on a user's selection input to a friend list; Setting authority information of a counterpart terminal for a chat room corresponding to the P2P communication; And defining an attribute of data to be transmitted to the counterpart terminal based on the authority information.
  • the authority information may include information on whether the counterpart terminal can perform an event generated in association with the data.
  • the event may include at least one of a download, upload, transfer, copy, and edit event of the data.
  • the method may further include establishing a P2P communication session with the counterpart terminal.
  • the establishing of a peer-to-peer communication session with the counterpart terminal may include: transmitting P2P communication request data for peer to peer (P2P) communication with the counterpart terminal to a server; Receiving a network address and an intermediate key of the counterpart terminal from the server; Accessing the server using the intermediate key; And establishing a P2P communication session with the counterpart terminal based on the network address when the server is connected to the server, wherein the server transmits the communication request data to the counterpart terminal.
  • P2P peer to peer
  • the intermediate key can be generated.
  • the method may further include transmitting the data to the server, and the server may assign a data identifier to the data.
  • the method may further include transmitting the modification event to a server, and the server may transmit the modification event to the counterpart terminal.
  • an operating method of a terminal includes: participating in a chat room corresponding to peer-to-peer communication with a counterpart terminal; Checking an attribute of the data when an event for data transmitted from the counterpart terminal occurs through the chat room; And outputting feedback based on the attribute when the event does not correspond to an attribute of data, wherein the attribute is defined based on authority information of the terminal for the chat room.
  • the authority information may include information on whether the terminal can perform the event.
  • the event may include at least one of a download, upload, transfer, copy, and edit event of the data.
  • the method may further include establishing a P2P communication session with the counterpart terminal.
  • the establishing of the P2P communication session with the counterpart terminal may include receiving P2P communication request data of the counterpart terminal from a server and accessing the server; And receiving the media key generated based on the connection from the server, and the counterpart terminal receives the network address and the media key of the terminal from the server, and uses the media key.
  • the server may establish a communication session with the terminal based on the network address.
  • the terminal determines a counterpart terminal for peer-to-peer communication based on a user's selection input to a friend list, and the counterpart terminal's authority for a chat room corresponding to peer-to-peer communication.
  • a processor configured to set information and define attributes of data to be transmitted to the counterpart terminal based on the authority information; And a communication interface for communicating with the counterpart terminal.
  • the terminal determines whether to participate in a chat room corresponding to peer-to-peer communication with a counterpart terminal, and when an event for data transmitted by the counterpart terminal occurs through the chat room, A processor that checks an attribute of data and outputs feedback based on the attribute when the event does not correspond to an attribute of data; And a communication interface for communicating with the terminal, wherein the attribute is defined based on authority information of the terminal for the chat room.
  • Embodiments may provide a secure messaging service platform.
  • embodiments may allow a creator to modify, delete, or retrieve a message or content even if another user receives a message or content (eg, a picture, a video, a document file, etc.).
  • embodiments may set rights for a message, thereby preventing recipients from distributing the message without permission.
  • embodiments may set rights for content (eg, photos, videos) transmitted via a messaging platform, thereby preventing recipients from distributing content without rights.
  • FIG. 1 is a flowchart illustrating a chat room creation according to an exemplary embodiment.
  • 2A to 2C are diagrams for describing data transmission and reception according to an embodiment.
  • 3A to 3B are diagrams for describing a case in which an event for data occurs according to an embodiment.
  • FIG. 4 is a flowchart illustrating an example of changing authority information of data according to an exemplary embodiment.
  • FIG. 5 is a diagram for describing a group chat room, according to an exemplary embodiment.
  • FIG. 6 is a flowchart illustrating a process of establishing a P2P communication session, according to an embodiment.
  • FIG. 7 is a flowchart illustrating an example of a method of operating a terminal, according to an exemplary embodiment.
  • FIG. 8 is a flowchart illustrating another example of a method of operating a terminal, according to an exemplary embodiment.
  • FIG. 9 is a block diagram illustrating an example of a terminal according to an embodiment.
  • FIG. 10 is a block diagram illustrating another example of a terminal according to an embodiment.
  • FIG. 11 is a block diagram illustrating an example of a server according to an exemplary embodiment.
  • FIG. 12 is a diagram for explaining an example of a secure call dongle according to one embodiment.
  • FIG. 1 is a flowchart illustrating a chat room creation according to an exemplary embodiment.
  • the terminal 1 generates a chat room (110). For example, the terminal 1 may determine the counterpart terminal based on the user's selection input for the friend list. Assume that the terminal 2 is a counterpart terminal. The terminal 1 may open or create a chat room corresponding to peer-to-peer communication.
  • the server may create a chat room. For example, when a chat room establishment event occurs in terminal 1, terminal 1 may transmit a chat room establishment event to a server. The server may generate a chat room based on the chat room open event.
  • the location of the chat room may vary.
  • the chat room may be located in the terminal 1.
  • the chat room may be located on a server.
  • the location of the chat room is illustrative only and is not limited to the above.
  • Terminal 1 may transmit the allocation request data for the assignment of the chat room identifier to the server (120).
  • the server receives the allocation request data from the terminal 1, the server allocates a chat room identifier to the chat room (130).
  • the server transmits an invitation message to the terminal 2 (140).
  • the invitation message may include, for example, a chat room identifier.
  • Terminal 2 may receive the invitation message from the server, and may participate in the chat room (150).
  • a P2P communication session may be established between the terminal 1 and the terminal 2, and the terminal 1 may transmit data such as a message, a photo, a video, etc. to the terminal 2 through the P2P communication session. Similarly, the terminal 2 may transmit data such as a message to the terminal 1 through a P2P communication session.
  • the chat room creation of the terminal 1 and the chat room participation of the terminal 2 may correspond to a process of establishing a P2P communication session. The process of establishing a P2P communication session will be described later with reference to FIG. 6.
  • the terminal 1 may set authority information of the terminal 2 with respect to data in the chat room.
  • the terminal 1 may set the authority information of the terminal 2 before the terminal 2 joins the chat room.
  • the terminal 1 may set the authority information of the terminal 2 after the terminal 2 joins the chat room.
  • the authority information represents information on whether the terminal 2 can perform or process an event for data. Events for data represent, for example, copying, downloading, editing, and transmitting the data.
  • the terminal 1 may set the authority information such that the terminal 2 cannot download a picture or a video in the chat room.
  • the terminal 1 may set the authority information such that the terminal 2 downloads the data in the chat room but cannot transmit the data to the other terminal.
  • the terminal 1 may set the authority information such that the terminal 2 cannot transmit a message through the chat room. In this case, the user of terminal 2 can read the message in the chat room and cannot write to it.
  • the terminal 1 defines attributes of the data based on the authority information. As will be described later, the terminal 2 may check its authority information on the data through the attributes of the data.
  • 2A to 2B are flowcharts illustrating data transmission and reception according to an embodiment.
  • the terminal 1 transmits data 1 to the server (210).
  • the data 1 may be any one or a combination of address information for accessing a message, a photo, a video, a document file, financial information, and a multimedia file.
  • the server may assign an identifier 1 to data 1 (220).
  • the server may generate and assign identifier 1 corresponding to the chat room identifier. For example, let's say the chat room identifier is 0x001.
  • the server may generate 0x001-0001 as the identifier 1 and allocate 0x001-0001 to the message 1.
  • the server may transmit data 1 to the terminal 2 (230).
  • the server may transmit the chat room identifier and the identifier 1 together with the data 1 to the terminal.
  • Terminal 2 may transmit data 2 to the server (240).
  • the server may assign an identifier 2 to data 2 (250). For example, when the server receives the message 2 from the terminal 2, 0x001-0002 may be generated as the identifier 2, and 0x001-0002 may be assigned to the message 2.
  • the server may transmit data 2 to the terminal 1 (260).
  • the server may transmit the chat room identifier and the identifier 2 together with the data 2 to the terminal.
  • the server may manage the identifier assigned to the data without storing the data received from the terminal 1 and / or terminal 2.
  • UE 1 may transmit data 1 to UE 2 via a P2P communication session (270). Unlike FIG. 2A, terminal 1 transmits data 1 directly to terminal 2. In this case, the terminal 1 may assign the identifier 1 to the data 1 and transmit the identifier 1 to the terminal 2 together with the data 1.
  • the terminal 2 may transmit an acknowledgment indicating that the data 1 has been received to the terminal 1.
  • Terminal 2 may transmit data 2 to terminal 1 through a P2P communication session (280). Unlike FIG. 2A, terminal 2 transmits data 2 directly to terminal 1. In this case, the terminal 2 may allocate the identifier 2 to the data 2 and transmit the identifier 2 together with the data 2 to the terminal 1.
  • the terminal 1 may transmit an acknowledgment indicating that the data 2 has been received to the terminal 2.
  • the communication application may be stored in a memory of the terminal and executed by a processor. Operations of each of terminal 1 and terminal 2 described with reference to FIGS. 1 and 2B may be based on operations of a communication application stored in each of terminal 1 and terminal 2.
  • the terminal of "Paul” receives the message 290, the travel let go from the terminal of "Tadd”, and exposes the contents of the message on the display.
  • a terminal of "Tadd” may transmit a message 290 to a server, and the server may assign an identifier to the message 290, and may identify an identifier of the message 290 and the message 290. It can transmit to the terminal of "Paul".
  • the terminal of "Tadd” may transmit a message 290 to the terminal of "Paul” through a P2P communication session.
  • An identifier may be assigned to each of the plurality of messages 291 to 293 exchanged between the terminal of "Paul” and the terminal of "Tadd".
  • a modification event for modifying data at the terminal of "Tadd” may occur.
  • a modification event for modifying the content of the message 293 may occur at the terminal of "Tadd”.
  • the terminal of "Tadd” may transmit the modification event to the server, and the server may transmit the modification event to the terminal of "Paul".
  • the terminal of "Tadd” may transmit a modification event including the modification of the message 293 and the identifier of the message 293 to the server.
  • the server may transmit the modifications of the message 293 and the identifier of the message 293 to the terminal of "Paul”. Modifications of the message 293 may be exposed on the display of the terminal of "Paul”. If the modification event is an event for deleting the message 293, the message 293 is visually disappeared on the display of the terminal of "Paul”.
  • the terminal of "Paul” may modify the contents of the message 291 or the message 292 transmitted by it.
  • the modification of the message 291 or the modification of the message 292 may be exposed on the display of the terminal of "Tadd".
  • the data transmitted and received via the chat room may be financial information.
  • the terminal of "Tadd” may transmit financial information to the terminal of "Paul".
  • Financial information may include information intended to remit a certain amount of money to "Paul”, information that may be linked to the actual account of the sender / recipient, and their encrypted information.
  • Financial information may be delivered as an attachment to the message.
  • the message may also include address information for accessing financial information.
  • the data transmitted and received through the chat room may be address information for accessing the multimedia file.
  • the multimedia file may further include information that may be linked with a system for managing copyright. For example, suppose “Tadd” has legally acquired a multimedia file and has the right to lend it to three different people for a period of time.
  • the terminal of "Tadd” may set the authority information of "Paul” for the corresponding multimedia file. In other words, “Tadd” can prevent “Paul” from distributing the multimedia file without permission.
  • the terminal of "Tadd” may transmit the corresponding multimedia file to the terminal of "Paul” through the chat room.
  • a terminal of "Paul” attempts to transmit a corresponding multimedia file to another terminal, the terminal cannot transmit the corresponding multimedia file to another terminal by the attribute of the corresponding multimedia file.
  • 3A to 3B are diagrams for describing a case in which an event for data occurs according to an embodiment.
  • the terminal 1 may upload data to a chat room (310).
  • the data may be static image data such as a picture, dynamic image data such as a video, or a document file.
  • a message indicating that data has been uploaded may be output on the display of the terminal 2.
  • An event for data may occur at terminal 2 (320).
  • the terminal 2 may attempt to download the data or open the data.
  • the terminal 2 may determine whether the event corresponds to the attribute of the data (330). If the event corresponds to the attribute of the data, the terminal 2 may perform the event (340). That is, when the terminal 2 has the authority to perform an event for data, it may perform the event. For example, if terminal 2 has the right to download or open data, terminal 2 may download the data or open the data. If the event does not correspond to the attribute of the data, the terminal 2 may output a feedback indicating that the event for the data cannot be performed (350). For example, when the terminal 2 does not have a download right for the data, the terminal 2 may output at least one of visual, auditory, and tactile feedback indicating that the data cannot be downloaded.
  • the terminal of "Paul” may receive a message 360 that the contract is sent from the terminal of "Tadd”, and may expose the contents of the message 360 to the display.
  • the content of the message 361 indicating that the contract data has been uploaded to the chat room may be exposed on the display of the terminal of "Paul”.
  • the terminal of "Paul” may download or open a contract. That is, an event for contract data may occur at the terminal of "Paul". In this case, the terminal of "Paul” may check the property of the contract data and determine whether the event corresponds to the property of the contract data.
  • the terminal of "Tadd” may set the authority information of the terminal of "Paul” for the contract data, and may define the attributes of the contract data based on the authority information.
  • the terminal of "Tadd” may set the authority information so that the terminal of "Paul” cannot download or open the contract data, and may define the attribute of the contract data based on the authority information. As a result, an event for contract data in the terminal of "Paul” may not correspond to the attributes of the contract data.
  • the terminal of "Paul" may output a feedback indicating that the contract data can not be downloaded or opened.
  • a deletion event for deleting content may occur in the terminal of “Tadd”.
  • "Tadd” can delete a contract uploaded to a chat room.
  • the terminal of "Tadd” may transmit the deletion event to the server, and the server may transmit the deletion event to the terminal of "Paul". Accordingly, the message 361 may visually disappear on the display of the terminal of "Paul”.
  • the contract stored in the terminal of "Paul” may be deleted.
  • a menu for a conference call may be visually exposed.
  • the conference call may be performed for a terminal participating in the chat room.
  • the terminal of "Paul” and the terminal of "Tadd” may perform the conference call.
  • the terminal of "Paul” and the terminal of "Tadd” may perform a conference call through P2P communication.
  • the terminal of "Paul” may check whether the transmission event corresponds to the attribute of the contract data. .
  • the terminal of "Tadd” sets the authority information of the terminal of "Paul” so that the terminal of "Paul” cannot transmit or upload the contract data
  • the terminal of "Paul” cannot transmit the contract data to other terminals.
  • the terminal of "Paul” may request the terminal of "Tadd” to change the authority information.
  • the request for changing the authority information will be described with reference to FIG. 4.
  • the chat room may end.
  • the chat room may be terminated.
  • the data transmitted and received through the chat room may be deleted.
  • a message or content transmitted and received through a chat room may be deleted.
  • a message may be output asking whether to store data transmitted and received through the chat room.
  • the data transmitted and received through the chat room may be stored in a memory of the terminal or a secure call dongle connected to the terminal. The secure call dongle will be described later with reference to FIG. 12.
  • FIG. 4 is a flowchart illustrating an example of changing authority information of data according to an exemplary embodiment.
  • An event for data occurs in terminal 2 (410). For example, an event for transmission or upload of data stored in the terminal 2 may occur.
  • the terminal 2 can check whether the event corresponds to the attribute of the data. If the event does not correspond to the attribute of the data, the terminal 2 may output the feedback. In addition, if the event does not correspond to the attribute of the data, the terminal 2 may transmit the change request data for the change of the authority information for the data to the terminal 1 (420).
  • the terminal 1 may output a message indicating that the change request data has been received. Based on the user's selection input of the terminal 1 with respect to the message, the terminal 1 may change the authority information of the terminal 2 with respect to the data (430). When the authority information is changed, the terminal 1 may transmit an acknowledgment 440 to the terminal 2.
  • the acknowledgment may include attribute redefinition information for redefining attributes of data related to the request for change of authority information. However, this is not limitative.
  • the terminal 2 may perform an event for the data (450).
  • the terminal 2 may transmit or upload data related to the change request of the authority information to another terminal.
  • the terminal 2 may redefine the attribute of data related to the request for changing the authority information based on the attribute redefinition information.
  • FIG. 5 is a diagram for describing a group chat room, according to an exemplary embodiment.
  • FIG. 5 a virtual chat room 510 and a plurality of terminals 520 to 540 are shown.
  • the terminal 520 is the establisher of the group chat room.
  • the terminal 520 may determine the terminal 530, the terminal 540, and the terminal 550 to invite to the group chat room based on the user's selection input to the friend list.
  • the virtual chat room 510 may be opened or created.
  • the virtual chat room 510 may be generated by the terminal 520 that is the establisher.
  • the virtual chat room 510 may be created by a server. More specifically, when a group chat room establishment event occurs in the terminal 520, the terminal 520 may transmit a group chat room establishment event to a server, and the server may generate a virtual chat room.
  • the virtual chat room 510 may be located in various ways depending on the implementation. For example, it may be located in the terminal 520 having established a group chat room. As another example, the virtual chat room 510 may be located in the terminal that last logged out. As another example, the virtual chat room 510 may be located in a cloud temporarily assigned by the server. As another example, the virtual chat room 510 may be located at two or more locations for high availability (HA) implementation.
  • HA high availability
  • the server may assign a chat room identifier to the virtual chat room 510.
  • the server may transmit an invitation message including the chat room identifier to the terminal 530, the terminal 540, and the terminal 550.
  • the terminal 530, the terminal 540, and the terminal 550 may participate in a group chat room. Accordingly, each of the plurality of terminals 520 to 550 may be connected 1: 1 with the virtual chat room 510 to enable a group chat room using P2P communication.
  • a group chat room in which the plurality of terminals 520 to 550 may participate may be possible.
  • the terminal 520, the terminal 530, the terminal 540, and the terminal 550 is friends with each other, the terminal 520, the terminal 530, the terminal 540, and the terminal ( It may be possible for a group chat room in which 550 participates.
  • the server may assign an identifier to the data transmitted and received via the group chat room. For example, the server may assign identifiers to messages and / or content that is sent and received via a group chat room.
  • a menu for a conference call may be visually exposed on the display of the terminal 520.
  • a menu for a conference call may be exposed on the display of another terminal.
  • the conference call may be performed for the terminal participating in the chat room. For example, when a user of the terminal 530 selects a menu for a conference call, the plurality of terminals 520 to 540 may perform a conference call.
  • the terminal 520 may set authority information of each of the terminal 530, the terminal 540, and the terminal 550 for the group chat room.
  • the terminal 520 is a terminal (520), the terminal 530, the terminal 530, the terminal 540, and the terminal 550, so that each of the terminal 530, terminal 540, and terminal 550 each can not download or read ( 530, the terminal 540, and the terminal 550 may each set authority information.
  • the terminal 520 may receive change request data of each of the terminal 530, the terminal 540, and the terminal 550. When the terminal 520 receives the change request data from the terminal 530, the terminal 540, and the terminal 550, authority information of at least one of the terminal 530, the terminal 540, and the terminal 550.
  • the terminal 520 may change the authority information of some of the terminals transmitting the change request data, and may not change the remaining authority information. Alternatively, the terminal 520 may change the authority information of all the terminals that have transmitted the change request data. The terminal 520 may transmit an acknowledgment for the change request data to at least one of the terminal 530, the terminal 540, and the terminal 550. The terminal whose authority information is changed may download data uploaded to the group chat room.
  • FIG. 6 is a flowchart illustrating a process of establishing a P2P communication session, according to an embodiment.
  • the management unit may establish a communication session (eg, a UDP (User Datagram Protocol) session) with each of the terminal 1 and the terminal 2.
  • a communication session eg, a UDP (User Datagram Protocol) session
  • UDP User Datagram Protocol
  • the terminal 1 transmits P2P communication request data to a server (610).
  • the P2P communication request data transmitted from the terminal 1 to the management unit may be included in or correspond to the chat room identifier allocation request data described with reference to FIG. 1.
  • the management unit transmits P2P communication request data of the terminal 1 to the terminal 2 (611).
  • the P2P communication request data transmitted to the terminal 2 by the manager may be included in or correspond to the invitation message described with reference to FIG. 1.
  • the terminal 2 may access the intermediate unit (612).
  • the management unit and the intermediary unit may be logically divided units in the server described above.
  • the management unit is one of a plurality of logically separated units within the server
  • the intermediate unit is a device physically separated from the server, it may be independent on the network.
  • the intermediary can generate an intermediary key with an arbitrary value.
  • the intermediary may generate the intermediary key based on the unique information of the terminal 1 and / or terminal 2.
  • the unique information may include, for example, an identifier assigned to each of terminal 1 and terminal 2.
  • the intermediate unit transmits the intermediate key to the terminal 2 (614).
  • Terminal 2 transmits the intermediate key to the management unit (615).
  • the management unit transmits the network address and the media key of the terminal 2 to the terminal 1 (616).
  • the network address may include, for example, an IP (Internet Protocol) address.
  • Terminal 1 accesses the intermediary unit (617).
  • the terminal 1 may access the intermediary by transmitting the intermediary key to the intermediary.
  • the mediator When receiving the media key from the terminal 1, the mediator secures the media path (128).
  • the intermediate path is a path for preparing for disconnection of the P2P communication path between the terminal 1 and the terminal 2.
  • Terminals 1 and 2 may participate in each path, and other terminals may not participate.
  • the terminal 1 may transmit speed test data to the terminal 2 (619). Since the terminal 1 knows the network address of the terminal 2, the speed test data may be transmitted to the network address of the terminal 2.
  • the terminal 2 may transmit a test response to the speed test data to the terminal 1 (620).
  • the terminal 1 may check the response time of the terminal 2. For this reason, the terminal 1 can check the P2P communication speed between the terminal 1 and the terminal 2.
  • Terminal 1 may transmit the speed test data to the terminal 2 (621).
  • Terminal 1 may transmit a test response to the speed test data to the terminal 2 (622).
  • the terminal 2 may check the response time of the terminal 1.
  • the speed test of the terminal 2 may be performed simultaneously with the speed test of the terminal 1.
  • the speed test of the terminal 1 and / or terminal 2 may be repeated a predetermined number of times. For example, the speed test may be repeated two or more times.
  • the terminal 1 receives the test response from the terminal 2, the terminal 1 may transmit additional speed test data to the terminal 2.
  • the terminal 2 may transmit a test response to the additional speed test request to the terminal 1.
  • the terminal 1 may check the average response time of the terminal 2.
  • the terminal 2 can check the average response time of the terminal 1 based on the repeated speed test.
  • a P2P communication session may be established between the terminal 1 and the terminal 2, and the terminals 1 and 2 may exchange data through a chat room in which the terminals 1 and 2 participate.
  • Data 1 may be a data fragment of all data.
  • terminal 1 may transmit data 1 to the terminal 2 through the P2P communication path A-B.
  • the terminal 2 may transmit an acknowledgment for the data 1 to the terminal 1.
  • the terminal 1 may transmit the data 2 to the terminal 2.
  • Data 2 may be a data fragment of the entire data.
  • UE 1 may transmit data 2 to network address B.
  • FIG. it is assumed that the network address of the terminal 2 is being changed due to the movement of the terminal 2.
  • the terminal 1 may or may not receive an acknowledgment for the data 2 from the terminal 2 later than the response time (or average response time).
  • the terminal 1 may transmit data 2 to the intermediary. Since the intermediate path is secured, the terminal 1 may transmit data 2 to the intermediate unit.
  • the terminal 1 may transmit the data 2 to the intermediary.
  • the intermediate unit stores the data 2 in the memory when the data 2 is received from the terminal 1.
  • the memory may include, for example, a memory corresponding to an intermediate path or a dedicated room.
  • the terminal 2 may inform the management that the network address has been changed.
  • the terminal 2 may inform the management unit that the network address is changed from B to B'.
  • the management unit may inform the terminal 1 that the network address of the terminal 2 has changed.
  • the management unit may transmit information indicating that the network address of the terminal 2 is B 'to the terminal 1.
  • the terminal 2 having the network address mapped to B ′ may attempt to access the intermediary by transmitting the intermediary key to the intermediary.
  • the intermediary may allow the connection of the terminal 2 through the maggie key.
  • the intermediary unit may transmit data 2 to the terminal 2.
  • the terminal 2 may transmit an acknowledgment for the data 2 to the terminal 1.
  • the terminal 1 When the terminal 1 receives the acknowledgment for the data 2, the terminal 1 may transmit the data 3 to the terminal 2.
  • the P2P communication path is changed from A-B to A-B '.
  • the terminal 2 may transmit an acknowledgment for the data 3 to the terminal 1.
  • an intermediate path corresponding to the P2P communication path may be secured, and even if the P2P communication path is disconnected, the terminal 1 and the terminal 2 may use the intermediate path. Accordingly, network throughput can be improved.
  • FIG. 7 is a flowchart illustrating an example of a method of operating a terminal, according to an exemplary embodiment.
  • the terminal determines a counterpart terminal for peer to peer (P2P) communication based on a user's selection input to a friend list (710).
  • P2P peer to peer
  • the terminal sets the authority information of the counterpart terminal for the chat room corresponding to the P2P communication (720).
  • the terminal defines an attribute of data to be transmitted to the counterpart terminal based on the authority information (730).
  • the attribute of the data may determine whether an event for the data is to be performed by the counterpart terminal. For example, the attribute of the data may determine whether the opposite terminal can download, transmit, or edit the data.
  • FIG. 8 is a flowchart illustrating another example of a method of operating a terminal, according to an exemplary embodiment.
  • the terminal participates in a chat room corresponding to P2P communication with the counterpart terminal (810). Accordingly, the terminal and the counterpart terminal may participate in the chat room, and a P2P communication session may be established between the terminal and the counterpart terminal.
  • the terminal checks the attribute of the data (820).
  • an event on the data may occur.
  • the user of the terminal may apply a touch gesture on the picture to download the picture displayed on the display. In this case, a download event may occur.
  • the terminal If the event does not correspond to the attribute of the data, the terminal outputs feedback based on the attribute (830). If the event does not correspond to the attribute of the data, the terminal may output a feedback indicating that the event cannot be performed.
  • FIG. 9 is a block diagram illustrating an example of a terminal according to an embodiment.
  • a terminal 900 includes a processor 910 and a communication interface 920.
  • the processor 910 determines a counterpart terminal for P2P communication based on a user's selection input to a friend list.
  • the processor 910 sets authority information of the counterpart terminal for the chat room corresponding to the P2P communication.
  • the processor 920 defines attributes of data to be transmitted to the counterpart terminal based on the authority information.
  • the communication interface 920 communicates with a counterpart terminal.
  • the communication interface 920 may establish a P2P communication session with a communication interface of the counterpart terminal and perform P2P communication with the counterpart terminal.
  • the communication interface 920 may communicate with a server.
  • the terminal 900 may further include a memory for storing a communication application.
  • the communication application can be executed by the processor 910. Accordingly, the communication application may determine a counterpart terminal for P2P communication based on a user's selection input to a friend list, set the right terminal's authority information for the chat room corresponding to the P2P communication, and based on the rights information.
  • the attribute of data to be transmitted to the counterpart terminal can be defined.
  • FIG. 10 is a block diagram illustrating another example of a terminal according to an embodiment.
  • the terminal 1000 includes a processor 1010 and a communication interface 1020.
  • the processor 1010 determines whether to participate in a chat room corresponding to P2P communication with the counterpart terminal.
  • the processor 1010 checks the attribute of the data when an event for data transmitted from the opposite terminal through the chat room occurs.
  • the processor 1010 If the event does not correspond to an attribute of the data, the processor 1010 outputs feedback based on the attribute.
  • the communication interface 1020 communicates with a counterpart terminal.
  • the terminal 1000 may further include a memory for storing a communication application.
  • the communication application may be executed by the processor 1010. Accordingly, the communication application may determine whether to participate in a chat room corresponding to P2P communication with the counterpart terminal, and when an event occurs for data transmitted by the counterpart terminal through the chat room, the communication property may be checked. If the event does not correspond to an attribute of the data, the feedback may be output based on the attribute.
  • FIG. 11 is a block diagram illustrating an example of a server according to an exemplary embodiment.
  • the server 1100 includes a communication interface 1110 and a controller 1120.
  • the communication interface 1110 may communicate with at least one terminal.
  • the communication interface 1110 may receive allocation request data, P2P communication request data, etc. for allocating a chat room identifier from at least one terminal.
  • the controller 1120 may assign a chat room identifier to the chat room. In addition, when receiving the data from the terminal, the controller 1120 may assign a data identifier to the data. Here, the controller 1120 may not store data.
  • FIG. 12 is a diagram for explaining an example of a secure call dongle according to one embodiment.
  • FIG. 12 an example of a terminal 1200 and a secure call dongle 1210 is shown.
  • the secure call dongle 1210 may be detachable from the input / output interface of the terminal 1200.
  • Input and output interfaces include a micro USB port and an Apple® Lightning port.
  • the secure call dongle 1200 may be designed to be compatible with various input / output interfaces developed in the future.
  • the secure call dongle 1210 and the terminal 1200 may be connected through short-range wireless communication without physical contact.
  • Examples of short range wireless communication include Bluetooth, NFC, or Wi-Fi.
  • Near field communication is not limited to the above-described example.
  • the secure call dongle 1210 may include a certain amount of memory.
  • the memory may store a communication application, a history of calls made through the communication application, a messaging history, a message content, an attached file, and the like.
  • the secure call dongle 1210 may include a battery of a predetermined capacity. When the battery of the terminal 1200 is low, the secure call dongle 1210 may supply power to the terminal 1200 such that the call can be made for a predetermined time or more.
  • the communication application When the secure call dongle 1210 is connected to the terminal 1200, the communication application may be visually displayed on the display of the terminal 1200. As another example, when the secure call dongle 1210 is connected to the terminal 1200, the communication application may be executed.
  • a secure call dongle 1210 including a memory in which an identifier corresponding to a communication application is stored may be distributed.
  • an identifier required for the secure call may be allocated to the communication application.
  • the secure call dongle 1210 may store messages and / or contents transmitted and received through a chat room. Attributes are defined in data such as messages and / or content, so the data may or may not be moved out of the secure call dongle 1210.
  • the terminal 1200 may transmit a file stored in the secure call dongle 120 to the outside only when the permission of movement of the file is obtained from the original owner (or security manager) of the file.
  • the fact that the file is stored in the secure call dongle 120 may mean that an assigned identifier (here, the identifier is assigned to the file) is recorded in the server, and the terminal transmits or moves the file to the outside. Message to be sent to the terminal of the original owner (or security manager). If the original owner (or security administrator) approves the transfer or movement of the file, the properties of the file may be overridden or modified. Accordingly, the terminal may transmit or move the file to the outside of the secure call dongle 120.
  • an assigned identifier here, the identifier is assigned to the file
  • the apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components.
  • the devices and components described in the embodiments are, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gate arrays (FPGAs).
  • ALUs arithmetic logic units
  • FPGAs field programmable gate arrays
  • PLU programmable logic unit
  • 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 the execution of the software.
  • processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include.
  • the processing device may include a plurality of processors or one processor and one controller.
  • other processing configurations are possible, such as parallel processors.
  • the software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device.
  • Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted.
  • the software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner.
  • Software and data may be stored on one or more computer readable recording media.
  • the method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • the program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Abstract

단말의 동작 방법이 개시된다. 일 실시예는 친구 리스트에 대한 사용자의 선택 입력을 기초로, P2P(Peer to Peer) 통신할 상대 단말을 결정하고, 상기 P2P 통신에 대응하는 대화방에 대한 상대 단말의 권한 정보를 설정하며, 상기 권한 정보를 기초로, 상기 상대 단말로 전송할 데이터의 속성을 정의하는 단계를 포함한다.

Description

단말 및 단말의 동작 방법
아래 실시예들은 단말 및 단말의 동작 방법에 관한 것이다.
최근에, 인터넷 기반의 메시징 플랫폼이 널리 이용되고 있다. 이러한 메시징 플랫폼은 통상 서버-클라이언트 방식으로, 민감한 내용을 포함하는 메시지의 보안을 위한 별도의 보안 정책이 필요하다. 또한, 이러한 메시징 플랫폼에 따르면, 다른 사용자가 해당 메시지를 수신하여 단말에 저장된 이상, 해당 메시지 작성자라고 해도 해당 메시지를 수정, 삭제, 또는 회수할 수 없다.
관련 선행기술로, 한국공개특허공보 제10-2014-0098544호(발명의 명칭: 채팅 영역에 대한 보안 기능을 활성화하는 방법 및 디바이스)가 있다. 상기 한국공개특허공보에는 디스플레이에 채팅 영역을 표시하고, 표시된 채팅 영역에 복수 사용자의 채팅 텍스트를 표시하는 표시부, 사용자 인터페이스를 통해 보안 기능을 활성화할 것을 요청하는 보안 요청 신호를 입력받고, 상기 사용자 인터페이스를 통해 상기 표시된 채팅 영역 내의 비보안 영역에 대한 선택 신호를 입력받는 신호 입력부, 및 상기 표시된 채팅 영역 중 상기 비보안 영역을 보안 영역과 다르게 표시하는 보안 기능 제어부를 포함하는 디바이스가 개시된다.
일 측에 따른 단말의 동작 방법은 친구 리스트에 대한 사용자의 선택 입력을 기초로, P2P(Peer to Peer) 통신할 상대 단말을 결정하는 단계; 상기 P2P 통신에 대응하는 대화방에 대한 상대 단말의 권한 정보를 설정하는 단계; 및 상기 권한 정보를 기초로, 상기 상대 단말로 전송할 데이터의 속성을 정의하는 단계를 포함한다.
상기 권한 정보는, 상기 상대 단말이 상기 데이터와 관련되어 발생한 이벤트를 수행할 수 있는지 여부에 대한 정보를 포함할 수 있다.
상기 이벤트는, 상기 데이터의 다운로드, 업로드, 전송, 복사, 및 편집 이벤트 중 적어도 하나를 포함할 수 있다.
상기 상대 단말과 P2P 통신 세션을 설정하는 단계를 더 포함할 수 있다.
상기 상대 단말과 P2P 통신 세션을 설정하는 단계는, 상기 상대 단말과 P2P(Peer to Peer) 통신하기 위한 P2P 통신 요청 데이터를 서버로 전송하는 단계; 상기 서버로부터 상기 상대 단말의 네트워크 주소 및 매개키를 수신하는 단계; 상기 매개키를 이용하여 상기 서버에 접속하는 단계; 및 상기 서버에 접속한 경우, 상기 네트워크 주소를 기초로 상기 상대 단말과 P2P 통신 세션을 설정하는 단계를 포함할 수 있고, 상기 서버는, 상기 통신 요청 데이터를 상기 상대 단말로 전송하고, 상기 상대 단말이 상기 서버에 접속하는 경우, 상기 매개키를 생성할 수 있다.
상기 대화방을 생성하는 단계; 및 대화방 식별자의 할당을 위한 할당 요청 데이터를 서버로 전송하는 단계를 더 포함할 수 있고, 상기 서버는, 상기 대화방에 상기 대화방 식별자를 할당하고, 상기 대화방 식별자를 포함하는 초대 메시지를 상기 상대 단말로 전송할 수 있다.
상기 데이터를 상기 서버로 전송하는 단계를 더 포함할 수 있고, 상기 서버는, 상기 데이터에 데이터 식별자를 할당할 수 있다.
상기 권한 정보의 변경 요청을 위한 변경 요청 데이터를 상기 상대 단말로부터 수신하는 단계; 상기 변경 요청 데이터에 대응하는 메시지를 상기 단말의 디스플레이에 노출하는 단계; 상기 메시지에 대한 상기 사용자의 선택 입력을 기초로, 상기 권한 정보를 변경하는 단계; 및 상기 권한 정보의 변경을 나타내는 확인 응답을 상기 상대 단말로 전송하는 단계를 더 포함할 수 있다.
상기 데이터를 수정하기 위한 수정 이벤트가 발생하는 경우, 상기 수정 이벤트를 서버로 전송하는 단계를 더 포함할 수 있고, 상기 서버는, 상기 수정 이벤트를 상기 상대 단말로 전송할 수 있다.
상기 대화방을 통해 상기 상대 단말이 전송한 전송 데이터에 대한 이벤트가 발생하는 경우, 상기 전송 데이터의 속성을 확인하는 단계; 및 상기 이벤트가 상기 전송 데이터의 속성에 대응하지 않는 경우, 상기 전송 데이터의 속성을 기초로 피드백을 출력하는 단계를 더 포함할 수 있다.
다른 일 측에 따른 단말의 동작 방법은 상대 단말과의 P2P(Peer to Peer) 통신에 대응하는 대화방에 참여하는 단계; 상기 대화방을 통해 상기 상대 단말이 전송한 데이터에 대한 이벤트가 발생하는 경우, 상기 데이터의 속성을 확인하는 단계; 및 상기 이벤트가 데이터의 속성에 대응하지 않는 경우, 상기 속성을 기초로 피드백을 출력하는 단계를 포함하고, 상기 속성은, 상기 대화방에 대한 상기 단말의 권한 정보를 기초로 정의된다.
상기 권한 정보는, 상기 단말이 상기 이벤트를 수행할 수 있는지 여부에 대한 정보를 포함할 수 있다.
상기 이벤트는, 상기 데이터의 다운로드, 업로드, 전송, 복사, 및 편집 이벤트 중 적어도 하나를 포함할 수 있다.
상기 상대 단말과 P2P 통신 세션을 설정하는 단계를 더 포함할 수 있다.
상기 상대 단말과 P2P 통신 세션을 설정하는 단계는, 상기 상대 단말의 P2P 통신 요청 데이터를 서버로부터 수신하고, 상기 서버에 접속하는 단계; 상기 접속을 기초로 생성된 매개키를 상기 서버로부터 수신하는 단계를 포함할 수 있고, 상기 상대 단말은, 상기 서버로부터 상기 단말의 네트워크 주소 및 상기 매개키를 수신하고, 상기 매개키를 이용하여 상기 서버에 접속하며, 상기 상대 단말이 상기 서버에 접속한 경우, 상기 네트워크 주소를 기초로 상기 단말과 상기 통신 세션을 설정할 수 있다.
상기 권한 정보의 변경 요청을 위한 변경 요청 데이터를 상기 상대 단말로 전송하는 단계; 상기 권한 정보의 변경을 나타내는 확인 응답을 상기 상대 단말로부터 수신하는 단계; 및 변경된 권한 정보를 기초로 상기 이벤트를 수행하는 단계를 더 포함할 수 있다.
일 측에 따른 단말은 친구 리스트에 대한 사용자의 선택 입력을 기초로, P2P(Peer to Peer) 통신할 상대 단말을 결정하고, 상기 P2P(Peer to Peer) 통신에 대응하는 대화방에 대한 상대 단말의 권한 정보를 설정하며, 상기 권한 정보를 기초로 상기 상대 단말로 전송할 데이터의 속성을 정의하는 프로세서; 및 상기 상대 단말과 통신하는 통신 인터페이스를 포함한다.
다른 일 측에 따른 단말은 상대 단말과의 P2P(Peer to Peer) 통신에 대응하는 대화방에 참여할 것인지 여부를 결정하고, 상기 대화방을 통해 상기 상대 단말이 전송한 데이터에 대한 이벤트가 발생하는 경우, 상기 데이터의 속성을 확인하고, 상기 이벤트가 데이터의 속성에 대응하지 않는 경우, 상기 속성을 기초로 피드백을 출력하는 프로세서; 및 상기 단말과 통신하는 통신 인터페이스를 포함하고, 상기 속성은, 상기 대화방에 대한 상기 단말의 권한 정보를 기초로 정의된다.
실시예들은 보안 메시징 서비스 플랫폼을 제공할 수 있다. 또한, 실시예들은 다른 사용자가 메시지 또는 컨텐츠(예를 들어, 사진, 동영상, 문서파일 등)를 수신하여도 작성자는 메시지 또는 컨텐츠를 수정, 삭제, 또는 회수할 수 있다. 또한, 실시예들은 메시지에 대한 권한을 설정할 수 있어, 수신자가 메시지를 권한 없이 배포하는 것을 막을 수 있다. 또한, 실시예들은 메시징 플랫폼을 통해 전송되는 컨텐츠(예를 들어, 사진, 동영상)에 대한 권한을 설정할 수 있어, 수신자가 컨텐츠를 권한 없이 배포하는 것을 막을 수 있다.
도 1은 일 실시예에 따른 대화방 생성을 설명하기 위한 흐름도이다.
도 2a 내지 도 2c는 일 실시예에 따른 데이터 송수신을 설명하기 위한 도면이다.
도 3a 내지 도 3b는 일 실시예에 따른 데이터에 대한 이벤트가 발생한 경우를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 데이터에 대한 권한 정보를 변경하는 것을 설명하기 위한 흐름도이다.
도 5는 일 실시예에 따른 단체 대화방을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 P2P 통신 세션의 설정 프로세스를 설명하기 위한 흐름도이다.
도 7은 일 실시예에 따른 단말의 동작 방법의 일례를 설명하기 위한 순서도이다.
도 8은 일 실시예에 따른 단말의 동작 방법의 다른 일례를 설명하기 위한 순서도이다.
도 9는 일 실시예에 따른 단말의 일례를 설명하기 위한 블록도이다.
도 10은 일 실시예에 따른 단말의 다른 일례를 설명하기 위한 블록도이다.
도 11은 일 실시예에 따른 서버의 일례를 설명하기 위한 블록도이다.
도 12는 일 실시예에 따른 보안 통화 동글의 일례를 설명하기 위한 도면이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 대화방 생성을 설명하기 위한 흐름도이다.
도 1을 참조하면, 단말 1은 대화방을 생성한다(110). 예를 들어, 단말 1은 친구 리스트에 대한 사용자의 선택 입력을 기초로, 상대 단말을 결정할 수 있다. 단말 2가 상대 단말이라 하자. 단말 1은 P2P(Peer to Peer) 통신에 대응하는 대화방을 개설하거나 생성할 수 있다.
도 1에 도시된 예와 달리, 서버가 대화방을 생성할 수 있다. 예를 들어, 단말 1에서 대화방 개설 이벤트가 발생하는 경우, 단말 1은 대화방 개설 이벤트를 서버로 전송할 수 있다. 서버는 대화방 개설 이벤트를 기초로 대화방을 생성할 수 있다.
일 실시예에 있어서, 대화방의 위치는 다양할 수 있다. 예를 들어, 대화방은 단말 1에 위치할 수 있다. 또한, 대화방은 서버에 위치할 수 있다. 대화방의 위치는 예시적인 사항일 뿐, 전술한 사항으로 한정되지 않는다.
단말 1은 대화방 식별자의 할당을 위한 할당 요청 데이터를 서버로 전송할 수 있다(120). 서버는 할당 요청 데이터를 단말 1로부터 수신하는 경우, 대화방에 대화방 식별자를 할당한다(130).
서버는 초대 메시지를 단말 2로 전송한다(140). 초대 메시지는, 예를 들어, 대화방 식별자를 포함할 수 있다.
단말 2는 서버로부터 초대 메시지를 수신할 수 있고, 대화방에 참여할 수 있다(150).
단말 2가 대화방에 참여하는 경우, 단말 1과 단말 2 사이에 P2P 통신 세션이 설정될 수 있고, 단말 1은 P2P 통신 세션을 통해 메시지, 사진, 동영상 등의 데이터를 단말 2로 전송할 수 있다. 마찬가지로, 단말 2는 P2P 통신 세션을 통해 메시지 등의 데이터를 단말 1로 전송할 수 있다. 단말 1의 대화방 생성 및 단말 2의 대화방 참여는 P2P 통신 세션의 설정 프로세스와 대응할 수 있다. P2P 통신 세션의 설정 프로세스는 도 6을 통해 후술한다.
도 1에 도시되지 않았으나, 단말 1은 대화방 내의 데이터에 대한 단말 2의 권한 정보를 설정할 수 있다. 단말 1은 단말 2가 대화방에 참여하기 전에 단말 2의 권한 정보를 설정할 수 있다. 또한, 단말 1은 단말 2가 대화방에 참여한 후 단말 2의 권한 정보를 설정할 수 있다.
권한 정보는 단말 2가 데이터에 대한 이벤트를 수행 또는 처리할 수 있는지 여부에 대한 정보를 나타낸다. 데이터에 대한 이벤트는, 예를 들어, 데이터의 복사, 다운로드, 편집, 및 전송 등을 나타낸다. 일례로, 단말 1은 단말 2가 대화방 내의 사진 또는 동영상을 다운로드할 수 없도록 권한 정보를 설정할 수 있다. 또한, 단말 1은 단말 2가 대화방 내의 데이터를 다운로드 하되, 다른 단말로 전송할 수 없도록 권한 정보를 설정할 수 있다. 또한, 단말 1은 단말 2가 대화방을 통해 메시지를 전송할 수 없도록 권한 정보를 설정할 수 있다. 이 경우, 단말 2의 사용자는 대화방 내의 메시지를 읽을 수 있고, 쓸 수 없다.
단말 2의 권한 정보가 설정된 경우, 단말 1은 권한 정보를 기초로 데이터의 속성을 정의한다. 후술하겠지만, 단말 2는 데이터의 속성을 통해 데이터에 대한 자신의 권한 정보를 확인할 수 있다.
도 2a 내지 도 2b는 일 실시예에 따른 데이터 송수신을 설명하기 위한 흐름도이다.
도 2a를 참조하면, 단말 1은 데이터 1을 서버로 전송한다(210). 데이터 1은 메시지, 사진, 동영상, 문서 파일, 금융 정보, 멀티미디어 파일에 억세스할 수 있는 주소 정보 중 어느 하나 또는 이들의 조합일 수 있다.
서버는 데이터 1에 식별자 1을 할당할 수 있다(220). 일 실시예에 있어서, 서버는 대화방 식별자와 대응되는 식별자 1을 생성하고, 할당할 수 있다. 예를 들어, 대화방 식별자가 0x001라 하자. 서버는 단말 1로부터 메시지 1을 수신하는 경우, 0x001-0001을 식별자 1로 생성하고, 0x001-0001을 메시지 1에 할당할 수 있다.
서버는 데이터 1을 단말 2로 전송할 수 있다(230). 여기서, 서버는 대화방 식별자 및 식별자 1을 데이터 1과 함께 단말로 전송할 수 있다.
단말 2는 데이터 2를 서버로 전송할 수 있다(240).
서버는 데이터 2에 식별자 2를 할당할 수 있다(250). 예를 들어, 서버가 단말 2로부터 메시지 2를 수신하는 경우, 0x001-0002를 식별자 2로 생성하고, 0x001-0002를 메시지 2에 할당할 수 있다.
서버는 데이터 2를 단말 1로 전송할 수 있다(260). 여기서, 서버는 대화방 식별자 및 식별자 2를 데이터 2와 함께 단말로 전송할 수 있다.
일 실시예에 있어서, 서버는 단말 1 및/또는 단말 2로부터 수신한 데이터를 저장하지 않고, 데이터에 할당된 식별자를 관리할 수 있다.
도 2b를 참조하면, 단말 1은 P2P 통신 세션을 통해 데이터 1을 단말 2로 전송할 수 있다(270). 도 2a와 달리, 단말 1은 단말 2로 직접 데이터 1을 전송한다. 이 경우, 단말 1은 데이터 1에 식별자 1을 할당할 수 있고, 식별자 1을 데이터 1과 함께 단말 2로 전송할 수 있다.
도 2b에 도시되지 않았으나, 단말 2는 데이터 1을 수신했음을 나타내는 확인 응답을 단말 1로 전송할 수 있다.
단말 2는 P2P 통신 세션을 통해 데이터 2를 단말 1로 전송할 수 있다(280). 도 2a와 달리, 단말 2는 단말 1로 직접 데이터 2를 전송한다. 이 경우, 단말 2는 데이터 2에 식별자 2를 할당할 수 있고, 식별자 2를 데이터 2와 함께 단말 1로 전송할 수 있다.
도 2b에 도시되지 않았으나, 단말 1은 데이터 2를 수신했음을 나타내는 확인 응답을 단말 2로 전송할 수 있다.
도 2c를 참조하면, 통신 어플리케이션의 동작 화면의 일례가 도시된다.
통신 어플리케이션은 단말의 메모리에 저장되고, 프로세서에 의해 실행될 수 있다. 도 1 내지 도 2b에서 설명한 단말 1 및 단말 2 각각의 동작은 단말 1 및 단말 2 각각에 저장된 통신 어플리케이션의 동작에 기초한 것일 수 있다.
"Paul"은 "Tadd"와 통신 어플리케이션을 통해 메시지를 주고 받는다.
"Paul"의 단말은 "Tadd"의 단말로부터 여행 가자는 메시지(290)를 수신하고, 메시지의 내용을 디스플레이에 노출한다.
도 2a에서 설명한 것과 같이, "Tadd"의 단말은 메시지(290)를 서버로 전송할 수 있고, 서버는 메시지(290)에 식별자를 할당할 수 있으며, 메시지(290) 및 메시지(290)의 식별자를 "Paul"의 단말로 전송할 수 있다. 또는, 도 2b에서 설명한 것과 같이, "Tadd"의 단말은 메시지(290)를 P2P 통신 세션을 통해 "Paul"의 단말로 전송할 수 있다.
"Paul"의 단말과 "Tadd"의 단말이 주고받은 복수의 메시지(291 내지 293) 각각에 식별자가 할당될 수 있다.
"Tadd"의 단말에서 데이터를 수정하기 위한 수정 이벤트가 발생할 수 있다. 예를 들어, "Tadd"의 단말에서 메시지(293)의 내용을 수정하기 위한 수정 이벤트가 발생할 수 있다. "Tadd"의 단말은 수정 이벤트를 서버로 전송할 수 있고, 서버는 수정 이벤트를 "Paul"의 단말로 전송할 수 있다. 예를 들어, "Tadd"의 단말은 메시지(293)의 수정 내용 및 메시지(293)의 식별자를 포함하는 수정 이벤트를 서버로 전송할 수 있다. 서버는 메시지(293)의 수정 내용 및 메시지(293)의 식별자를 "Paul"의 단말로 전송할 수 있다. "Paul"의 단말의 디스플레이에는 메시지(293)의 수정 내용이 노출될 수 있다. 수정 이벤트가 메시지(293)를 삭제하기 위한 이벤트인 경우, "Paul"의 단말의 디스플레이에는 메시지(293)가 시각적으로 사라진다.
"Paul"의 단말은 자신이 전송한 메시지(291) 또는 메시지(292)의 내용을 수정할 수 있다. "Paul"의 단말이 메시지(291) 또는 메시지(292)를 수정한 경우, "Tadd"의 단말의 디스플레이에는 메시지(291)의 수정 내용 또는 메시지(292)의 수정 내용이 노출될 수 있다.
위에서 설명한 것이 같이, 대화방을 통해 송수신되는 데이터는 금융 정보 일 수 있다.
예를 들어, "Tadd"가 "Paul"에게 일정 금액을 보내는 경우, "Tadd"의 단말은 금융 정보를 "Paul"의 단말에게 전송할 수 있다. 금융 정보는 "Paul"에게 일정 금액을 송금하겠다는 취지의 정보, 보내는 자/받는 자의 실제 계좌와 링크될 수 있는 정보, 및 이들의 암호화 정보 등을 포함할 수 있다. 금융 정보는 메시지의 첨부 파일로 전달될 수도 있다. 또한, 메시지에 금융 정보에 억세스할 수 있는 주소 정보가 포함될 수도 있다.
또한, 대화방을 통해 송수신되는 데이터는 멀티미디어 파일에 억세스할 수 있는 주소 정보일 수 있다. 이 경우, 해당 멀티미디어 파일에는 저작권을 관리하는 시스템과 링크될 수 있는 정보가 추가로 포함될 수 있다. 일례로, "Tadd"가 멀티미디어 파일을 적법하게 취득했고, 3명의 서로 다른 사람에게 일정 기간 동안 대여하는 것이 가능한 권한을 가지고 있다고 하자. "Tadd"의 단말은 해당 멀티미디어 파일에 대한 "Paul"의 권한 정보를 설정할 수 있다. 다시 말해, "Tadd"는 "Paul"이 해당 멀티미디어 파일을 권한 없이 배포하는 것을 막을 수 있다. "Tadd"의 단말은 대화방을 통해 해당 멀티미디어 파일을 "Paul"의 단말에게 전송할 수 있다. "Paul"의 단말은 해당 멀티미디어 파일을 다른 단말에게 전송하려고 시도할 경우, 해당 멀티미디어 파일의 속성에 의해 해당 멀티미디어 파일을 다른 단말로 전송할 수 없다.
도 3a 내지 도 3b는 일 실시예에 따른 데이터에 대한 이벤트가 발생한 경우를 설명하기 위한 도면이다.
도 3a를 참조하면, 단말 1은 대화방에 데이터를 업로드할 수 있다(310). 위에서 설명한 것과 같이, 데이터는 사진 등의 정적 영상 데이터, 동영상 등의 동적 영상 데이터, 또는 문서 파일일 수 있다.
단말 2의 디스플레이에는 데이터가 업로드 되었다는 것을 나타내는 메시지가 출력될 수 있다.
데이터에 대한 이벤트가 단말 2에서 발생할 수 있다(320). 예를 들어, 단말 2는 데이터의 다운로드를 시도하거나 데이터의 열기(open)를 시도할 수 있다.
데이터에 대한 이벤트가 발생하는 경우, 단말 2는 이벤트가 데이터의 속성에 대응되는지 확인할 수 있다(330). 이벤트가 데이터의 속성에 대응하는 경우, 단말 2는 이벤트를 수행할 수 있다(340). 즉, 단말 2가 데이터에 대한 이벤트를 수행할 권한이 있는 경우, 이벤트를 수행할 수 있다. 예를 들어, 단말 2가 데이터를 다운로드하거나 열(open) 권한이 있는 경우, 단말 2는 데이터를 다운로드하거나 데이터를 열 수 있다(open). 이벤트가 데이터의 속성에 대응하지 않는 경우, 단말 2는 데이터에 대한 이벤트를 수행할 수 없음을 나타내는 피드백을 출력할 수 있다(350). 예를 들어, 단말 2가 데이터에 대한 다운로드 권한이 없는 경우, 단말 2는 데이터를 다운로드할 수 없음을 나타내는 시각적, 청각적, 및 촉각적 피드백 중 적어도 하나를 출력할 수 있다.
도 3b를 참조하면, 통신 어플리케이션의 동작 화면의 일례가 도시된다.
"Paul"은 "Tadd"와 통신 어플리케이션을 통해 메시지를 주고 받는다.
"Paul"의 단말은 "Tadd"의 단말로부터 계약서를 보낸다는 메시지(360)를 수신할 수 있고, 메시지(360)의 내용을 디스플레이에 노출할 수 있다. 또한, "Paul"의 단말의 디스플레이에는 계약서 데이터가 대화방에 업로드 되었다는 것을 나타내는 메시지(361)의 내용이 노출될 수 있다.
메시지(361)에 대한 "Paul"의 입력을 기초로 "Paul"의 단말은 계약서를 다운로드 하거나 열 수 있다(open). 즉, 계약서 데이터에 대한 이벤트가 "Paul"의 단말에서 발생할 수 있다. 이 경우, "Paul"의 단말은 계약서 데이터의 속성을 확인할 수 있고, 이벤트가 계약서 데이터의 속성에 대응하는지 여부를 결정할 수 있다. 위에서 설명한 것과 같이, "Tadd"의 단말은 계약서 데이터에 대한 "Paul"의 단말의 권한 정보를 설정할 수 있고, 권한 정보를 기초로 계약서 데이터의 속성을 정의할 수 있다. "Tadd"의 단말은 "Paul"의 단말이 계약서 데이터를 다운로드 또는 열 수 없게 권한 정보를 설정하고, 권한 정보를 기초로 계약서 데이터의 속성을 정의할 수 있다. 이로 인해, "Paul"의 단말에서 계약서 데이터에 대한 이벤트가 계약서 데이터의 속성에 대응하지 않는 경우가 발생할 수 있다.
이벤트가 계약서 데이터의 속성에 대응하지 않는 경우, "Paul"의 단말은 계약서 데이터를 다운로드 하거나 열 수 없음을 나타내는 피드백을 출력할 수 있다.
도 3b의 예에서, "Paul"의 단말은 계약서 데이터에 대한 이벤트를 수행할 수 있는 권한이 있다고 하자. 메시지(361)에 대한 "Paul"의 입력이 있는 경우, "Paul"의 단말은 계약서 데이터를 다운로드 하거나 열 수 있다. 이로 인해, 계약서 데이터가 "Paul"의 단말의 디스플레이에 표시될 수 있다.
도 3b의 예에서, "Tadd"의 단말에는 컨텐츠를 삭제하기 위한 삭제 이벤트가 발생할 수 있다. 다시 말해, "Tadd"는 대화방에 업로드된 계약서를 삭제할 수 있다. 이 경우, "Tadd"의 단말은 삭제 이벤트를 서버로 전송할 수 있고, 서버는 삭제 이벤트를 "Paul"의 단말로 전송할 수 있다. 이에 따라, "Paul"의 단말의 디스플레이에는 메시지(361)이 시각적으로 사라질 수 있다. 또한, 구현에 따라, "Paul"의 단말에 저장되어 있던 계약서가 삭제될 수 있다.
도 3b에 도시되지 않았으나, 회의 통화(Conference call)를 위한 메뉴가 시각적으로 노출될 수 있다. 회의 통화를 위한 메뉴에 대한 사용자의 선택 입력이 있는 경우, 대화방에 참여한 단말을 대상으로 회의 통화가 수행될 수 있다. 예를 들어, "Paul"이 회의 통화를 위한 메뉴를 선택하는 경우, "Paul"의 단말과 "Tadd"의 단말은 회의 통화를 수행할 수 있다. 여기서, "Paul"의 단말과 "Tadd"의 단말은 P2P 통신을 통해 회의 통화를 수행할 수 있다.
도 3b에 도시되지 않았으나, "Paul"의 단말은 계약서 데이터를 다운로드하고, 다른 단말에게 계약서 데이터를 전송하려고 시도하는 경우, "Paul"의 단말은 전송 이벤트가 계약서 데이터의 속성에 대응하는지 확인할 수 있다. "Tadd"의 단말이 "Paul"의 단말은 계약서 데이터를 전송하거나 업로드할 수 없도록 "Paul"의 단말의 권한 정보를 설정한 경우, "Paul"의 단말은 계약서 데이터를 다른 단말에게 전송할 수 없다. 이 경우, "Paul"의 단말은 "Tadd"의 단말에게 권한 정보의 변경을 요청할 수 있다. 이하, 권한 정보의 변경 요청은 도 4를 참조하면서 설명한다.
도 3b의 예에서, 대화방이 종료될 수 있다. "Paul"의 단말 또는 "Tadd"의 단말이 대화방에서 나가는 경우, 대화방이 종료될 수 있다. 이 경우, 대화방을 통해 송수신된 데이터는 삭제될 수 있다. 예를 들어, 대화방을 통해 송수신된 메시지 또는 컨텐츠는 삭제될 수 있다. 일 실시예에 있어서, "Paul"의 단말이 대화방에서 나갈 때, 대화방을 통해 송수신된 데이터를 저장할 것인지 여부를 묻는 메시지가 출력될 수 있다. 대화방을 통해 송수신된 데이터가 저장되는 것으로 선택된 경우, 대화방을 통해 송수신된 데이터는 단말의 메모리 또는 단말과 연결된 보안 통화 동글(dongle)에 저장될 수 있다. 보안 통화 동글에 대해선 도 12를 통해 후술한다.
도 4는 일 실시예에 따른 데이터에 대한 권한 정보를 변경하는 것을 설명하기 위한 흐름도이다.
데이터에 대한 이벤트가 단말 2에 발생한다(410). 예를 들어, 단말 2에 저장되어 있던 데이터에 대한 전송 또는 업로드를 위한 이벤트가 발생할 수 있다. 여기서, 단말 2는 이벤트가 데이터의 속성에 대응하는지 확인할 수 있다. 이벤트가 데이터의 속성에 대응하지 않으면, 단말 2는 피드백을 출력할 수 있다. 또한, 이벤트가 데이터의 속성에 대응하지 않으면, 단말 2는 데이터에 대한 권한 정보의 변경을 위한 변경 요청 데이터를 단말 1로 전송할 수 있다(420).
단말 1은 변경 요청 데이터가 수신되었음을 나타내는 메시지를 출력할 수 있다. 메시지에 대한 단말 1의 사용자의 선택 입력을 기초로 단말 1은 데이터에 대한 단말 2의 권한 정보를 변경할 수 있다(430). 권한 정보가 변경된 경우, 단말 1은 확인 응답(440)을 단말 2로 전송할 수 있다. 일 실시예에 있어서, 확인 응답에는 권한 정보의 변경 요청과 관련된 데이터의 속성을 재정의하기 위한 속성 재정의 정보가 포함될 수 있다. 그러나, 이에 제한되지 않는다.
단말 2가 단말 1로부터 확인 응답을 수신한 경우, 단말 2는 데이터에 대한 이벤트를 수행할 수 있다(450). 단말 2는 권한 정보의 변경 요청과 관련된 데이터를 다른 단말로 전송하거나 업로드할 수 있다. 일 실시예에 있어서, 확인 응답에 속성 재정의 정보가 포함된 경우, 단말 2는 속성 재정의 정보를 기초로, 권한 정보의 변경 요청과 관련된 데이터의 속성을 재정의할 수 있다.
도 5는 일 실시예에 따른 단체 대화방을 설명하기 위한 도면이다.
도 5를 참조하면, 가상 대화방(510) 및 복수의 단말(520 내지 540)이 도시된다.
단말(520)이 단체 대화방의 개설자라 하자. 단말(520)은 친구 리스트에 대한 사용자의 선택 입력을 기초로, 단체 대화방으로 초대할 단말(530), 단말(540), 및 단말(550)을 결정할 수 있다. 여기서, 가상 대화방(510)이 개설되거나 생성될 수 있다. 일례로, 가상 대화방(510)은 개설자인 단말(520)에 의해 생성될 수 있다. 다른 일례로, 가상 대화방(510)은 서버에 의해 생성될 수 있다. 보다 구체적으로, 단말(520)에서 단체 대화방 개설 이벤트가 발생하는 경우, 단말(520)은 단체 대화방 개설 이벤트를 서버로 전송하고, 서버가 가상 대화방을 생성할 수 있다.
가상 대화방(510)은 구현에 따라 다양하게 위치할 수 있다. 예를 들어, 단체 대화방을 개설한 단말(520) 내에 위치할 수 있다. 다른 일례로, 가상 대화방(510)은 가장 마지막으로 로그아웃한 단말 내에 위치할 수 있다. 또 다른 일례로, 가상 대화방(510)은 서버에서 임시로 할당한 클라우드(cloud)에 위치할 수 있다. 또 다른 일례로, 가상 대화방(510)은 HA(High Availability) 구현을 위해 2곳 이상에 위치할 수 있다.
서버는 가상 대화방(510)에 대화방 식별자를 할당할 수 있다. 서버는 대화방 식별자를 포함하는 초대 메시지를 단말(530), 단말(540), 및 단말(550)에게 전송할 수 있다. 단말(530), 단말(540), 및 단말(550)은 단체 대화방에 참여할 수 있다. 이에 따라, 복수의 단말(520 내지 550) 각각이 가상 대화방(510)과 1:1로 연결되어, P2P 통신을 이용한 단체 대화방이 가능할 수 있다.
일 실시예에 따르면, 복수의 단말이 서로 친구 관계일 때, 복수의 단말(520 내지 550)이 참여하는 단체 대화방이 가능할 수 있다. 예를 들어, 단말(520), 단말(530), 단말(540), 및 단말(550) 각각이 서로 친구 관계일 때, 단말(520), 단말(530), 단말(540), 및 단말(550)이 참여하는 단체 대화방이 가능할 수 있다.
서버는 단체 대화방을 통해 송수신되는 데이터에 식별자를 할당할 수 있다. 예를 들어, 서버는 단체 대화방을 통해 송수신되는 메시지 및/또는 컨텐츠에 식별자를 할당할 수 있다.
단말(520)이 단체 대화방을 통해 메시지 등을 송수신하는 동안 회의 통화를 위한 메뉴가 단말(520)의 디스플레이에 시각적으로 노출될 수 있다. 다른 단말의 디스플레이에 회의 통화를 위한 메뉴가 노출될 수 있다. 여기서, 회의 통화를 위한 메뉴에 대한 사용자의 선택 입력이 있는 경우, 대화방에 참여한 단말을 대상으로 회의 통화가 수행될 수 있다. 예를 들어, 단말(530)의 사용자가 회의 통화를 위한 메뉴를 선택하는 경우, 복수의 단말(520 내지 540)은 회의 통화를 수행할 수 있다.
단말(520)은 단체 대화방에 대한 단말(530), 단말(540), 및 단말(550) 각각의 권한 정보를 설정할 수 있다. 예를 들어, 단말(520)은 단말(520) 자신이 단체 대화방에 업로드한 사진, 문서 파일 등을 단말(530), 단말(540), 및 단말(550) 각각이 다운로드하거나 읽을 수 없도록 단말(530), 단말(540), 및 단말(550) 각각의 권한 정보를 설정할 수 있다. 또한, 단말(520)은 단말(530), 단말(540), 및 단말(550) 각각의 변경 요청 데이터를 수신할 수 있다. 단말(520)은 단말(530), 단말(540), 및 단말(550)로부터 변경 요청 데이터를 수신하는 경우, 단말(530), 단말(540), 및 단말(550) 중 적어도 하나의 권한 정보를 변경할 수 있다. 다시 말해, 단말(520)은 변경 요청 데이터를 전송한 단말 중 일부의 권한 정보를 변경하고, 나머지의 권한 정보를 변경하지 않을 수 있다. 또는, 단말(520)은 변경 요청 데이터를 전송한 단말 모두의 권한 정보를 변경할 수 있다. 단말(520)은 변경 요청 데이터에 대한 확인 응답을 단말(530), 단말(540), 및 단말(550) 중 적어도 하나로 전송할 수 있다. 권한 정보가 변경된 단말은 단체 대화방에 업로드된 데이터를 다운로드할 수 있다.
도 1 내지 도 4를 통해 기술된 사항들은 도 5를 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 6은 일 실시예에 따른 P2P 통신 세션의 설정 프로세스를 설명하기 위한 흐름도이다.
도 6에 도시되지 않았으나, 관리부는 단말 1 및 단말 2 각각과 통신 세션(예를 들어, UDP(User Datagram Protocol) 세션)을 설정할 수 있다.
도 6을 참조하면, 단말 1은 P2P 통신 요청 데이터를 서버로 전송한다(610). 단말 1이 관리부로 전송하는 P2P 통신 요청 데이터는 도 1을 통해 설명한 대화방 식별자 할당 요청 데이터에 포함되거나 대응할 수 있다.
관리부는 단말 1의 P2P 통신 요청 데이터를 단말 2로 전송한다(611). 관리부가 단말 2로 전송하는 P2P 통신 요청 데이터는 도 1을 통해 설명한 초대 메시지에 포함되거나 대응할 수 있다.
단말 2는 관리부로부터 P2P 통신 요청을 수신한 경우, 매개부에 접속할 수 있다(612).
관리부와 매개부는 위에서 설명한 서버 내에서 논리적으로 구분되는 유닛일 수 있다. 또한, 관리부는 서버 내에서 논리적으로 구분되는 복수의 유닛들 중 하나이고, 매개부는 서버와 물리적으로 구별되는 장치로, 네트워크 상에서 독립적일 수 있다.
매개부는 단말 2가 접속한 경우, 매개키를 생성한다(613). 예를 들어, 매개부는 임의값을 갖는 매개키를 생성할 수 있다. 또한, 매개부는 단말 1 및/또는 단말 2의 고유 정보를 기초로 매개키를 생성할 수 있다. 고유 정보는, 예를 들어, 단말 1 및 단말 2 각각에 할당된 식별자를 포함할 수 있다.
매개부는 매개키를 단말 2로 전송한다(614).
단말 2는 매개키를 관리부로 전송한다(615).
관리부는 단말 2의 네트워크 주소 및 매개키를 단말 1로 전송한다(616). 네트워크 주소는, 예를 들어, IP(Internet Protocol) 주소를 포함할 수 있다.
단말 1은 매개부에 접속한다(617). 예를 들어, 단말 1은 매개키를 매개부로 전송하여 매개부에 접속할 수 있다.
매개부는 단말 1로부터 매개키를 수신한 경우, 매개 경로를 확보한다(128).
매개 경로는 단말 1과 단말 2 사이의 P2P 통신 경로의 단절에 대비하기 위한 경로이다. 매개 경로에는 단말 1 및 2가 참여할 수 있고, 다른 단말이 참여할 수 없다.
단말 1은 매개부에 접속한 경우, 단말 2에게 속도 테스트 데이터를 전송할 수 있다(619). 단말 1는 단말 2의 네트워크 주소를 알고 있으므로, 단말 2의 네트워크 주소로 속도 테스트 데이터를 전송할 수 있다.
단말 2는 속도 테스트 데이터에 대한 테스트 응답을 단말 1로 전송할 수 있다(620). 단말 1은 단말 2의 응답 시간을 확인할 수 있다. 이로 인해, 단말 1은 단말 1과 단말 2 사이의 P2P 통신 속도를 확인할 수 있다.
단말 1은 단말 2에게 속도 테스트 데이터를 전송할 수 있다(621). 단말 1은 단말 2에게 속도 테스트 데이터에 대한 테스트 응답을 전송할 수 있다(622). 단말 2는 단말 1의 응답 시간을 확인할 수 있다.
단말 2의 속도 테스트는 단말 1의 속도 테스트와 동시에 수행될 수 있다.
일 실시예에 있어서, 단말 1 및/또는 단말 2의 속도 테스트는 미리 정해진 횟수만큼 반복될 수 있다. 예를 들어, 속도 테스트는 2회 또는 2회 이상 반복될 수 있다. 단말 1는 단말 2로부터 테스트 응답을 수신하면 단말 2로 추가 속도 테스트 데이터를 전송할 수 있다. 단말 2는 단말 1로 추가 속도 테스트 요청에 대한 테스트 응답을 전송할 수 있다. 반복된 속도 테스트를 기초로 단말 1는 단말 2의 평균 응답 시간을 확인할 수 있다. 마찬가지로, 반복된 속도 테스트를 기초로 단말 2는 단말 1의 평균 응답 시간을 확인할 수 있다.
단말 1과 단말 2 사이에는 P2P 통신 세션이 설정될 수 있고, 단말 1 및 2가 참여하는 대화방을 통해 단말 1 및 2는 데이터를 주고 받을 수 있다.
단말 1은 단말 2에게 데이터 1을 전송한다고 하자. 데이터 1은 전체 데이터 중 데이터 조각(fragment)일 수 있다.
단말 1가 네트워크 주소 A로 맵핑되고, 단말 2가 네트워크 주소 B로 맵핑된다고 하자. 단말 1는 P2P 통신 경로 A-B를 통해 단말 2에게 데이터 1을 전송할 수 있다. 단말 2가 데이터 1을 수신한 경우, 단말 2는 데이터 1에 대한 확인 응답을 단말 1로 전송할 수 있다.
단말 1는 데이터 1에 대한 확인 응답을 수신한 경우, 단말 2에게 데이터 2를 전송할 수 있다. 데이터 2는 전체 데이터 중 데이터 조각일 수 있다. 단말 1은 네트워크 주소 B로 데이터 2를 전송할 수 있다. 여기서, 단말 2의 이동 등으로 인해 단말 2의 네트워크 주소가 변경 중이라 하자. 단말 2의 네트워크 주소가 변경 중인 경우, 단말 1은 단말 2로부터 데이터 2에 대한 확인 응답을 응답 시간(또는 평균 응답 시간)보다 늦게 수신하거나 수신하지 못할 수 있다. 이 경우, 단말 1은 데이터 2를 매개부로 전송할 수 있다. 매개 경로가 확보된 상태이므로, 단말 1은 데이터 2를 매개부로 전송할 수 있다. 단말 1은 데이터 2에 대한 확인 응답을 속도 테스트 단계에서 확인한 응답 시간 이내에 수신하지 못한 경우, 데이터 2를 매개부로 전송할 수 있다.
매개부는 데이터 2를 단말 1로부터 수신한 경우, 데이터 2를 메모리에 저장한다. 메모리는, 예를 들어, 매개 경로 또는 전용 방에 대응하는 메모리를 포함할 수 있다.
단말 2는 네트워크 주소의 변경이 완료된 경우, 네트워크 주소가 변경되었음을 관리부에 알릴 수 있다. 단말 2의 네트워크 주소가 B에서 B'로 변경된 경우, 단말 2는 네트워크 주소가 B에서 B'로 변경되었음을 관리부에 알릴 수 있다.
관리부는 단말 2의 네트워크 주소가 변경되었음을 단말 1에게 알릴 수 있다. 관리부는 단말 1에게 단말 2의 네트워크 주소가 B'임을 나타내는 정보를 전송할 수 있다.
네트워크 주소가 B'으로 맵핑된 단말 2는 매개키를 매개부에 전송하여 매개부에 접속을 시도할 수 있다. 매개부는 매기키를 통해 단말 2의 접속을 허용할 수 있다. 변경된 네트워크 주소에 맵핑된 단말 2가 매개부와 연결되는 경우, 매개부는 단말 2에게 데이터 2를 전송할 수 있다.
단말 2는 데이터 2를 수신하는 경우, 데이터 2에 대한 확인 응답을 단말 1로 전송할 수 있다.
단말 1는 데이터 2에 대한 확인 응답을 수신하는 경우, 데이터 3을 단말 2로 전송할 수 있다. 여기서, P2P 통신 경로가 A-B에서 A-B'으로 변경된다. 단말 2는 데이터 3에 대한 확인 응답을 단말 1로 전송할 수 있다.
단말 1과 단말 2 사이의 P2P 통신 경로가 확보되었으나, 단말 1 및/또는 단말 2의 IP 주소가 변경되면, 단말 1과 단말 2는 P2P 통신을 지속적으로 유지할 수 없다. 일 실시예에 따르면, P2P 통신 경로에 대응하는 매개 경로가 확보될 수 있고, P2P 통신 경로가 단절되어도 단말 1과 단말 2는 매개 경로를 이용할 수 있다. 이에 따라, 네트워크 스루풋(network throughput)이 향상될 수 있다.
도 7은 일 실시예에 따른 단말의 동작 방법의 일례를 설명하기 위한 순서도이다.
도 7을 참조하면, 단말은 친구 리스트에 대한 사용자의 선택 입력을 기초로, P2P(Peer to Peer) 통신할 상대 단말을 결정한다(710).
단말은 P2P 통신에 대응하는 대화방에 대한 상대 단말의 권한 정보를 설정한다(720).
단말은 권한 정보를 기초로, 상대 단말로 전송할 데이터의 속성을 정의한다(730). 데이터의 속성은 데이터에 대한 이벤트가 상대 단말에 의해 수행될 지 여부를 결정할 수 있다. 예를 들어, 데이터의 속성은 상대 단말이 데이터를 다운로드, 전송, 편집 등을 수행할 수 있는지 여부를 결정할 수 있다.
도 1 내지 도 6을 통해 기술된 사항들은 도 7을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 8은 일 실시예에 따른 단말의 동작 방법의 다른 일례를 설명하기 위한 순서도이다.
도 8을 참조하면, 단말은 상대 단말과의 P2P 통신에 대응하는 대화방에 참여한다(810). 이에 따라, 대화방에는 단말 및 상대 단말이 참여하고, 단말과 상대 단말 사이에 P2P 통신 세션이 설정될 수 있다.
단말은 대화방을 통해 상대 단말이 전송한 데이터에 대한 이벤트가 발생하는 경우, 데이터의 속성을 확인한다(820). 데이터에 대한 사용자의 선택 입력 또는 터치 제스쳐가 있는 경우, 데이터에 대한 이벤트가 발생할 수 있다. 예를 들어, 단말의 사용자는 디스플레이에 표시된 사진을 다운로드하기 위해 사진에 대한 터치 제스쳐를 인가할 수 있다. 이 경우, 다운로드 이벤트가 발생할 수 있다.
단말은 이벤트가 데이터의 속성에 대응하지 않는 경우, 속성을 기초로 피드백을 출력한다(830). 이벤트가 데이터의 속성에 대응하지 않는 경우, 단말은 이벤트를 수행할 수 없다는 것을 나타내는 피드백을 출력할 수 있다.
도 1 내지 도 7을 통해 기술된 사항들은 도 8을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 9는 일 실시예에 따른 단말의 일례를 설명하기 위한 블록도이다.
도 9를 참조하면, 일 실시예에 따른 단말(900)은 프로세서(910) 및 통신 인터페이스(920)를 포함한다.
프로세서(910)는 친구 리스트에 대한 사용자의 선택 입력을 기초로, P2P 통신할 상대 단말을 결정한다.
프로세서(910)는 P2P 통신에 대응하는 대화방에 대한 상대 단말의 권한 정보를 설정한다.
프로세서(920)는 권한 정보를 기초로 상대 단말로 전송할 데이터의 속성을 정의한다.
통신 인터페이스(920)는 상대 단말과 통신한다. 예를 들어, 통신 인터페이스(920)는 상대 단말의 통신 인터페이스와 P2P 통신 세션을 설정하여 상대 단말과 P2P 통신할 수 있다. 또한, 통신 인터페이스(920)는 서버와 통신할 수 있다.
도 9에 도시되지 않았으나, 단말(900)은 통신 어플리케이션을 저장하는 메모리를 더 포함할 수 있다. 통신 어플리케이션은 프로세서(910)에 의해 실행될 수 있다. 이에 따라, 통신 어플리케이션은 친구 리스트에 대한 사용자의 선택 입력을 기초로, P2P 통신할 상대 단말을 결정할 수 있고, P2P 통신에 대응하는 대화방에 대한 상대 단말의 권한 정보를 설정할 수 있으며, 권한 정보를 기초로 상대 단말로 전송할 데이터의 속성을 정의할 수 있다.
도 1 내지 도 8을 통해 기술된 사항들은 도 9를 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 10은 일 실시예에 따른 단말의 다른 일례를 설명하기 위한 블록도이다.
도 10을 참조하면, 일 실시예에 따른 단말(1000)은 프로세서(1010) 및 통신 인터페이스(1020)를 포함한다.
프로세서(1010)는 상대 단말과의 P2P 통신에 대응하는 대화방에 참여할 것인지 여부를 결정한다.
프로세서(1010)는 대화방을 통해 상대 단말이 전송한 데이터에 대한 이벤트가 발생하는 경우, 데이터의 속성을 확인한다.
프로세서(1010)는 이벤트가 데이터의 속성에 대응하지 않는 경우, 속성을 기초로 피드백을 출력한다.
통신 인터페이스(1020)는 상대 단말과 통신한다.
도 10에 도시되지 않았으나, 단말(1000)은 통신 어플리케이션을 저장하는 메모리를 더 포함할 수 있다. 통신 어플리케이션은 프로세서(1010)에 의해 실행될 수 있다. 이에 따라, 통신 어플리케이션은 상대 단말과의 P2P 통신에 대응하는 대화방에 참여할 것인지 여부를 결정할 수 있고, 대화방을 통해 상대 단말이 전송한 데이터에 대한 이벤트가 발생하는 경우, 데이터의 속성을 확인할 수 있으며, 이벤트가 데이터의 속성에 대응하지 않는 경우, 속성을 기초로 피드백을 출력할 수 있다.
도 1 내지 도 9를 통해 기술된 사항들은 도 10을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 11은 일 실시예에 따른 서버의 일례를 설명하기 위한 블록도이다.
일 실시예에 따른 서버(1100)은 통신 인터페이스(1110) 및 컨트롤러(1120)를 포함한다.
통신 인터페이스(1110)는 적어도 하나의 단말과 통신할 수 있다. 예를 들어, 통신 인터페이스(1110)는 적어도 하나의 단말로부터 대화방 식별자의 할당을 위한 할당 요청 데이터, P2P 통신 요청 데이터 등을 수신할 수 있다.
컨트롤러(1120)는 서버(1100)가 단말로부터 할당 요청 데이터를 수신하는 경우, 대화방에 대화방 식별자를 할당할 수 있다. 또한, 컨트롤러(1120)는 단말로부터 데이터를 수신하는 경우, 데이터에 데이터 식별자를 할당할 수 있다. 여기서, 컨트롤러(1120)는 데이터를 저장하지 않을 수 있다.
도 1 내지 도 10을 통해 기술된 사항들은 도 11을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 12는 일 실시예에 따른 보안 통화 동글의 일례를 설명하기 위한 도면이다.
도 12를 참조하면, 단말(1200) 및 보안 통화 동글(1210)의 일례가 도시된다.
보안 통화 동글(1210)은 단말(1200)의 입출력 인터페이스에 착탈 가능한 형태일 수 있다. 입출력 인터페이스는, 마이크로 USB 포트, Apple®의 라이트닝 포트 등이 있다. 또한, 보안 통화 동글(1200)은 향후 개발되는 다양한 입출력 인터페이스에 호환되도록 설계될 수 있다.
보안 통화 동글(1210)과 단말(1200)은 물리적 접촉없이 근거리 무선 통신을 통해 연결될 수 있다. 근거리 무선 통신의 예로는 블루투스, NFC, 또는 Wi-Fi 등이 있다. 근거리 무선 통신은 전술한 예로 한정되지 않는다.
보안 통화 동글(1210)은 일정 용량의 메모리를 포함할 수 있다. 메모리에는 통신 어플리케이션, 통신 어플리케이션을 통해 통화한 이력, 메시징 이력, 메시지 내용, 첨부 파일 등이 저장될 수 있다.
보안 통화 동글(1210)은 일정 용량의 배터리를 포함할 수 있다. 단말(1200)의 배터리가 부족한 경우, 보안 통화 동글(1210)은 일정 시간 이상의 통화가 가능할 정도의 전력을 단말(1200)로 공급할 수 있다.
보안 통화 동글(1210)이 단말(1200)과 연결된 경우, 통신 어플리케이션이 단말(1200)의 디스플레이에 시각적으로 표시될 수 있다. 다른 일례로, 보안 통화 동글(1210)이 단말(1200)과 연결된 경우, 통신 어플리케이션이 실행될 수 있다.
통신 어플리케이션에 대응하는 식별자가 저장된 메모리를 포함하는 보안 통화 동글(1210)이 배포될 수 있다. 단말(1200)에 통신 어플리케이션이 설치되고, 보안 통화 동글(1210)이 단말(1200)에 연결되는 경우, 보안 통화에 필요한 식별자가 통신 어플리케이션에 할당될 수 있다.
보안 통화 동글(1210)에는 대화방을 통해 송수신한 메시지 및/또는 컨텐츠가 저장될 수 있다. 메시지 및/또는 컨텐츠 등의 데이터에는 속성이 정의되어 있어, 데이터는 보안 통화 동글(1210) 외부로 이동이 가능하거나 가능하지 않을 수 있다. 보안 통화 동글(1210)에 저장된 데이터에 대한 이벤트가 발생하는 경우, 사용자는 데이터의 원 소유자로부터 허가를 받아야 이벤트가 수행될 수 있다. 일례로, 단말(1200)은 해당 파일의 원 소유자(또는 보안 관리자)로부터 해당 파일에 대한 이동 허가를 얻어야 보안 통화 동글(120)에 저장된 파일을 외부로 전송할 수 있다. 해당 파일이 보안 통화 동글(120)에 저장되어 있다는 것은 할당 받은 식별자(여기서, 식별자는 해당 파일에 할당된 식별자)가 서버에 기록되어 있다는 의미일 수 있고, 단말은 해당 파일이 외부로 전송 또는 이동될 것이라는 메시지를 원 소유자(또는 보안 관리자)의 단말에게 전송할 수 있다. 원 소유자(또는 보안 관리자)가 해당 파일의 전송 또는 이동을 승인하는 경우, 해당 파일의 속성이 재정의되거나 수정될 수 있다. 이에 따라, 단말은 해당 파일을 보안 통화 동글(120) 외부로 전송하거나 이동시킬 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (19)

  1. 단말의 동작 방법에 있어서,
    친구 리스트에 대한 사용자의 선택 입력을 기초로, P2P(Peer to Peer) 통신할 상대 단말을 결정하는 단계;
    상기 P2P 통신에 대응하는 대화방에 대한 상대 단말의 권한 정보를 설정하는 단계; 및
    상기 권한 정보를 기초로, 상기 상대 단말로 전송할 데이터의 속성을 정의하는 단계
    를 포함하는,
    단말의 동작 방법.
  2. 제1항에 있어서,
    상기 권한 정보는,
    상기 상대 단말이 상기 데이터와 관련되어 발생한 이벤트를 수행할 수 있는지 여부에 대한 정보를 포함하는,
    단말의 동작 방법.
  3. 제2항에 있어서,
    상기 이벤트는,
    상기 데이터의 다운로드, 업로드, 전송, 복사, 및 편집 이벤트 중 적어도 하나를 포함하는,
    단말의 동작 방법.
  4. 제1항에 있어서,
    상기 상대 단말과 P2P 통신 세션을 설정하는 단계
    를 더 포함하는,
    단말의 동작 방법.
  5. 제4항에 있어서,
    상기 상대 단말과 P2P 통신 세션을 설정하는 단계는,
    상기 상대 단말과 P2P(Peer to Peer) 통신하기 위한 P2P 통신 요청 데이터를 서버로 전송하는 단계;
    상기 서버로부터 상기 상대 단말의 네트워크 주소 및 매개키를 수신하는 단계;
    상기 매개키를 이용하여 상기 서버에 접속하는 단계; 및
    상기 서버에 접속한 경우, 상기 네트워크 주소를 기초로 상기 상대 단말과 P2P 통신 세션을 설정하는 단계
    를 포함하고,
    상기 서버는,
    상기 통신 요청 데이터를 상기 상대 단말로 전송하고, 상기 상대 단말이 상기 서버에 접속하는 경우, 상기 매개키를 생성하는,
    단말의 동작 방법.
  6. 제1항에 있어서,
    상기 대화방을 생성하는 단계; 및
    대화방 식별자의 할당을 위한 할당 요청 데이터를 서버로 전송하는 단계
    를 더 포함하고,
    상기 서버는,
    상기 대화방에 상기 대화방 식별자를 할당하고, 상기 대화방 식별자를 포함하는 초대 메시지를 상기 상대 단말로 전송하는,
    단말의 동작 방법.
  7. 제6항에 있어서,
    상기 데이터를 상기 서버로 전송하는 단계
    를 더 포함하고,
    상기 서버는,
    상기 데이터에 데이터 식별자를 할당하는,
    단말의 동작 방법.
  8. 제1항에 있어서,
    상기 권한 정보의 변경 요청을 위한 변경 요청 데이터를 상기 상대 단말로부터 수신하는 단계;
    상기 변경 요청 데이터에 대응하는 메시지를 상기 단말의 디스플레이에 노출하는 단계;
    상기 메시지에 대한 상기 사용자의 선택 입력을 기초로, 상기 권한 정보를 변경하는 단계; 및
    상기 권한 정보의 변경을 나타내는 확인 응답을 상기 상대 단말로 전송하는 단계
    를 더 포함하는,
    단말의 동작 방법.
  9. 제1항에 있어서,
    상기 데이터를 수정하기 위한 수정 이벤트가 발생하는 경우, 상기 수정 이벤트를 서버로 전송하는 단계
    를 더 포함하고,
    상기 서버는,
    상기 수정 이벤트를 상기 상대 단말로 전송하는,
    단말의 동작 방법.
  10. 제1항에 있어서,
    상기 대화방을 통해 상기 상대 단말이 전송한 전송 데이터에 대한 이벤트가 발생하는 경우, 상기 전송 데이터의 속성을 확인하는 단계; 및
    상기 이벤트가 상기 전송 데이터의 속성에 대응하지 않는 경우, 상기 전송 데이터의 속성을 기초로 피드백을 출력하는 단계
    를 더 포함하는,
    단말의 동작 방법.
  11. 단말의 동작 방법에 있어서,
    상대 단말과의 P2P(Peer to Peer) 통신에 대응하는 대화방에 참여하는 단계;
    상기 대화방을 통해 상기 상대 단말이 전송한 데이터에 대한 이벤트가 발생하는 경우, 상기 데이터의 속성을 확인하는 단계; 및
    상기 이벤트가 데이터의 속성에 대응하지 않는 경우, 상기 속성을 기초로 피드백을 출력하는 단계
    를 포함하고,
    상기 속성은,
    상기 대화방에 대한 상기 단말의 권한 정보를 기초로 정의되는,
    단말의 동작 방법.
  12. 제11항에 있어서,
    상기 권한 정보는,
    상기 단말이 상기 이벤트를 수행할 수 있는지 여부에 대한 정보를 포함하는,
    단말의 동작 방법.
  13. 제11항에 있어서,
    상기 이벤트는,
    상기 데이터의 다운로드, 업로드, 전송, 복사, 및 편집 이벤트 중 적어도 하나를 포함하는,
    단말의 동작 방법.
  14. 제11항에 있어서,
    상기 상대 단말과 P2P 통신 세션을 설정하는 단계
    단말의 동작 방법.
  15. 제14항에 있어서,
    상기 상대 단말과 P2P 통신 세션을 설정하는 단계는,
    상기 상대 단말의 P2P 통신 요청 데이터를 서버로부터 수신하고, 상기 서버에 접속하는 단계;
    상기 접속을 기초로 생성된 매개키를 상기 서버로부터 수신하는 단계
    를 포함하고,
    상기 상대 단말은,
    상기 서버로부터 상기 단말의 네트워크 주소 및 상기 매개키를 수신하고, 상기 매개키를 이용하여 상기 서버에 접속하며, 상기 상대 단말이 상기 서버에 접속한 경우, 상기 네트워크 주소를 기초로 상기 단말과 상기 통신 세션을 설정하는,
    단말의 동작 방법.
  16. 제11항에 있어서,
    상기 권한 정보의 변경 요청을 위한 변경 요청 데이터를 상기 상대 단말로 전송하는 단계;
    상기 권한 정보의 변경을 나타내는 확인 응답을 상기 상대 단말로부터 수신하는 단계; 및
    변경된 권한 정보를 기초로 상기 이벤트를 수행하는 단계
    를 더 포함하는,
    단말의 동작 방법.
  17. 제1항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
  18. 단말에 있어서,
    친구 리스트에 대한 사용자의 선택 입력을 기초로, P2P(Peer to Peer) 통신할 상대 단말을 결정하고, 상기 P2P(Peer to Peer) 통신에 대응하는 대화방에 대한 상대 단말의 권한 정보를 설정하며, 상기 권한 정보를 기초로 상기 상대 단말로 전송할 데이터의 속성을 정의하는 프로세서; 및
    상기 상대 단말과 통신하는 통신 인터페이스
    를 포함하는,
    단말.
  19. 상대 단말과의 P2P(Peer to Peer) 통신에 대응하는 대화방에 참여할 것인지 여부를 결정하고, 상기 대화방을 통해 상기 상대 단말이 전송한 데이터에 대한 이벤트가 발생하는 경우, 상기 데이터의 속성을 확인하고, 상기 이벤트가 데이터의 속성에 대응하지 않는 경우, 상기 속성을 기초로 피드백을 출력하는 프로세서; 및
    상기 단말과 통신하는 통신 인터페이스
    를 포함하고,
    상기 속성은,
    상기 대화방에 대한 상기 단말의 권한 정보를 기초로 정의되는,
    단말.
PCT/KR2016/005523 2015-05-26 2016-05-25 단말 및 단말의 동작 방법 WO2016190657A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20150073167 2015-05-26
KR10-2015-0073167 2015-05-26
KR1020160061170A KR101840752B1 (ko) 2015-05-26 2016-05-19 단말 및 단말의 동작 방법
KR10-2016-0061170 2016-05-19

Publications (1)

Publication Number Publication Date
WO2016190657A1 true WO2016190657A1 (ko) 2016-12-01

Family

ID=57394098

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/005523 WO2016190657A1 (ko) 2015-05-26 2016-05-25 단말 및 단말의 동작 방법

Country Status (1)

Country Link
WO (1) WO2016190657A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060095457A (ko) * 2005-02-28 2006-08-31 마이크로소프트 코포레이션 인스턴트 메시징의 융통성있는 확장된 프리젠스 문서능력을 용이하게 하기 위한 프로세서 액세스가능 매체 및방법
KR20070088568A (ko) * 2004-09-29 2007-08-29 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 피어 투 피어 연결 설정 방법
EP1843543A1 (en) * 2006-04-06 2007-10-10 Motorola, Inc. Method, apparatus and system for authentication on peer-to-peer file sharing network
KR20070118262A (ko) * 2005-04-22 2007-12-14 마이크로소프트 코포레이션 서버리스 피어 투 피어 네트워크에서 참가자를 초대하기위한 애플리케이션 프로그래밍 인터페이스
KR20110119649A (ko) * 2009-01-26 2011-11-02 마이크로소프트 코포레이션 대화 권한 관리

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070088568A (ko) * 2004-09-29 2007-08-29 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 피어 투 피어 연결 설정 방법
KR20060095457A (ko) * 2005-02-28 2006-08-31 마이크로소프트 코포레이션 인스턴트 메시징의 융통성있는 확장된 프리젠스 문서능력을 용이하게 하기 위한 프로세서 액세스가능 매체 및방법
KR20070118262A (ko) * 2005-04-22 2007-12-14 마이크로소프트 코포레이션 서버리스 피어 투 피어 네트워크에서 참가자를 초대하기위한 애플리케이션 프로그래밍 인터페이스
EP1843543A1 (en) * 2006-04-06 2007-10-10 Motorola, Inc. Method, apparatus and system for authentication on peer-to-peer file sharing network
KR20110119649A (ko) * 2009-01-26 2011-11-02 마이크로소프트 코포레이션 대화 권한 관리

Similar Documents

Publication Publication Date Title
WO2014175602A1 (en) Electronic device and method of registering personal cloud apparatus in user portal server thereof
WO2016171401A1 (ko) 공동 편집 문서를 공유하는 방법 및 장치
WO2013069893A1 (ko) 인스턴트 메시징 서비스 및 인스턴트 메시징 서비스로부터 확장된 복수의 서비스들을 제공하는 방법
WO2015030364A1 (en) Method for sharing media data and electronic device thereof
WO2016060370A1 (en) Terminal for internet of things and operation method of the same
WO2013025085A2 (en) Apparatus and method for supporting family cloud in cloud computing system
WO2016137092A2 (ko) 메신저 서비스에서의 그룹 아이콘 구성 방법 및 이를 위한 장치
WO2015020360A1 (ko) 무선 통신 시스템에서 기기 등록 및 인증을 수행하는 방법 및 장치
WO2011129635A2 (ko) 이동통신 시스템에서 응용 서비스를 제공하는 방법 및 장치
WO2014065631A1 (ko) 모바일 보이스 오버 인터넷 프로토콜을 이용하여 그룹 통화 서비스를 제공하는 어플리케이션의 동작 방법
JP6229360B2 (ja) 通信サーバ、通信システム、プログラム及び通信方法
WO2013047997A1 (ko) 라이트 체크를 기반으로 하는 콘텐트 다운로드 방법, 디바이스 및 시스템
WO2009145499A2 (en) Method and apparatus for managing tokens for digital rights management
WO2013137581A1 (en) Apparatus and method for ensuring privacy in contents sharing system
WO2019182377A1 (ko) 블록체인 기반 암호화폐의 트랜잭션에 이용되는 주소 정보 생성 방법, 전자 장치 및 컴퓨터 판독 가능한 기록 매체
WO2020114184A1 (zh) 联合建模方法、装置、设备以及计算机可读存储介质
US20170272480A1 (en) System, information processing apparatus, and information processing method
WO2021101275A1 (en) Method, system and device for sharing contents
KR101840752B1 (ko) 단말 및 단말의 동작 방법
WO2016190657A1 (ko) 단말 및 단말의 동작 방법
JP6458125B2 (ja) セキュリティチャットサービス提供方法、セキュリティチャットサービス提供システム、通信端末、及びチャットアプリケーション
JP2017069936A (ja) 通信端末、通信システム、出力方法、及びプログラム
JP2006238386A (ja) 会議システム及び会議管理方法並びに会議管理装置
WO2019117625A1 (en) Apparatus and method for sharing content
WO2012070865A2 (ko) 정보 공유 시스템 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16800296

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 20/03/2018)

122 Ep: pct application non-entry in european phase

Ref document number: 16800296

Country of ref document: EP

Kind code of ref document: A1