








본 발명은 둘 이상의 단말 장치 간에 문자, 영상, 사진, 오디오 중 하나 이상을 포함하는 메시지를 교환할 수 있도록 하는 메신저 서비스에 관한 것으로서, 더욱 상세하게는 둘 이상의 단말 장치가 참여하는 그룹 대화 중에 각 단말 장치의 마지막 메시지 확인 시간을 기준으로 그룹 대화 중 발생한 메시지의 확인자 수 또는 미확인자 수를 효율적으로 산출할 수 있는 메신저 서비스 제공 방법 및 이를 위한 장치에 관한 것이다.The present invention relates to a messenger service for exchanging a message including at least one of character, image, picture and audio between two or more terminal devices, and more particularly, And more particularly, to a messenger service providing method and apparatus for efficiently calculating the number of identifiers or undetermined number of messages generated during a group conversation based on a last message confirmation time of a device.
정보통신 기술 및 단말 성능의 비약적인 발전에 따라서, 스마트폰(Smartphone), 태블릿 PC와 같은 이동형 단말 장치를 이용하여, PC에서 이용하던 다양한 기능들을 시간 및 장소의 제약 없이 이용할 수 있게 되었다.With the rapid development of information and communication technology and terminal performance, various functions used in PC can be used without restriction of time and place by using mobile terminal device such as smartphone and tablet PC.
특히, 스마트폰은 응용 프로그램 개발자를 위한 표준화된 인터페이스와 플랫폼을 제공하는 개방형 운영체제(Open OS)를 탑재함으로써, 음성 통화와 같은 기존 휴대전화의 기능, 브라우징 프로그램을 통해 인터넷 접속 및 검색 기능뿐만 아니라, 제 삼의 응용프로그램 제작자, 혹은 사용자가 제작한 응용프로그램을 탑재함으로써, 사용자가 원하는 다양한 기능을 수행할 수 있다.In particular, smartphones are equipped with an open operating system (Open OS) that provides a standardized interface and platform for application developers, enabling users to access and search the Internet through browsing programs, By installing a third application programmer or an application program created by the user, various functions desired by the user can be performed.
한편, 인스턴트 메신저(Instant Messenger) 서비스는 통신망을 통해 둘 이상의 사용자가 실시간 텍스트 통신을 수행하는 것으로서, 처음 유선 인터넷을 접속된 PC를 기반으로 개발되어 이용되었으나, 이동통신기술의 발전 및 스마트폰과 같은 고성능 단말 장치들이 보급됨에 따라서, 스마트폰과 같은 휴대형 단말 장치를 기반으로 수행되는 모바일 인스턴트 메신저까지 등장하였다.On the other hand, the instant messenger service is a real-time text communication between two or more users through a communication network. The instant messenger service has been developed and used based on a PC connected to the wired Internet for the first time. However, As high performance terminal devices become popular, mobile instant messengers based on portable terminal devices such as smart phones have appeared.
항시 휴대하여 이용이 가능한 스마트폰을 기반으로 실행되는 인스턴트 메신저의 경우, PC 기반의 인스턴트 메신저와는 달리, 서비스 이용 시간 및 장소에 제약을 받지 않게 됨으로써, 그 이용자 수 및 이용량이 폭발적으로 증가하고 있다.Unlike a PC-based instant messenger, in the case of an instant messenger running on a smart phone that is always portable and usable, the number of users and usage is explosively increasing due to the restriction on the service use time and place .
이렇게 인스턴트 메신저의 이용자 수 및 이용량이 증가함에 따라서, 인스턴트 메신저를 통해 교환되는 메시지의 량도 함께 증가하여, 메시지의 효율적인 관리가 어려워질 수 있다.As the number of users and the usage amount of the instant messenger increases, the amount of messages exchanged through the instant messenger also increases, which may make it difficult to efficiently manage the messages.
예를 들어, 인스턴트 메신저를 통해 둘 이상의 사용자가 참여하는 그룹 대화를 수행하는 경우, 그룹 대화 중 발생하는 메시지에 대한 확인자 수 혹은 미확인자 수에 대한 관리가 요구된다.For example, when performing a group conversation involving two or more users via instant messenger, management of the number of confirmation or unconfirmed number of messages occurring during group conversation is required.
특히, 스마트폰을 기반으로 하는 인스턴트 메신저의 경우, 그룹 대화를 통해 교환되는 메시지의 수도 많을 뿐만 아니라, 그룹 대화에 참여한 사용자의 수도 많기 때문에, 불필요한 트래픽 발생을 최소화하면서, 그룹 대화 중 발생하는 메시지에 대한 확인자 수 혹은 미확인자 수를 산출할 필요가 있다.In particular, in the case of an instant messenger based on a smart phone, not only a large number of messages exchanged through a group conversation but also a large number of users participating in the conversation are grouped, so that unnecessary traffic is minimized, It is necessary to calculate the number of unidentified persons or the number of unidentified persons.
이에 본 발명은 메신저 서비스를 통해, 둘 이상의 단말 장치가 참여하는 그룹 대화 중에 각 단말 장치의 마지막 메시지 확인 시간을 기준으로 그룹 대화 중 발생한 메시지의 확인자 수 또는 미확인자수를 효율적으로 산출할 수 있는 메신저 서비스 제공 방법 및 이를 위한 장치를 제공하고자 한다.Accordingly, it is an object of the present invention to provide a messenger service capable of efficiently calculating the number of identifiers or unidentified numbers of messages generated during a group conversation based on a last message confirmation time of each terminal device during a group conversation in which two or more terminal devices participate, And a device for the same.
특히, 본 발명은 둘 이상의 사용자가 참여하는 그룹 대화에 참여한 각 사용자의 단말 장치로부터 마지막 메시지 확인 시간을 수집하고, 상기 마지막 메시지 확인 시간을 기준으로 그 이전에 발생한 메시지는 사용자가 확인한 것으로 판단하여 간단하게 메시지별 확인자 수 및 미확인자 수를 산출하는 메신저 서비스 제공 방법 및 이를 위한 장치를 제공하고자 한다.In particular, the present invention collects the last message confirmation time from each user terminal participating in a group conversation involving two or more users, determines that the message generated before the last message confirmation time is confirmed by the user, And a method for providing a messenger service for calculating the number of unidentified persons and an apparatus therefor.
본 발명은 상술한 과제의 해결 수단으로서, 통신망을 통해서 그룹 대화에 참여한 둘 이상의 단말 장치와 데이터를 송수신하기 위한 통신부, 및 상기 통신부를 통해서 상기 둘 이상의 단말 장치로부터 마지막 메시지 확인 시간을 수집하고, 상기 마지막 메시지 확인 시간을 기준으로 그 이전에 발생한 메시지를 읽은 것으로 판단하여, 상기 그룹 대화 중 발생한 메시지에 대한 확인자 수 또는 미확인자 수를 카운트하고, 메시지 별 카운트 값을 상기 둘 이상의 단말 장치로 제공하는 메신저 서비스 제어부를 포함하는 것을 특징으로 하는 메신저 서비스 장치를 제공한다.According to the present invention, there is provided a communication device for communicating data with two or more terminal devices participating in a group conversation via a communication network, and a communication module for collecting last message confirmation times from the two or more terminal devices through the communication module, A message counting unit for counting the number of confirmation or unconfirmed messages for a message generated during the group conversation and for providing a count value for each message to the two or more terminal apparatuses, And a controller for controlling the messenger service.
본 발명의 일 실시 예에 따른 메신저 서비스 장치는, 그룹 대화 별로 할당되어, 해당 그룹 대화에 참여한 단말 장치의 사용자 식별 정보 및 각 단말 장치의 마지막 메시지 확인 시간을 관리하기 위한 멤버 테이블을 저장하는 저장부를 더 포함하고, 상기 메신저 서비스 제어부는, 상기 둘 이상의 단말 장치로부터 수집한 마지막 메시지 확인 시간을 상기 멤버 테이블에 기록한 후, 상기 멤버 테이블을 기반으로 해당 그룹 대화에서 발생한 메시지에 대한 확인자 수 또는 미 확인자 수를 카운트할 수 있다.A messenger service apparatus according to an embodiment of the present invention includes a storage unit for storing user identification information of a terminal device participating in a group conversation and a member table for managing a last message confirmation time of each terminal device, Wherein the messenger service control unit records the last message confirmation time collected from the two or more terminal apparatuses in the member table, and then, based on the member table, Can be counted.
본 발명의 일 실시 예에 따른 메신저 서비스 장치에 있어서, 상기 저장부는, 상기 그룹 대화 별로 할당되어, 그룹 대화에서 발생한 메시지별 확인자수 또는 미확인자 수를 관리하기 위한 카운트 테이블을 더 저장하고, 상기 메신저 서비스 제어부는, 상기 멤버 테이블을 기반으로 카운트한 해당 그룹 대화의 메시지별 확인자 수 또는 미확인자 수를 상기 카운트 테이블에 기록할 수 있다.The messenger service apparatus according to an embodiment of the present invention may further include a count table allocated for each group conversation and managed for the number of confirmed or unconfirmed persons for each message generated in the group conversation, The control unit may record the number of identifiers or unconfirmed number of messages of the corresponding group conversation counted based on the member table in the count table.
이때, 상기 메신저 서비스 제어부는, 단말 장치로부터 상기 그룹 대화 중 발생한 메시지 중에서, 하나 이상의 메시지에 대한 메시지 확인 정보가 요청되면, 상기 카운트 테이블을 참조하여 확인 요청된 메시지의 카운트 값을 상기 단말 장치로 전송하되, 상기 카운트 테이블에 요청된 메시지의 카운트 값이 존재하지 않으면, 상기 멤버 테이블을 기반으로 해당 메시지의 확인자 수 또는 미확인자 수를 카운트하여 상기 카운트 테이블에 기록할 수 있다.The messenger service control unit transmits the count value of the message requested for confirmation to the terminal device by referring to the count table when message confirmation information of one or more messages among the messages generated during the group conversation is requested from the terminal device If the count value of the requested message does not exist in the count table, the number of identifiers or unconfirmed number of the message can be counted based on the member table and recorded in the count table.
더하여, 본 발명의 일 실시 예에 따른 메신저 서비스 장치에 있어서, 상기 메신저 서비스 제어부는, 일정 주기로 상기 카운트 테이블에 기록된 정보를 삭제하여 초기화한다.In addition, in the messenger service apparatus according to an embodiment of the present invention, the messenger service control unit deletes and initializes information recorded in the count table at regular intervals.
또한, 본 발명의 일 실시 예에 따른 메신저 서비스 장치에 있어서, 상기 저장부는, 메시지 확인자 수 또는 미확인자 수에 변경이 발생한 그룹 대화의 식별 정보를 관리하기 위한 통지 테이블을 더 저장하고, 상기 메신저 서비스 제어부는, 상기 카운트 테이블에 기록된 정보가 변경되면, 해당 그룹 대화의 식별 정보를 상기 통지 테이블에 기록하고, 일정 주기로 상기 통지 테이블에 기록된 그룹 대화에 참여한 둘 이상의 단말 장치로, 메시지 확인자 수 혹은 미확인자 수에 변경이 발생하였음을 통지할 수 있다.In addition, in the messenger service apparatus according to an embodiment of the present invention, the storage further stores a notification table for managing identification information of a group conversation in which the number of message identifiers or the number of unconfirmed persons has changed, Records the identification information of the group conversation in the notification table and transmits the identification information of the group conversation to the two or more terminal devices participating in the group conversation recorded in the notification table at regular intervals, It can be notified that a change has occurred in the number.
더하여, 본 발명의 일 실시 에에 따른 메신저 서비스 장치에 있어서, 상기 메신저 서비스 제어부는, 상기 그룹 대화에서 발생한 메시지를 상기 저장부에 저장하고, 상기 카운트 값을 기반으로 그룹 대화에 참여한 모든 사용자가 확인하였는 지를 판단하여, 모든 사용자가 확인한 메시지를 삭제할 수 있다.In addition, in the messenger service apparatus according to an embodiment of the present invention, the messenger service control unit stores a message generated in the group chat in the storage unit, It is possible to delete the message confirmed by all users.
또한, 본 발명은 상술한 과제의 해결 수단으로서, 통신망을 통해 메신저 서비스 장치와 통신하는 통신부, 상기 통신부를 통해 송수신되는 메시지를 저장하는 저장부, 상기 메시지를 표시하기 위한 출력부, 상기 통신부, 저장부 및 출력부 중 하나 이상과 연동하여, 둘 이상의 단말 장치가 참여하는 그룹 대화 중에 발생한 메시지를 상기 출력부에 표시하고, 마지막 메시지 표시 시간을 추출하여 상기 메신저 서비스 장치로 전송하는 제어부를 포함하는 것을 특징으로 하는 단말 장치를 제공한다.According to another aspect of the present invention, there is provided a messaging service apparatus comprising: a communication unit that communicates with a messenger service apparatus through a communication network; a storage unit that stores a message transmitted and received through the communication unit; an output unit that displays the message; And a controller for displaying a message generated during a group conversation in which two or more terminal apparatuses participate, in conjunction with one or more of a plurality of terminal units and an output unit, on the output unit, extracting a last message display time and transmitting the extracted message display time to the messenger service apparatus And a terminal device.
본 발명의 일 실시 예에 따른 단말 장치는, 사용자 입력 신호를 제어부로 전달하기 위한 입력부를 더 포함하고, 상기 제어부는 상기 통신부를 통해 메시지가 수신되면, 수신된 메시지를 상기 저장부에 저장한 후, 상기 사용자 입력 신호에 따라서, 상기 저장된 메시지를 가져와 상기 출력부를 통해 표시할 수 있다.The terminal device according to an embodiment of the present invention further includes an input unit for transmitting a user input signal to the control unit. When the message is received through the communication unit, the control unit stores the received message in the storage unit , And may retrieve the stored message according to the user input signal and display it via the output unit.
본 발명의 일 실시 예에 따른 단말 장치에 있어서, 상기 제어부는, 상기 그룹 대화 중 발생한 메시지를 표시하기 전에, 표시할 하나 이상의 메시지에 대한 메시지 확인 정보를 상기 메신저 서비스 장치로 요청하고, 상기 메신저 서비스 장치로부터 상기 하나 이상의 메시지에 대한 확인자 수 또는 미확인자 수에 대응하는 카운트 값을 수신하여, 메시지와 함께 표시할 수 있다.In the terminal device according to an embodiment of the present invention, the controller may request the messenger service device for message confirmation information of at least one message to be displayed before displaying a message generated during the group chat, A count value corresponding to the number of identifiers or the number of unidentified persons for the one or more messages from the device may be received and displayed together with the message.
또한, 본 발명의 일 실시 예에 따른 단말 장치에 있어서, 상기 제어부는, 상기 메신저 서비스 장치로부터 메시지 확인 정보에 변경이 발생하였음을 통지하는 알림 메시지가 수신되면, 상기 메신저 서비스 장치로 상기 하나 이상의 메시지에 대한 메시지 확인 정보를 요청할 수 있다.In addition, in the terminal device according to an embodiment of the present invention, when receiving a notification message from the messenger service device indicating that a change has occurred in the message confirmation information, Lt; / RTI >
더하여, 본 발명은 상술한 과제의 해결 수단으로서, 통신망을 통해 둘 이상의 단말 장치와 연결된 메신저 서비스 장치가, 둘 이상의 단말 장치가 참여하는 그룹 대화 중에, 상기 둘 이상의 단말 장치로부터 마지막 메시지 확인 시간을 수집하는 단계, 상기 마지막 메시지 확인 시간을 기준으로, 그 이전에 발생한 메시지를 읽은 것으로 판단하여, 상기 그룹 대화 중 발생한 메시지에 대한 확인자 수 또는 미확인자 수를 카운트하는 단계, 및 상기 카운트 값을 상기 둘 이상의 단말 장치로 제공하는 단계를 포함하는 것을 특징으로 하는 메신저 서비스 제공 방법을 제공한다.In addition, the present invention solves the above-mentioned problems, and it is an object of the present invention to provide a messenger service apparatus connected to two or more terminal apparatuses via a communication network, collecting last message confirmation time from the two or more terminal apparatuses during a group conversation involving two or more terminal apparatuses Counting the number of confirmers or unconfirmed messages for a message generated during the group conversation by determining that the previously generated message has been read based on the last message confirmation time, and counting the count value to the two or more terminals And providing the messenger service to the device.
본 발명의 일 실시 예에 따른 메신저 서비스 제공 방법은, 상기 수집하는 단계 이전에, 그룹 대화 별로, 해당 그룹 대화에 참여한 둘 이상의 단말 장치의 사용자 식별 정보 및 각 단말 장치로부터 수집한 마지막 메시지 확인 시간을 기록하는 멤버 테이블과, 해당 그룹 대화에서 발생한 메시지에 대한 확인자 수 또는 미 확인자 수의 카운트 값을 메시지 별로 기록하는 카운트 테이블을 생성하는 단계를 더 포함하고, 상기 수집된 마지막 메시지 확인 시간 및 카운트 값을 상기 멤버 테이블 및 카운트 테이블에 기록할 수 있다.The method of providing a messenger service according to an embodiment of the present invention may further include a step of collecting user identification information of two or more terminal devices participating in the group conversation and a last message confirmation time collected from each terminal device Further comprising the step of generating a count table for recording a count value of the number of resolvers or unconfirmed counters for a message generated in the group conversation on a message-by-message basis, wherein the collected last message check time and count value Can be recorded in the member table and the count table.
더하여, 본 발명의 일 실시 예에 따른 메신저 서비스 제공 방법은, 상기 카운트 테이블에 기록된 메시지별 카운트 값을 일정 시간 주기로 삭제하는 단계를 더 포함할 수 있다.In addition, the method of providing a messenger service according to an exemplary embodiment of the present invention may further include deleting a count value for each message recorded in the count table at a predetermined time period.
또한, 본 발명의 일 실시 예에 따른 메신저 서비스 제공 방법에 있어서, 상기 카운트하는 단계는, 단말 장치로부터의 상기 그룹 대화 중 발생한 하나 이상의 메시지에 대한 메시지 확인 정보가 요청되면, 상기 카운트 테이블에 상기 하나 이상의 메시지의 카운트 값이 존재하는 지를 확인하는 단계, 카운트 값이 존재하지 않는 메시지에 대하여, 상기 멤버 테이블의 단말 장치별 마지막 메시지 확인 시간을 기반으로 확인자 수 또는 미 확인자 수를 카운트하여 상기 카운트 테이블에 기록하는 단계를 포함할 수 있다.In the method of providing a messenger service according to an embodiment of the present invention, the step of counting may include: when message confirmation information of at least one message generated during the group conversation from the terminal device is requested, Determining whether a count value of the message is present, counting the number of resolvers or undetermined number based on the last message confirmation time of each terminal device of the member table for a message in which the count value does not exist, And recording the data.
더하여, 본 발명의 일 실시 예에 따른 메신저 서비스 제공 방법은, 상기 카운트 테이블의 정보가 변경되면, 해당 그룹 대화의 식별 정보를 통지 테이블에 기록하는 단계, 일정 주기로, 상기 통지 테이블에 기록된 그룹 대화에 참여한 둘 이상의 단말 장치로, 메시지 확인 정보가 변경되었음을 알리는 알람 메시지를 전송하는 단계를 더 포함하여, 상기 알람 메시지를 수신한 단말 장치가 상기 메시지 확인 정보를 요청하도록 할 수 있다.In addition, the method of providing a messenger service according to an embodiment of the present invention may include the steps of recording identification information of the group conversation in the notification table when the information of the count table is changed, Transmitting an alarm message indicating that the message confirmation information has been changed to the at least two terminal apparatuses participating in the at least one terminal apparatus, so that the terminal apparatus receiving the alarm message can request the message confirmation information.
더하여, 본 발명은 상술한 메신저 서비스 제공 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.In addition, the present invention can provide a computer readable recording medium on which a program for performing the messenger service providing method described above is recorded.
본 발명에 따르면, 메신저 서비스 장치를 통해서 둘 이상의 단말장치가 참여하는 그룹 대화를 제공할 때, 상기 둘 이상의 단말 장치로부터 마지막 메시지 확인 시간을 수집하고, 상기 마지막 메시지 확인 시간을 기준으로 그 이전에 발생한 메시지를 읽은 것으로 간주하여 그룹 대화 중 발생한 메시지에 대한 확인자 수 또는 미확인자 수를 산출할 수 있다.According to the present invention, when two or more terminal devices participate in a group conversation through a messenger service device, it is possible to collect the last message confirmation time from the two or more terminal devices, It is possible to calculate the number of verified persons or the number of unconfirmed persons for the messages generated during the group conversation.
특히, 본 발명은 그룹 대화 중에 발생하는 메시지를 서버 장치에서 보관하지 않고, 멤버 테이블을 통해서 그룹 대화에 참여한 단말 장치의 마지막 메시지 확인 시간만을 갱신 관리함으로써, 트래픽 발생을 최소화하면서 그룹 대화 중 발생하는 메시지의 확인자 수 또는 미확인자 수를 쉽게 산출할 수 있게 된다.In particular, according to the present invention, a message generated during a group conversation is not stored in a server device but is renewed and managed only by a last message confirmation time of a terminal device participating in a group conversation through a member table, The number of verified persons or the number of unconfirmed persons can be easily calculated.
또한, 본 발명은 카운트 테이블을 통해서, 마지막 메시지 확인 시간으로부터 산출되는 각 그룹 대화 별로 발생한 메시지의 확인자 수 또는 미확인자 수에 대한 카운트 값을 관리하되, 상기 카운트 테이블에 기록된 정보를 일정 주기로 삭제함으로써, 최소의 메모리 용량으로 그룹 대화 중 발생한 메시지의 확인자 수 또는 미확인자 수를 관리할 수 있게 된다.The present invention also provides a method of managing a count value for a number of identifiers or unconfirmed messages of a message generated for each group conversation calculated from a last message check time through a count table, The minimum memory capacity allows to manage the number of verified or unconfirmed messages in the group conversation.
아울러, 본 발명은 통지 테이블을 통해서, 메시지의 확인자 수 혹은 미확인자 수에 변경이 발생한 그룹 대화를 별도로 관리하고, 통지 테이블에 기록된 그룹 대화 별로 일정 주기로 메시지 확인 정보에 변경 사항이 있음을 알리는 알림 메시지를 통지하도록 함으로써, 트래픽 발생을 최소화하면서 메시지의 확인자 수 또는 미확인자 수를 관리할 수 있게 된다.Further, according to the present invention, a group conversation in which a change in the number of verifications of a message or an unconfirmed number is separately managed through a notification table, and a notification message So that it is possible to manage the number of identifiers or unconfirmed number of messages while minimizing traffic generation.
도 1은 본 발명의 일 실시 예에 따른 메신저 서비스 시스템의 전체 구성을 나타낸 블럭도이다.
도 2는 본 발명의 일 실시 예에 따른 단말 장치의 주요 구성을 나타낸 블럭도이다.
도 3은 본 발명의 일 실시 예에 따른 메신저 서비스 장치의 주요 구성을 나타낸 블럭도이다.
도 4는 본 발명의 일 실시 예에 따른 메신저 서비스 장치와 단말 장치 간의 연동 과정을 설명하기 위한 흐름도이다.
도 5 내지 도 7은 본 발명의 일 실시 예에 따른 메신저 서비스 장치의 메신 저 서비스 제공 방법을 나타낸 순서도이다.
도 8은 본 발명의 일 실시 예에 따른 단말 장치의 메신저 서비스 제공 방법을 나타낸 순서도이다.
도 9는 본 발명의 일 실시 예에 따른 메신저 서비스 제공 방법을 설명하기 위한 화면 예시도이다.1 is a block diagram illustrating an overall configuration of a messenger service system according to an embodiment of the present invention.
2 is a block diagram illustrating a main configuration of a terminal apparatus according to an embodiment of the present invention.
3 is a block diagram illustrating a main configuration of a messenger service apparatus according to an embodiment of the present invention.
4 is a flowchart illustrating an interworking process between a messenger service device and a terminal device according to an embodiment of the present invention.
5 to 7 are flowcharts illustrating a method for providing a messenger service in a messenger service apparatus according to an embodiment of the present invention.
8 is a flowchart illustrating a method of providing a messenger service of a terminal according to an exemplary embodiment of the present invention.
9 is a diagram illustrating an exemplary screen for explaining a method of providing a messenger service according to an embodiment of the present invention.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It should be noted that the same constituent elements are denoted by the same reference numerals as possible throughout the drawings.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.The terms and words used in the present specification and claims should not be construed to be limited to ordinary or dictionary meanings and the inventor is not limited to the concept of terminology for describing his or her invention in the best way. It should be interpreted as meaning and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention, and not all of the technical ideas of the present invention are described. Therefore, It is to be understood that equivalents and modifications are possible.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.Also, terms including ordinal numbers such as first, second, etc. are used to describe various elements, and are used only for the purpose of distinguishing one element from another, Not used. For example, without departing from the scope of the present invention, the second component may be referred to as a first component, and similarly, the first component may also be referred to as a second component.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.In addition, when referring to an element as being "connected" or "connected" to another element, it means that it can be connected or connected logically or physically. In other words, it is to be understood that although an element may be directly connected or connected to another element, there may be other elements in between, or indirectly connected or connected.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Also, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. It is also to be understood that the terms such as " comprising "or" having ", as used herein, are intended to specify the presence of stated features, integers, It should be understood that the foregoing does not preclude the presence or addition of other features, numbers, steps, operations, elements, parts, or combinations thereof.
도 1은 본 발명의 일 실시 예에 따른 메신저 서비스 시스템의 전체 구성을 나타낸 블럭도이다.1 is a block diagram illustrating an overall configuration of a messenger service system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 메신저 서비스 시스템은 통신망(10)을 통해 연결된 복수의 단말 장치(100) 및 메신저 서비스 장치(200)를 포함하여 구성될 수 있다.Referring to FIG. 1, a messenger service system of the present invention may include a plurality of
이와 같은 구성을 포함하는 메신저 서비스 시스템은 메신저 서비스 장치(200)를 통해서 복수의 단말 장치(100) 간에 텍스트, 영상, 음성, 이미지 중 하나 이상을 포함하는 메시지를 전달하며, 상기 메시지에 대한 사용자들의 확인 상태를 나타내는 메시지 확인 정보를 산출하여 상기 둘 이상의 단말 장치(100)에 제공하게 된다. 여기서, 메시지 확인 정보는, 그룹 대화에 참여한 사용자 중 해당 메시지를 확인한 사용자의 수로 정의된 확인자 수 또는 그룹 대화에 참여한 사용자 중 해당 메시지를 확인하지 못한 미확인자 수가 될 수 있다.The messenger service system including such a configuration delivers a message including at least one of text, image, voice, and image between a plurality of
이때, 상기 복수의 단말 장치(100)는 메신저 서비스를 이용하는 사용자의 장치를 의미하는 것으로서, 사용자가 메시지를 작성하여 송신을 요청하고, 다른 사용자의 메시지를 확인할 수 있는 장치이다.Here, the plurality of
이를 위하여, 상기 복수의 단말 장치(100)는 메신저 서비스 장치(200)와 연동하여 메신저 서비스 기능을 수행하도록 구현된 응용프로그램을 탑재하고, 상기 응용프로그램의 실행을 통해서 상술한 메신저 서비스를 사용자에게 제공할 수 있다. 아울러, 상기 둘 이상의 단말 장치(100)는 상기 응용프로그램을 탑재하지 않더라도, 클라우드 컴퓨팅 방식을 통해 외부 서버(도시 생략)를 통해서 메신저 프로그램을 실행하거나, 상기 메신저 서비스 장치(200)를 통해서 메신저 프로그램을 실행할 수 도 있다.To this end, the plurality of
특히, 본 발명의 실시 예에 따른 단말 장치(100)는 다른 단말 장치를 지정하여 그룹 대화를 요청할 수 있다. 이때, 그룹 대화에 참여하는 단말 장치(100)들은 대화창을 통해서 그룹 대화중 발생한 메시지를 사용자에게 제공할 수 있다. 여기서, 그룹 대화 중 발생한 메시지는, 그룹 대화에 참여한 단말 장치(100) 들간에 교환되는 메시지로서, 그룹 대화에 참여한 단말 장치(100) 중 어느 하나로부터 송신된 메시지, 또는 그룹 대화에 참여한 단말 장치(100)가 그룹 대화에 참여한 다른 단말 장치로부터 수신한 메시지를 의미할 수 있다.In particular, the
이때, 본 발명의 실시 예에 따른 단말 장치(100)는 자신이 송신한 메시지 및 다른 단말 장치가 송신한 메시지를 수신하여 저장하고, 사용자의 요청에 따라서 저장된 메시지를 소정 기준(예를 들어, 시간 또는 사용자 별로)으로 정렬하여 표시하게 된다. 이렇게, 단말 장치(100)에 의해 사용자가 확인할 수 있도록 대화창에 메시지가 표시된 경우, 사용자에 의해 메시지가 확인된 것으로 간주한다.At this time, the
본 발명에 따른 단말 장치(100)는 그룹 대화에서 발생한 메시지별 확인자 수 또는 미확인자 수를 산출할 수 있도록, 사용자 요청에 의해 마지막 메시지가 표시될 때, 마지막 메시지 확인 시간을 메신저 서비스 장치(200)로 전송한다. 여기서, 마지막 메시지 확인 시간은, 표시된 마지막 메시지에 대응하는 시간 정보로서, 상기 마지막 메시지가 단말 장치(100)에서 표시된 시간 또는 상기 마지막 메시지의 메시지 식별 정보에 포함된 시간 정보가 될 수 있다. 참고로, 본 발명에 따른 메신저 서비스에 있어서, 그룹 대화 중 발생하는 다수의 메시지들을 식별하기 위하여, 상기 메시지별 메시지 식별 정보를 부여하는데, 이때, 상기 메시지 식별 정보는 메시지가 발생된 시점을 기준으로 하는 시간 정보를 포함한다. 이 경우, 본 발명에 따른 마지막 메시지 확인 시간은 상기 메시지 식별 정보에 포함된 시간 정보를 이용할 수도 있다.The
아울러, 상기 단말 장치(100)는 마지막 메시지 확인 시간을 최소 제1 주기 이상의 간격으로 전송할 수 있다. 예를 들어, 상기 단말 장치(100)는 마지막 메시지가 표시될 때마다 상기 마지막 메시지 확인 시간을 전송하되, 이전에 마지막 메시지 확인 시간을 전송한 후 제1 주기가 경과되지 않은 경우, 소정 시간 대기하여, 상기 제1 주기가 경과된 후에 마지막 메시지 확인 시간을 전송한다.In addition, the
아울러, 상기 단말 장치(100)는 사용자의 조작(예를 들어, 스크롤)에 따라서 대화창에 그룹 대화중 발생한 하나 이상의 메시지들을 표시하기 전에, 상기 하나 이상의 메시지에 대한 확인 정보를 메신저 서비스 장치(200)로 요청할 수 있다. 이때, 상기 단말 장치(100)는, 메시지 확인 정보를 요청할 때, 상기 하나 이상의 메시지들의 식별 정보를 함께 전송한다.In addition, the
그리고, 상기 단말 장치(100)는 상기 메시지 확인 정보 요청에 대응하여 메신저 서비스 장치(200)로부터 전송된 메시지 확인 정보에 따라서, 상기 하나 이상의 메시지를 표시할 때, 그 메시지의 확인자 수 혹은 미확인자 수를 함께 표시할 수 있다. 또한, 상기 단말 장치(100)는 메신저 서비스 장치(200)로부터 메시지 확인 정보가 변경되었음을 통지하는 알람 메시지의 수신 시, 상기 메신저 서비스 장치(200)로 메시지 확인 정보를 요청할 수 있다.When displaying the at least one message according to the message confirmation information transmitted from the
즉, 메신저 서비스 장치(200)로부터 전송된 알림 메시지에 따라서, 메시지 확인 정보가 변경된 경우에만, 상기 메시지 확인 정보를 요청함으로써, 불필요한 트래픽 발생을 줄일 수 있다.That is, according to the notification message transmitted from the
상기 메신저 서비스 장치(200)는 이러한 둘 이상의 단말 장치(100)와 연동하여, 둘 이상의 단말 장치(100) 간의 메시지 전달을 제어하고, 다수 단말 장치(100)의 메시지 확인 정보를 관리한다. 아울러, 상기 메신저 서비스 장치(200)는 둘 이상의 단말 장치(100) 간에 전달되는 메시지를 소정 시간(예를 들어, 상대 단말 장치에서 확인하는 시점)까지 일시적으로 저장할 수 있다.The
이 외에도, 메신저 서비스 장치(200)는 둘 이상의 단말 장치(10)로 메신저 서비스를 제공하기 위해, 사용자들에 대해 상태, 수신모드, 메시지 수신자 리스트 및 가입자 환경 정보를 관리하고, 유/무선 인터넷에 접속 중인(On-line) 사용자들 간에 메시지를 전달을 위한 세션, 즉 대화 채널을 관리할 수 있다. 또한, 메신저 서비스 장치(200)는 SIP(Session Initiation Protocol) 호 처리 및 MSRP(Message Session Relay Protocol) 릴레이 기능 등을 수행할 수 있으며, 이를 통해 둘 이상의 단말 장치(100) 간에 메신저 서비스를 제공할 수 있다.In addition, the
특히, 본 발명은 둘 이상의 단말 장치(100) 간에 메시지가 교환되는 그룹 대화에 관한 것으로서, 상기 메신저 서비스 장치(200)는 그룹 대화를 통해 메시지가 전달되는 중에, 그룹 대화에 참여한 둘 이상의 단말 장치(100)로부터 마지막 메시지 확인 시간을 수집하고, 메시지 발생 시간과 상기 마지막 메시지 확인 시간을 비교하여, 마지막 메시지 확인 시간 이전에 발생한 메시지에 대해서는 해당 단말 장치(100)에서 확인한 것으로 간주함으로써, 그룹 대화 중 발생하는 메시지 별로 메시지 확인 정보, 즉, 확인자 수 혹은 미확인자 수를 카운트하며, 그 카운트 값을 상기 그룹 대화에 참여환 둘 이상의 단말 장치(100)로 제공한다.In particular, the present invention relates to a group conversation in which a message is exchanged between two or more
이러한 메신저 서비스 장치(200)는 상술한 바와 같은 동작을 지원하기 위해 다양한 장치의 집합으로써 구현될 수 있다. 예컨대 관련된 다양한 정보를 저장하고 관리할 수 있는 데이터베이스 서버, 파일 처리를 위한 파일 서버, 단말 장치(100)로 통지 메시지와 같은 정보를 푸쉬(push)하기 위한 푸쉬 서버 등을 포함하여 구현될 수 있다.The
이 외에도 시스템 설계 방식에 따라 다양한 서버들을 포함하여 구현될 수 있다. 또한 상기의 서버에 대응하는 기능을 하나의 모듈로써 하나의 메신저 서비스 장치(200) 내에 구현될 수도 있다.In addition, various servers can be implemented according to the system design method. Further, the functions corresponding to the servers described above may be implemented in one
상술한 바와 같은 단말 장치(100) 및 메신저 서비스 장치(200)의 주요 구성 및 보다 구체적인 동작 방법에 대해서는 후술하여 설명하도록 하며, 본 발명의 실시 예에 따른 단말 장치(100) 및 메신저 서비스 장치(200)에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.The
또한, 본 발명의 실시 예에 따른 둘 이상의 단말 장치(100) 및 메신저 서비스 장치(200)는 통신망(10)을 통해 데이터를 송수신함으로써, 상술한 동작을 수행하게 되는 것으로서, 이때 통신망(10)은 현재 공지되었거나 현재 개발 중으로 향후 사용될 다양한 형태의 통신망이 이용될 수 있다.The two or more
예컨대, WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신 방식 또는 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신 방식을 이용할 수 있다.For example, a wireless communication method such as WLAN (Wireless LAN), Wi-Fi, WiBro, WiMAX, HSDPA or Ethernet, xDSL (ADSL, VDSL) , Hybrid Fiber Coaxial Cable (HFC), Fiber to the Curb (FTTC), and Fiber To The Home (FTTH).
먼저, 본 발명에 따른 메신저 서비스를 이용하는 사용자측의 단말 장치(100)의 구성을 도 2를 참조하여 설명한다.First, the configuration of a user-
도 2는 본 발명의 일 실시 예에 따른 단말 장치의 주요 구성을 나타낸 블럭도이다.2 is a block diagram illustrating a main configuration of a terminal apparatus according to an embodiment of the present invention.
본 발명의 실시 예에 따른 단말 장치(100)은 통신망(10)을 통한 통신이 가능하면서 사용자가 이용 가능한 장치로서, 예를 들어, 스마트폰, 태블릿 PC뿐만 아니라 유/무선 인터넷에 접속 가능한 다양한 종류의 단말 장치가 될 수 있다.The
그러나, 본 발명의 실시 예에 따른 단말 장치(100)는 그 종류에 관계없이, 기본적으로 도 1에 도시된 바와 같은 구성을 포함하게 된다.However, the
구체적으로, 본 발명의 실시 예에 따른 단말 장치(100)는 통신부(110), 입력부(120), 출력부(130), 저장부(140) 및 제어부(150)를 포함하여 구성될 수 있다.The
각 구성 요소에 대해 보다 구체적으로 설명하면, 통신부(110)는 통신망(10)을 통해서 데이터를 송수신하기 위한 구성으로서, 특히, 본 발명에 있어서, 통신망(10)을 통해서 메신저 서비스 장치(200)와 메신저 서비스와 관련된 데이터를 송수신한다.More specifically, the
예컨대 통신부(110)는 메신저 서비스의 대화창 화면을 통해 입력된 메시지를 상기 메신저 서비스 장치(200)로 전송하고, 상기 메신저 서비스 장치(200)로부터 전달된 다른 단말 장치(100)의 메시지를 수신할 수 있다.For example, the
또한, 통신부(110)는 상기 송수신되는 메시지와 관련된 메시지 확인 정보(예를 들어, 확인자 수 혹은 미확인자 수)를 요청하고, 그에 대한 응답으로 메시지 확인 정보를 수신할 수 있다.In addition, the
입력부(120)는 사용자로부터 입력되는 숫자 및 문자 정보 등의 다양한 정보, 각종 기능 설정 및 단말 장치(100)의 기능 제어와 관련하여 입력되는 신호를 제어부(150)로 전달하기 위한 구성이다. 특히, 본 발명에 있어서, 입력부(120)는 메신저 서비스를 실행하기 위한 사용자의 입력 수단을 포함한다. 또한, 입력부(120)는 메신저 서비스 중 기 설정된 동작의 지시하기 위한 사용자 입력 수단을 지원한다.The
이러한 입력부(120)는 키보드나 키패드와 같은 키 입력 수단, 터치센서나 터치 패드와 같은 터치 입력 수단, 음성 입력 수단, 자이로 센서, 지자기 센서, 가속도 센서와 근접 센서, 그리고 카메라 중 적어도 하나 이상을 포함하여 이루어지는 제스처 입력 수단을 포함할 수도 있다. 이 외에도 현재 개발 중이거나 향후 개발될 수 있는 모든 형태의 입력 수단이 포함될 수 있다.The
출력부(130)는 단말 장치(100)의 기능 수행 중에 발생하는 일련의 동작 상태 및 동작 결과 등에 대한 정보를 사용자가 인지 가능한 형태로 제공하기 위한 구성이다. 본 발명에 있어서, 상기 출력부(130)는 메신저 서비스 실행 중에 발생되는 다양한 정보들을 시각적으로 표시할 수 있다. 예컨대, 메신저 서비스 이용 및 메시지 작성을 위한 메뉴를 비롯하여 사용자가 입력한 메시지, 상대방으로부터 수신된 메시지를 표시하게 된다. 특히, 본 발명의 실시 예에 따른 출력부(130)는 제어부(150)의 제어에 따라서, 대화 중에 송수신되는 메시지와 함께, 상기 메시지의 확인 정보(확인자 수 또는 미확인자 수)를 표시할 수 있다.The
이러한 출력부(130)는 상술한 바와 같이 입력부(120)와 함께 하나의 터치패널(또는 터치스크린)의 형태로 구현될 수 있으며, 상기 입력부(120)와 함께 구현되는 경우, 사용자의 기 설정된 동작, 예컨대, 터치 동작에 따라 발생되는 다양한 정보들을 표시할 수 있다.The
또한, 출력부(130)는 LCD(Liquid Crystal Display), TFT-LCD(Thin Film Transistor LCD), OLED(Organic Light Emitting Diodes), 발광다이오드(LED), AMOLED(Active Matrix Organic LED), 플렉시블 디스플레이(Flexible display) 및 3차원 디스플레이(3 Dimension) 등으로 구성될 수 있다. 또한 이들 중 일부 디스플레이는 그를 통해 외부를 볼 수 있도록 투명형 또는 광투과형으로 구성될 수 있다. 이는 TOLED(Transparant OLED)를 포함하는 투명 디스플레이 형태로 구성될 수 있다.The
저장부(140)는 단말 장치(100)의 동작에 필요한 OS 프로그램, 응용 프로그램을 비롯하여, 프로그램 실행 중에 발생되는 다양한 데이터를 저장하기 위한 구성이다. 특히, 본 발명에 있어서, 상기 저장부(140)는 본 발명에 따른 메신저 서비스를 수행하도록 프로그램된 메신저 프로그램을 저장할 수 있으며, 또한, 상기 메신저 프로그램의 실행에 따라서 송수신되는 메시지가 저장될 수도 있다.The
이러한, 저장부(140)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 다양한 형태의 저장 매체를 포함하여 구현될 수 있다.The
마지막으로 제어부(150)는 단말 장치(100)의 동작 전반을 제어하기 위한 구성으로서, 프로세서와 상기 프로세서에 의해 구동되는 OS프로그램 및 하나 이상의 응용 프로그램으로 구현될 수 있다.Finally, the
특히, 본 발명에 있어서, 상기 제어부(150)는 메신저 서비스를 처리하기 위한 메신저 서비스 모듈(150)을 포함한다. 상기 메신저 서비스 모듈(150)은 하드웨어, 소프트웨어 혹은 하드웨어와 소프트웨어의 조합으로 구현될 수 있는 것으로서, 예를 들어, 상기 제어부(150)가 저장부(140)에 저장된 메신저 프로그램을 실행함에 의해 구현될 수 있다. 한편, 상기 메신저 서비스 모듈(150)은 상기 제어부(150)의 기능 중 메신저 서비스와 관련된 처리를 수행하는 기능을 독립적으로 표현한 것으로 이해될 수 도 있다.In particular, in the present invention, the
이러한 메신저 서비스 모듈(150)은, 입력부(120)를 통해 사용자 요청에 따라서 동작하여, 메신저 서비스 화면을 출력부(130)로 출력한다.The
특히, 상기 메신저 서비스 모듈(150)은 입력부(120)를 통해서 사용자의 그룹 대화가 요청되면, 대화창 화면을 상기 출력부(130)로 출력한 후, 상기 대화창 화면을 통해서 그룹 대화 중에 송수신되는 메시지를 표시한다.In particular, when the user's group conversation is requested through the
아울러, 상기 메신저 서비스 모듈(150)은 상기 출력부(130)를 통해 메시지 표시 후, 마지막 메시지 확인 시간을 메신저 서비스 장치(200)로 전송하여, 메시지별 확인자 수 혹은 미확인자 수를 카운트할 수 있도록 한다.In addition, the
또한, 상기 메신저 서비스 모듈(150)은, 상기 출력부(130)를 통해 메시지를 표시하기 전에, 표시될 메시지에 대한 메시지 확인 정보를 상기 메신저 서비스 장치(200)로 요청할 수 있으며, 상기 요청에 대한 응답으로 메신저 서비스 장치(200)로부터 상기 마지막 메시지 확인 시간을 기반으로 카운트된 메시지 확인 정보(확인자 수 혹은 미확인자 수)를 수신하여 상기 메시지와 함께 출력부(130)에 표시할 수 있다.In addition, the
이러한 메신저 서비스 모듈(150)을 포함하는 단말 장치(100)의 동작은 도 9를 참조하여 더 구체적으로 설명하기로 한다.The operation of the
아울러, 도 2를 통해 단말 장치(100)의 주요 구성요소에 대해 설명하였다. 그러나 도 2를 통해 도시된 구성요소가 모두 필수 구성요소인 것은 아니며, 도시된 구성요소보다 많은 구성 요소에 의해 단말 장치(100)가 구현될 수도 있고, 그 보다 적은 구성요소에 의해 단말 장치(100)가 구현될 수도 있다.The main components of the
다음으로, 도 3은 본 발명의 일 실시 예에 따른 메신저 서비스 장치의 주요 구성을 나타낸 블럭도이다.Next, FIG. 3 is a block diagram illustrating a main configuration of a messenger service apparatus according to an embodiment of the present invention.
도 3을 참조하면, 메신저 서비스 장치(200)는, 통신부(210)와, 저장부(220)와, 메신저 서비스 제어부(230)를 포함하여 구성될 수 있다.3, the
통신부(210)는 통신망(10)을 통해서 하나 이상의 단말 장치(100)와 메신저 서비스와 관련된 데이터를 송수신하기 위한 구성이다. 특히, 통신부(210)는 어느 하나의 단말 장치(100)로부터 전송된 메시지를 수신하여, 대화중인 하나 이상의 다른 단말 장치(100)로 전달할 수 있다. 아울러, 통신부(210)는 상기 하나 이상의 단말 장치(100)로부터 메시지 확인 정보를 산출하기 위한 마지막 메시지 확인 시간을 수신하거나, 각 메시지의 메시지 확인 정보를 상기 하나 이상의 단말 장치(100)로 전송할 수 있다.The
저장부(220)는 메신저 서비스 장치(200)의 구동에 필요하거나 구동 중에 발생하는 프로그램 및 데이터를 저장하기 위한 구성이다. 특히, 상기 저장부(220)는 메신저 서비스와 관련된 다양한 정보들을 저장할 수 있으며, 이를 위하여, 메신저 서비스를 통해 교환되는 메시지를 저장하는 메시지 DB(221)와, 그룹 대화 별로 생성되어, 해당 그룹 대화에 참여하는 단말 장치(100)들을 관리하기 위한 멤버 테이블(222), 그룹 대화 별로 생성되어, 해당 그룹에서 발생한 메시지별로 메시지 확인 정보(확인자 수 혹은 미확인자 수)를 기록하기 위한 카운트 테이블(223), 및 메시지 확인 정보에 변경이 발생한 그룹 대화의 식별 정보를 기록하는 통지 테이블(224) 중 하나 이상을 저장할 수 있다.The
그리고, 메신저 서비스 제어부(230)는, 메신저 서비스의 수행 전반을 제어하기 위한 구성이다. 구체적으로, 메신저 서비스 제어부(230)는 메신저 서비스를 통한 둘 이상의 단말 장치(100) 간의 대화방 개설, 지정된 둘 이상의 단말 장치(100) 간의 메시지 송수신 제어, 송수신되는 메시지에 대한 메시지 확인 정보 관리를 수행한다.The messenger
특히, 메신저 서비스 제어부(230)는 그룹 대화를 통해 메시지가 전달되는 중에, 그룹 대화에 참여한 둘 이상의 단말 장치(100)로부터 마지막 메시지 확인 시간을 수집하고, 메시지 발생 시간과 상기 마지막 메시지 확인 시간을 비교하여, 마지막 메시지 확인 시간 이전에 발생한 메시지에 대해서는 해당 단말 장치(100)에서 확인한 것으로 간주함으로써, 그룹 대화 중 발생하는 메시지 별로 메시지 확인 정보, 즉, 확인자 수 혹은 미확인자 수를 카운트하며, 그 카운트 값을 상기 그룹 대화에 참여환 둘 이상의 단말 장치(100)로 제공한다.In particular, the messenger
이러한 메신저 서비스 제어부(230)의 동작은 후술하는 메신저 서비스 제공 방법에 대한 설명을 통해 보다 쉽게 이해될 수 있다.The operation of the messenger
이어서, 상술한 바와 같이 구성된 단말 장치(100) 및 메신저 서비스 장치(200)에 의한 메신저 서비스 제공 방법을 도 4를 참조하여 개략적으로 설명한다.Next, a method of providing a messenger service by the
도 4는 본 발명의 일 실시 예에 따른 메신저 서비스 장치와 단말 장치 간의 연동 과정을 설명하기 위한 흐름도이다.4 is a flowchart illustrating an interworking process between a messenger service device and a terminal device according to an embodiment of the present invention.
도 4를 참조하면, 복수의 단말 장치(100) 중 어느 하나, 예를 들어, 제1 단말 장치(101)는 다른 단말 장치(예를 들어, 제2 내지 제n 단말 장치(102~10n))을 지정하여 그룹 대화 요청을 전송할 수 있다(S105). 상기 그룹 대화 요청은, 상기 제1 단말 장치(101)에서 사용자 입력 신호에 따라서 생성되어 메신저 서비스 장치(200)로 전송된다. 아울러, 상기 제1 단말 장치(101)는 출력부(130)를 통해서 대화창을 표시할 수 있다.4, any one of the plurality of
이때, 그룹 대화 요청을 수신한 메신저 서비스 장치(200)는 먼저, 그룹 대화를 식별하기 위한 그룹 대화 식별 정보를 생성하며, 아울러, 상기 그룹 대화에서 이루어지는 메시지 관리를 위해 필요한 멤버 테이블(222), 카운트 테이블(223)을 할당한다(S110). 여기서, 상기 생성된 그룹 대화 식별 정보는 상기 제1 단말 장치(101)로 전송될 수 있다.At this time, the
그리고, 멤버 테이블(222)은, 해당 그룹 대화에 참여한 단말 장치 및 각 단말 장치의 마지막 메시지 확인 시간을 관리하기 위한 테이블로서, 하기의 표 1과 같이 사용자 식별 정보와 마지막 확인 시간 정보로 구성될 수 있다.The member table 222 is a table for managing the last message confirmation times of the terminal devices participating in the group conversation and the respective terminal devices and may be constituted by user identification information and last confirmation time information as shown in Table 1 below have.
상기 사용자 식별 정보는, 메신저 서비스를 이용하는 사용자를 구분하기 위해 할당되는 고유 정보로서, 메신저 서비스 가입 시 사용자별로 할당되거나, 사용자가 이용하는 단말 장치에 부여된 이동전화번호 등이 될 수 있다. 아울러, 마지막 메시지 확인 시간은, 사용자에 의해 확인된 마지막 메시지에 대응되는 시간 정보로서, 출력부(130)을 통해 마지막 메시지가 표시될 때, 단말 장치(100)의 내부 클럭에 의해 측정된 시간 정보가 될 수 있다. 또한, 상기 마지막 메시지 확인 시간은, 상기 확인된 마지막 메시지에 할당된 시간 정보가 될 수 있다. 더 구체적으로 설명하면, 그룹 대화 중 발생하는 각 메시지를 식별하기 위하여 메시지별로 메시지 식별 정보를 부여하는데, 이때, 상기 메시지 식별 정보는 해당 메시지가 전송된 시간 정보를 포함할 수 있다. 따라서, 메시지 식별 정보에 포함된 시간 정보를 마지막 메시지 확인 시간으로 이용할 수 도 있다. 표 1에 예시된 마지막 확인 시간은 후자의 방법으로 추출된 시간 정보이다. 아울러, 상기 마지막 확인 시간은, 시/분/초 등의 시간 정보로 표현될 수 도 있고, 일정 시간 단위로 증가되는 타이머 값으로 표현될 수 도 있다. 하기의 표 1에서는, 마지막 확인 시간이, 일정 시간 단위로 증가되는 타이머 값으로 표현되었다.The user identification information may be unique information allocated to distinguish a user who uses a messenger service, and may be assigned to each user upon joining a messenger service, or a mobile phone number assigned to a terminal device used by the user. In addition, the last message check time is time information corresponding to the last message confirmed by the user. When the last message is displayed through the
그리고, 카운트 테이블은(223)은, 해당 그룹 대화에서 발생한 메시지별로 메시지 확인 정보(확인자 수 혹은 미 확인자 수)를 관리하기 위한 테이블로서, 하기의 표 2와 같이, 메시지 식별 정보와 카운트 값으로 구성될 수 있다.The count table 223 is a table for managing message confirmation information (number of resolvers or unconfirmed number) for each message generated in the group conversation, and is composed of message identification information and a count value as shown in Table 2 below. .
본 발명의 일 실시 예에서, 상기 카운트 테이블(223)은, 메시지 확인 정보를 순차적으로 기록하며, 기 설정된 임계 시간이 경과된 메시지 확인 정보를 삭제함으로써, 제한된 메모리 용량 내에서, 불필요한 메시지 확인 정보는 삭제하고 최신의 메시지 확인 정보만을 관리할 수 있도록 한다.In one embodiment of the present invention, the count table 223 sequentially records message confirmation information, and deletes message confirmation information that has passed a predetermined threshold time, so that unnecessary message confirmation information So that only the latest message confirmation information can be managed.
이러한 멤버 테이블(222) 및 카운트 테이블(223)은 그룹 대화 별로, 즉, 그룹 대화 식별 정보 별로 생성된다.The member table 222 and the count table 223 are generated for each group conversation, that is, for each group conversation identification information.
한편, 그룹 대화를 요청한 제1 단말 장치(101)는 사용자 입력 신호에 따라서 다른 단말 장치로 전달할 메시지를 작성하여, 메시지 송신 요청을 메신저 서비스 장치(200)로 전송할 수 있다(S115). 상기 메시지 송신 요청에는, 제1 단말 장치(101)에서 작성한 메시지 및 그룹 대화 식별 정보를 포함할 수 있다.Meanwhile, the first
이를 수신한 메신저 서비스 장치(200)는 상기 메시지 송신 요청에 포함된 메시지를, 상기 그룹 대화 식별 정보에 대응하는 그룹 대화에 참여하는 제2 내지 제n 단말 장치(102~10n)로 전달한다(S120). 이를 위하여, 상기 메신저 서비스 장치(200)는 그룹 대화 식별 정보를 인덱스로 하여, 해당 그룹에 참여하는 단말 장치 정보, 즉, 사용자 식별 정보를 별도로 관리하거나, 표 1과 같은 멤버 테이블(222)을 통해 확인할 수 있다.The
그리고, 메신저 서비스 장치(200)로부터 메시지를 수신한 제2 내지 제n 단말 장치(102~10n)는 각각 수신된 메시지를 저장부(140)에 저장하고, 이어, 입력부(102)의 사용자 입력 신호에 따라서 저장된 메시지를 가져와 출력부(130)를 통해 표시할 수 있다.The second to nth
본 발명에 있어서, 이와 같이 수신된 메시지가 출력부(130)에 의해 표시된 경우, 사용자가 해당 메시지를 확인한 것으로서 판단한다.In the present invention, when the received message is displayed by the
상기와 같이, 메시지를 수신한 단말 장치들 중 어느 하나, 예를 들어, 제2 단말 장치(102)에서 사용자의 메시지 확인이 이루어지면, 제2 단말 장치(102)는 메시지 확인을 메신저 서비스 장치(200)로 통지하게 된다(S130). 이때, 상기 메시지 확인의 통지는, 제2 단말 장치(102)에서 마지막 메시지 확인 시간을 전송하는 형태로 이루어진다. 이때, 상기 제2 단말 장치(102)는 마지막으로 확인한 메시지의 식별 정보를 더 전송할 수 있다.As described above, when the user's message is confirmed in any one of the terminal devices receiving the message, for example, the second
이때, 상기 제2 단말 장치(102)의 사용자는, 대화창을 조작하여, 해당 그룹 대화를 통해 발생된 복수의 메시지들을 연속적으로 확인할 수 있다.At this time, the user of the second
이 경우, 제2 단말 장치(102)는 최소 메시지 확인 주기 이상의 간격으로 상기 메시지 확인을 통지한다. 즉, 사용자가 메시지를 확인한 시점에 메시지 확인을 통지하되, 연속적으로 메시지 확인이 이루어지는 경우, 최소 메시지 확인 주기로 상기 메시지 확인을 통지함으로써, 과다한 트래픽 발생을 방지할 수 있다.In this case, the second
이렇게 그룹 대화에 참여한 단말 장치로부터 메시지 확인을 통지받은 메신저 서비스 장치(200)는, 수신된 마지막 메시지 확인 시간을 기반으로 상기 멤버 테이블(222)을 갱신한다(S135). 보다 구체적으로 설명하면, 상기 멤버 테이블(222)에서 사용자 식별 정보를 기준으로 메시지 확인을 통지한 단말 장치를 추출하고, 해당 단말 장치의 마지막 확인 시간을 수신한 마지막 메시지 확인 시간으로 변경한다.The
아울러, 상기 메신저 서비스 장치(200)의 기 설정된 조건에 따라서, 상기 메신저 서비스 장치(200)의 메신저 서비스 제어부(230)는 상기 멤버 테이블(222)에 기록된 마지막 확인 시간을 기준으로, 메시지별로 메시지 확인 정보(확인자 수 혹은 미확인자 수)를 카운트한다(S140). 예를 들어, 상기 메신저 서비스 장치(200)는 멤버 테이블(222)의 마지막 확인 시간에 변경이 발생할 경우, 혹은 그룹 대화에 참여한 어느 한 단말 장치(100)로부터 메시지 확인 정보가 요청된 경우에, 메시지 확인 정보를 카운트할 수 있다.The messenger
그리고, 상기 메신저 서비스 장치(200)는 카운트된 메시지 확인 정보를 그룹 대화에 참여한 단말 장치(100)로 제공할 수 있다(S145). 이때, 상기 메시지 확인 정보는, 요청된 단말 장치(100)에 대해서만 선택적으로 제공되어, 불필요한 트래픽 발생을 최소화할 수 있다.Then, the
상술한 바와 같이 이루어지는 본 발명에 따른 메신저 서비스 제공 과정을, 도 5 내지 도 8의 순서도를 참조하여 더 구체적으로 설명한다.The process of providing a messenger service according to the present invention as described above will be described in more detail with reference to flowcharts of FIGS. 5 to 8. FIG.
도 5 내지 도 7은 본 발명에 따른 메신저 서비스 제공 방법 중, 메신저 서비스 장치(200)에 의한 동작 과정을 나타낸 순서도로서, 이를 참조하여, 메신저 서비스 장치(200)의 동작을 구체적으로 설명하기로 한다.5 to 7 are flowcharts illustrating an operation process performed by the
먼저, 도 5는 도 4를 참조하여 설명한 메신저 서비스 제공 방법 중, 그룹 대화 식별 정보를 생성하고, 멤버 테이블(222) 및 카운트 테이블(223)을 할당한 후, 단말 장치의 메시지 확인 상태에 따라서 멤버 테이블(222)을 갱신하는 과정(S110, S135)을 더 구체적으로 나타낸 순서도이다.5, a group dialog ID information is generated, a member table 222 and a count table 223 are allocated among the messenger service providing methods described with reference to FIG. 4, And a process of updating the table 222 (S110, S135).
도 5를 참조하면, 메신저 서비스 장치(200)는, 복수의 단말 장치(100) 중 어느 하나로부터 그룹 대화 요청을 수신하면(S205), 요청된 그룹 대화를 식별하기 위한 그룹 대화 식별 정보를 생성하고(S210), 아울러, 상기 그룹 대화에서 이루어지는 메시지 관리를 위해 필요한 멤버 테이블(222) 및 카운트 테이블(223)을 할당한다(S215).5, when the
이후, 상기 메신저 서비스 장치(200)는 그룹 대화에 참여하는 둘 이상의 단말 장치(100) 중 어느 하나로부터 메시지 송신이 요청되는 지를 확인한다(S220).Thereafter, the
확인 결과, 메시지 송신 요청이 발생하면, 해당 메시지를 임시 저장하고(S225), 저장된 메시지를 그룹 대화에 참여중인 둘 이상의 단말 장치(100)로 전송한다(S230).As a result, when a message transmission request is generated, the corresponding message is temporarily stored (S225), and the stored message is transmitted to two or more
이어서, 상기 메신저 서비스 장치(200)는, 그룹 대화에 참여하고 있는 둘 이상의 단말 장치(100)로부터 메시지 확인 통지가 수신되는 지를 체크한다(S235). 상기 메시지 확인 통지는, 사용자 요청에 의해 사용자가 확인할 수 있도록 메시지를 표시한 단말 장치로부터 송신되며, 해당 단말 장치의 마지막 메시지 확인 시간이 포함된다.Next, the
따라서, 상기 메신저 서비스 장치(200)는 수신된 메시지 확인 통지로부터, 마지막 메시지 확인 시간을 추출하고, 이를 기반으로 해당 그룹 대화에 대해 할당된 멤버 테이블(222)을 갱신한다(S245). 이는 상기 메신저 서비스 장치(200)가 해당 그룹 대화에 할당된 멤버 테이블(222) 중 해당 단말 장치의 마지막 메시지 확인 시간을 상기 추출한 마지막 메시지 확인 시간으로 변경함에 의해 이루어질 수 있다.Accordingly, the
상술한 과정 중, S220 단계 ~ S245 단계는 그룹 대화가 지속되는 동안, 반복적으로 수행되어, 그룹 대화에서 발생되는 모든 메시지에 대해 지속적으로 관리되며, 메시지 확인 상태에 따라서 멤버 테이블(222)에는 각 단말 장치의 마지막 메시지 확인 시간이 갱신될 수 있다.In the above-described process, steps S220 to S245 are repeatedly performed while the group conversation is continued, and all the messages generated in the group conversation are continuously managed. In the member table 222, The last message confirmation time of the device may be updated.
다음으로, 도 6은 상기 도 4를 참조하여 설명한 메신저 서비스 제공 방법 중, 메시지 확인 정보를 산출하여 단말 장치(100)로 제공하는 과정(S140~S145)을 더 구체적으로 나타낸 순서도이다.Next, FIG. 6 is a flowchart specifically illustrating a process (S140 to S145) of calculating message confirmation information and providing the message confirmation information to the
도 6을 참조하면, 메신저 서비스 장치(200)는 그룹 대화에 참여한 단말 장치(100)로부터 메시지 확인 정보가 요청되는 지를 체크한다(S305). 여기서, 메시지 확인 정보가 요청될 때, 메시지 확인 정보를 제공받고자 하는 하나 이상의 메시지에 대한 메시지 식별 정보가 함께 전송될 수 있다.Referring to FIG. 6, the
따라서, 상기 메신저 서비스 장치(200)는 단말 장치(100)로부터 메시지 확인 정보가 요청되면, 함께 전송된 메시지 식별 정보를 기준으로 요청된 메시지의 확인 정보가 카운트 테이블(223)에 존재하는 지를 먼저 확인한다(S310).Therefore, when the message confirmation information is requested from the
이때, 상기 카운트 테이블(223)에 존재하지 않는 메시지에 대해서, 상기 메신저 서비스 장치(200)는 상기 도 5의 과정을 통해 갱신되는 멤버 테이블(222)에 기록된 각 단말 장치별 마지막 메시지 확인 시간을 기준으로, 각 단말 장치의 메시지 확인 정보(확인자수 혹은 미확인자수)를 카운트하여, 상기 카운트 테이블(223)에 기록한다(S330).At this time, with respect to a message that is not present in the count table 223, the
그리고, 상기 카운트 테이블(223)에 존재하는 메시지에 대해서, 그 메시지 확인 정보를 상기 카운트 테이블(223)로부터 추출하고(S320), 추출된 메시지 확인 정보를 응답 메시지에 포함시켜 상기 단말 장치(100)로 전송한다(S325).The message check information is extracted from the count table 223 for the message existing in the count table 223 at step S320 and the extracted message confirmation information is included in the response message, (S325).
상기 S325 단계는 상기 단말 장치(100)에서 요청된 모든 메시지에 대한 메시지 확인 정보가 카운트 테이블(223)에 존재할 때, 수행될 수 있다.The step S325 may be performed when the message check information for all the messages requested by the
상술한 바와 같이, 상기 카운트 테이블(223)은 그룹 대화에 참여한 단말 장치(100)로부터의 요청에 따라서, 혹은 멤버 테이블(222)에 기록된 마지막 확인 시간이 변경될 경우에 갱신될 수 있다.As described above, the count table 223 can be updated in response to a request from the
다음으로, 도 7은 도 4를 참조하여 설명한 메신저 서비스 제공 방법에 있어서, 메시지 확인 정보를 제공하는 과정(S145)을 더 구체적으로 나타낸 순서도이다.Next, FIG. 7 is a flowchart illustrating a process of providing message confirmation information (S145) in more detail in the messenger service providing method described with reference to FIG.
도 7을 참조하면, 메신저 서비스 장치(200)는 상기 카운트 테이블(223)의 정보가 변경되는 지를 확인한다(S405). 여기서, 카운트 테이블(223)의 정보 변경은, 특정 메시지의 메시지 확인 정보가 변경되었음을 의미하는 것으로서, 이 경우, 상기 메신저 서비스 장치(200)는 상기 정보가 변경된 카운트 테이블(223)의 그룹 대화 식별 정보를 통지 테이블(224)에 기록한다(S410).Referring to FIG. 7, the
상기 통지 테이블(224)은, 메신저 서비스 장치(200)에서 단말 장치로 제공할 정보가 존재하는 그룹 대화를 관리하는 테이블로서, 메시지 확인 정보가 변경된 그룹 대화의 식별 정보가 기록된다.The notification table 224 is a table for managing a group conversation in which information to be provided to the terminal device exists in the
그리고, 상기 메신저 서비스 장치(200)는 기 설정된 통지 주기(예를 들어, 1sec)에 도달되었는 지를 확인한다(S415).Then, the
확인 결과, 기 설정된 통지 주기가 되면, 상기 메신저 서비스 장치(200)는, 통지 테이블(224)에 기록된 각 그룹 대화에 참여한 단말 장치(100)들로, 메시지 확인 정보가 변경되었음을 알리는 알람 메시지를 전송한다(S420).As a result of the confirmation, when the predetermined notification cycle is reached, the
이렇게 알람 메시지를 수신한 단말 장치(100)는 메시지 확인 정보를 메신저 서비스 장치(200)로 요청하여, 변경된 메시지 확인 정보를 수신할 수 있다. 이때, 메시지 확인 정보의 전송은 도 6에서 설명한 바와 같이 이루어질 수 있다.The
상술한 바에 따르면, 메시지 확인 정보가 변경된 경우, 메신저 서비스 장치(200)가 이를 통지해 줌으로써, 그룹 대화에 참여한 단말 장치(100)들이 주기적으로 메시지 확인 정보를 요청할 필요 없이, 알림 메시지의 수신에 따라서 메시지 확인 정보가 변경될 때 메시지 확인 정보를 요청하여 수신하도록 할 수 있으며, 그 결과 불필요한 트래픽 발생을 최소화할 수 있다.According to the above description, when the message confirmation information is changed, the
다음으로, 도 8을 참조하여 본 발명에 따른 메신저 서비스 제공 방법 중, 단말 장치(100)의 동작을 더 구체적으로 설명하기로 한다.Next, the operation of the
도 8은 본 발명의 일 실시 예에 따른 단말 장치의 메신저 서비스 제공 방법을 나타낸 순서도로서, 특히, 그룹 대화에 참여한 단말 장치에서 메시지 수신 이후의 과정을 나타낸 순서도이다.FIG. 8 is a flowchart illustrating a method of providing a messenger service of a terminal according to an exemplary embodiment of the present invention. In particular, FIG. 8 is a flowchart illustrating a process after receiving a message in a terminal device participating in a group conversation.
도 8을 참조하면, 그룹 대화에 참여 중인 단말 장치(100)는 메신저 서비스 장치(200)를 통해서 그룹 대화중 발생한 메시지를 수신하면(S505), 상기 수신된 메시지를 저장부(140)에 저장한다(S510). 이는 사용자의 개입 없이 이루어지는 과정으로, 단말 장치(100)의 사용자에 의한 메시지 확인은 아직 이루어지지 않은 상태이다.Referring to FIG. 8, the
상기 상태에서, 단말 장치(100)는 메시지가 수신되었음을 팝업 창 혹은 아이콘 등을 통해 출력부(130)에 표시함으로써, 사용자에게 수신된 메시지가 있음을 알릴 수 있다.In this state, the
이후, 단말 장치(100)는 입력부(120)를 통해서 수신된 메시지의 표시 요청이 발생하면(S520), 저장된 메시지를 가져와 출력부(130)의 대화창을 통해 표시하는데, 그에 앞서, 대화창을 통해 표시될 하나 이상의 메시지 식별 정보를 추출한다(S525).The
그리고, 단말 장치(100)는 추출한 하나 이상의 메시지 식별 정보에 대한 메시지 확인 정보를 메신저 서비스 장치(200)로 요청한다(S530).Then, the
이후, 단말 장치(100)는, 메신저 서비스 장치(200)가 도 6의 과정을 통해서 각 메시지의 메시지 확인 정보를 수신한다(S535).Then, the
그리고, 단말 장치(100)는 도 9에 도시된 바와 같이, 상기 추출한 메시지 식별 정보에 대응하는 메시지(91) 및 상기 수신한 메시지 확인 정보(92)를 매핑하여 상기 출력부(130)의 대화창을 통해 표시한다(S540).9, the
이에 단말 장치(100)의 사용자는 최근 수신한 메시지 및 그에 대한 확인자 수 또는 미확인자 수를 알 수 있게 된다.Accordingly, the user of the
아울러, 상기 단말 장치(100)는, S540 단계와 같이 메시지 표시가 이루어지면, 기 설정된 최소 메시지 확인 주기 이상으로, 마지막 메시지 확인 시간을 추출하여 메신저 서비스 장치(200)로 전송한다(S545, S550).In addition, when the message is displayed as in step S540, the
이에, 메신저 서비스 장치(200)는 그룹 대화에 참여한 단말 장치(100)별 마지막 메시지 확인 시간을 지속적으로 수집하여 갱신할 수 있게 된다.Accordingly, the
본 발명에 따른 메신저 서비스 제공 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method of providing a messenger service according to the present invention may be implemented in a form of software readable by various computer means and recorded in a computer-readable recording medium. Here, the recording medium may include program commands, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on a recording medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. For example, the recording medium may be an optical recording medium such as a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, a compact disk read only memory (CD-ROM), a digital video disk (DVD) Includes a hardware device that is specially configured to store and execute program instructions such as a magneto-optical medium such as a floppy disk and a ROM, a random access memory (RAM), a flash memory, do. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like. Such a hardware device may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
아울러, 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.Moreover, although the present specification and drawings describe exemplary device configurations, the functional operations and subject matter implementations described herein may be implemented with other types of digital electronic circuitry, or may be implemented using any of the structures disclosed herein and their structural equivalents Firmware, or hardware, or any combination of the foregoing. Implementations of the subject matter described herein may be embodied in one or more computer program products, i. E. One for computer program instructions encoded on a program storage medium of the type for < RTI ID = 0.0 & And can be implemented as a module as described above. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that affects the machine readable propagation type signal, or a combination of one or more of the foregoing.
본 발명에 따른 장치에 탑재되고 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.A computer program (also known as a program, software, software application, script, or code) that is loaded on an apparatus according to the present invention and which implements the method according to the present invention may be a compiled or interpreted language or a program containing a priori or procedural language Language, and may be deployed in any form including standalone programs or modules, components, subroutines, or other units suitable for use in a computer environment. A computer program does not necessarily correspond to a file in the file system. The program may be stored in a single file provided to the requested program, or in multiple interactive files (e.g., a file storing one or more modules, subprograms, or portions of code) (E.g., one or more scripts stored in a markup language document). A computer program may be deployed to run on multiple computers or on one computer, located on a single site or distributed across multiple sites and interconnected by a communications network.
컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 EPROM, EEPROM 및 플래시메모리 장치와 같은 반도체 메모리 장치, 예컨대 내부 하드디스크나 외장형 디스크와 같은 자기 디스크, 자기광학 디스크 및 CD-ROM과 DVD-ROM 디스크를 포함하여 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.Computer-readable media suitable for storing computer program instructions and data include semiconductor memory devices such as, for example, EPROM, EEPROM, and flash memory devices, such as magnetic disks such as internal hard disks or external disks, And DVD-ROM disks, including non-volatile memory, media and memory devices. The processor and memory may be supplemented by, or incorporated in, special purpose logic circuits.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.While the specification contains a number of specific implementation details, it should be understood that they are not to be construed as limitations on the scope of any invention or claim, but rather on the description of features that may be specific to a particular embodiment of a particular invention Should be understood. Certain features described herein in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments, either individually or in any suitable subcombination. Further, although the features may operate in a particular combination and may be initially described as so claimed, one or more features from the claimed combination may in some cases be excluded from the combination, Or a variant of a subcombination.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.Likewise, although the operations are depicted in the drawings in a particular order, it should be understood that such operations must be performed in that particular order or sequential order shown to achieve the desired result, or that all illustrated operations should be performed. In certain cases, multitasking and parallel processing may be advantageous. Also, the separation of the various system components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems will generally be integrated together into a single software product or packaged into multiple software products It should be understood.
본 명세서에서 설명한 주제의 특정한 실시형태를 설명하였다. 기타의 실시형태들은 이하의 청구항의 범위 내에 속한다. 예컨대, 청구항에서 인용된 동작들은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 성취할 수 있다. 일 예로서, 첨부도면에 도시한 프로세스는 바람직한 결과를 얻기 위하여 반드시 그 특정한 도시된 순서나 순차적인 순서를 요구하지 않는다. 특정한 구현예에서, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.Certain embodiments of the subject matter described herein have been described. Other embodiments are within the scope of the following claims. For example, the operations recited in the claims may be performed in a different order and still achieve desirable results. By way of example, the process illustrated in the accompanying drawings does not necessarily require that particular illustrated or sequential order to obtain the desired results. In certain implementations, multitasking and parallel processing may be advantageous.
본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.The description sets forth the best mode of the invention, and is provided to illustrate the invention and to enable those skilled in the art to make and use the invention. The written description is not intended to limit the invention to the specific terminology presented. Thus, while the present invention has been described in detail with reference to the above examples, those skilled in the art will be able to make adaptations, modifications, and variations on these examples without departing from the scope of the present invention.
따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.Therefore, the scope of the present invention should not be limited by the described embodiments but should be defined by the claims.
본 발명에 따르면, 메신저 서비스 장치를 통해서 둘 이상의 단말장치가 참여하는 그룹 대화를 제공할 때, 상기 둘 이상의 단말 장치로부터 마지막 메시지 확인 시간을 수집하고, 상기 마지막 메시지 확인 시간을 기준으로 그 이전에 발생한 메시지를 읽은 것으로 간주하여 그룹 대화 중 발생한 메시지에 대한 확인자 수 또는 미확인자 수를 산출할 수 있다.According to the present invention, when two or more terminal devices participate in a group conversation through a messenger service device, it is possible to collect the last message confirmation time from the two or more terminal devices, It is possible to calculate the number of verified persons or the number of unconfirmed persons for the messages generated during the group conversation.
특히, 본 발명은 그룹 대화 중에 발생하는 메시지를 서버 장치에서 보관하지 않고, 멤버 테이블을 통해서 그룹 대화에 참여한 단말 장치별로 마지막 메시지 확인 시간만을 갱신 관리함으로써, 트래픽 발생을 최소화하면서 그룹 대화 중 발생하는 메시지의 확인자 수 또는 미확인자 수를 쉽게 산출할 수 있게 된다.Particularly, according to the present invention, a message generated during a group conversation is not stored in a server device, but only a last message confirmation time is managed for each terminal device participating in a group conversation through a member table. Thus, The number of verified persons or the number of unconfirmed persons can be easily calculated.
또한, 본 발명은 카운트 테이블을 통해서, 마지막 메시지 확인 시간으로부터 산출되는 각 그룹 대화 별로 발생한 메시지의 확인자 수 또는 미확인자 수에 대한 카운트 값을 관리하되, 상기 카운트 테이블에 기록된 정보를 일정 주기로 삭제함으로써, 최소의 메모리 용량으로 그룹 대화 중 발생한 메시지의 확인자 수 또는 미확인자 수를 관리할 수 있게 된다.The present invention also provides a method of managing a count value for a number of identifiers or unconfirmed messages of a message generated for each group conversation calculated from a last message check time through a count table, The minimum memory capacity allows to manage the number of verified or unconfirmed messages in the group conversation.
아울러, 본 발명은 통지 테이블을 통해서, 메시지의 확인자 수 혹은 미확인자 수에 변경이 발생한 그룹 대화를 별도로 관리하고, 통지 테이블에 기록된 그룹 대화 별로 일정 주기로 메시지 확인 정보에 변경 사항이 있음을 알리는 알림 메시지를 통지하도록 함으로써, 트래픽 발생을 최소화하면서 메시지의 확인자 수 또는 미확인자 수를 관리할 수 있게 된다.Further, according to the present invention, a group conversation in which a change in the number of verifications of a message or an unconfirmed number is separately managed through a notification table, and a notification message So that it is possible to manage the number of identifiers or unconfirmed number of messages while minimizing traffic generation.
10: 통신망100, 101~10n: 단말 장치
200: 메신저 서비스 장치210: 통신부
220: 저장부221: 메시지 DB
222: 멤버 테이블223: 카운트 테이블
224: 통지 테이블230: 메신저 서비스 제어부10:
200: messenger service device 210: communication part
220: storage unit 221: message DB
222: Member table 223: Count table
224: Notification table 230: Messenger service control section
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020140083762AKR20160005386A (en) | 2014-07-04 | 2014-07-04 | Method for providing messenger service and apparatus therefor |
| KR1020200172373AKR102310071B1 (en) | 2014-07-04 | 2020-12-10 | Method for providing messenger service and apparatus therefor |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020140083762AKR20160005386A (en) | 2014-07-04 | 2014-07-04 | Method for providing messenger service and apparatus therefor |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020200172373ADivisionKR102310071B1 (en) | 2014-07-04 | 2020-12-10 | Method for providing messenger service and apparatus therefor |
| Publication Number | Publication Date |
|---|---|
| KR20160005386Atrue KR20160005386A (en) | 2016-01-15 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020140083762ACeasedKR20160005386A (en) | 2014-07-04 | 2014-07-04 | Method for providing messenger service and apparatus therefor |
| Country | Link |
|---|---|
| KR (1) | KR20160005386A (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106973003A (en)* | 2016-12-07 | 2017-07-21 | 阿里巴巴集团控股有限公司 | Group message notification method, client, electronic equipment and server |
| CN111208973A (en)* | 2020-01-13 | 2020-05-29 | 腾讯科技(深圳)有限公司 | Road side unit pairing method and device and computer readable storage medium |
| CN115604217A (en)* | 2021-06-28 | 2023-01-13 | 上海掌门科技有限公司(Cn) | Method, apparatus, medium, and program product for managing group level |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20010103278A (en) | 2000-05-09 | 2001-11-23 | 김도영 | Multiple Chatting Method |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20010103278A (en) | 2000-05-09 | 2001-11-23 | 김도영 | Multiple Chatting Method |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106973003A (en)* | 2016-12-07 | 2017-07-21 | 阿里巴巴集团控股有限公司 | Group message notification method, client, electronic equipment and server |
| CN111208973A (en)* | 2020-01-13 | 2020-05-29 | 腾讯科技(深圳)有限公司 | Road side unit pairing method and device and computer readable storage medium |
| CN115604217A (en)* | 2021-06-28 | 2023-01-13 | 上海掌门科技有限公司(Cn) | Method, apparatus, medium, and program product for managing group level |
| CN115604217B (en)* | 2021-06-28 | 2024-09-13 | 上海掌门科技有限公司 | Method, device, medium and program product for managing group levels |
| Publication | Publication Date | Title |
|---|---|---|
| US11270343B2 (en) | Method and apparatus for generating targeted label, and storage medium | |
| KR101978590B1 (en) | Message updating method, device and terminal | |
| CA2870078C (en) | Controlling notification based on power expense and social factors | |
| KR101910581B1 (en) | Method and system of chat room list sorting based on conversational activeness and contextrual information | |
| CN103460727B (en) | Integrated contact card communication | |
| US11379911B2 (en) | System, method, and apparatus for supporting cash currency exchange | |
| US10652287B2 (en) | Method, device, and system for managing information recommendation | |
| EP3720060B1 (en) | Apparatus and method for providing conversation topic | |
| CN103065235B (en) | Event attendance notification system and method | |
| KR20170045880A (en) | Electronic device and mehtod for processing message | |
| CN106778117B (en) | Permission open method, apparatus and system | |
| CN111930454B (en) | Interface display method and device, terminal equipment and medium | |
| CN105094630B (en) | The prompt information processing method and device of application program PUSH message | |
| CN106302094A (en) | Information push method and device | |
| JP6681146B2 (en) | Information processing device, information processing method, and program | |
| KR20180137442A (en) | Method and system of chat room list sorting based on conversational activeness and contextrual information | |
| KR101532908B1 (en) | Method for transmitting of secret message in message service, apparatus and system for the same | |
| CN106164950A (en) | To group across client subscription | |
| KR20140107736A (en) | Method for providing of voice message, apparatus and system for the same | |
| KR20140120982A (en) | Method for analyzing of message, apparatus and system for the same | |
| KR20150106481A (en) | Method for providing information of keyword in instant messenger, apparatus and system for the same | |
| KR20160005386A (en) | Method for providing messenger service and apparatus therefor | |
| KR20150106180A (en) | Method for extracting of keyword in instant messenger, apparatus and system for the same | |
| KR102310071B1 (en) | Method for providing messenger service and apparatus therefor | |
| KR101971720B1 (en) | Method for protection of message, apparatus and system for the same |
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application | Patent event code:PA01091R01D Comment text:Patent Application Patent event date:20140704 | |
| PG1501 | Laying open of application | ||
| AMND | Amendment | ||
| PA0201 | Request for examination | Patent event code:PA02012R01D Patent event date:20190704 Comment text:Request for Examination of Application Patent event code:PA02011R01I Patent event date:20140704 Comment text:Patent Application | |
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection | Comment text:Notification of reason for refusal Patent event date:20200416 Patent event code:PE09021S01D | |
| AMND | Amendment | ||
| E601 | Decision to refuse application | ||
| PE0601 | Decision on rejection of patent | Patent event date:20200925 Comment text:Decision to Refuse Application Patent event code:PE06012S01D Patent event date:20200416 Comment text:Notification of reason for refusal Patent event code:PE06011S01I | |
| X091 | Application refused [patent] | ||
| E601 | Decision to refuse application | ||
| E801 | Decision on dismissal of amendment | ||
| PE0601 | Decision on rejection of patent | Patent event date:20201109 Comment text:Decision to Refuse Application Patent event code:PE06012S01D Patent event date:20200416 Comment text:Notification of reason for refusal Patent event code:PE06011S01I | |
| PE0801 | Dismissal of amendment | Patent event code:PE08012E01D Comment text:Decision on Dismissal of Amendment Patent event date:20201109 Patent event code:PE08011R01I Comment text:Amendment to Specification, etc. Patent event date:20201028 Patent event code:PE08011R01I Comment text:Amendment to Specification, etc. Patent event date:20200616 Patent event code:PE08011R01I Comment text:Amendment to Specification, etc. Patent event date:20190704 | |
| A107 | Divisional application of patent | ||
| PA0107 | Divisional application | Comment text:Divisional Application of Patent Patent event date:20201210 Patent event code:PA01071R01D |