본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다.
그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
본 출원에서 사용한 용어는 단지 특정한 실시 예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시 예들을 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시 예에 따른 개방형 소셜네트워크 서비스 시스템의 구성을 도시한 개념도이다.
개방형 소셜네트워크 서비스 시스템은 복수의 모바일 단말(10), 개방형 소셜네트워크 서비스 서버(20) 및 데이터 네트워크를 포함한다. 모바일 단말(10)과 개방형 소셜네트워크 서비스 서버(20)는 데이터 네트워크를 통해 개방형 소셜네트워크 서비스에 필요한 신호 및 데이터를 교환한다. 모바일 단말(10)은 이동전화 네트워크를 통해 음성통화와 문자 메시지의 송수신이 가능하며, 무선 데이터 통신 네트워크를 통해 데이터의 교환이 가능한 통신 기기를 말한다.
본 발명에 의해 제공되는 소셜 네트워크 서비스는 개방형이다. 즉, 소셜 네트워크 서비스 계정을 통해 주고 받는 메시지들은 이 계정에 접속한 불특정 다수의 서비스 사용자에게 모두 공개되며, 서비스 사용자들은 타 서비스 사용자에게 자유로이 메시지를 전송할 수 있다. 메시지는 특정의 사용자를 대상으로 작성될 수 있다. 개방형 소셜 네트워크 서비스의 메시지는 메시지 작성자의 계정에 연계되어 모든 사용자에게 공개되므로, 어떤 메시지를 특정의 타 사용자에게 전달하고 싶을 경우, 그 대상을 특정할 필요가 있다. 개방형 소셜 네트워크 서비스에서 일반적으로 사용하는 방식은 메시지 앞에 대상 사용자를 특정하는 텍스트를 추가하는 것이다. 예컨대, 사용자가 타 사용자 USER_A에게 메시지 message#1을 전달하고 싶을 경우, 메시지 형식은 "@ USER_A message#1"으로 정의될 수 있다. 이하에서는 상기의 메시지 포맷의 예를 가지고 본 발명을 설명하기로 한다.
도 2는 본 발명의 일 실시 예에 따른 개방형 소셜네트워크 서비스 서버의 구성을 도시한 블록 다이어그램이다.
도 2를 참조하면, 본 발명의 일 실시 예에 따른 개방형 소셜네트워크 서비스 서버(20)는, 메시지 고유값 생성부(21), 메시지 고유값 관리부(22), 및 메시지 확인 상태 표시부(23)를 포함한다.
메시지 고유값 생성부(21)는, 제1 사용자 계정에 연관된 제1 사용자 단말로부터, 적어도 하나의 제2 사용자 계정을 특정하는 제1 텍스트와 제2 사용자에게 보내질 메시지인 제2 텍스트를 포함하는 텍스트 메시지를 수신하면, 텍스트 메시지에 대응하는 고유값을 생성한다. 고유값은 메시지와 메시지의 대상에 1:1로 맵핑된다. 메시지가 다수의 타 사용자를 대상으로 할 경우, 고유값은 각각의 타 사용자에 대해서 생성될 수도 있다. 예컨대, 메시지가 "@USER_A @USER_B @USER_C message#1"으로 작성된 경우, 메시지 내용인 message#1이 복수의 타 사용자 USER_A, USER_B, USER_C를 대상으로 하고 있으므로, 고유값은 메시지 message#1에 대해 USER_A, USER_B, USER_C 각각을 대상으로 하나씩 생성될 수 있다.
생성된 고유값은 해당 텍스트 메시지에 맵핑되어 저장소(미도시)에 저장된다. 즉, 사용자가 특정인을 대상으로 메시지를 작성하면, 서버(20)는 그 특정인과 메시지 내용에 대해 고유값을 생성하고 이를 저장소에 저장하는 것이다. 저장소는 서버(20)에 내장된 메모리이거나 별도의 저장 매체 또는 데이터베이스 서버일 수 있다.
메시지 고유값 관리부(22)는, 제2 사용자의 단말이 서버에 접속하여 텍스트 메시지를 확인하였는지 감지하고, 제2 사용자의 단말이 서버에 접속하여 해당 텍스트 메시지를 확인한 것으로 감지되면, 저장된 고유값을 삭제하는 기능을 수행한다. 예컨대, 서버(20)는 제1 사용자가 제2 사용자를 대상으로 메시지를 작성한 경우, 제2 사용자에게 제1 사용자가 제2 사용자를 대상으로 메시지를 작성하였음을 알리는 알림 메시지를 전송할 수 있다. 이 경우, 제2 사용자가 알림 메시지에 포함된 링크를 클릭하면 제1 사용자의 계정의 메시지 목록 중 해당 메시지를 열람하도록 할 수 있으며, 메시지 고유값 관리부(22)는 이를 감지하여 메시지 고유값을 삭제할 수 있다. 또한, 알림 메시지의 전송하지 않는 경우에도, 메시지 고유값 관리부(22)는제2 사용자가 제1 사용자의 계정에 접속하여 메시지 목록으로부터 해당 메시지를 확인하면 메시지 고유값을 삭제할 수 있다.
메시지 확인 상태 표시부(23)는, 고유값의 삭제에 응답하여, 제1 사용자 단말로 제2 사용자가 해당 텍스트 메시지를 확인하였음을 알리는 기능을 수행한다. 제2 사용자가 메시지를 읽었는지를 알리는 방식은 여러 가지일 수 있다. 예컨대, 메시지 확인 상태 표시부(23)는, 제2 사용자가 제1 사용자의 계정에 접속하여 해당 메시지를 확인하면, 이 사실을 알리는 알림 메시지를 제1 사용자 단말에 전송하도록 구성될 수 있다. 이와 달리, 메시지 확인 상태 표시부(23)는, 제2 사용자의 해당 텍스트 메시지 확인 여부를 표시하는 메시지 확인 상태 플래그를 제1 사용자 계정의 메시지 목록에 표시하도록 구성될 수 있다. 이 경우, 메시지 확인 상태 표시부(23)는, 제1 사용자에 의해 제2 사용자를 대상으로 하는 메시지가 작성되면, 일단 미확인에 대응하는 제1 상태로 설정하여 해당 텍스트 메시지에 추가하고, 메시지 확인 상태 플래그 및 해당 텍스트 메시지를 제1 사용자 계정의 게시글 목록에 표시한다. 이후, 메시지 고유값 관리부(22)에 의해 고유값이 삭제되면, 메시지 확인 상태 표시부는, 메시지 확인 상태를 '확인'에 대응하는 제2 상태로 변경하고, 변경된 메시지 확인 상태 플래그 및 텍스트 메시지를 제1 사용자 계정의 게시글 목록에 표시한다.
이와 같은 과정을 통해 생성된 메시지 확인 상태 플래그 및 텍스트 메시지는 제1 사용자 계정의 상기 게시글 목록에 접속하는 타 사용자에게 공개된다. 즉, 제1 사용자 계정에 접속한 다른 사용자들은 해당 메시지의 전달 대상인 제2 사용자가 아니더라도 제2 사용자가 메시지를 읽었는지를 확인할 수 있게 된다.
본 발명의 일 실시예에 따르면, 메시지 확인 상태 표시부(23)는, 메시지의 작성자인 제1 사용자의 계정 뿐만 아니라 메시지의 대상이 되는 제2 사용자의 계정에서도 제2 사용자의 메시지 확인 여부를 표시하도록 구성될 수 있다. 즉, 메시지 확인 상태 표시부(23)는, 메시지 확인 상태 플래그 및 텍스트 메시지를 제2 사용자 계정의 게시글 목록에 표시하도록 구성될 수 있다. 이때, 제2 사용자 계정에 대한 메시지 확인 상태 플래그의 변경 및 표시는 제1 사용자 계정에서 수행되는 것과 동일하다. 이와 같은 과정을 통해 생성된 메시지 확인 상태 플래그 및 텍스트 메시지는 제2 사용자 계정의 상기 게시글 목록에 접속하는 타 사용자에게 공개된다. 즉, 제2 사용자 계정에 접속한 다른 사용자들은 해당 메시지의 전달 대상인 제2 사용자가 아니더라도 제2 사용자가 메시지를 읽었는지를 확인할 수 있게 된다.
한편, 메시지 고유값 생성부(21), 메시지 고유값 관리부(22), 및 메시지 확인 상태 표시부(23) 각각은, 위에서 설명한 처리를 수행하도록 구성된 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합일 수 있다. 예컨대, 메시지 고유값 생성부(21)는 제1 사용자 계정에 연관된 제1 사용자 단말로부터, 적어도 하나의 제2 사용자 계정을 특정하는 제1 텍스트와 제2 사용자에게 보내질 메시지인 제2 텍스트를 포함하는 텍스트 메시지를 수신하면, 텍스트 메시지에 대응하는 고유값을 생성하는 등의 기능을 처리하는데 필요한 명령어들을 포함하는 소프트웨어와 그 명령어에 따른 처리를 수행하는 서버(20) 내의 프로세서에 의해 구성될 수 있다. 마찬가지로 메시지 고유값 관리부(22)는 앞에서 설명한 제2 사용자의 단말이 서버에 접속하여 텍스트 메시지를 확인하였는지 감지하고, 제2 사용자의 단말이 서버에 접속하여 해당 텍스트 메시지를 확인한 것으로 감지되면, 저장된 고유값을 삭제하는 등의 기능을 수행에 필요한 명령어들을 포함하는 소프트웨어와 그 명령어에 따른 처리를 수행하는 서버(20) 내의 프로세서에 의해 구성될 수 있다. 메시지 확인 상태 표시부(23)는, 고유값의 삭제에 응답하여, 제1 사용자 단말로 제2 사용자가 해당 텍스트 메시지를 확인하였음을 알리는 기능을 수행하는 데 필요한 명령어들을 포함하는 소프트웨어와 그 명령어에 따른 처리를 수행하는 서버(20) 내의 프로세서에 의해 구성될 수 있다. 이때 메시지 고유값 생성부(21), 메시지 고유값 관리부(22), 및 메시지 확인 상태 표시부(23)를 구성하는 소프트웨어는 서버(20)에 설치될 수 있다. 또한, 메시지 고유값 생성부(21), 메시지 고유값 관리부(22), 및 메시지 확인 상태 표시부(23)는 각각 독립적인 소프트웨어 및 하드웨어로 의해 구성될 수도 있고, 하나의 소프트웨어 및 하드웨어로 통합되어 구성될 수도 있으며, 여러 소프트웨어 및 하드웨어에 의해 분산적으로 각각의 기능이 수행되도록 구성될 수도 있다.
이하, 도 3 내지 도 5를 참조하여 본 발명의 바람직한 실시예에 따른 개방형 소셜 네트워크 서비스 서버의 동작을 보다 상세히 설명한다.
도 3은 본 발명의 일 실시예에 따른 소셜 네트워크 서비스의 처리 순서를 도시한 차트이고, 도 4는 본 발명의 다른 실시예에 따른 소셜 네트워크 서비스의 처리 순서를 도시한 차트이며, 도 5는 본 발명의 또 다른 실시예에 따른 소셜 네트워크 서비스의 처리 순서를 도시한 차트이다.
먼저 도 3을 참조하면, 서버(20)는 제1 사용자(USER_A)가 제2 사용자(USER_B)를 대상으로 작성한 메시지을 수신한다(S1). 수신된 메시지에는 메시지의 대상을 특정하는 부분(@USER_B)과, 메시지 내용인 부분(message#1)이 포함된다.
서버(20)의 메시지 고유값 생성부(21)는, 메시지의 대상과 메시지의 내용에 1:1로 맵핑된 메시지 고유값(고유값 1)을 생성하여 저장소에 저장한다(S2). 메시지 고유값은 메시지의 대상(USER_B) 및 메시지 내용(message#1)에 맵핑된 테이블(T)의 형택로 저장소에 저장될 수 있다.
메시지 고유값(고유값 1)이 생성되면, 서버(20)의 메시지 확인 상태 표시부(23)는, 메시지 확인 상태를 미확인 상태로 설정하고, 미확인 상태에 해당하는 플래그를 메시지에 삽입하여 제1 사용자 계정의 게시글 목록(ML_A)에 표시한다한다(S3). 도 3의 예에서, 미확인 상태에 대응하는 플래그는 문자 "[안읽음]"으로 표시된다. 이 상태에서, 메시지를 작성한 제1 사용자(USER_A) 또는, 제3자인 사용자(USER_D)가 서버(20)에 접속하여 제1 사용자 계정의 게시글 목록(ML_A)을 열람하면, 해당 메시지에는 "[안읽음]"으로 표시된 플래그를 보게 된다. 따라서 작성자인 제1 사용자는 물론이고 제3자인 타 사용자도 해당 메시지가 제2 사용자(USER_B)에 의해 읽히지 않았음을 확인할 수 있게 된다.
한편, 메시지 고유값(고유값 1)이 생성되면, 서버(20)의 메시지 확인 상태 표시부(23)는, 제2 사용자 단말(USER_B)에 제1 사용자로부터 작성된 메시지가 있음을 알린다(S4). 메시지 알림 단계(S4)는 메시지 확인 상태 설정(S3) 단계와 동시에, 또는 메시지 확인 상태 설정(S3) 단계 전에 수행될 수 있다. 또한, 메시지 알림 단계(S4)는 생략될 수도 있다.
계속해서, 서버(20)는 제2 사용자(USER_B)가 서버에 접속하여 해당 메시지(message#1)를 읽었는지를 감지한다(S5). 제2 사용자의 메시지 열람 여부의 감지 방식에 대해서는 전술한 바 있으므로 여기서는 설명을 생략한다. 만약 제2 사용자(USER_B)가 해당 메시지(message#1)을 열람한 것으로 감지되면, 서버(20)의 메시지 고유값 관리부(22)는 고유값 저장소에 저장된 고유값(고유값 1)을 삭제한다(S6).
서버(20)의 메시지 확인 상태 표시부(23)는, 고유값이 삭제되면 메시지 확인 상태를 읽음으로 변경하고, 변경된 메시지 확인 상태인 읽음 상태에 대응하는 플래그를 삽입하여 제1 사용자(USER_A)의 계정의 메시지 목록(ML_A) 상에 이 메시지를 표시한다(S7). 도 3의 예에서, 확인 상태에 대응하는 플래그는 문자 "[읽음]"으로 표시된다. 이 상태에서, 메시지를 작성한 제1 사용자(USER_A) 또는, 제3자인 사용자(USER_D)가 서버(20)에 접속하여 제1 사용자 계정의 게시글 목록(ML_A)을 열람하면, 해당 메시지에는 "[읽음]"으로 표시된 플래그를 보게 된다. 따라서 작성자인 제1 사용자는 물론이고 제3자인 타 사용자도 해당 메시지가 제2 사용자(USER_B)에 의해 읽혔음을 확인할 수 있게 된다.
도 3의 실시예에서, 메시지 확인 상태에 대응하는 플래그는 "[읽음]", "[안읽음]"으로 표시되지만, 다양한 변형이 가능하다. 예컨대, 미확인 상태에서는 "[안읽음]"으로 표시되지만, 확인 상태로 변화하면 아무 표시도 하지 않는 것도 가능하며, 미확인 상태에서는 메시지가 굵은 폰트(bold font)로 표시되고, 확인 상태에서는 메시지가 보통의 폰트로 표시되도록 할 수도 있다.
전술한 바와 같이, 본 발명의 일 실시예에 따르면, 서버(20)는 메시지 작성자인 제1 사용자(USER_A)의 계정의 게시글 목록(ML_A) 뿐 아니라, 메시지의 대상인 제2 사용자(USER_B)의 계정의 게시글 목록에도 확인 상태를 표시하도록 구성될 수 있다.
도 4는 메시지 작성자인 제1 사용자 계정의 게시글 목록과 메시지의 대상인 제2 사용자 계정의 게시글 목록에도 메시지 확인 상태를 표시하는 실시예의 처리 과정을 도시한 차트이다.
도 4의 메시지 수신(S1), 메시지 고유값 생성 및 저장(S2), 메시지 알림(S4), 메시지 확인여부 감지(S5) 및 메시지 고유값 삭제(S6) 처리는 도 3의 실시예와 동일하므로 여기서는 설명을 생략한다.
메시지의 대상(USER_B)와 메시지의 내용(message#1)에 맵핑된 고유값(고유값 1)을 생성하여 저장(S2)한 이후, 서버(20)은 메시지 확인 상태를 미확인으로 설정하고 미확인 상태에 대응하는 플래그 "[안읽음]"을 해당 메시지에 삽입하여 제1 사용자 계정의 게시글 목록(ML_A)과, 제2 사용자 계정의 게시글 목록(ML_B)에 표시한다. 즉, 제1 사용자(USER_A)가 제2 사용자(USER_B)를 대상으로 작성한 메시지(message#1)는 제1 사용자 계정의 게시글 목록(ML_A)에서도 표시되고 제2 사용자 계정의 게시글 목록(ML_B)에서는 표시되는데, 양쪽에서 모두 제2 사용자의 읽음 여부를 확인할 수 있는 플래그가 삽입되어 표시되는 것이다.
이 상태에서, 메시지를 작성한 제1 사용자(USER_A) 또는, 제3자인 사용자(USER_D)가 서버(20)에 접속하여 제1 사용자 계정의 게시글 목록(ML_A)을 열람하면, 해당 메시지에 "[안읽음]"으로 표시된 플래그를 보게 된다. 따라서 작성자인 제1 사용자는 물론이고 제3자인 타 사용자도 해당 메시지가 제2 사용자(USER_B)에 의해 읽히지 않았음을 확인할 수 있게 된다. 한편, 제3자인 사용자(USER_D)가 서버(20)에 접속하여 제2 사용자 계정의 게시글 목록(ML_B)을 열람하면, 해당 메시지에 "[안읽음]"으로 표시된 플래그를 보게 된다. 따라서 제3자인 타 사용자는, 제2 사용자 계정의 게시글 목록(ML_B)에서도 해당 메시지가 제2 사용자(USER_B)에 의해 읽히지 않았음을 확인할 수 있게 된다.
이후, 메시지 고유값이 삭제되면(S6), 서버(20)는 메시지 확인 상태를 읽음으로 변경하고, 변경된 메시지 확인 상태에 대응하는 플래그 "[읽음]"을 해당 메시지에 삽입하여 제1 사용자 계정의 게시글 목록(ML_A)과, 제2 사용자 계정의 게시글 목록(ML_B)에 표시한다. 이 상태에서, 메시지를 작성한 제1 사용자(USER_A) 또는, 제3자인 사용자(USER_D)가 서버(20)에 접속하여 제1 사용자 계정의 게시글 목록(ML_A)을 열람하면, 해당 메시지에 "[읽음]"으로 표시된 플래그를 보게 된다. 따라서 작성자인 제1 사용자는 물론이고 제3자인 타 사용자도 해당 메시지가 제2 사용자(USER_B)에 의해 읽혔음을 확인할 수 있게 된다. 한편, 제3자인 사용자(USER_D)가 서버(20)에 접속하여 제2 사용자 계정의 게시글 목록(ML_B)을 열람하면, 해당 메시지에 "[읽음]"으로 표시된 플래그를 보게 된다. 따라서 제3자인 타 사용자는, 제2 사용자 계정의 게시글 목록(ML_B)에서도 해당 메시지가 제2 사용자(USER_B)에 의해 읽혔음을 확인할 수 있게 된다.
도 5는 메시지의 대상이 되는 사용자가 복수 포함된 경우의 처리 과정을 도시한 차트이다.
도 5의 실시예에서, 메시지 고유값의 생성(S2), 메시지 확인 상태 설정(S3), 메시지 알림(S4), 메시지 확인 여부 감지(S5, S5'), 메시지 고유값 삭제(S6, S6'), 및 메시지 확인 상태 변경(S7, S7')의 세부적 처리는 도 3의 실시예에서 설명한 것과 동일하다. 다만, 도 5의 실시예에서, 상기 처리 단계(S2~S7')들이 메시지의 대상인 USER_B와 USER_C에 대해 각각 별개로 수행되고, 그 결과가 제1 사용자(USER_A) 계정의 게시글 목록(ML_A)에 함께 표시된다는 점에서 도 3의 실시예와 차이가 있다.
도 5를 참조하면, 제1 사용자(USER_A)는, 복수의 사용자(USER_B, USER_C)를 상대로 하나의 메시지 내용(message#1)을 작성한다. 메시지를 수신하면(S1), 서버 (20)는 메시지에 포함된 USER_B와 USER_C 각각에 대하여 메시지 내용(message#1)과 맵핑된 고유값(고유값 1, 고유값 2)를 생성한다(S2). 메시지 고유값은 메시지의 대상(USER_B, USER_C) 각각에 대해 메시지 내용(message#1)에 맵핑된 테이블(T)의 형태로 저장소에 저장될 수 있다.
메시지 고유값(고유값 1, 고유값 2)이 생성되면, 서버(20)의 메시지 확인 상태 표시부(23)는, USER_B 및 USER_C 모두에 대하여 메시지 확인 상태를 미확인 상태로 설정하고, 미확인 상태에 해당하는 플래그인 "[안읽음]"을 메시지에 삽입하여 제1 사용자 계정의 게시글 목록(ML_A)에 표시한다(S3). 도 5의 실시예에서 제1 사용자 계정에 표시되는 메시지는 "@USER_B [안읽음] @USER_C [안읽음] message#1"의 형식을 가진다. 이 상태에서, 메시지를 작성한 제1 사용자(USER_A) 또는, 제3자인 사용자(USER_D)가 서버(20)에 접속하여 제1 사용자 계정의 게시글 목록(ML_A)을 열람하면, 복수의 제2 사용자(USER_B, USER_C) 모두에 대하여 "[안읽음]"으로 표시된 플래그를 보게 된다. 따라서 작성자인 제1 사용자는 물론이고 제3자인 타 사용자도 해당 메시지가 복수의 제2 사용자(USER_B, USER_C)에 의해 읽히지 않았음을 확인할 수 있게 된다.
한편, 메시지 고유값(고유값 1)이 생성되면, 서버(20)의 메시지 확인 상태 표시부(23)는, 복수의 제2 사용자 단말(USER_B, USER_C)에 제1 사용자로부터 작성된 메시지가 있음을 알린다(S4). 메시지 알림 단계(S4)는 메시지 확인 상태 설정(S3) 단계와 동시에, 또는 메시지 확인 상태 설정(S3) 단계 전에 수행될 수 있다. 또한, 메시지 알림 단계(S4)는 생략될 수도 있다.
계속해서, 서버(20)는 복수의 제2 사용자 각각(USER_B, USER_C)에 대하여 해당 메시지(message#1)를 읽었는지를 감지한다(S5, S5'). 제2 사용자의 메시지 열람 여부의 감지 방식에 대해서는 전술한 바 있으므로 여기서는 설명을 생략한다. 만약 제2 사용자(USER_B)가 해당 메시지(message#1)을 열람한 것으로 감지되면, 서버(20)의 메시지 고유값 관리부(22)는 고유값 저장소에 저장된 고유값(고유값 1)을 삭제한다(S6, S6').
서버(20)의 메시지 확인 상태 표시부(23)는, 복수의 고유값 중 어느 하나가 삭제되면 해당 고유값에 맵핑된 제2 사용자에 관한 메시지 확인 상태를 읽음으로 변경하고, 변경된 메시지 확인 상태인 읽음 상태에 대응하는 플래그 "[읽음]"을 삽입하여 제1 사용자(USER_A)의 계정의 메시지 목록(ML_A) 상에 해당 메시지를 표시한다 (S7, S7').
본 실시예에서, 제1 사용자(USER_A) 계정의 게시글 목록(ML_A)에는 제1 사용자가 작성한 메시지의 내용(message#1)과 함께 메시지 대상인 사용자 USER_B와 USER_C 각각에 대해 메시지 확인 상태를 표시하는 플래그가 표시된다.
도 5의 예에서는, 복수의 제2 사용자 중, USER_B의 메시지 확인이 먼저 감지된다(S5). 서버(20)는 메시지 확인이 감지된 USER_B에 맵핑된 고유값(고유값 1)을 저장소에서 삭제하고(S6), USER_B의 메시지 확인 상태를 읽음으로 변경하고 플래그 "[읽음]"을 삽입하여 제1 사용자(USER_A)의 계정의 메시지 목록(ML_A) 상에 해당 메시지를 표시한다(S7). 이 상태에서, 메시지를 작성한 제1 사용자(USER_A) 또는, 제3자인 사용자(USER_D)가 서버(20)에 접속하여 제1 사용자 계정의 게시글 목록(ML_A)을 열람하면, 해당 메시지(message#1) 상에 USER_B에 대하여 "[읽음]"으로 표시된 플래그를 보게 된다. 이때, 다른 제2 사용자인 USER_C는 아직 메시지 (message#1)를 읽지 않은 상태이므로, USER_C에 대한 플래그는 최초 설정된 "[안읽음]"으로 유지된다. 따라서 작성자인 제1 사용자는 물론이고 제3자인 타 사용자도 해당 메시지가 복수의 제2 사용자 중 USER_B에 의해서만 읽혔음을 확인할 수 있게 된다.
계속해서, 서버(20)는 나머지 제2 사용자(USER_C)에 대해서도 메시지 확인여부를 감지한다(S5'). 나머지 제2 사용자(USER_C)가 해당 메시지(message#1)를 읽은 것으로 감지되면, 서버는 나머지 제2 사용자(USER_C)에 맵핑된 고유값(고유값 2)를 저장소에서 삭제하고(S6'), USER_C의 메시지 확인 상태를 읽음으로 변경하고 플래그 "[읽음]"을 삽입하여 제1 사용자(USER_A)의 계정의 메시지 목록(ML_A) 상에 해당 메시지를 표시한다(S7'). 이 상태에서, 메시지를 작성한 제1 사용자(USER_A) 또는, 제3자인 사용자(USER_D)가 서버(20)에 접속하여 제1 사용자 계정의 게시글 목록(ML_A)을 열람하면, 해당 메시지(message#1) 상에 USER_C에 대하여 "[읽음]"으로 표시된 플래그를 보게 된다. 이때, 이미 메시지를 읽은 USER_B에 대해서는 플래그가 "[읽음]"으로 변경되어 표시됨은 당연하다. 따라서 작성자인 제1 사용자는 물론이고 제3자인 타 사용자도 해당 메시지가 모든 제2 사용자(USER_B, USER_C)에 의해 읽혔음을 확인할 수 있게 된다.
도 5의 실시예에 도 4의 실시예를 조합하는 것도 가능하다. 즉, 복수의 제2 사용자를 대상으로 메시지가 작성된 경우, 각각의 제2 사용자의 계정의 게시글 목록에 제2 사용자가 해당 메시지를 읽었는지를 나타내는 플래그를 삽입할 수 있다. 예컨대, 도 5의 예에서, 복수의 제2 사용자인 USER_B와 USER_C의 계정의 게시글 목록에는 제1 사용자에 의해 작성된 메시지(message#1)을 USER_B와 USER_C가 읽었는지를 나타내는 플래그가 삽입되어 표시될 수 있다.
앞서 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예들을 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술될 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.