KR20110126421A - 메시징 서비스에서 그룹별 메시지 대화 제공 방법 및 장치 - Google Patents

메시징 서비스에서 그룹별 메시지 대화 제공 방법 및 장치 Download PDF

Info

Publication number
KR20110126421A
KR20110126421A KR1020100046088A KR20100046088A KR20110126421A KR 20110126421 A KR20110126421 A KR 20110126421A KR 1020100046088 A KR1020100046088 A KR 1020100046088A KR 20100046088 A KR20100046088 A KR 20100046088A KR 20110126421 A KR20110126421 A KR 20110126421A
Authority
KR
South Korea
Prior art keywords
conversation
message
terminal
group
active
Prior art date
Application number
KR1020100046088A
Other languages
English (en)
Inventor
이경탁
박성진
이승용
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020100046088A priority Critical patent/KR20110126421A/ko
Priority to US13/109,381 priority patent/US20110282953A1/en
Publication of KR20110126421A publication Critical patent/KR20110126421A/ko

Links

Images

Classifications

    • G06Q50/40
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/56Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]

Abstract

본 발명은 메시지 교환에 따른 최초의 대화 그룹과, 최초 대화 그룹 또는 서브 대화 그룹에서 파생되는 서브 대화 그룹에 각각 개별적인 대화(conversation) ID를 할당함으로써, 각 대화 그룹별 대화를 구분하여 디스플레이하고 관리할 수 있게 한다. 또한 임의의 대화 그룹에서 파생되는 서브 대화 그룹을 트리 구조로 관리하여, 부모 그룹과 자식 그룹 관계를 판별할 수 있게 함으로써, 각 대화 간의 연관 관계도 사용자에게 제공될 수 있게 한다.

Description

메시징 서비스에서 그룹별 메시지 대화 제공 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING MESSAGE CONVERSATION CORRESPONDING TO EACH OF GROUP IN MESSAGING SERVICE}
본 발명은 이동 통신 단말에서 제공되는 메시징 서비스에 대한 것으로, 특히 복수의 참가자들로 구성되는 대화 그룹이 복수개 일 때, 해당 그룹의 참가자들 간에 이루어지는 메시지 대화(conversation)를 그룹별로 구분하여 사용자에게 제공하는 방법 및 장치에 관한 것이다.
일반적으로 사용되는 메시징 서비스로는 SMS(short message service), MMS(Multimedia Messaging System), 이메일 서비스(email SERVICE), IM(Instant Messaging) 서비스 등이 있다. 각 메시징 서비스는 각자 다른 기술을 바탕으로 제공이 되지만, 사용자 경험 측면(user experience)으로 볼 때는 상기한 메시징 서비스들이 서로 중복되는 부분들이 많다. 예를 들어, 모든 메시징 서비스들을 통해 텍스트 메시지를 보낼 수 있고, SMS를 제외한 나머지 서비스들은 멀티미디어 콘텐츠를 전송할 수도 있다.
이와 같이 사용자 경험이 중복 된다는 점을 고려해서 최근에 OMA(Open Mobile Alliance)에서는 SIP(Session Initiation Protocol)과 IP(Internet Protocol)를 기반으로 하는 통합 메시징 서비스(Converged IP Messaging Service, 이하, 'CPM 서비스'라 함.)라는 새로운 서비스를 규격하고 있다. CPM 서비스의 목적은, 기존의 메시징 서비스들의 주요 특징을 단일 메시징 서비스에서 제공하는 것이다. 이에 따라, 사용자는 CPM 서비스만 이용하더라도 기존의 모든 메시징 서비스에서 제공했던 사용자 서비스를 체험할 수 있으며, 모든 기존 메시징 서비스 사용자들과도 메시지를 서로 주고받는 것도 가능하다.
이러한 메시징 서비스에서, 단말은 수신된 메시지를 수신 순서에 따라, 각 대화를 근거로 디스플레이한다. 즉, 사용자가 대화에 따른 메시지 흐름을 쉽게 파악할 수 있게 하기 위해, 동일한 대화 주제에 속하는 메시지는 동일한 대화창(conversation view)에 디스플레이된다. 이때, 교환되는 메시지는 CPM에서 지원하는 각종 메시지 중 하나로, 예를 들어, 이메일 일 수도 있고, 인스턴트 메시지지일 수도 있다.
그런데 임의의 대화 그룹에 속하여 서로 간에 메시지를 교환함으로써, 메인 대화를 나누는 참가자들 중 일부 참가자들은, 기존의 대화 그룹이 아닌 별도의 개인적인 대화 그룹을 구성하고, 별도의 대화 그룹의 참가자들 간에 메시지를 송수신하여, 메인 대화와 병행하여, 개인적인 대화를 나누는 것을 원할 수 있다. 또한, 개인적인 대화 그룹 하위에 또 다른 독립적인 대화 그룹이 존재할 수도 있으며, 이에 따라 서로 다른 레벨의 대화가 병행될 수 있다.
이 경우, 임의의 대화 그룹 간에 이루어지는 대화와 개인적인 대화 그룹 간에 이루어지는 대화는 통신 단말에서 서로 구분되어 디스플레이되는 것이 바람직하다. 또한 각각의 대화와 관련된 메시지를 효과적으로 관리할 수 있는 방법도 필요하며, 각 대화 간에 레벨에 따른 연관 관계를 사용자에게 제공할 수 있는 방법이 필요하다.
이에 따라, 본 발명은 복수의 대화 그룹에 대응하는 대화를 구분하여 디스프레이할 수 있는 방법 및 장치를 제공한다.
그리고 본 발명은 복수의 대화 그룹에 대응하는 대화를 편리하게 관리할 수 있는 방법 및 장치를 제공한다.
또한 본 발명은 서로 연관된 복수의 대화 그룹에 대응하는 대화를 구분하여 제공하는 것은 물론, 대화 간의 연관 관계에 대한 정보도 제공할 수 있는 방법 및 장치를 제공한다.
한편, 본 발명은 메시징 서비스를 지원하는 통신 단말에서, 동일한 대화 그룹에 속하는 복수의 단말 간에 메시지 교환에 따른 대화를 각 대화 그룹별로 제공하는 방법에 있어서, 메시지를 수신하는 과정과, 상기 수신된 메시지와 관련된 대화 및 상기 대화에 참가하는 참가 단말들로 구성된 대화 그룹에 대응하는 활성 대화 ID를, 상기 수신된 메시지에서 검출하는 과정과, 상기 활성 대화 ID에 대응하는 대화창에 상기 수신된 메시지를 추가하여 디스플레이하는 과정을 포함한다.
본 발명은 복수의 대화 그룹에 대응하는 대화를 구분하여 디스프레이할 수 있고, 복수의 대화 그룹에 대응하는 대화를 편리하게 관리할 수 있다. 또한 본 발명은 서로 연관된 복수의 대화 그룹에 대응하는 대화를 구분하여 제공하는 것은 물론, 대화 간의 연관 관계에 대한 정보도 제공할 수 있다.
도1은 본 발명이 적용되는 통신 시스템을 나타낸 도면,
도2는 본 발명의 일 실시예에 따른 이동 통신 단말의 구성을 나타낸 도면,
도3은 본 발명의 일 실시예에 따른 대화 그룹 구성 시나리오를 나타낸 도면,
도4는 본 발명의 일 실시예에 따른 메시지 송신 과정을 나타낸 도면,
도5a 및 도5b는 본 발명의 일 실시예에 따른 대화 ID 검색 및 생성 과정을 나타낸 도면,
도6은 본 발명의 일 실시예에 따른 메시지 수신 과정을 나타낸 도면,
도7a 내지 도7d는 본 발명의 일 실시예에 따라 디스플레이되는 대화 메시지를 나타낸 도면.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다. 도면에서 동일한 구성요소들에 대해서는 비록 다른 도면에 표시되더라도 가능한 한 동일한 참조번호 및 부호로 나타내고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다.
CPM 서비스를 지원하는 시스템에 있어서, 동일한 대화 그룹에 속하는 참가 단말들은 서로 간에 메시지를 교환함으로써, 대화(conversation)를 나눌 수 있다. 이때, 교환되는 메시지는 CPM 서비스에서 지원하는 메시지 중 하나이다.
그런데 임의의 대화 그룹에 속하여 서로 간에 메시지를 교환함으로써, 대화를 나누는 참가자들 중 일부 참가자들은, 기존의 대화 그룹이 아닌 별도의 개인적인 대화 그룹을 구성하여 개인 대화를 나누는 것을 원할 수 있다. 이에 따라, 일부 참가자들은 개인적인 대화 그룹으로, 임의의 대화 그룹의 서브 대화 그룹을 구성하고, 서브 대화 그룹의 참가 단말들 간에 메시지를 송수신할 수 있다. 또한, 서브 대화 그룹 하위에 또 다른 독립적인 서브 대화 그룹을 구성할 수도 있으며, 이에 따라 서로 다른 레벨의 대화가 병행될 수 있다.
본 발명은 이러한 경우 최초의 대화 그룹과, 상기 최초의 대화 그룹에서 파생되는 서브 대화 그룹과, 상기 서브 대화 그룹에서 파생되는 또 다른 서브 대화 그룹에 각각 개별적인 대화(conversation) ID를 할당함으로써, 각 대화 그룹별 대화를 구분하여 디스플레이하고 관리할 수 있게 한다. 또한 임의의 대화 그룹에서 파생되는 서브 대화 그룹을 트리 구조로 관리하여, 부모 그룹과 자식 그룹 관계를 판별할 수 있게 함으로써, 각 대화 간의 연관 관계도 사용자에게 제공될 수 있게 한다. 이하의 설명에서 최초 대화 그룹의 멤버들 간에 메시지 교환을 통해 수행되는 대화를 최초 대화라 하고, 서브 대화 그룹의 멤버들 간에 메시지 교환을 통해 수행되는 대화를 개인 대화라 한다.
이러한 본 발명이 적용되는 통신 시스템을 도1에 도시하였다. 도1을 참조하면, 복수의 통신 단말들(10,20,30,40)은 통신 네트워크(50)를 통해 메시지를 송수신 한다.
통신 네트워크(50)는 CPM 서비스를 지원하는 네트워크로서, 무선 통신에 필요한 각종 기지국, 교환기 및 단말들 간에 송수신되는 메시지를 전달하기 위한 각종 메시징 서버를 포함한다.
복수의 통신 단말들(10,20,30,40)은 각각 이동 통신 단말이며 예를 들어, 휴대폰, 스파트폰, PDA등이 될 수 있다. 그리고 도면에는 도시하지 않았지만, 개인용 컴퓨터와 같은 유선 단말일 수도 있다. 복수의 통신 단말들(10,20,30,40)은 CPM 서비스를 지원하는 단말로서, 각 단말은 예를 들어, 도2와 같이 구성될 수 있다.
도2를 참조하면, 이동 통신 단말은 메시지 클라이언트(11), 제어부(12), 표시부(16), 사용자 입력부(15), 무선 통신부(14), 메모리부(13)를 포함하여 이루어진다.
메시지 클라이언트(11)는 제어부(12)에서 전달되는 각종 정보 및 데이터를 참조하여, 메시지 송수신과 관련된 이동 통신 단말의 동작에 대한 각종 명령 및 데이터를 제어부(12)로 전달함으로써, 메시지의 송수신을 제어하고, 메시지를 관리한다. 특히, 메시지 클라이언트(11)는 본 발명에 따른 메시지 대화와 관련된 대화 ID와, 대화 그룹 정보와, 관련 메시지를 관리한다. 즉, CPM 서비스와 관련된 메시지의 구성 및 실질적인 송수신, 관리, 디스플레이는 메시지 클라이언트(11)의 제어에 따라 이루어진다.
제어부(12)는 이동 통신 단말의 전반적인 동작을 제어한다. 그리고 제어부(12)는 메시지 클라이언트(11)에서 수신되는 명령 또는 데이터에 따라 메시지 송수신 및 관리와 관련된 동작이 수행될 수 있도록 각종 기능부를 제어하며, 메시지 송수신 및 관리와 관련된 각종 정보 및 데이터를 메시지 클라이언트(11)로 제공한다. 본 발명의 일 실시예에서는 메시지 클라이언트(11)와 제어부(12)를 분리해서 도시하였지만, 다른 실시예에서 메시지 클라이언트(11)는 제어부(12)에 포함되게 구성될 수도 있다.
표시부(16)는 각종 화상 정보와 통신 네트워크로부터 수신되거나 또는 메모리부(13)에 저장되어 있는 데이터 정보를 제어부(12)의 제어에 의해 화면상에 디스플레이한다.
키 입력부(15)는 사용자가 데이터를 입력할 수 있는 사용자 인터페이스로서, 다른 실시예에서는 터치스크린으로 구성될 수 있다. 키 입력부(15)는 0 ~ 9의 숫자키에 해당하는 입력수단들과, *, #키와, 방향키와, 이동 통신 단말이 구비하는 여러 가지 기능에 대응되게 메뉴(menu), 선택, 통화, 지움, 전원/종료, 볼륨(volume) 등 다수 기능키들을 구비하며 사용자가 누르는 입력 수단에 대응하는 키 입력 데이터를 제어부(12)에 제공한다. 특히, 본 발명의 일 실시예에 따라, 사용자 입력에 따라 작성된 메시지가 기존의 대화와 관련 없는 새로운 대화와 관련된 메시지임을 나타내는 입력 데이터를 발생하는 새 메시지 키와, 상기 작성된 메시지가 기존의 대화와 관련된 메시지임을 나타내는 입력 데이터를 발생하는 응답키를 포함한다. 그리고 이동 통신 단말에는 상기 새 메시지 키와, 응답키의 기능을 수행하는 다른 사용자 입력 인터페이스도 포함될 수 있다. 예를 들어, 터치 스크린상에 각 기능에 해당하는 입력 영역이 디스플레이될 수도 있고, 음성 명령이 존재할 수도 있다.
무선 통신부(14)는 안테나를 통해 통신 네트워크와 무선 신호를 송,수신하며, 제어부(12)로부터 입력되는 송신할 신호를 베이스밴드 처리하고, 변조한 RF신호를 안테나를 통해 송신하고, 안테나를 통해 수신되는 RF신호를 복조하하고 베이스밴드 처리하여 제어부(12)에 제공함으로써, 무선 통신 및 메시지의 송수신을 가능하게 한다.
메모리부(13)는 제어부(12)의 처리 및 제어를 위한 프로그램, 참조 데이터, 갱신 가능한 각종 보관용 데이터, 수신한 멀티미디어 메시지, 사용자 입력에 따라 작성한 멀티미디어 메시지 등을 저장하며, 제어부(12)의 워킹 메모리(working memory)로 제공된다. 그리고 상기 메모리부(13)는 본 발명에 따라 메시지 대화를 위해 교환된 메시지와, 각 대화에 대응하는 대화 ID, 대화 ID에 대응하는 대화 그룹에 대한 정보 및 대화 ID 간의 트리 구조를 저장하는 데이터베이스를 포함한다.
도1 및 도2와 같이 구성되는 시스템에 적용되는 본 발명의 이해를 돕기 위해, 개인 대화를 위한 복수의 서브 대화 그룹을 구성하고, 서브 대화 그룹의 멤버간에 메시지를 교환하는 시나리오의 일예를 도3에 도시하였다. 도3의 시나리오에서, 대화에 참여하는 전체 참가자, 즉, 참가 단말은 단말 A(10), 단말 B(20), 단말 C(30), 단말 D(40)로 가정한다. 그리고 각 단말 간에 어떠한 대화 그룹도 형성되지 않은 상태에서, 110 단계에 의해 최초의 대화 그룹이 형성되는 것으로 가정한다.
도3을 참조하면, 110단계에서, 단말 A(10)는 단말 B(20)와 단말 C(30)로 최초로 메시지를 전송함으로써, 최초 대화 그룹을 형성한다. 이때, 메시지에는 특정 질문에 해당하는 콘텐츠가 포함될 수 있다.
단말 B(20)가 단말 A(10)로부터 110단계에서 메시지를 수신하면, 단말 B(20)의 사용자는 수신된 메시지를 확인함으로써, 단말 A(10), 단말 B(20), 단말 C(30)로 구성되는 최초 대화 그룹과 함께 메시지 내용을 확인할 수 있다. 이때, 단말 B(20)의 사용자는 메시지에 포함된 콘텐츠에 따라, 최초 대화 그룹과 별도로, 단말 A(10)를 제외한 단말 C(30)와 단말 D(40)를 포함하는 개인적인 대화 그룹을 구성하여 대화를 나누기를 원할 수 있다. 이에 따라, 단말 B(20)는 단말 A(10)에 응답하기 전에 120단계에서 단말 C(30)와 단말 D(40)로 메시지를 전송하여, 새로운 대화 그룹인 제1서브 대화 그룹을 구성하고, 제1서브 대화 그룹의 멤버들과 제1레벨의 개인 대화를 수행할 수 있다.
120단계에서 단말 B(20)로부터 제1레벨의 개인 대화와 관련된 메시지를 수신한 후에, 단말 C(30)는 그에 대한 응답 코멘트가 포함된 메시지를 130단계에서 전송할 수 있다. 이때, 응답 코멘트가 포함된 메시지는 제1서브 대화 그룹에 포함되는 단말 B(20)와 단말 D(40)로 송신된다.
단말 B(20)는 130단계에서 단말 C(30)로부터 메시지를 수신한 후에, 단말 C(30)의 답변만이 필요한 메시지를 보낼 수 있다. 이에 따라, 단말 C(30)는 140단계에서 단말 C(30)에게만 메시지를 전송함으로써, 제2서브 대화 그룹을 구성하게 되고, 단말B(20)와 단말 C(30)간에 제2레벨의 개인 대화가 이뤄지게 된다.
140단계에서 제2레벨의 개인 대화에 해당하는 메시지를 수신한 단말 C(30)는, 단말 B(20)의 요청에 따라, 150단계에서 답변이 포함된 응답 메시지를 단말 B(20)로 송신할 수 있다.
150단계에서 단말 C(30)로부터 메시지를 수신한 후에 단말 B(20)는 제2레벨의 개인 대화를 종료하고, 단말 B(20), 단말 C(30), 단말 D(40)가 포함된 제1서브 대화 그룹에 의해 진행되는 제1레벨의 개인 대화로 복구하여, 160단계에서 최종적인 콘텐츠가 포함된 메시지를 단말 C(30)와 단말 D(40)로 전송한다.
이후, 단말 B(30)는 110단계에서 수신된 단말 A(10)의 메시지에 응답하기 위한 콘텐츠를 포함하는 메시지를 구성하여 170a 단계에서 단말 A(10), 단말 C(30), 단말 D(40)로 전달할 수 있다. 또는 다른 예로, 170b 단계에서와 같이 단말 C(30)를 제외한 단말 A(10), 단말 D(40)로 메시지를 전달할 수 있다.
도3의 시나리오와 같이 메시지를 송수신하기 위한, 이동 통신 단말의 동작 과정을 도4 내지 도6을 참조하여 설명한다.
먼저, 도4는 이동 통신 단말이 메시지를 송신하는 과정을 나타낸 것으로, 메시지 클라이언트(11)의 동작 과정이다. 설명에 앞서, 본 발명의 일 실시예에서, 개인 대화는 최초의 대화에 참여하는 하나 이상의 참가자가 제외된 경우에 시작되고, 제외된 참가자가 다시 메시지에 대한 수신자로 지정되는 경우 종료되는 것으로 가정한다. 그리고 각 대화 및 대화에 대응하는 대화 그룹은 고유한 대화 ID를 가지게 되며, 대화 ID는 관련 이동 통신 단말간에 공유된다.
도4를 참조하면, 이동 통신 단말의 메시지 클라이언트(11)는 201단계에서 사용자 요청에 따라 송신할 메시지를 구성한다. 이때, 메시지에는 전송할 콘텐츠와, 메시지의 수신 대상이 되는 수신측 단말의 식별 정보가 포함된다. 메시지에 대한 수신측 단말은 사용자가 직접 선택할 수 있다. 이전에 수신된 어떤 메시지에 대한 응답인 경우에는, 해당 메시지에 대응하는 대화 그룹의 멤버가 자동적으로 수신측 단말로 결정되어 메시지에 포함될 수도 있다. 수신된 메시지에는 관련 대화 그룹의 멤버에 대한 식별 정보가 포함되어 있다. 물론, 메시지에 자동으로 포함된 관련 대화 그룹의 멤버 중 일부가 사용자 선택에 따라 수신자에서 제외될 수도 있고, 다른 단말이 추가될 수도 있다.
메시지 클라이언트(11)는 203단계에서, 메시지 작성 과정에서 사용자로부터 새 메시지키가 입력되는지 또는 응답키가 입력되는지에 따라 새로운 메시지인지 후속 메시지인지를 구별한다. 새로운 메시지는 기존에 존재하는 어떠한 대화와도 관련되지 않은 메시지로서, 새로운 최초 대화를 위한 메시지이고, 후속 메시지는 기존에 존재하는 대화와 연계되는 메시지이다. 다시 말해, 메시지 작성 과정에서 새 메시지키가 입력되면 201단계에서 작성된 메시지는 새로운 최초 대화를 위한 메시지가 되는 것이고, 응답키가 입력되면 이미 존재하는 대화를 위한 메시지로서, 이전에 수신한 메시지에 대한 후속 메시지가 되는 것이다.
이후, 205단계에서 사용자의 메시지 작성 입력이 완료되고, 전송 요청이 입력되면 207단계로 진행한다. 메시지 클라이언트(11)는 207단계에서, 작성 완료된 메시지가 새로운 메시지이면, 209단계로 진행하여 새로운 대화 ID를 생성하고, 217단계로 진행한다. 그리고 새로운 대화 ID에 대응하여, 작성된 메시지에 포함된 수신 단말과, 작성된 메시지의 발신 단말을 포함하는 최초 대화 그룹에 대한 정보 및 메시지 내용을 데이터베이스에 저장한다. 상기 대화 그룹에 대한 정보는 작성된 메시지의 수신 단말과, 작성된 메시지의 발신 단말을 포함하는 참가 단말 리스트를 포함한다. 217단계에서 메시지 클라이언트(11)는 새로운 대화 ID가 활성 대화 ID로 설정된 메시지를 통신 네트워크(50)로 송신함으로써, 메시지에 지정된 하나 이상의 수신측 단말로 메시지가 전달되게 한다. 이러한 메시지의 전달은 통신 네트워크(50)에 포함된 메시징 서버에 의해 가능하다.
한편, 207단계에서, 메시지 클라이언트(11)는 작성 완료된 메시지가 후속 메시지인 것으로 확인되면, 211단계로 진행한다. 211 단계에서 가장 최근에 수신한 메시지에 대응하는 특정 대화의 참가 단말 리스트와, 작성된 메시지에 포함된 수신 단말 및 발신 단말을 비교한다. 비교 결과, 동일하다면, 213단계로 진행하여, 특정 대화의 대화 ID를 유지하고, 특정 대화의 대화 ID에 대응시켜 메시지를 데이터베이스에 저장하고 217단계로 진행한다. 217단계에서 메시지 클라이언트(11)는 유지된 대화 ID가 활성 대화 ID로 포함된 메시지를 통신 네트워크(50)로 송신함으로써, 메시지에 지정된 하나 이상의 수신 단말로 메시지가 전달되게 한다. 이때, 메시지에는 상기 유지된 대화 ID의 모든 부모 대화 ID도 포함된다.
하지만, 메시지 클라이언트(11)는 상기 211단계에서의 비교 결과, 특정 대화 의 참가 단말들과, 작성된 메시지에 포함된 발신 단말 및 수신 단말이 다르다면, 예를 들어, 특정 대화의 참가 단말을 기준으로, 일부 참가 단말이 새롭게 추가되거나 제외되었다면 215단계로 진행한다. 215단계에서 메시지 클라이언트(11)는 상기 201단계에서 작성된 메시지가 새로운 개인 대화를 시작하기 위한 메시지인지 또는 기존의 개인 대화 또는 기존의 최초 대화와 관련된 메시지인지 결정해야 한다. 만약, 새로운 개인 대화를 시작하기 위한 메시지라면 새로운 대화 ID를 생성하고, 기존의 대화와 관련된 메시지라면 해당하는 대화 ID를 데이터베이스에서 검출한다. 그리고 217단계로 진행하여, 메시지 클라이언트(11)는 새롭게 생성한 대화 ID 또는 검출된 대화 ID를 활성 대화 ID로 포함하는 메시지를 통신 네트워크(50)로 송신함으로써, 메시지에 지정된 하나 이상의 수신측 단말로 메시지가 전달되게 한다. 이때, 메시지에는 상기 새롭게 생성한 대화 ID 또는 검출된 대화 ID의 모든 부모 대화 ID도 포함된다.
상기 215단계에서 메시지 클라이언트(11)가 새로운 개인 대화를 위한 대화 ID를 생성하거나, 대화 ID를 데이터베이스에서 찾는 과정을 도5a와 도5b를 참조하여 설명한다. 상기 211단계에서의 비교 결과, 가장 최근에 수신한 메시지에 대응하는 특정 대화의 참가 단말들과, 작성된 메시지에 포함된 발신 단말 및 수신 단말이 다른 경우는 다음 세 가지가 있을 수 있다.
첫 번째 경우, 특정 대화의 참가 단말에서 일부 참가 단말이 제외되거나,
두 번째 경우, 특정 대화의 참가 단말에 새로운 참가 단말이 추가되거나,
세 번째 경우, 특정 대화의 참가 단말에서 일부 참가 단말은 제외되고, 새로운 참가 단말이 추가된 경우이다.
첫 번째 경우와 같이 특정 대화의 참가 단말 리스트에 새롭게 추가되는 참가 단말 없이, 일부 참가 단말만 제외된 상태이고, 작성된 메시지에 포함된 발신 단말 및 수신 단말로만 구성된 참가 리스트를 가지는 대화 그룹이 없다면, 메시지 클라이언트(11)는 새로운 개인 대화가 시작되는 것으로 판단하고, 새로운 개인 대화를 위한 대화 ID를 생성하고, 관련 최초 대화의 대화 ID와 생성된 대화 ID 간의 트리 계층을 정의한다. 이때, 최초 대화의 대화 ID는 부모 대화 ID가 되고, 생성된 대화 ID는 자식 대화 ID가 된다. 만약, 작성된 메시지에 포함된 발신 단말 및 수신 단말로만 구성된 참가 리스트를 가지는 대화 그룹이 존재한다면, 해당 대화 그룹의 대화 ID를 이용한다.
예를 들어, 특정 대화가 최초 대화이고, 최초 대화의 참가 단말이 단말 A(10), 단말B (20), 단말 C(30), 단말 D(40)인 상태에서, 단말 A(10)만 제외되었다면, 단말B (20), 단말 C(30), 단말 D(40)로 구성되는 서브 대화 그룹 A가 새롭게 구성되고, 제1레벨의 개인 대화가 개시되는 것이다.
만약, 특정 대화가 상기한 제1레벨의 개인 대화이고, 작성 메시지와 관련해 단말 D(40)가 제외되었다면, 단말 B(20), 단말 C(30)로 구성되는 서브 대화 그룹 A-1이 새롭게 구성될 것이다. 이때, 서브 대화 그룹 A-1은 서브 대화 그룹 A에 대한 자식 그룹이며, 때문에, 제2레벨의 개인 대화가 개시된다. 그리고 서브 대화 그룹 A의 대화 ID 및 최초 대화 그룹 A의 대화 ID가 서브 대화 그룹 A-1의 부모 대화 ID가 된다.
이러한 예를 도5a에 도시하였다. 도5a에는 단말 A(10), 단말 B(20), 단말 C(30), 단말 D(40)를 참가 단말로 포함하는 최초 대화 그룹 A(250)와, 최초 대화 그룹 A(250)의 직계 자식 그룹인 서브 대화 그룹 A(251), 서브 대화 그룹 B(255)와, 서브 대화 그룹 A(251)의 자식 그룹인 서브 대화 그룹 A-1(253)의 트리 구조가 도시되어 있다. 도5a를 참조하면, 서브 대화 그룹 A(251)의 멤버는 단말 B(20), 단말 C(30), 단말 D(40)이고, 서브 대화 그룹 B(255)의 멤버는 단말 A(10), 단말 B(20), 단말 C(30)이다. 그리고 서브 대화 그룹 A-1(253)의 멤버는 단말 B(20), 단말 C(30)이다.
한편, 상기한 두 번째 경우와 같이 특정 대화 그룹의 참가 단말 중에 제외되는 참가 단말 없이, 새로운 참가 단말이 추가되는 경우, 작성된 메시지에 지정된 수신 단말 및 발신 단말로 이루어진 단말 리스트와 동일한 참가 단말 리스트를 가지는 대화 그룹이 없다면, 계층적으로 활성 대화 그룹에 가까우면서, 가장 유사한 서브 대화 그룹을 검색하고, 검색된 서브 대화 그룹의 대화 ID를 이용한다.
특정 대화 그룹의 참가 단말 중에 제외되는 참가 단말 없이, 새로운 참가 단말이 추가되는 경우는 다시 두 가지 경우로 구분할 수 있다. 먼저, 하위의 개인 대화가 시작되었다가 종료됨에 따라, 상위의 최초 대화에서 삭제된 모든 참가 단말들이 추가되는 것으로 이 경우, 최초 대화로 돌아간다. 또는 해당 대화에서의 참가 단말 리스트가 증가되도록, 전혀 새로운 참가 단말들이 추가되는 것이다. 만약, 특정 대화가 개인 대화라면, 해당 개인 대화가 시작될 때 최초로 제외된 참가 단말이 다시 추가되는 것일 수도 있다.
이에 따라, 메시지 클라이언트(11)는 현재의 특정 대화가 부모 대화 ID를 가지지 않는다면, 특정 대화에 대응하는 대화 ID와 동일한 대화 ID를 사용한다. 만약, 특정 대화가 하나 이상의 부모 대화를 가진다면, 메시지 클라이언트(11)는 계층적으로 활성 대화에 가까우면서, 가장 유사한 참가 단말 리스트를 갖는 개인 대화를 부모 대화들 중에서 검색한다.
도4 및 도5a를 참조해서, 가장 최근에 수신된 메시지가 서브 대화 그룹 A-1(253)에 의한 제2레벨의 개인 대화와 관련된 것이고, 발신 단말이 단말 B(20)인 것으로 가정한다. 이때, 작성된 메시지에 포함된 수신 단말이 단말 C(30), 단말 D(40)라면, 메시지 클라이언트(11)는 215단계에서 서브 대화 그룹 A(251)의 대화 ID를 검출할 것이다. 다른 예로, 작성된 메시지에 포함된 수신 단말이 단말 C(30), 단말 D(40), 단말 E인 경우에도 메시지 클라이언트(11)는 서브 대화 그룹 A(251)의 대화 ID를 이용할 것이다.
작성된 메시지에 포함된 수신 단말이 단말 A(10), 단말 C(30), 단말 D(40), 단말 E인 경우에 메시지 클라이언트(11)는 최초 대화 그룹 A(250)의 대화 ID를 이용한다. 만약, 작성된 메시지에 포함된 수신 단말이 단말 A(10), 단말 C(30), 단말 E라면, 서브 대화 그룹 B(255)의 대화 ID가 이용될 것이다.
다른 한편, 상기한 세 번째 경우와 같이, 가장 최근에 수신된 메시지에 대응하는 특정 대화의 참가 단말에서 일부 참가 단말은 제외되고, 새로운 참가 단말이 추가되고, 이에 따른 단말 리스트와 동일한 참가 단말 리스트를 가지는 대화 그룹이 없다면, 먼저, 추가되는 참가 단말을 고려하여 유사한 멤버로 이루어진 서브 대화 그룹을 검색한다. 그리고 검색된 서브 대화 그룹에서 일부 참가 단말을 제외하여 새로운 서브 대화 그룹을 구성한다. 이때에 작성된 메시지에 포함된 발신 단말 및 수신 단말로만 구성된 참가 리스트를 가지는 대화 그룹이 존재한다면, 해당 대화 그룹의 대화 ID를 이용한다.
만약, 특정 대화가 부모 대화를 가지지 않는 최초의 대화라면, 메시지 클라이언트(11)는 최초 대화의 참가 단말에서 일부 참가 단말을 제외하여, 최초 대화 그룹의 서브 대화 그룹을 새롭게 생성하고, 새로운 대화 ID를 할당하여 새로운 개인 대화를 개시할 것이다. 하지만 특정 대화가 하나 이상의 부모 대화를 가진다면, 메시지 클라이언트(11)는 먼저 추가되는 참가 단말을 고려하여, 트리 구조의 계층상 가능한 활성 대화 그룹에 가까우면서, 유사한 멤버로 이루어진 서브 대화 그룹을 부모 대화 그룹들 중에서 검색한다. 그리고 검색된 서브 대화 그룹에서 일부 참가 단말을 제외하여, 검색된 서브 대화 그룹의 하위에 새로운 서브 대화 그룹을 구성한다. 만약, 검색되는 서브 대화 그룹이 존재하지 않는 다면, 메시지 클라이언트(11)는 특정 대화에 대응하는 서브 대화 그룹에서 일부 참가 단말을 제외하여 새로운 서브 대화 그룹을 구성하고, 구성된 서브 대화 그룹에 새로운 참가 단말을 추가한다.
이와 관련된 예들을 도4 및 도5b를 참조하여 설명하면 다음과 같다. 도5b를 참조하면, 최초 대화 그룹 A(250)와, 최초 대화 그룹 A(250)의 직계 자식 그룹인 서브 대화 그룹 A(251), 서브 대화 그룹 A(251)의 자식 그룹인 서브 대화 그룹 A-1(253)의 트리 구조가 구성되어 있다. 이와 같은 트리 구조의 대화 관계에서, 도4의 가장 최근에 수신된 특정 메시지에 대응하는 특정 대화가 서브 대화 그룹 A-1(253)에 의해 이루어지는 개인 대화라고 가정하고, 메시지의 발신 단말은 단말 B(20)라고 가정한다. 이 때에, 도4의 201단계에서 작성된 메시지에 포함된 수신 단말에 따라 새롭게 구성된 서브 대화 그룹의 예들을 260a 내지 260e로 나타내었다.
즉, 작성된 메시지에 포함된 수신 단말이 단말 E인 경우, 서브 대화 그룹 A-1(253)을 기준으로 특정 대화의 참가 단말 중에 단말 E가 추가되고, 단말 C(30)는 제외된 것이다. 서브 대화 그룹 A-1(253)은 부모 대화 그룹들이 있기 때문에, 단말 E를 포함하는 부모 대화 그룹을 찾아야하는데, 상위의 부모 대화 그룹 중에는 단말 E를 포함하는 부모 대화 그룹이 존재하지 않는다. 따라서 메시지 클라이언트(11)는 서브 대화 그룹 A-1(253)에서 단말 C(30)를 제외한 서브 대화 그룹 A-1-1(260a)을 구성하여 215단계에서 새로운 대화 ID를 할당하고, 단말 E를 추가한다.
다른 예로, 작성된 메시지에 포함된 수신 단말이, 단말 D(40)인 경우, 서브 대화 그룹 A-1(253)을 기준으로 특정 대화의 참가 단말 중에 단말 D(40)가 추가되고, 단말 C(30)는 제외된 것이다. 서브 대화 그룹 A-1(253)은 부모 대화 그룹들이 있기 때문에, 단말 D(40)를 포함하는 부모 대화 그룹을 찾아야한다. 이에 따라 상위의 부모 대화 그룹 중에는 서브 대화 그룹 A(251)가 검색되고, 메시지 클라이언트(11)는 215단계에서 서브 대화 그룹 A(251)에서 단말 C(30)를 제외한 서브 대화 그룹 A-2(260b)를 구성하여 새로운 대화 ID를 할당한다.
또 다른 예로, 작성된 메시지에 포함된 수신 단말이, 단말 A(10)인 경우, 서브 대화 그룹 A-1(253)을 기준으로 특정 대화의 참가 단말 중에 단말 A(10)가 추가되고, 단말 C(30)는 제외된 것이다. 서브 대화 그룹 A-1(253)은 부모 대화 그룹들이 있기 때문에, 단말 A(10)를 포함하는 부모 대화 그룹을 찾아야한다. 이에 따라 상위의 부모 대화 그룹 중에는 최초 대화 그룹 A(250)가 검색되고, 메시지 클라이언트(11)는 215단계에서 최초 대화 그룹 A(250)에서 단말 C(30) 및 단말 D(40)를 제외한 서브 대화 그룹 B(260c)를 구성하여 새로운 대화 ID를 할당한다.
다른 예로, 작성된 메시지에 포함된 수신 단말이, 단말 A(10)와 단말 D(40)인 경우, 서브 대화 그룹 A-1(253)을 기준으로 특정 대화의 참가 단말 중에 단말 A(10)와 단말 D(40)가 추가되고, 단말 C(30)는 제외된 것이다. 서브 대화 그룹 A-1(253)은 부모 대화 그룹들이 있기 때문에, 단말 A(10)와 단말 D(40)를 포함하는 부모 대화 그룹을 찾아야 한다. 이에 따라 상위의 부모 대화 그룹 중에는 최초 대화 그룹 A(250)가 검색되고, 메시지 클라이언트(11)는 215단계에서 최초 대화 그룹 A(250)에서 단말 C(30)를 제외한 서브 대화 그룹 C(260d)를 구성하여 새로운 대화 ID를 할당한다.
다른 예로, 작성된 메시지에 포함된 수신 단말이, 단말 A(10)와 단말 E인 경우, 서브 대화 그룹 A-1(253)을 기준으로 특정 대화의 참가 단말 중에 단말 A(10)와 단말 E가 추가되고, 단말 C(30)는 제외된 것이다. 서브 대화 그룹 A-1(253)은 부모 대화 그룹들이 있기 때문에, 단말 A(10)와 단말 E를 포함하는 부모 대화 그룹을 찾아야 한다. 이에 따라 상위의 부모 대화 그룹 중에는 최초 대화 그룹 A(250)가 검색되고, 메시지 클라이언트(11)는 215단계에서 최초 대화 그룹 A(250)에서 단말 C(30)와 단말 D(40)를 제외한 서브 대화 그룹 D(260e)를 구성하여 새로운 대화 ID를 할당한다.
상기와 같은 과정으로 결정된 활성 대화 ID와, 관련 부모 대화 ID는 본 발명에 따라 메시지에 포함된다. 이에 따라 메시지에는 활성 대화 ID 및 부모 대화 ID가 포함되는 새로운 헤더 필드가 추가될 수있다.
본 발명의 일 실시예에 따라, CPM 서비스의 규격에 맞게 정의되는 대화 ID, "CPM-Conversation-ID"와 CPM-Parent-Conversation-ID 가 메시지에 포함되는 예는 다음과 같다.
CPM 서비스 규격에서 대화 ID "CPM-Conversation-ID"는 표1과 같은 ABNF(Augmented Backus-Naur Form) 규칙에 의해 정의될 수 있다.
CPM-Conversation-ID = "CPM-Conversation-ID" HCOLON conversationid
conversationid = word
(where "word" is defined in IETF RFC 3261 as follows:
word = 1*(alphanum / "-" / "." / "!" / "%" / "*" / "_" / "+" / "`" / "'" / "~" / "(" / ")" / "<" / ">" / ":" / "\" / DQUOTE / "/" / "[" / "]" / "?" / "{" / "}" )
상기 표1과 같은 규칙에 의한 "CPM-Conversation-ID"의 일예는 다음 표2와 같을 수 있다.
CPM-Conversation-ID: f81d4fae-7dec-11d0-a765-00a0c91e6bf6
그리고 본 발명의 일 실시예에 따라, 제안되는 "CPM-Parent-Conversation-ID"의 신택스(syntax)는 다음 표3과 같다.
CPM-Parent-Conversation-ID = "CPM-Parent-Conversation-ID" HCOLON conversationid *(COMMA conversationid)
conversationid = word
"CPM-Conversation-ID"가 특정 CPM 대화를 식별한다면, "CPM-Parent-Conversation-ID"는 현재 CPM 대화의 하나 이상의 부모 CPM 대화를 식별한다. 현재 CPM 대화의 부모 CPM 대화는 직계 이상의 부모 CPM 대화가 있을 수 있다. 예를 들어, 현재 CPM 대화의 부모 CPM 대화는, 다른 CPM 대화의 자식 CPM 대화일 수 있다. 이러한 경우, 해당 "CPM-Parent-Conversation-ID"값은 현재 CPM 대화와 가까운 순서에 따라 메시지 내에 나열된다. 즉, "CPM-Conversation-ID"의 직계 부모 대화 ID인 CPM-Parent-Conversation-ID"가 놓여지고, 그 다음에 CPM-Parent-Conversation-ID"의 부모 대화 ID가 배열된다.
이러한 경우의 예를 표 4에 나타내었다.
CPM-Conversation-ID: f81d4fae-7dec-11d0-a765-00a0c91e6bf6
CPM-Parent-Conversation-ID: ghijkl-5678-9012-34gh-ijkl01234567, abcdef-1234-5678-90ab-cdef01234567
상기한 바와 같이, 대화 ID가 정의되는 일 예를 도3에 도시된 시나리오를 예로 들어 설명하면 다음과 같다.
최초 대화를 "Init_Conv"라 하고, 개인 대화를 "Priv_Conv"라고 할 때, 도3의 각 단계에서 정의되는 대화 ID는 다음 표5와 같다.
Init_Conv = 단말 A(10), 단말 B(20), 단말C(30) 간에 최초로 형성되어, 이후, 단말 D(40)까지 확장되는 최초 대화 ID
Priv_Conv_1 = 단말 A(10)를 제외한 단말 B(20), 단말C(30), 단말 D(40) 간에 형성되는 제1레벨 개인 대화 ID
Priv_Conv_2 = 단말 A(10)와 단말 D(40)를 제외한 단말 B(20), 단말C(30) 간에 형성되는 제2레벨 개인 대화 ID
Priv_Conv_1b = 단말 C(30)를 제외한 단말 A(10), 단말 B(20), 단말 D(40) 간에 형성되는 제1레벨 개인 대화 ID
110단계 : CPM-Conversation-ID: Init_Conv
120단계 : CPM-Conversation-ID: Priv_Conv_1
CPM-Parent-Conversation-ID: Init_Conv
130단계 : CPM-Conversation-ID: Priv_Conv_1
CPM-Parent-Conversation-ID: Init_Conv
140단계 : CPM-Conversation-ID: Priv_Conv_2
CPM-Parent-Conversation-ID: Priv_Conv_1, Init_Conv
150단계 : CPM-Conversation-ID: Priv_Conv_2
CPM-Parent-Conversation-ID: Priv_Conv_1, Init_Conv
160단계 : CPM-Conversation-ID: Priv_Conv_1
CPM-Parent-Conversation-ID: Init_Conv
170a단계 : CPM-Conversation-ID: Init_Conv
170b단계 : CPM-Conversation-ID: Priv_Conv_1b
CPM-Parent-Conversation-ID: Init_Conv
도6은 상기한 과정으로 결정된 대화 ID 및 부모 대화 ID를 포함하는 메시지를 수신한 경우, 이동 통신 단말의 메시지 처리 과정을 나타낸 것이다. 도6을 참조하면, 메시지 클라이언트(11)는 메시지를 수신하면, 301단계에서 활성 대화 ID를 검출하고 303단계로 진행한다. 303단계에서 메시지 클라이언트(11)는 활성 대화 ID가 데이터베이스에 존재하는지 확인하여 존재하면 319단계로 진행하여 해당 대화 ID와 관련된 대화창(conversation view)에 수신된 메시지를 추가하여 표시한다. 본 발명에서 대화창은 각 대화에 대응하는 메시지 내용을 대화별로 구분 가능하게 디스플레이하기 위한 디스플레이 형식으로서, 그 형식은 각 대화에 대응하는 윈도우 프레임일 수도 있고, 각 대화에 대응하는 특정 색, 글씨체, 폰트등이 될 수도 있다.
이러한 대화창의 형식은 사용자의 설정에 따라 달라질 수 있다.
한편, 활성 대화 ID가 데이터베이스에 존재하지 않으면 메시지 클라이언트(11)는 305단계로 진행하여 수신된 메시지에 부모 대화 ID가 존재하는지 확인한다. 메시지의 활성 대화 ID가 데이터베이스에 존재하지 않는다는 것은 해당 메시지가 새로운 대화를 처음 시작하기 위한 메시지인 것을 의미하며, 이때, 새로운 대화는 새로운 최초 대화일 수도 있고, 새로운 개인 대화 일 수도 있다. 이를 구분하는 것은 메시지에 부모 대화 ID의 포함 여부이다. 수신된 메시지에 부모 대화 ID가 포함되어 있지 않다면, 해당 메시지는 새로운 최초 대화를 시작하기 위한 메시지이다. 그리고 수신된 메시지에 부모 대화 ID가 포함되어 있다면, 해당 메시지는 새로운 개인 대화를 시작하기 위한 메시지이다.
수신된 메시지에 부모 대화 ID가 존재하지 않으면 메시지 클라이언트(11)는 317단계로 진행하여 활성 대화 ID와 관련된 대화창을 생성하고, 319단계로 진행하여, 해당 대화 ID와 관련된 대화창에 수신된 메시지를 추가하여 표시한다. 그리고 활성 대화 ID를 데이터베이스에 새로운 최초 대화에 대응하는 대화 ID로 저장하고, 수신된 메시지와 수시된 메시지에 포함된 발신 단말 및 수신 단말의 식별 정보를 활성 대화 ID에 대응되게 저장한다.
수신된 메시지에 부모 대화 ID가 존재하면 메시지 클라이언트(11)는 307 단계에서 부모 대화 ID를 검출하고 309단계로 진행한다. 309단계에서 메시지 클라이언트(11)는 부모 대화 ID가 데이터베이스에 존재하는지 확인하여, 존재하면 311단계로 진행한다. 311단계에서 메시지 클라이언트(11)는 활성 대화 ID를 해당 부모 대화 ID의 자식 대화 ID로 지정하여 대화 트리를 갱신하고, 상기 317단계 및 상기 319단계와 동일한 동작을 수행한다. 그리고 수신된 메시지와 수시된 메시지에 포함된 발신 단말 및 수신 단말의 식별 정보를 활성 대화 ID에 대응되게 저장한다. 상기 검토한 부모 대화 ID외에 다른 ID들(예: 부모의 부모ID)이 수신된 메시지에 존재하면, 트리 구조에 맞게 이 ID들도 같이 저장한다.
하지만, 상기 309단계에서 확인결과 부모 대화 ID가 데이터베이스에 존재하지 않으면 메시지 클라이언트(11)는 313단계에서 다른 부모 대화 ID가 메시지에 존재하는지 확인하고, 존재하지 않으면 315단계로 진행한다. 메시지 클라이언트(11)는 315단계에서 메시지에 포함된 활성 대화 ID와 부모 대화 ID로 이루어진 대화 트리를 데이터베이스에 복사하여 저장하고 상기 317단계 및 상기 319단계와 동일한 동작을 수행한다. 그리고 수신된 메시지와 수시된 메시지에 포함된 발신 단말 및 수신 단말의 식별 정보를 활성 대화 ID에 대응되게 저장한다.
상기 319단계에서의 메시지를 해당 대화창에 추가하여 디스플레이하는 경우를 예로 들었으나, 부모 대화창 내에 직계 자식 대화와 관련된 하이퍼 링크를 포함시키는 형태로 디스플레이할 수도 있다. 이 경우 임의의 하이퍼 링크가 선택되면, 관련 대화 메시지가 다른 대화창으로 새롭게 디스플레이된다. 이때, 새롭게 디스플레이된 대화에도 자식 대화가 존재할 수도 있으며, 이 경우의 자식 대화 역시 하이퍼 링크로 표시될 수 있다. 이러한 예를 도7a 내지 도7d에 도시하였다.
상기와 같은 과정으로 메시지를 수발신하는 이동 통신 단말이 실제 메시지 송수신 시나리오에 따라 동작하는 과정을 도3의 시나리오를 예로 들어 설명하면 다름과 같다.
110단계에서 단말 A(10)는 단말 B(20)와 단말 C(30)로 최초로 메시지를 전송함으로써, 최초 대화 그룹을 형성한다. 상기 메시지는 새로운 최초 대화를 위한 메시지이다. 때문에 단말 A(10)의 메시지 클라이언트(11)는 새로운 대화 ID "Init_Conv"를 생성하고, 생성한 대화 ID "Init_Conv"를 활성 대화 ID로 메시지에 포함시켜, 단말 B(20)와 단말 C(30)로 전송한다.
이에 따라, 단말 B(20) 및 단말 C(30)는 단말 A(10)로부터 110단계에서 메시지를 수신하면, 수신된 메시지에서 활성 대화 ID "Init_Conv"를 검출하고, 데이터베이스를 검색한다. 그런데 상기 메시지는 새로운 대화를 위한 메시지이기 때문에, 대화 ID "Init_Conv"는 단말 B(20) 및 단말 C(30)의 데이터베이스에 존재하지 않는다. 또한 수신된 메시지에는 부모 대화 ID도 포함되어 있지 않다. 이에 따라 단말 B(20) 및 단말 C(30)는 검출한 대화 ID"Init_Conv"에 대응하는 새로운 대화창을 생성하고, 메시지의 내용을 디스플레이한다.
단말 B(20)의 사용자는 수신된 메시지를 확인함으로써, 단말 A(10), 단말 B(20), 단말 C(30)로 구성되는 최초 대화 그룹과 함께 메시지 내용을 확인할 수 있다. 이때, 단말 B(20)의 사용자는 메시지에 포함된 콘텐츠에 따라, 최초 대화 그룹과 별도로, 단말 A(10)를 제외한 단말 C(30)와 단말 D(40)를 포함하는 개인적인 대화 그룹을 구성하여 대화를 나누기를 원할 수 있다. 즉, 사용자는 새로운 대화 그룹인 제1서브 대화 그룹을 구성하고, 제1서브 대화 그룹의 멤버들과 제1레벨의 개인 대화를 수행할 수 있다.
이에 따라 단말 B(20)의 사용자는 단말 B(20)의 키입력부에 구비된 응답키를 선택한 후 메시지를 작성하고, 단말 B(20)의 메시지 클라이언트(11)는 작성중인 메시지를 단말 A(10)로부터 수신한 메시지의 후속 메시지로 결정한다. 이후, 단말 B(20)의 사용자는 단말 A(10)를 수신 단말에서 제외시키고, 단말 D(40)를 새로운 수신 단말로 추가할 수 있다. 이에 따라, 단말 B(20)의 메시지 클라이언트(11)는 새로운 개인 대화를 시작하게 되고, 단말 A(10)로부터 수신한 최초 대화 ID"Init_Conv"에 종속하는 제1 자식 대화 ID "Priv_Conv_1"를 생성한다. 단말 B(20)는 제1자식 대화 ID"Priv_Conv_1"를 작성된 메시지에 활성 대화 ID로 포함시키고, 부모 대화 ID로 대화 ID"Init_Conv"를 포함시켜 120단계에서 단말 C(30)와 단말 D(40)로 송신한다.
120단계에서 단말 B(20)로부터 메시지를 수신한 단말 C(30)와 단말 D(40)는 수신된 메시지에서 활성 대화 ID "Priv_Conv_1"를 검출하여, 자신의 데이터베이스에 존재하는지 검색한다. 그런데, 검출된 대화 ID"Priv_Conv_1"는 새로운 개인 대화에 대응하는 대화 ID 이기 때문에, 데이터베이스에 존재하지 않는다. 이에 따라, 단말 C(30)와 단말 D(40)의 메시지 클라이언트(11)는 메시지에서 부모 대화 ID"Init_Conv"검출하고, 데이터베이스를 검색한다.
단말 C(30)의 메시지 클라이언트(11)는 110단계에서 단말 A(10)로부터 메시지를 수신하였기 때문에, 부모 대화 ID "Init_Conv"를 데이터베이스에서 검출할 수 있다. 단말 C(30)의 메시지 클라이언트(11)는 검출된 대화 ID "Init_Conv"의 자식 대화 ID로 대화 ID"Priv_Conv_1"를 추가한다. 그리고 대화 ID"Priv_Conv_1"에 대응하는 새로운 대화창을 생성하여 메시지 내용을 디스플레이한다.
하지만, 단말 D(40)는 이전에 부모 대화 ID"Init_Conv"와 관련된 메시지를 수신한적이 없기 때문에, 데이터베이스에 대화 ID"Init_Conv"를 검출할 수 없다. 이에 따라, 단말 D(40) 의 메시지 클라이언트(11)는 부모 대화 ID"Init_Conv"와 자식 대화 ID"Priv_Conv_1"간의 트리 구조를 복사하여 새로운 대화 트리로 데이터베이스에 추가하고, 대화 ID"Priv_Conv_1"에 대응하는 새로운 대화창을 생성하여 메시지 내용을 디스플레이한다.
120단계에서 단말 B(20)로부터 제1레벨의 개인 대화와 관련된 메시지를 수신한 후에, 단말 C(30)의 사용자는 그에 대한 응답 코멘트가 포함된 메시지를 130단계에서 전송할 수 있다. 이때, 단말 C(30)의 사용자가 120단계에서 수신한 메시지의 후속 메시지를 작성하면서, 참가 단말을 제외시키거나 추가하지 않는다면, 120단계에서 수신한 메시지에 포함된 활성 대화 ID "Priv_Conv_1"가 후속 메시지의 활성 대화 ID로 유지되며, 부모 대화 ID도 동일하게 유지된다. 그리고 응답 코멘트가 포함된 메시지는 제1서브 대화 그룹에 포함되는 단말 B(20)와 단말 D(40)로 130단계에서 송신된다.
130단계에서 단말 C(30)로부터 메시지를 수신한 단말 B(20)와 단말 D(40)는 수신된 메시지에서 활성 대화 활성 대화 ID "Priv_Conv_1"를 추출하고, 데이터베이스에서 동일한 대화 ID를 검출하고, 해당 대화창에 수신된 메시지를 디스플레이한다.
이후, 단말 B(20)의 사용자는 130단계에서 단말 C(30)로부터 메시지내용에 따라 단말 C(30)의 답변만이 필요한 메시지를 보낼 수 있다. 때문에, 단말 B(20)의 사용자는 메시지 작성시 응답키를 입력하고, 수신 단말에서 단말 D(40)를 제외시키며, 이로 인해, 단말 B(20)와 단말 C(30)를 포함하는 제2서브 대화 그룹을 구성하게 되고, 단말 B(20)와 단말 C(30)간에 제2레벨의 개인 대화가 이뤄지게 된다.
그리고 단말 B(20)의 메시지 클라이언트(11)는 제2레벨의 개인 대화의 대화 ID로서 "Priv_Conv_2"를 대화 ID "Priv_Conv_1"의 자식 대화 ID로 생성하고, 활성 대화 ID "Priv_Conv_2"와, 부모 대화 ID "Priv_Conv_1" 및 "Init_Conv"를 포함하는 메시지를 단말 C(30)로 140단계에서 송신한다.
140단계에서 메시지를 수신한 단말 C(30)는 메시지에서 활성 대화 ID"Priv_Conv_2"를 추출하고, 데이터베이스를 검색하지만, 활성 대화 ID"Priv_Conv_2"가 새로운 대화 ID이기 때문에, 동일한 대화 ID는 데이터베이스에 존재하지 않는다. 하지만, 부모 대화 ID "Priv_Conv_1" 및 "Init_Conv"는 데이터베이스에 존재하기 때문에, 단말 C(30)의 메시지 클라이언트(11)는 대화 ID"Priv_Conv_2"를 대화 ID "Priv_Conv_1"에 종속되는 자식 대화 ID로서 데이터베이스에 추가한다. 그리고 단말 C(30)의 메시지 클라이언트(11)는 대화 ID"Priv_Conv_2"에 대응하는 새로운 대화창을 디스플레이하고, 해당 메시지의 내용을 디스플레이한다.
140단계에서 제2레벨의 개인 대화에 해당하는 메시지를 수신한 단말 C(30)는, 단말 B(20)의 요청에 따라, 150단계에서 답변이 포함된 응답 메시지를 단말 B(20)로 송신할 수 있다.이때, 단말 B로 송신되는 메시지는 제2레벨의 개인 대화에 속하는 메시지이기 때문에, 활성 대화 ID "Priv_Conv_2"와, 부모 대화 ID "Priv_Conv_1" 및 "Init_Conv"를 포함한다.
150단계에서 단말 C(30)로부터 메시지를 수신한 단말 B(20)는 수신된 메시지에 포함된 활성 대화 ID "Priv_Conv_2"에 대응하는 대화창에 메시지의 내용을 디스플레이한다.
한편, 150단계에서 단말 C(30)로부터 메시지를 수신한 후에 단말 B(20)의 사용자는 제2레벨의 개인 대화를 종료하고, 단말 B(20), 단말 C(30), 단말 D(40)가 포함된 제1서브 대화 그룹에 의해 진행되는 제1레벨의 개인 대화로 복구하는 것을 원할 수 있다. 이 경우 메시지는 후속 메시지가 되고, 제2레벨의 개인 대화의 참가 단말을 기준으로 했을 때, 단말 D(40)는 추가되는 것이지만, 제외 되는 단말은 없다.
즉, 160단계에서 사용자가 메시지를 작성하고, 단말 D(40)를 수신 단말로 추가하면, 단말 B(20)의 메시지 클라이언트(11)는 현재의 활성 대화, 즉, 제2레벨의 개인 대화의 부모 대화들을 검색한다. 제2레벨의 개인 대화의 부모 대화는 단말 B(20), 단말C(30), 단말 D(40)가 참가하는 제1레벨의 개인 대화와, 단말 A(10), 단말 B(20), 단말 C(30)가 참가하는 제2레벨의 최초 대화가 있다. 이와 같은 부모 대화 중에서, 단말 B(20)의 메시지 클라이언트(11)는, 제2레벨의 개인 대화에 추가된 단말 D(40)를 포함하는 참가 단말들과, 각 부모 대화들의 참가 단말들을 비교하여, 참가 단말의 구성이 가장 유사하면서도 활성 대화에 가까운 레벨의 대화를 검색한다. 비교 결과, 제1레벨의 개인 대화의 참가 단말들의 리스트와, 제2레벨의 개인 대화에 추가된 단말 D(40)를 포함하는 참가 단말의 리스트가 동일하므로, 검색 결과는 제1레벨의 개인 대화가 된다. 이에 따라, 160단계에서 작성된 메시지의 활성 대화 ID는 "Priv_Conv_1"가 되고, 부모 대화 ID는"Init_Conv"가 되며, 메시지는 단말 C(30)와 단말 D(40)로 송신된다.
160단계에서 단말 B(20)로부터 메시지를 수신한 단말 C(30)와 단말 D(40)는 상기 120단계에서 활성 대화 ID "Priv_Conv_1"에 대응하는 대화를 실행한적이 있기 때문에, 활성 대화 ID가 "Priv_Conv_1"가 데이터베이스에 존재하며, 이에 따라, 대화 ID "Priv_Conv_1"에 대응하는 대화창에 수신된 메시지의 내용을 디스플레이한다.
이후, 단말 B(30)의 사용자는 110단계에서 수신된 단말 A(10)의 메시지에 응답하기 위한 콘텐츠를 포함하는 메시지를 구성하여170a 단계에서 단말 A(10), 단말 C(30), 단말 D(40)로 전달하는 것을 원할 수 있다. 이에 따라, 단말 B(30)의 사용자가 160단계에서 수신된 메시지를 기준으로, 제외하는 단말 없이 단말 A(10)를 수신 단말로 추가하고 메시지를 작성하면, 단말 B(30)의 메시지 클라이언트(11)는 상기와 유사한 과정으로, 대화 ID "Priv_Conv_1"이 부모 대화 ID들 중에서, 이번에 사용할 대화 ID로 "Init_Conv"를 검출한다. 이는, 현재 작성된 메시지와 관련된 단말들이 단말 A(10), 단말 B(20), 단말C(30), 단말 D(40)이고, 이러한 참가 단말의 리스트는 최초 대화의 참가 단말 리스트와 가장 유사하기 때문이다.
단말 B(20)는 검출된 대화 ID"Init_Conv"를 활성 대화 ID로 메시지에 포함시켜, 170a 단계에서 단말 A(10), 단말 C(30), 단말 D(40)로 송신한다. 이때, 활성 대화 ID"Init_Conv"가 최초 대화 ID이기 때문에, 메시지에 부모 대화 ID는 포함되지 않는다.
170a 단계에서 메시지를 수신한 단말 A(10), 단말 C(30)는 대화 ID"Init_Conv"를 저장하고 있으므로, 대화 ID"Init_Conv"에 대응하는 대화창에 해당 메시지의 내용을 디스플레이한다.
단말 D(40)는 상기 110단계에서 메시지를 수신하지 않았기 때문에, 이전에 대화 ID"Init_Conv"에 대응하는 대화에 참여한적이 없다. 하지만, 상기 120단계에서 단말 B로부터 수신한 메시지에 부모 대화 ID 로서 대화 ID"Init_Conv"가 포함되어 있었기 때문에, 대화 ID "Init_Conv"가 데이터베이스에 존재한다. 이에 따라, 단말 D(40)의 메시지 클라이언트(11)는 데이터베이스에서 대화 ID"Init_Conv"를 검출하고, 대응하는 대화창에 해당 메시지 내용을 디스플레이한다.
한편, 또는 다른 예로, 단말 B(30)의 사용자는 110단계에서 수신된 단말 A(10)의 메시지에 응답하기 위한 콘텐츠를 포함하는 메시지를 구성하여 170b 단계에서 단말 C(30)를 제외한 단말 A(10), 단말 D(40)로 전달하는 것을 원할 수 있다. 이에 따라, 단말 B(30)의 사용자가 160단계에서 수신된 메시지를 기준으로, 단말 C(30)를 수신 단말에서 제외하고, 단말 A(10)를 새로운 수신 단말로 추가하고 메시지를 작성한다.
단말 B(30)의 메시지 클라이언트(11)는 먼저, 대화 ID "Priv_Conv_1"에 대응하는 참가 단말인, 단말 B(20), 단말 C(30), 단말 D(40)에 단말 A(10)를 추가하고, 유사한 참가 단말 리스트를 가지는 대화를 검색한다. 검색 결과, 가장 유사하면서도, 활성 대화에 가까운 대화로, 최초 대화가 검색된다. 이후, 최초 대화의 참가 단말 중에서 단말 C(30)를 제외한다. 단말 C(30)가 제외된 참가 단말 리스트 즉, 단말 A(10), 단말 B(20), 단말 D(40)로 구성된 참가 단말 리스트를 가지는 대화는 존재하지 않으므로, 단말 B(30)의 메시지 클라이언트(11)는 새로운 대화 ID "Priv_Conv_1b"를 대화 ID "Init_Conv"의 자식 대화 ID로 생성한다. 새로운 제1레벨의 개인 대화가 시작되는 것이다. 그리고 단말 B(30)의 메시지 클라이언트(11)는 활성 대화 ID "Priv_Conv_1b"와 부모 대화 ID "Init_Conv"를 포함하는 메시지를 단말 A(10)와 단말 D(40)로 송신한다.
170b 단계에서 메시지를 수신한 단말 A(10), 단말 D(40)는 활성 대화 ID "Priv_Conv_1b"를 저장하고 있지 않으므로, 부모 대화 ID "Init_Conv"의 자식 대화 ID로 대화 ID "Priv_Conv_1b"를 추가하고, 대화 ID "Priv_Conv_1b"에 대응하는 새로운 대화창을 생성하고, 해당 메시지 내용을 디스플레이한다.
도7a 내지 도7d는 상기한 도3의 시나리오에 따라 디스플레이되는 대화창의 예를 도시한 것이다. 도7a 내지 도7d는 부모 대화창 내에 직계 자식 대화와 관련된 하이퍼 링크가 포함되는 형태로 디스플레이되고, 하이퍼 링크가 선택되면, 관련 대화 메시지가 다른 대화창으로 새롭게 디스플레이되는 것을 나타낸 것이다. 이때, 새롭게 디스플레이된 대화에도 자식 대화가 존재할 수도 있으며, 이 경우의 자식 대화 역시 하이퍼 링크로 표시될 수 있다.
도7a는 상기 시나리오에 따라 170a 단계를 수행했을 때, 단말 A(10)에서 디스플레이되는 대화창 Conv A(401)를 나타낸 것이다. 단말 A(10)의 경우 110단계 및 170a단계에서, 동일한 레벨의 대화, 즉, 최초 대화에 관련된 메시지만을 송수신하기 때문에, 다른 자식 대화에 대응하는 하이퍼링크를 포함하지 않는다.
도7b는 상기 시나리오에 따라 170a 단계를 수행했을 때, 단말 B(20)와 단말 C(30)에서 디스플레이되는 대화창 Conv B(411), Conv B'(412), Conv B"(413)를 나타낸 것이다. 대화창 Conv B(411)는 110단계 및170a단계에서 송수신한 최초 대화에 관련된 메시지의 내용과, 제1레벨의 개인 대화에 대응하는 하이퍼링크 "Conv B'"를 디스플레이한다. 하이퍼링크"Conv B'"가 선택되면 대응하는 대화창 Conv B'(412)가 디스플레이되고, 대화창 Conv B'(412)에는 120단계, 130단계, 160단계에서 송수신한 제1레벨의 개인 대화와 관계된 메시지의 내용과, 제2레벨의 개인 대화에 대응하는 하이퍼링크 "Conv B""가 포함된다. 하이퍼링크 "Conv B""가 선택되면 대응하는 대화창 Conv B"(413)가 디스플레이되고, 대화창 Conv B"(413)에는 140단계, 150단계에서 송수신한 제2레벨의 개인 대화와 관계된 메시지의 내용이 포함된다.
도7c는 상기 시나리오에 따라 170a 단계를 수행했을 때, 단말 D(40)에서 디스플레이되는 대화창 Conv D(421), Conv D'(422)를 나타낸 것이다. 대화창 Conv D(421)는 170a단계에서 수신한 최초 대화에 관련된 메시지의 내용과, 제1레벨의 개인 대화에 대응하는 하이퍼링크 "Conv D'"를 디스플레이한다. 하이퍼링크 "Conv D'"가 선택되면 대응하는 대화창 Conv D'(422)가 디스플레이되고, 대화창 Conv D'(422)에는 120단계, 130단계, 160단계에서 송수신한 제1레벨의 개인 대화와 관계된 메시지의 내용이 포함된다.
도7d는 상기 시나리오에 따라 170b 단계를 수행했을 때, 단말 D(40)에서 디스플레이되는 대화창 Conv D(431), Conv D1'(432), Conv D2'(433)를 나타낸 것이다. 대화창 Conv D(431)는 최초 대화에 대응하는 대화창으로, 본 시나리오에서는 단말 D(40)은 최초 대화와 관련된 메시지를 송수신하지는 않지만, 120단계, 130단계, 160단계, 170b단계에서 송수신한 메시지와 관련된 개인 대화의 직계 부모 대화가 최초 대화이기 때문에, 해당 개인 대화에 대응하는 하이퍼링크를 디스플레이하기 위해, 대화창 Conv D(431)가 디스플레이될 수 있다. 때문에 대화창 Conv D(431)는 제1레벨의 개인 대화에 대응하는 하이퍼링크 "Conv D1'"및 하이퍼링크 "Conv D2'"를 포함한다.
하이퍼링크 "Conv D1'"가 선택되면 대응하는 대화창 Conv D1'(432)가 디스플레이되고, 대화창 Conv D1(432)에는 120단계, 130단계, 160단계에서 송수신한 제1레벨의 개인 대화와 관계된 메시지의 내용이 포함된다. 그리고 하이퍼링크 "Conv D2'"가 선택되면 대응하는 대화창 Conv D2'(433)가 디스플레이되고, 대화창 Conv D2'(433)에는 170b단계에서 수신한 제1레벨의 개인 대화와 관계된 메시지의 내용이 포함된다.
상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 예를 들어, 하나의 최초 대화와 관련된 복수의 개별 대화들은 동일한 윈도우 프레임 내에서 대화별로 지정된 다른 색의 글씨로 디스플레이될 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위와 특허청구범위의 균등한 것에 의해 정해 져야 한다.

Claims (22)

  1. 메시징 서비스를 지원하는 통신 단말에서, 동일한 대화 그룹에 속하는 복수의 단말 간에 메시지 교환에 따른 대화를 각 대화 그룹별로 제공하는 방법에 있어서,
    메시지를 수신하는 과정과,
    상기 수신된 메시지와 관련된 대화 및 상기 대화에 참가하는 참가 단말들로 구성된 대화 그룹에 대응하는 활성 대화 ID를, 상기 수신된 메시지에서 검출하는 과정과,
    상기 활성 대화 ID에 대응하는 대화창에 상기 수신된 메시지를 추가하여 디스플레이하는 과정을 포함함을 특징으로 하는 그룹별 대화 제공 방법.
  2. 제1항에 있어서, 상기 디스플레이 과정은, 각 대화별로 할당되는 대화 ID와, 각 대화 ID 간의 연관 관계가 트리 구조로 저장되는 데이터베이스에 상기 활성 대화 ID와 일치하는 대화 ID가 있으면 상기 활성 대화 ID에 대응하는 대화창에 상기 수신된 메시지를 추가하여 디스플레이하는 과정임을 특징으로 하는 그룹별 대화 제공 방법.
  3. 제2항에 있어서, 상기 활성 대화 ID와 일치하는 대화 ID가 상기 데이터베이스에 없고, 상기 수신된 메시지에 부모 대화 ID가 포함되어 있지 않으면, 상기 활성 대화 ID에 대응하는 새로운 대화창을 생성하고, 상기 새로운 대화창에 상기 수신된 메시지를 추가하여 디스플레이하는 과정을 더 포함함을 특징으로 하는 그룹별 대화 제공 방법.
  4. 제2항에 있어서, 상기 활성 대화 ID와 일치하는 대화 ID가 데이터베이스에 없으면, 상기 수신된 메시지에서 상기 활성 ID에 대응하는 부모 대화 ID를 검출하는 과정과,
    상기 부모 대화 ID와 일치하는 대화 ID가 데이터베이스에 있으면, 상기 활성 ID를 상기 일치하는 대화 ID의 자식 대화 ID로 추가하여 해당 대화 트리를 갱신하는 과정과,
    상기 활성 대화 ID에 대응하는 새로운 대화창을 생성하고, 상기 생성된 대화창에 상기 수신된 메시지를 추가하여 디스플레이하는 과정을 더 포함함을 특징으로 하는 그룹별 대화 제공 방법.
  5. 제4항에 있어서, 상기 부모 대화 ID와 일치하는 대화 ID가 상기 데이터베이스에 없으면, 상기 부모 대화 ID 및 상기 활성 ID로 이루어진 대화 트리 복사하여 상기 데이터베이스에 저장하는 과정을 더 포함함을 특징으로 하는 그룹별 대화 제공 방법.
  6. 제1항에 있어서, 사용자 입력에 따라 메시지를 작성하는 과정과,
    상기 작성된 메시지가 최초의 대화를 위한 메시지이면, 상기 최초의 대화 및 상기 통신 단말과 상기 작성된 메시지에 대한 수신 통신 단말을 참가 단말로 포함하는 최초 대화 그룹에 대응하는 새로운 제1대화 ID를 할당하는 과정과,
    상기 제1대화 ID를 상기 작성된 메시지에 활성 대화 ID로 포함시켜 송신하는 과정을 포함함을 특징으로 하는 그룹별 대화 제공 방법.
  7. 제6항에 있어서, 상기 작성된 메시지가 기존의 대화와 관련된 후속 메시지 면, 상기 통신 단말과 상기 수신 통신 단말을 포함하는 단말 리스트와 동일한 참가 단말 리스트를 가지는 대화 그룹에 할당된 대화 ID를, 각 대화별로 할당되는 대화 ID와, 각 대화 ID 간의 연관 관계가 트리 구조로 저장되는 데이터베이스에서 검색하고, 상기 검색된 대화 ID를 상기 작성된 메시지에 활성 대화 ID로 포함시켜 송신하는 과정을 더 포함함을 특징으로 하는 그룹별 대화 제공 방법.
  8. 제7항에 있어서, 상기 작성된 메시지는 상기 활성 대화 ID와 관련된 하나 이상의 부모 대화 ID들을 포함하여 송신됨을 특징으로 하는 그룹별 대화 제공 방법.
  9. 제8항에 있어서, 상기 작성된 메시지가 상기 후속 메시지 면, 가장 최근에 수신된 메시지에 대응하는 특정 대화의 참가 단말 리스트와, 상기 단말 리스트를 비교하는 과정과,
    상기 비교 결과, 상기 특정 대화의 참가 단말 리스트 와 상기 단말 리스트가 일치하지 않고, 상기 단말 리스트와 동일한 참가 단말 리스트를 가지는 대화 ID가 상기 데이터베이스에 존재하지 않고, 상기 특정 대화의 참가 단말 리스트를 기준으로 제외된 단말만 존재한다면, 새로운 제2대화 ID를 상기 단말 리스트에 대응하는 대화 그룹에 할당하고, 상기 제2대화 ID를 상기 특정 대화에 대응하는 대화 ID의 자식 대화 ID로 지정하는 과정과,
    상기 제2대화 ID를 상기 작성된 메시지에 활성 대화 ID로 포함시켜 전송하는 과정을 더 포함함을 특징으로 하는 그룹별 대화 제공 방법.
  10. 제9항에 있어서, 상기 비교 결과, 상기 특정 대화의 참가 단말 리스트 와 상기 단말 리스트가 일치하지 않고, 상기 단말 리스트와 동일한 참가 단말 리스트를 가지는 대화 ID가 상기 데이터베이스에 존재하지 않고, 상기 특정 대화의 참가 단말 리스트를 기준으로 추가된 단말만 존재한다면, 계층적으로 활성 대화 그룹에 가까우면서, 상기 단말 리스트와 가장 유사한 참가 단말 리스트를 가지는 대화 그룹을 검색하고, 검색된 대화 그룹의 대화 ID를 상기 작성된 메시지에 활성 대화 ID로 포함시켜 송신하는 과정을 더 포함함을 특징으로 하는 그룹별 대화 제공 방법.
  11. 제9항에 있어서, 상기 비교 결과, 상기 특정 대화의 참가 단말 리스트 와 상기 단말 리스트가 일치하지 않고, 상기 단말 리스트와 동일한 참가 단말 리스트를 가지는 대화 ID가 상기 데이터베이스에 존재하지 않고, 상기 특정 대화의 참가 단말 리스트를 기준으로 제외된 단말과 추가된 단말만 존재한다면, 계층적으로 활성 대화 그룹에 가까우면서 상기 특정 대화의 참가 단말 리스트의 단말과 상기 추가된 단말을 포함하는 리스트와 가장 유사한 참가 단말 리스트를 가지는 대화 ID를 검색하는 과정과,
    새로운 제3대화 ID를 상기 단말 리스트에 대응하는 대화 그룹에 할당하고, 상기 제3대화 ID를 상기 검색된 대화 ID의 자식 대화 ID로 지정하는 과정과,
    상기 제3대화 ID를 상기 작성된 메시지에 활성 대화 ID로 포함시켜 전송하는 과정을 더 포함함을 특징으로 하는 그룹별 대화 제공 방법.
  12. 메시징 서비스를 지원하는 통신 단말에서, 동일한 대화 그룹에 속하는 복수의 단말 간에 메시지 교환에 따른 대화를 각 대화 그룹별로 제공하는 장치에 있어서,
    표시부와,
    수신된 메시지와 관련된 대화 및 상기 대화에 참가하는 참가 단말들로 구성된 대화 그룹에 대응하는 활성 대화 ID를, 상기 수신된 메시지에서 검출하고, 상기 활성 대화 ID에 대응하는 대화창에 상기 수신된 메시지를 추가하여 상기 표시부에 디스플레이하는 메시지 클라이언트를 포함함을 특징으로 하는 그룹별 대화 제공 장치.
  13. 제12항에 있어서, 상기 메시지 클라이언트는 각 대화별로 할당되는 대화 ID와, 각 대화 ID 간의 연관 관계가 트리 구조로 저장되는 데이터베이스에 상기 활성 대화 ID와 일치하는 대화 ID가 있으면, 상기 활성 대화 ID에 대응하는 대화창에 상기 수신된 메시지를 추가하여 상기 표시부에 디스플레이함을 특징으로 하는 그룹별 대화 제공 장치.
  14. 제13항에 있어서, 상기 메시지 클라이언트는 상기 활성 대화 ID와 일치하는 대화 ID가 상기 데이터베이스에 없고, 상기 수신된 메시지에 부모 대화 ID가 포함되어 있지 않으면, 상기 활성 대화 ID에 대응하는 새로운 대화창을 생성하고, 상기 새로운 대화창에 상기 수신된 메시지를 추가하여 디스플레이함을 특징으로 하는 그룹별 대화 제공 장치.
  15. 제13항에 있어서, 상기 메시지 클라이언트는 상기 활성 대화 ID와 일치하는 대화 ID가 데이터베이스에 없으면, 상기 수시된 메시지에서 상기 활성 ID에 대응하는 부모 대화 ID를 검출하고, 상기 부모 대화 ID와 일치하는 대화 ID가 데이터베이스에 있으면, 상기 활성 ID를 상기 일치하는 대화 ID의 자식 대화 ID로 추가하여 해당 대화 트리를 갱신하고, 상기 활성 대화 ID에 대응하는 새로운 대화창을 생성하고, 상기 생성된 대화창에 상기 수신된 메시지를 추가하여 디스플레이함을 특징으로 하는 그룹별 대화 제공 장치.
  16. 제15항에 있어서, 상기 메시지 클라이언트는 상기 부모 대화 ID와 일치하는 대화 ID가 상기 데이터베이스에 없으면, 상기 부모 대화 ID 및 상기 활성 ID로 이루어진 대화 트리 복사하여 상기 데이터베이스에 저장함을 특징으로 하는 그룹별 대화 제공 장치.
  17. 제12항에 있어서, 상기 메시지 클라이언트는 사용자 입력에 따라 메시지를 작성하고, 상기 작성된 메시지가 최초의 대화를 위한 메시지이면, 상기 최초의 대화 및 상기 통신 단말과 상기 작성된 메시지에 대한 수신 통신 단말을 참가 단말로 포함하는 최초 대화 그룹에 대응하는 새로운 제1대화 ID를 할당하고, 상기 제1대화 ID를 상기 작성된 메시지에 활성 대화 ID로 포함시켜 송신함을 특징으로 하는 그룹별 대화 제공 장치.
  18. 제17항에 있어서, 상기 메시지 클라이언트는 상기 작성된 메시지가 기존의 대화와 관련된 후속 메시지 면, 상기 통신 단말과 상기 수신 통신 단말을 포함하는 단말 리스트와 동일한 참가 단말 리스트를 가지는 대화 그룹에 할당된 대화 ID를, 각 대화별로 할당되는 대화 ID와, 각 대화 ID 간의 연관 관계가 트리 구조로 저장되는 데이터베이스에서 검색하고, 상기 검색된 대화 ID를 상기 작성된 메시지에 활성 대화 ID로 포함시켜 송신함을 특징으로 하는 그룹별 대화 제공 장치.
  19. 제18항에 있어서, 상기 작성된 메시지는 상기 활성 대화 ID와 관련된 하나 이상의 부모 대화 ID를 포함하여 송신됨을 특징으로 하는 그룹별 대화 제공 장치.
  20. 제19항에 있어서, 상기 메시지 클라이언트는 상기 작성된 메시지가 상기 후속 메시지면, 가장 최근에 수신된 메시지에 대응하는 특정 대화의 참가 단말 리스트와, 상기 단말 리스트를 비교하고, 상기 비교 결과, 상기 특정 대화의 참가 단말 리스트 와 상기 단말 리스트가 일치하지 않고, 상기 단말 리스트와 동일한참가 단말 리스트를 가지는 대화 ID가 상기 데이터베이스에 존재하지 않고, 상기 특정 대화의 참가 단말 리스트를 기준으로 제외된 단말만 존재한다면, 새로운 제2대화 ID를 상기 단말 리스트에 대응하는 대화 그룹에 할당하고, 상기 제2대화 ID를 상기 특정 대화에 대응하는 대화 ID의 자식 대화 ID로 지정하고, 상기 제2대화 ID를 상기 작성된 메시지에 활성 대화 ID로 포함시켜 송신함 을 특징으로 하는 그룹별 대화 제공 장치.
  21. 제20항에 있어서, 상기 메시지 클라이언트는 상기 비교 결과, 상기 특정 대화의 참가 단말 리스트 와 상기 단말 리스트가 일치하지 않고, 상기 단말 리스트와 동일한 참가 단말 리스트를 가지는 대화 ID가 상기 데이터베이스에 존재하지 않고, 상기 특정 대화의 참가 단말 리스트를 기준으로 추가된 단말만 존재한다면, 계층적으로 활성 대화 그룹에 가까우면서, 상기 단말 리스트와 가장 유사한 참가 단말 리스트를 가지는 대화 그룹을 검색하고, 검색된 대화 그룹의 대화 ID를 상기 작성된 메시지에 활성 대화 ID로 포함시켜 송신함을 특징으로 하는 그룹별 대화 제공 장치.
  22. 제20항에 있어서, 상기 메시지 클라이언트는 상기 비교 결과, 상기 특정 대화의 참가 단말 리스트 와 상기 단말 리스트가 일치하지 않고, 상기 단말 리스트와 동일한 참가 단말 리스트를 가지는 대화 ID가 상기 데이터베이스에 존재하지 않고, 상기 특정 대화의 참가 단말 리스트를 기준으로 제외된 단말과 추가된 단말만 존재한다면, 계층적으로 활성 대화 그룹에 가까우면서 상기 특정 대화의 참가 단말 리스트의 단말과 상기 추가된 단말을 포함하는 리스트와 가장 유사한 참가 단말 리스트를 가지는 대화 ID를 검색하고, 새로운 제3대화 ID를 상기 단말 리스트에 대응하는 대화 그룹에 할당하고, 상기 제3대화 ID를 상기 검색된 대화 ID의 자식 대화 ID로 지정하고, 상기 제3대화 ID를 상기 작성된 메시지에 활성 대화 ID로 포함시켜 송신함을 특징으로 하는 그룹별 대화 제공 장치.
KR1020100046088A 2010-05-17 2010-05-17 메시징 서비스에서 그룹별 메시지 대화 제공 방법 및 장치 KR20110126421A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100046088A KR20110126421A (ko) 2010-05-17 2010-05-17 메시징 서비스에서 그룹별 메시지 대화 제공 방법 및 장치
US13/109,381 US20110282953A1 (en) 2010-05-17 2011-05-17 Method and apparatus for providing message conversation by group in a messaging service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100046088A KR20110126421A (ko) 2010-05-17 2010-05-17 메시징 서비스에서 그룹별 메시지 대화 제공 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20110126421A true KR20110126421A (ko) 2011-11-23

Family

ID=44912705

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100046088A KR20110126421A (ko) 2010-05-17 2010-05-17 메시징 서비스에서 그룹별 메시지 대화 제공 방법 및 장치

Country Status (2)

Country Link
US (1) US20110282953A1 (ko)
KR (1) KR20110126421A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10298529B2 (en) 2015-08-17 2019-05-21 Naver Corporation Method, system, and recording medium for managing group message
WO2022092772A1 (ko) * 2020-10-26 2022-05-05 삼성전자 주식회사 알림 뷰를 제공하는 전자 장치 및 이의 제어 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248736B (zh) * 2012-02-08 2017-11-10 中兴通讯股份有限公司 显示会话信息的方法及装置
CN102571637A (zh) * 2012-03-16 2012-07-11 腾讯科技(深圳)有限公司 消息处理方法和装置
CN102833408B (zh) 2012-08-22 2014-12-17 小米科技有限责任公司 一种消息显示方法和装置
CN104854946A (zh) * 2012-12-19 2015-08-19 惠普发展公司,有限责任合伙企业 多通道对话
KR20140102901A (ko) * 2013-02-15 2014-08-25 삼성전자주식회사 전자기기의 이메일 관리 장치 및 방법
US20160071222A1 (en) * 2014-09-08 2016-03-10 Grant Patrick Henderson System and methods for managing relationships in a business network
US20160072738A1 (en) * 2014-09-08 2016-03-10 Grant Patrick Henderson System and methods for electronic communication between business entities
US10091353B1 (en) * 2015-12-30 2018-10-02 Securus Technologies, Inc. Identical conversation detection systems and processes
WO2018066965A1 (en) * 2016-10-04 2018-04-12 Samsung Electronics Co., Ltd. Method and apparatus for transmitting a mission critical data message in a communication system
US11019016B2 (en) 2018-10-27 2021-05-25 International Business Machines Corporation Subgroup messaging within a group-based messaging interface
CN113228607B (zh) * 2018-11-23 2023-05-12 株式会社亚格里讯 消息转送装置、方法和记录介质
US11115367B2 (en) 2019-08-20 2021-09-07 Entrespace, LLC System and method for automating workflow management and tracking of voicemail, text and multimedia messages, live chats, forms and uploaded files

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330589B1 (en) * 1998-05-26 2001-12-11 Microsoft Corporation System and method for using a client database to manage conversation threads generated from email or news messages
US8065369B2 (en) * 2005-02-01 2011-11-22 Microsoft Corporation People-centric view of email
US9002725B1 (en) * 2005-04-20 2015-04-07 Google Inc. System and method for targeting information based on message content
US7730142B2 (en) * 2005-07-01 2010-06-01 0733660 B.C. Ltd. Electronic mail system with functionality to include both private and public messages in a communication
US7627828B1 (en) * 2006-04-12 2009-12-01 Google Inc Systems and methods for graphically representing users of a messaging system
US7693940B2 (en) * 2007-10-23 2010-04-06 International Business Machines Corporation Method and system for conversation detection in email systems
US20090234924A1 (en) * 2008-03-14 2009-09-17 Microsoft Corporation Automatic Association of Messages with Conversations
EP2107755A1 (en) * 2008-04-04 2009-10-07 Nokia Corporation Method and apparatus for CPM session management
US8700776B2 (en) * 2009-03-23 2014-04-15 Google Inc. System and method for editing a conversation in a hosted conversation system
EP2369820B1 (en) * 2010-03-22 2016-04-06 BlackBerry Limited Management and display of grouped messages on a communication device
US20130198657A1 (en) * 2010-04-30 2013-08-01 American Teleconferencing Services, Ltd. Integrated Public/Private Online Conference

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10298529B2 (en) 2015-08-17 2019-05-21 Naver Corporation Method, system, and recording medium for managing group message
WO2022092772A1 (ko) * 2020-10-26 2022-05-05 삼성전자 주식회사 알림 뷰를 제공하는 전자 장치 및 이의 제어 방법

Also Published As

Publication number Publication date
US20110282953A1 (en) 2011-11-17

Similar Documents

Publication Publication Date Title
KR20110126421A (ko) 메시징 서비스에서 그룹별 메시지 대화 제공 방법 및 장치
CN1943131B (zh) 用于在无线移动终端与联网计算机之间进行消息通信的方法、系统和装置
CN103155523B (zh) 用于整合不同的通信供应者的通信系统的方法与装置
US9391932B2 (en) Including a plurality of users in a conversation over a communication network
CN100583839C (zh) 实现单帐号多身份即时消息通信和存在业务的方法及系统
RU2407232C2 (ru) Способ, мобильный терминал, система и компьютерный программный продукт для атрибуции контента в реальном времени
JP7050354B2 (ja) 非同期メッセージシステムにおける単一アカウントに対する複数プロファイルを管理する方法、システムおよびコンピュータ読み取り可能媒体
US10462195B2 (en) Methods, apparatus and/or system for using email to schedule and/or launch group communications sessions
US20100125580A1 (en) Automatic buddy management
CN104052655A (zh) 一种群聊方法以及即时通信客户端
US10541951B2 (en) Enhancing network messaging with a real-time, interactive representation of current messaging activity of a user&#39;s contacts and associated contacts
KR20150015058A (ko) 공통 관심사 기반 그룹 생성 시스템 및 그 방법, 그리고 이에 적용되는 서비스 장치
CN109327381B (zh) 快速将人员加入群组与新建群组的方法及装置
KR20150059662A (ko) 소셜 서비스 제공 시스템에서 관계 설정 방법 및 장치
CN106161201A (zh) 一种以邮箱账号为标识参与群聊的方法、设备及系统
CN105281923A (zh) 基于用户标识的视频会议呼叫的实现方法及装置
CN110224924B (zh) 状态更新方法和装置、存储介质及电子装置
WO2019023974A1 (zh) 多主题对话的通信控制装置和方法、及计算机处理设备
KR20190131355A (ko) 대화용 애플리케이션의 운영 방법
US10567318B2 (en) Apparatus and method for quickly sending messages
CN101394365A (zh) 一种消息关联方法及用户终端以及服务器
CN104270495B (zh) 一种添加联系人的方法、系统及移动终端
KR101884514B1 (ko) 영상 대화 서비스 제공 방법 및 시스템
US20230421404A1 (en) Apparatus and method for using messenger service of group chat room
JP2010140083A (ja) 通信端末

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application