KR100644388B1 - 스레드 메일 서비스 제공 방법, 시스템 및 이를 구현하기위한 프로그램이 기록된 기록매체 - Google Patents

스레드 메일 서비스 제공 방법, 시스템 및 이를 구현하기위한 프로그램이 기록된 기록매체 Download PDF

Info

Publication number
KR100644388B1
KR100644388B1 KR1020050081137A KR20050081137A KR100644388B1 KR 100644388 B1 KR100644388 B1 KR 100644388B1 KR 1020050081137 A KR1020050081137 A KR 1020050081137A KR 20050081137 A KR20050081137 A KR 20050081137A KR 100644388 B1 KR100644388 B1 KR 100644388B1
Authority
KR
South Korea
Prior art keywords
mail
thread
user
message
mailbox
Prior art date
Application number
KR1020050081137A
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 KR1020050081137A priority Critical patent/KR100644388B1/ko
Application granted granted Critical
Publication of KR100644388B1 publication Critical patent/KR100644388B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/60Business processes related to postal services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/3009Thread control instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 스레드 메일 서비스 제공 방법, 시스템 및 이를 구현하기 위한 프로그램이 기록된 기록매체에 관한 것으로서, 본 발명에 따르면, 사용자 클라이언트와 네트워크로 연결되는 메일 시스템에서 스레드 메일 서비스를 제공하는 방법으로서, 상기 사용자 클라이언트로부터 메일 보기 요청을 수신하는 단계(a); 메일 박스로부터 동일한 스레드(thread) 메일 그룹에 속하는 메일의 기본 헤더 정보를 추출하는 단계(b); 상기 기본 헤더 정보를 포함하는 웹페이지를 생성하는 단계(c); 및 상기 생성된 웹페이지를 상기 사용자 클라이언트로 전송하는 단계(d)를 포함하는 스레드 메일 서비스 제공 방법이 제공된다. 본 발명에 따르면, 서로 관련되는 복수의 메일을 일괄적으로 확인할 수 있는 장점이 있다.
스레드, 엮임, 메일, 아이디, 시간 값, 필드, 본문, 헤더 정보

Description

스레드 메일 서비스 제공 방법, 시스템 및 이를 구현하기 위한 프로그램이 기록된 기록매체{Method and System for providing thread mail service and Record media recorded program for realizing the same}
도 1은 본 발명의 바람직한 일 실시예에 따른 스레드 메일 서비스 제공 시스템의 블록도.
도 2는 본 발명의 바람직한 일 실시예에 따른 메일 서버의 블록도.
도 3은 본 발명의 바람직한 일 실시예에 따른 MDA의 블록도.
도 4는 본 발명의 바람직한 일 실시예에 따른 메일 웹서버의 블록도.
도 5는 본 발명의 바람직한 일 실시예에 따른 메인 수신 시 MDA의 동작 과정을 도시한 순서도.
도 6은 본 발명의 바람직한 일 실시예에 따른 개별 스레드 메일을 표시하는 과정을 도시한 순서도.
도 7은 본 발명의 바람직한 일 실시예에 따른 사용자가 스레드 편지함을 선택하는 경우의 처리 과정을 도시한 순서도.
도 8은 본 발명에 따른 소정의 편지함에서 스레드 메일을 표시하는 화면의 일예를 도시한 도면.
도 9는 본 발명의 일 실시예에 따른 스레드 편지함에 속하는 스레드 메일 리 스트 화면의 일예를 도시한 도면.
도 10은 본 발명에 따른 사용자가 스레드 메일 본문 페이지의 일예를 도시한 도면.
본 발명은 스레드 메일 서비스 제공 방법, 시스템 및 이를 구현하기 위한 프로그램이 기록된 기록매체에 관한 것으로서, 보다 상세하게는 웹메일에서 서로 연관되는 메일을 편리하게 확인할 수 있도록 하는 스레드 메일 서비스 제공 방법, 시스템 및 이를 구현하기 위한 프로그램이 기록된 기록매체에 관한 것이다.
컴퓨터의 보급과 인터넷의 발달로 전자우편(e-mail, 이하, '메일'이라 함)은 네트워크 상에서의 의사 소통 수단으로서 보편적으로 이용되고 있는 실정이다.
초기에 메일은 단순히 텍스트의 송수신만이 가능했기 때문에 원격지에 있는 사용자 사이에 단순히 안부를 전하는 용도로 주로 사용되었으나, 최근에는 MIME(Multipurpose Internet Mail Extensions) 표준의 등장으로 단순히 텍스트만이 아니라, 문서 파일, 음악, 영화와 같은 다양한 데이터를 첨부하여 송수신하는 것이 가능해졌으며, 이로 인해 단순히 안부를 전하는 것에서 벗어나 업무적인 의사 소통을 위한 수단으로 크게 활용되고 있는 추세이다.
특히, 메일이 업무적인 용도로 사용되는 경우, 하나의 특정 주제에 대해 복수의 사용자 사이에 수많은 메일이 서로 오갈 수 있다.
현재, 일반적인 메일 시스템은 사용자의 송수신 메일을 소정 디렉토리로 구분하여 저장하면서 사용자의 요청이 있는 경우, 이를 받은 편지함, 보낸 편지함 및 지운 편지함 등으로 분류하여 사용자에게 제공하는데, 복수의 사용자 사이에 서로 관련된 메일이 송수신 되는 경우라도 종래의 메일 시스템은 사용자의 수신 메일은 받은 편지함 디렉토리에 송신 메일은 보낸 편지함 디렉토리에 저장하여 제공하였다.
한편, 종래의 메일 시스템은 사용자가 키워드를 입력할 수 있는 인터페이스를 제공하고, 제목, 본문(내용), 수신자 및 송신자 등에 사용자가 입력한 키워드와 일치하는 단어가 있는 메일을 검색할 수 있도록 하고 있으나, 이러한 경우에도 특정 업무에 관하여 서로 주고 받은 메일 전부를 일괄적으로 보여주지 못하는 문제점이 있었다.
예를 들어, A와 B 사이에 특정 업무에 대해 순차적으로 최초 A의 시작 메일(메일 1), B의 답장(RE : 메일 1), A의 답장(RE : RE : 메일 1), B의 보충 답장(RE : 메일 1 보충) 및 B의 A 답장에 대한 재 답장(RE : RE : RE : 메일 1)과 같이 5건의 메일을 서로 주고 받은 경우, A의 보낸 편지함에는 상기 메일 중 메일 1 및 RE : RE : 메일 1만이 표시되며, 나머지 메일은 받은 편지함에 표시된다.
이러한 경우, A는 B의 A 답장에 대한 재 답장인 RE : RE : RE : 메일 1를 통해 자신의 시작 메일 및 B의 답장 및 A의 답장 중 텍스트로 이루어진 메시지를 확인할 수 있을지라도 상기한 B의 재 답장을 통해 B의 보충 답장(RE : 메일 1 보충)은 확인할 수 없는 문제점이 있었다.
또한, 종래의 메일 시스템에 의하면, 상기한 바와 같이, A와 B 사이에 복수의 메일 송수신이 일정한 시간 간격으로 이루어지는 경우, 받은 편지함 및 보낸 편지함에 다른 사용자에게 보낸 메일이나 다른 사용자로부터 수신한 메일이 포함되어 사용자가 관련 메일을 확인하는 것을 더욱 번거롭게 하는 문제점이 있었다.
본 발명에서는 상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 사용자가 전체 송수신 메일 중 서로 관련이 있는 메일을 일괄적으로 확인할 수 있는 스레드 메일 서비스 제공 방법, 시스템 및 이를 구현하기 위한 프로그램이 기록된 기록매체를 제안하고자 한다.
본 발명의 다른 목적은 특정 그룹에 속하는 메일을 소정의 정렬 방식에 따라 제공할 수 있는 스레드 메일 서비스 제공 방법, 시스템 및 이를 구현하기 위한 프로그램이 기록된 기록매체를 제공하는 것이다.
본 발명의 다른 목적은 받은 편지함 또는 보낸 편지함 등에 포함되는 메일 리스트에서 특정 그룹에 속하는 메일을 확인할 수 있도록 하는 스레드 메일 서비스 제공 방법, 시스템 및 이를 구현하기 위한 프로그램이 기록된 기록매체를 제공하는 것이다.
본 발명의 다른 목적은 사용자에게 제공되는 특정 메일에 대한 본문 페이지에서 사용자가 선택한 메일의 본문 메시지 뿐만 아니라 다른 관련되는 메일 정보를 표시할 수 있는 스레드 메일 서비스 제공 방법, 시스템 및 이를 구현하기 위한 프로그램이 기록된 기록매체를 제공하는 것이다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 바람직한 일 실시예에 따르면, 사용자 클라이언트와 네트워크로 연결되는 메일 시스템에서 스레드 메일 서비스를 제공하는 방법으로서, 상기 사용자 클라이언트로부터 메일 보기 요청을 수신하는 단계(a); 메일 박스로부터 동일한 스레드(thread) 메일 그룹에 속하는 메일의 기본 헤더 정보를 추출하는 단계(b); 상기 기본 헤더 정보를 포함하는 웹페이지를 생성하는 단계(c); 및 상기 생성된 웹페이지를 상기 사용자 클라이언트로 전송하는 단계(d)를 포함하는 스레드 메일 서비스 제공 방법이 제공된다.
본 발명에 따른 방법은 시작 메일의 메시지 아이디가 동일한 메일을 스레드 메일 그룹으로 저장하는 단계(e)를 더 포함할 수 있다.
상기 (e) 단계는 사용자 송수신 메일에 레퍼런스 헤더가 존재하는지 판단하는 단계(e1); 상기 송수신 메일에 레퍼런스 헤더가 존재하는 경우, 상기 레퍼런스 헤더에서 상기 송수신 메일에 대응하는 시작 메일의 메시지 아이디를 추출하는 단계(e2); 상기 추출된 메시지 아이디와 상기 메일 박스에 기 저장된 메일의 스레드 아이디를 비교하는 단계(e3)-상기 스레드 아이디는 상기 기 저장된 메일에 대응하는 시작 메일의 메시지 아이디임-; 및 상기 추출된 메시지 아이디와 동일한 스레드 아이디가 동일한 경우, 상기 송수신 메일의 스레드 아이디를 상기 기 저장된 메일의 스레드 아이디로 하여 메일 박스에 저장하는 단계(e4)를 포함할 수 있다.
한편, 상기 레퍼런스 헤더가 존재하지 않는 경우, 미리 설정된 알고리즘에 따라 상기 송수신된 메일의 제목과 상기 메일 박스에 기 저장된 메일의 제목 유사 도를 판단하는 단계를 더 포함하되, 상기 (e4) 단계는 제목이 유사한 메일이 존재하는 경우, 상기 송수신된 메일의 스레드 아이디를 제목이 유사한 것으로 결정된 메일의 스레드 아이디로 하여 상기 메일 박스에 저장하는 것이 바람직하다.
본 발명에 따른 메일은 스레드 정렬 시간 값이 기록되는 필드를 더 포함하며, 상기 (e4) 단계는 상기 송수신 메일 및 상기 기 저장된 메일의 스레드 정렬 시간 값을 현재 송수신되는 메일의 송신 또는 수신 시간 값으로 갱신할 수 있다.
또한, 상기 (b) 단계에서 추출되는 기본 헤더 정보는 상기 스레드 아이디 및 스레드 정렬 시간 값 중 적어도 하나를 포함하며, 상기 (c) 단계는 상기 스레드 아이디 및 스레드 정렬 시간 값 중 적어도 하나를 통해 식별되는 스레드 메일에 소정 아이콘을 부가한 웹페이지를 생성할 수 있다.
이때, 상기 스레드 정렬 시간 값은 시작 메일에 대해 디폴트값으로 설정되며, 상기 (c)단계는 상기 스레드 정렬 시간 값이 디폴트값이 아닌 메일에 대해 아이콘을 부가한 웹페이지를 생성하는 것이 바람직하다.
한편, 상기 (b) 단계는 상기 사용자 클라이언트로부터 스레드 메일 리스트의 전송 요청을 수신하는 경우, 미리 설정된 개수 만큼의 스레드 메일 그룹에 속하는 메일의 기본 헤더 정보를 추출하며, 상기 (c) 단계는 상기 추출된 기본 헤더 정보를 상기 스레드 정렬 시간 값을 기준으로 정렬하여 웹페이지를 생성하는 것이 바람직하다.
여기서, 상기 미리 설정된 개수는 상기 생성된 웹페이지에 표시될 수 있는 스레드 메일 그룹의 개수일 수 있다.
상기 (b) 단계는 상기 메일 박스에 기 저장된 메일의 스레드 정렬 시간 값이 현재 시간에 가까운 순으로 상기 스레드 메일 그룹에 속하는 메일의 기본 헤더 정보를 추출할 수 있으며, 상기 (c) 단계는 상기 스레드 메일 그룹에 속하는 개별 스레드 메일의 송수신 시간 정보를 통해 상기 기본 헤더 정보를 송수신 시간 순 또는 시간 역순으로 정렬하는 것이 바람직하다.
본 발명의 다른 측면에 따르면, 상기한 방법 중 어느 하나의 방법을 실행하기 위한 프로그램이 유형적으로 구현되어 있으며, 전자 정보 처리 장치에 의해 판독될 수 있는 기록 매체가 제공된다.
본 발명의 다른 측면에 따르면, 사용자의 송수신 메일을 저장하는 메일 박스; 사용자의 송수신 메일과 상기 메일 박스에 기 저장된 메일이 관련이 있는 여부를 판단하여, 서로 관련이 있는 스레드 메일을 그룹으로 저장하는 메일 서버; 및 사용자의 메일 보기 요청이 있는 경우, 상기 메일 서버로부터 동일한 스레드(thread) 메일 그룹에 속하는 메일의 기본 헤더 정보를 수신하며, 상기 기본 헤더 정보를 포함하는 웹페이지를 생성하여 상기 사용자에게 제공하는 메일 웹서버를 포함하는 것을 특징으로 하는 스레드 메일 서비스 제공 시스템이 제공된다.
이하에서, 첨부된 도면을 참조하여 본 발명에 따른 스레드 메일 서비스 제공 방법, 시스템 및 이를 구현하기 위한 프로그램이 기록된 기록매체에 관한 바람직한 실시예를 상세하게 설명한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 스레드 메일 서비스 제공 시스 템의 블록도이다.
도 1에 도시된 바와 같이, 본 발명에 따른 스레드 메일 서비스 제공 시스템은 메일 웹서버(102), 메일 서버(104) 및 메일 박스(106)를 포함할 수 있다.
사용자 클라이언트(100)는 네트워크를 통해 메일 웹서버(102)에 연결될 수 있는데, 여기서, 네트워크는 인터넷망, 사설망과 같은 유선 네트워크는 물론, 무선 인터넷망, 이동통신망과 같은 무선 네트워크를 모두 포함할 수 있을 것이다.
사용자 클라이언트(100)는 일반적인 데스크탑 PC, 노트북, 이동 통신 단말기 및 PDA와 같이 네트워크를 통해 통신할 수 있으며, 디지털 정보 처리가 가능한 모든 단말을 포함할 수 있다.
사용자 클라이언트(100)에는 메일 시스템과의 통신을 위한 MUA(Mail User Agent)가 설치되는데, MUA는 사용자가 가장 직접적으로 보여지는 메일 시스템의 부분으로서 메일을 보내거나 메일이 도착했을 때 사용되는 클라이언트 프로그램을 의미한다.
예를 들어, 마이크로 소프트사의 아웃룩 익스프레스, 넷츠케이프사의 넷츠케이프 메일, 유닉스 계열에서 사용하는 /usr/ucb/mail 등을 포함할 수 있다.
본 발명은 주로 웹메일에 적용되는 것으로서, 이 경우, 웹브라우저가 메일 쓰기 또는 메일 보기를 위한 MUA로서의 역할을 수행하나, 웹브라우저만으로는 메일 전송에 관여하는 메일 서버(104)와의 통신을 위한 SMTP 프로토콜 통신 및 MIME 포맷 생성을 수행할 수 없으므로 웹브라우저와 메일 웹서버(102)가 함께 MUA로서의 역할을 수행한다.
메일 웹서버(102)는 사용자가 웹메일 서비스를 이용할 수 있도록 메일과 관련된 웹페이지를 사용자 클라이언트(100)로 전송하며, 사용자가 메일 작성을 요청하는 경우, 메일 작성을 위한 웹페이지를 사용자 클라이언트(100)로 전송하며, 메일 보기 및 메일 전송을 요청하는 경우, 메일 서버(104)와의 통신을 통해 사용자의 요청 정보를 처리하는 일반적인 메일 웹서버로서의 기능을 수행한다.
한편, 본 발명에 따른 메일 웹서버(102)는 사용자가 송수신한 메일 중 서로 관련된 메일을 일괄적으로 제공하는 기능을 수행한다.
여기서, 서로 관련된 메일은 사용자가 특정 업무 또는 주제에 대해 복수의 사용자와 송수신한 메일을 의미하며, 본 명세서에서는 이를 '스레드 메일(thread mail)'이라는 용어로 정의한다. 그러나, 스레드 메일이라는 용어는 엮임 메일, 연관 메일과 같은 다른 다양한 용어로 대체될 수도 있다는 점을 이해하여야 할 것이다.
일반적으로 메일 웹서버(102)는 사용자가 로그인하여 특정 편지함을 선택하는 경우, 하나의 웹페이지에 표시할 수 있는 개수만큼 메일의 기본 헤더 정보-기본 헤더 정보에는 메일 제목, 송수신자 및 송수신 시간 등이 포함됨-를 메일 서버(104)로부터 수신하여 특정 편지함에 속하는 메일 리스트를 사용자에게 제공하며, 사용자가 개별 메일의 보기를 요청하는 경우, 그에 대한 본문 정보를 메일 서버(104)로부터 수신하여 사용자에게 제공한다.
한편, 본 발명에 따른 메일 웹서버(102)는 사용자의 스레드 메일 보기 요청이 있는 경우, 동일한 스레드 메일 그룹으로 저장된 스레드 메일의 기본 헤더 정보 를 사용자에게 제공한다.
메일 웹서버(102)는 기본 헤더 정보와 함께 사용자가 요청한 특정 메일에 대한 본문 정보를 함께 제공할 수도 있다.
또한, 사용자가 받은 편지함 또는 보낸 편지함 등을 선택하는 경우, 메일 웹서버(102)는 메일 서버(104)로부터 기본 헤더 정보를 수신하여 스레드 메일을 확인하고, 스레드 메일에 대해서는 소정의 아이콘을 부가한 웹페이지를 생성하여 보낸 편지함(받은 편지함)에서 스레드 메일인 것을 식별할 수 있도록 한다.
메일 웹서버(102)가 스레드 메일을 확인할 수 있도록 하는 식별자는 메일 서버(104)에 의해 제공되는데 이에 대해서는 하기에서 상세하게 설명한다.
도 8 내지 도 10은 소정 편지함(받은 편지함/보낸 편지함/지운 편지함), 스레드 편지함 및 스레드 메일 본문 페이지의 일예를 도시한 도면으로서, 메일 웹서버(102)는 사용자의 메일 보기 요청이 있는 경우, 스레드 메일을 식별하여 도 8 내지 도 10에 도시된 웹페이지를 생성하여 사용자에게 제공한다.
도 8을 참조하면, 예를 들어, 사용자가 받은 편지함을 선택하는 경우, 메일 웹서버(102)는 메일 서버(104)를 통해 메일 박스(106)로부터 미리 설정된 개수(이는 하나의 웹페이지에 표시되도록 설정된 개수임)의 수신 메일의 기본 헤더 정보를 수신하여 웹페이지를 생성하는데, 수신 메일 중 스레드 메일에 대해서는 도 8에 도시된 바와 같은 아이콘(검은색 원)이 표시될 수 있도록 한다.
한편, 상기에서는 보낸 편지함 또는 받은 편지함에서 스레드 메일에 대해 아이콘을 부가하는 것으로 설명하였으나, 이는 일예에 불과하며, 그밖에 다른 색상 부여, 음영 처리와 같은 스레드 메일을 식별 가능하도록 하는 어떠한 방법도 본 발명의 범주에 포함된다는 점을 이해하여야 할 것이다.
도 9는 본 발명의 일 실시예에 따른 스레드 편지함에 속하는 스레드 메일 리스트 화면의 일예를 도시한 도면으로서, 도 9을 참조하면, 메일 웹서버(102)는 시간 순서 또는 시간의 역순으로 스레드 메일 리스트를 제공할 수 있다.
상기한 바와 같이, 스레드 메일은 서로 관련되는 복수의 메일을 의미하는 것으로서, 스레드 메일에는 시작 메일(이는 스레드 메일 중 최초로 송신 또는 수신된 메일임)을 기준으로 이와 관련된 복수의 답장 메일 또는 전달 메일이 존재할 수 있으며, 메일 웹서버(102)는 시작 메일을 기준으로 송수신 시간 순 또는 송수신 시간의 역순으로 스레드 메일 리스트를 표시하는 웹페이지를 생성하여 사용자에게 제공한다.
또한, 본 발명에 따른 메일 웹서버(102)는 사용자가 개별 스레드 메일의 본문을 요청하는 경우, 도 10에 도시된 바와 같은 본문 페이지를 제공할 수 있다.
본 발명에 따르면, 사용자가 하나의 스레드 메일을 선택하는 경우, 메일 웹서버(102)는 사용자가 선택한 메일의 본문과 선택한 메일과 관련되는 다른 스레드 메일의 제목이 포함되는 웹페이지를 생성하여 사용자에게 제공한다.
이때, 하나의 본문 페이지에 표시되는 복수의 스레드 메일은 각 메일의 송수신 시간 순 또는 그 역순으로 표시될 수 있다.
본 발명에 따르면, 도 10에 도시된 본문 페이지에서 다른 스레드 메일의 제목은 링크로 연결되어 있으므로 사용자가 선택한 메일의 본문 확인 중 다른 스레드 메일의 제목을 클릭하는 경우, 해당 메일의 본문 내용을 확인할 수 있으며, 이러한 경우에도 선택된 메일의 본문 및 다른 관련 메일의 제목이 시간 순 또는 시간의 역순으로 본문 페이지에 표시될 수 있다.
본 발명은 서로 관련되는 스레드 메일을 별도의 스레드 편지함 뿐만 아니라, 보낸 편지함 또는 받은 편지함에서 아이콘 등의 표시를 통해 사용자가 확인할 수 있도록 하며, 사용자에게 제공하는 본문 페이지에서 스레드 메일을 일괄적으로 확인하도록 하기 때문에 사용자는 특정 업무 등과 관련된 모든 메일을 일일이 검색하지 않고도 확인할 수 있어 사용자의 편의를 크게 높일 수 있는 장점이 있다.
한편, 본 발명에 따른 메일 서버(104)는 스레드 메일의 그룹 저장 및 스레드 메일에 소정 식별자 부여 과정 등을 수행한다.
메일 서버(104)는 메일 웹서버(102)로부터 사용자의 요청 정보를 수신하여 메일과 관련된 사용자의 요청 정보를 처리하는 기능을 하는 것으로서, 메일 웹서버(102)와 SMTP프로토콜을 이용하여 통신을 수행하나, 그밖에 다양한 프로토콜을 이용하여 메일 웹서버(102)와 통신할 수도 있다.
SMTP 프로토콜은 전자 메일을 보내고 받는데 사용되는 TCP/IP 프로토콜의 일종으로 RFC 821에 정의된 프로토콜이다. 일반적으로 SMTP 프로토콜은 TCP 25번 포트에서 운영된다.
한편, 도 2는 본 발명의 바람직한 일 실시예에 따른 메일 서버의 블록도이고, 도 3은 본 발명의 바람직한 일 실시예에 따른 MDA의 블록도로서, 도 2 내지 도 3을 참조하여 사용자의 메일 송수신 시 스레드 메일 제공을 위해 메일 서버(104)가 수행하는 과정을 상세하게 설명한다.
도 2에 도시된 바와 같이, 메일 서버(104)는 MDA(Mail Delivery Agent, 200), MTA(Mail Transfer Agent, 202) 및 MRA(Mail Retrieval Agent, 204)를 포함할 수 있으며, 메일 서버(104)에는 메일 웹서버(102)와 메일 박스(106)가 연결된다.
MDA(200)는 메일 박스(106)에 사용자가 송수신하는 메일을 저장하는데 사용되는 것으로서, 메일의 전송을 담당하는 MTA(202)에 의해 호출되는 경우에 사용되는 프로그램이다.
본 발명에 따르면, MDA(200)는 사용자의 송수신 메일을 메일 박스(106)에 저장하는 과정에서 메일에 스레드 아이디(thread ID) 필드 및 스레드 정렬 시간(thread Order Date) 필드를 추가하며, 이를 이용하여 MDA(200)가 스레드 메일을 그룹으로 저장하고, 각 그룹이 사용자에게 소정 정렬 방식으로 제공될 수 있도록 한다.
일반적으로 RFC 822에 따르면, 모든 전자 메일에는 고유한 메시지 아이디(Message-ID)가 부여되며, 답장 메일을 작성하는 경우에는 시작 메일의 메시지 아이디가 in-Reply-To 헤더에 부가된다.
한편, 메일에는 다양한 헤더가 존재할 수 있는데, 이중 레퍼런스 헤더(reference header)는 시작 메일을 기준으로 여러 번의 답장 메일 또는 전달 메일의 송수신이 있는 경우, 각 메일에 부여된 고유의 메시지 아이디 히스토리(내역)를 기록하며, 레퍼런스 헤더의 가장 상위에 존재하는 메시지 아이디가 시작 메 일의 메시지 아이디가 된다.
상기한 레퍼런스 헤더는 시작 메일에 대한 답장 등을 작성하는 경우에 생성되는 것으로서, 시작 메일에는 존재하지 않으며, 시작 메일에 대해 하나 이상의 메일의 답장 또는 전달이 있는 경우에 생성된다.
이러한 메일 포맷에서 본 발명에 따른 MDA(200)는 사용자가 송수신하는 메일 중 서로 관련되는 메일을 스레드 아이디를 기준으로 그룹 저장하는 과정을 수행한다.
도 3은 본 발명의 바람직한 일 실시예에 따른 MDA의 모듈 구성을 도시한 블록도로서, 도 3을 참조하여 본 발명에 따른 스레드 메일 저장 과정을 상세하게 설명한다.
도 3에 도시된 바와 같이, 본 발명에 따른 MDA(200)는 스레드 아이디 부여 모듈(300), 레퍼런스 헤더 판단 모듈(302), 메시지 아이디 추출 모듈(304), 아이디 비교 모듈(306), 스레드 정렬 시간 갱신 모듈(308) 및 유사도 판단 모듈(310)을 포함할 수 있다.
설명의 편의를 위해 사용자가 최초로 시작 메일을 상대방에게 전송하고, 상대방으로부터 사용자가 보낸 메일에 대한 답장을 수신하는 경우로 예를 들어 설명한다.
사용자가 시작 메일을 작성하고, 이에 대한 전송을 요청하는 경우, 시작 메일은 MDA(200)에 의해 메일 박스(106)에 저장되는데, 전술한 바와 같이, 모든 메일에 대해서는 고유의 메시지 아이디가 부여되며, 본 발명에 따른 스레드 아이디 부 여 모듈(300)은 스레드 아이디 필드에 시작 메일의 메시지 아이디를 부여하는 과정을 수행한다.
이후, 사용자의 시작 메일에 대해 상대방의 답장 메일이 수신되는 경우, 레퍼런스 헤더 판단 모듈(302)은 상대방으로부터 수신된 답장 메일에 레퍼런스 헤더가 포함되는지 여부를 판단한다.
전술한 바와 같이, 레퍼런스 헤더에는 사용자가 송수신한 시작 메일 및 시작 메일에 대응하는 답장 메일 또는 전달 메일의 메시지 아이디 내역이 기록되는데, 예를 들어, 답장 메일에 레퍼런스 헤더가 포함되는 경우, 메시지 아이디 추출 모듈(304)은 레퍼런스 헤더에 포함되는 메시지 아이디 중 가장 상위에 위치하는 메시지 아이디를 추출하는 과정을 수행한다.
아이디 비교 모듈(306)은 답장 메일에서 추출된 메시지 아이디와 메일 박스(106)에 기 저장된 스레드 아이디를 비교하는데, 상기한 예에 따르면, 답장 메일의 레퍼런스 헤더에서 추출된 메시지 아이디는 시작 메일의 메시지 아이디에 해당되며, 이는 상기에서 메일 박스(106)에 기 저장된 시작 메일의 스레드 아이디와 동일한 값을 가지게 된다.
이와 같이, 추출된 메시지 아이디가 메일 박스(106)에 기 저장된 스레드 아이디와 동일한 경우, 스레드 아이디 부여 모듈(300)은 답장 메일의 스레드 아이디 필드에 레퍼런스 헤더에서 추출된 메시지 아이디(시작 메일의 메시지 아이디)를 부여하는 과정을 수행한다.
이에 따라 사용자가 시작 메일 및 이와 관련된 답장 메일 등이 그룹으로 저 장될 수 있다.
상기에서, 그룹으로 저장된다는 것은 서로 관련되는 복수의 스레드 메일이 동일한 스레드 아이디를 가진다는 것을 의미한다.
한편, 스레드 정렬 시간 갱신 모듈(308)은 동일한 스레드 아이디를 갖는 스레드 메일 그룹의 정렬 시간을 갱신하는 과정을 수행한다.
본 발명에 따른 송수신 메일에는 스레드 정렬 시간 값이 기록되는 필드가 추가되는데, 여기서, 스레드 정렬 시간 값은 스레드 메일들을 포함하고 있는 각 그룹을 어떠한 시간 순서로 정렬하여 제공할 것인지에 대한 기준 값으로서, 본 발명에 따르면, 스레드 정렬 시간 값은 특정 그룹에 속하는 스레드 메일 중 가장 마지막 메일의 송수신 시간으로 결정된다.
본 발명의 일 실시예에 따르면, 시작 메일의 스레드 정렬 시간 필드 값은 소정 디폴트 값(예를 들어, 0)으로 설정될 수 있는데, 상기한 예에서, 초기에 사용자의 시작 메일의 스레드 정렬 시간 필드 값은 0으로 설정되어 있다가 시작 메일과 관련되는 상대방의 답장 메일이 수신되는 경우, 시작 메일 및 답장 메일의 스레드 정렬 시간 값은 답장 메일의 수신 시간으로 갱신되어 메일 서버(106)에 저장된다.
도 9를 참조하면, 복수의 스레드 메일을 포함하는 제1 그룹(시작 메일이 메일 1인 그룹) 및 제2 그룹(시작 메일이 메일 2인 그룹)이 존재하는 경우, 현재 도 9에서는 제2 그룹이 스레드 편지함의 상위에 보여지고 있으나 만일, 제1 그룹에 속하는(제1 그룹의 스레드 아이디를 갖는) 메일이 송신 또는 수신되는 경우, 제1 그룹에 속하는 복수의 스레드 메일의 스레드 정렬 시간 값은 새로운 스레드 메일의 송수신 시간 값으로 갱신되며, 이에 따라 사용자가 스레드 편지함 보기를 선택하는 경우, 제1 그룹이 제2 그룹보다 위로 표시될 수 있다.
한편, 상기에서는 레퍼런스 헤더가 존재하는 경우, 레퍼런스 헤더에 포함된 시작 메일의 메시지 아이디와 기 저장된 메일의 스레드 아이디를 비교함으로써 수신된 메일이 스레드 메일인지를 판단하는 것으로 설명하였으나, 레퍼런스 헤더는 메일 시스템에 따라 선택적으로 제공될 수 있는 헤더로서 경우에 따라서는 외부 메일 시스템으로부터 수신되는 메일에는 레퍼런스 헤더가 포함되지 않을 수도 있다.
따라서, 레퍼런스 헤더 판단 모듈(302)에 의해 수신된 메일에 레퍼런스 헤더가 존재하지 않는 것으로 판단되는 경우, 유사도 판단 모듈(310)은 미리 설정된 알고리즘에 따라 메일 박스(106)에 기 저장된 메일의 제목과 수신된 메일의 제목 유사도를 판단하는 과정을 수행한다.
이는 답장 메일의 경우, 시작 메일의 제목을 그대로 포함하는 것이 일반적이기 때문이다.
만일, 제목이 유사한 메일이 존재하는 경우, 스레드 아이디 부여 모듈(300)은 수신된 답장 메일의 스레드 아이디 필드에 제목이 유사한 것으로 결정된 메일의 스레드 아이디를 부여하는 과정을 수행한다.
그러나, 각 메일의 제목의 유사도를 판단한다는 것은 일예에 불과하며, 본문 내용의 유사도 판단 등을 통해 스레드 메일인지 여부를 판단할 수도 있을 것이다.
상기에서는 사용자가 시작 메일을 전송하고, 상대방으로부터 답장 메일을 수신하는 경우에 대해서만 설명하였으나, 상대방으로부터 수신된 메일에 대해 사용자 가 답장 메일을 전송하는 경우에도 상기한 MDA(200)의 각 모듈이 동일한 기능을 수행할 수 있다.
즉, 사용자가 답장 메일을 작성하여 전송을 요청하는 경우, 답장 메일에는 레퍼런스 헤더가 존재할 수 있고, 여기에 시작 메일의 메시지 아이디가 포함되므로, MDA(200)의 각 모듈은 사용자가 전송하는 답장 메일의 레퍼런스 헤더에서 시작 메일의 메시지 아이디를 추출하고, 이를 기 저장된 메일의 스레드 아이디와 비교하며, 동일한 스레드 아이디가 있는 경우, 이를 답장 메일의 스레드 아이디로 하여 메일 서버(106)에 저장하며, 답장 메일과 동일한 스레드 아이디를 갖는, 즉 동일한 그룹으로 저장된 메일의 스레드 정렬 시간 값을 답장 메일의 전송 시간으로 갱신하는 과정을 수행할 수 있다.
한편, 상기에서는 스레드 아이디 및 스레드 정렬 시간이라는 용어를 사용하였으나, 이는 일 예에 불과하며, 스레드 아이디는 서로 관련되는 메일을 그룹으로 저장하기 위한 식별자에 해당하는 것으로서, 그룹 식별자와 같은 다양한 용어가 사용될 수 있을 것이며, 스레드 정렬 시간 값은 그룹 정렬 시간 정보와 같은 용어와 동일할 수 있다는 점을 이해하여야 할 것이다.
MTA(202)는 SMTP 프로토콜을 통해 메일 웹서버(102)로부터 전자 메일을 수신하고, MDA(200)를 호출하여 메일 서버(106)에 메일이 저장되도록 하며, 아울러 다른 메일 서버의 MTA(202)로 전송하는 기능을 수행한다. MTA(202)는 일반적으로 sendmail, qmail 등이 사용될 수 있다.
MRA(204)는 메일 박스(106)로부터 사용자의 MUA(Mail User Agent)로 메일 데 이터를 전달하는 기능을 수행하는 것으로서, 웹메일 시스템에서 사용자가 메일 웹서버에 로그인하여 메일 읽기를 요청하는 경우, 메일의 헤더 정보 및 본문 정보를 메일 서버(106)에서 검색하여 제공하는 기능을 수행한다.
메일은 송수신자, 송수신 날짜 및 제목 등에 관한 정보를 포함하는 기본 헤더 정보와 사용자가 작성한 메시지 데이터를 포함하는 본문 정보를 포함할 수 있는데, 본 발명에 따르면, 기본 헤더 정보에는 스레드 아이디 및 스레드 정렬 시간 값이 더 포함될 수 있다.
사용자가 메일 웹서버에 접속하여 특정 편지함(받은 편지함 또는 보낸 편지함)을 선택하는 경우, MRA(204)는 미리 설정된 개수(이는 하나의 웹페이지에서 표시할 수 있는 메일 리스트 개수일 수 있음)의 기본 헤더 정보를 메일 박스(106)에서 추출하여 메일 웹서버(102)에 제공한다.
한편, 본 발명의 바람직한 일 실시예에 따르면, 메일 웹서버(102)는 받은 편지함 또는 보낸 편지함에 포함된 메일 리스트 중에서 아이콘을 부가하는 방법으로 스레드 메일을 사용자가 식별 가능하도록 하는데, 사용자가 개별 스레드 메일 보기를 요청하는 경우, 메일 웹서버(102)는 사용자가 선택한 메일의 본문 정보를 메일 서버(104)에 요청하게 된다.
이러한 경우, MRA(204)는 사용자가 선택한 메일이 스레드 메일인지 여부를 판단하는데, 전술한 바와 같이, 스레드 메일인 경우에는 스레드 정렬 시간 값이 0이 아닌 다른 값(특정 그룹에 속하는 메일 중 최종적으로 송수신된 메일의 시간 값)을 가지기 때문에 이를 통해 사용자가 선택한 메일이 스레드 메일인지를 판단하 며, 사용자가 선택한 메일이 스레드 메일인 경우, MRA(204)는 사용자 선택 메일의 본문 정보 뿐만 아니라 사용자 선택 메일의 스레드 아이디와 동일한 스레드 아이디를 갖는 다른 스레드 메일의 기본 헤더 정보를 추출하며, 이를 메일 웹서버(102)에 제공한다.
한편, 스레드 정렬 시간 값 뿐만 아니라 동일한 스레드 아이디를 갖는 메일이 복수 존재하는 경우, 각 메일을 스레드 메일로 판단할 수도 있을 것이다.
이에 따라, 메일 웹서버(102)는 수신된 정보를 이용하여 도 10에 도시된 것과 같은 웹페이지를 생성하여 사용자에게 제공할 수 있다.
상기에서는 사용자가 스레드 메일을 선택하는 경우, 스레드 정렬 시간 값을 확인하고, 스레드 아이디를 이용하여 다른 스레드 메일을 추출하는 것으로 설명하였으나, 스레드 아이디를 이용하지 않고, 사용자와 선택한 스레드 정렬 시간 값과 동일한 값을 가지는 하나 이상의 스레드 메일 헤더 정보를 추출하는 것도 가능할 것이다.
또한, 본 발명에 따르면, 일반적인 받은 편지함 및 보낸 편지함 뿐만 아니라 스레드 편지함을 별도로 구성할 수 있으며, 사용자가 스레드 편지함을 선택하는 경우에는 서로 관련되는 복수의 스레드 메일 리스트를 하나의 웹페이지를 통해 제공한다.
사용자가 스레드 편지함을 선택하는 경우, 즉 스레드 메일 리스트의 보기를 요청하는 경우, 메일 웹서버(102)는 이와 같은 요청 정보를 메일 서버(104)로 전송하며, MRA(204)는 메일 박스(106)에 저장된 메일의 스레드 정렬 시간 값을 확인하 여 상기한 시간 값이 현재 시간에 가까운 순으로 스레드 메일의 기본 헤더 정보를 추출하여 메일 웹서버(102)로 전송한다.
전술한 바와 같이, 동일한 그룹에 속하는 스레드 메일은 최종 메일의 송수신 시간에 따라 동일한 스레드 정렬 시간 값을 가지기 때문에 상기에서 추출하는 기본 헤더 정보는 그룹별로 구분될 수 있다.
본 발명에 따르면, 스레드 편지함 선택에 의해 제공되는 웹페이지에 표시할 수 있는 그룹의 개수가 설정될 있으며, 예를 들어, 하나의 웹페이지에 포함될 수 있는 그룹이 10개로 제한되는 경우, MRA(204)는 10개의 각 그룹에 속하는 스레드 메일의 기본 헤더 정보를 추출하여 메일 웹서버(102)로 전송한다.
메일 웹서버(102)는 상기와 같이, MRA(204)에 의해 수신되는 헤더 정보 및 본문 정보를 포함하는 웹페이지를 생성하여 사용자에게 제공한다.
도 4는 본 발명의 바람직한 일 실시예에 따른 메일 웹서버(102)의 모듈 구성을 도시한 도면이다.
도 4에 도시된 바와 같이, 본 발명에 따른 메일 웹서버(102)는 스레드 메일 식별 모듈(400), 웹페이지 생성 모듈(402) 및 MIME 생성 모듈(404)을 포함할 수 있다.
스레드 메일 식별 모듈(400)은 사용자 클라이언트(100)로부터 메일 리스트 보기 요청을 수신하는 경우, 메일 박스(106)에 저장된 사용자의 송수신 메일 중 그룹으로 저장된 스레드 메일을 식별하는 과정을 수행한다.
본 발명에 따른 스레드 메일은 각각에는 스레드 메일임을 식별할 수 있는 식 별자가 포함될 수 있는데, 여기서, 식별자는 스레드 아이디 또는 스레드 정렬 시간 값일 수 있다.
상기한 바와 같이, 메일 서버(104)로부터 전송되는 메일의 기본 헤더 정보에는 스레드 정렬 시간 값이 포함되는데, 본 발명에 따르면, 시작 메일의 스레드 정렬 시간 값은 0으로 설정되고, 이와 관련되는 메일의 송수신이 있는 경우에 최종 메일의 송수신 시간으로 스레드 정렬 시간 값이 갱신되어 0이 아닌 값을 가질 수 있다.
스레드 메일 식별 모듈(400)은 메일 서버(104)로부터 수신되는 기본 헤더 정보를 이용하여 스레드 정렬 시간 값이 0이 아닌 메일(스레드 메일)을 확인하게 된다.
스레드 메일 식별 모듈(400)에 의해 스레드 메일임이 확인되면, 웹페이지 생성 모듈(402)는 스레드 메일 각각에 대해 소정 아이콘 정보가 부가되는 웹페이지를 생성한다.
도 9에 도시된 바와 같이, 사용자는 아이콘을 통해 보낸 편지함 또는 받은 편지함에 포함된 메일 중 스레드 메일을 확인할 수 있다.
본 발명의 바람직한 일 실시예에 따르면, 웹페이지 생성 모듈(402)은 사용자가 개별 스레드 메일을 선택하는 경우, 메일 서버(104)의 MRA(204)로부터 사용자가 선택한 메일의 본문 정보 및 이와 관련되는 하나 이상의 스레드 메일의 기본 헤더 정보를 수신하여 도 10에 도시된 것과 같은 본문 페이지를 생성한다.
도 10을 참조하면, 하나의 그룹에 속하는 스레드 메일에 모두가 하나의 본문 페이지에 포함될 수 있으며, 사용자가 선택한 메일은 본문을 표시하고, 다른 스레드 메일에 대해서는 기본 헤더 정보를 이용하여 간략한 정보(예를 들어, 제목, 송수신자, 송수신 시간)만을 표시할 수 있다.
또한, 웹페이지 생성 모듈(402)은 도 10에 도시된 웹페이지 생성 시, 다른 스레드 메일의 제목이 링크되도록 설정하며, 이에 따라 사용자는 선택한 메시지 확인 중 다른 스레드 메일의 제목 등을 클릭 선택하는 방법으로 해당 본문 내용을 확인할 수도 있다.
한편, 본 발명에 따른 웹페이지 생성 모듈(402)은 사용자가 스레드 편지함을 선택하는 경우, 미리 설정된 정렬 방식에 따라 웹페이지를 생성하여 사용자에게 제공할 수 있다.
전술한 바와 같이, 사용자가 스레드 편지함을 선택하는 경우, 메일 서버(104)는 미리 설정된 개수의 그룹에 속하는 스레드 메일의 헤더 정보를 추출하여 메일 웹서버(102)로 전송하는데, 웹페이지 생성 모듈(402)은 수신된 헤더 정보에서 스레드 정렬 시간 값을 확인하고, 수신된 그룹을 현재 시간에 가까운 순으로 상위에 위치하도록 정렬하여 웹페이지를 생성한다.
즉, 가장 최근에 송수신된 메일을 포함하는 그룹이 웹페이지에서 가장 상위에 위치할 수 있도록 웹페이지를 생성하는 것이다.
한편, 하나의 그룹에 속하는 스레드 메일은 각 스레드 메일의 송수신 시간에 따라 정렬되며, 이는 시간 순 또는 시간 역순으로 정렬될 수 있다.
본 발명에 따르면, 사용자는 특정 그룹에 속하는 스레드 메일 중 일부를 삭 제할 수 있고, 이러한 경우, 삭제된 메일은 일정 기간 동안 임시 저장되는데, 웹페이지 생성 모듈(402)은 스레드 메일 중 삭제되어 임시 저장된 메일이 존재하는지 확인하여 이러한 메일에 대해 도 9 내지 도 10에 도시된 바와 같이 메일이 삭제되었다는 표시를 포함하는 웹페이지를 생성할 수 있으며, 이와 동시에 또는 별도로 삭제된 메일을 식별하도록 하는 처리 과정을 수행할 수 있다.
MIME 생성 모듈(404)은 사용자가 메일을 작성하고 이의 전송을 요청하는 경우, 사용자 메일을 MIME 포맷 데이터로 변환한다.
본 발명에 따르면, 메일 송수신 시 시작 메일의 메시지 아이디를 추출하기 위해 메일에 레퍼런스 헤더가 포함되는 것이 바람직한데, MIME 생성 모듈(404)은 답장 메일 작성 시, 이전에 수신된 메일에 레퍼런스 헤더가 존재하는 경우에는 상기한 레퍼런스 헤더에 새로 작성되는 메일의 메시지 아이디를 기록하며, 이에 따라 답장 메일의 레퍼런스 헤더에는 이전에 수신된 메일의 메시지 아이디 및 새로 작성된 메일의 메시지 아이디가 함께 포함된다. 이와 달리, 본 발명의 일 실시예에 따르면, 레퍼런스 헤더가 존재하지 않는 경우, MIME 생성 모듈(404)은 시작 메일의 메시지 아이디 만으로 레퍼런스 헤더를 구성하여 MIME을 작성한다.
한편, 상기에서는 본 발명에 따른 메일 시스템의 동작을 메일 웹서버 및 메일 서버로 구분하여 설명하였으나, 메일 시스템은 하나의 서버로 통합되어 구성될 수 있으며, 이러한 경우, 사용자의 메일 보기 요청 수신, 스레드 메일 추출, 스레드 메일을 포함하는 웹페이지 생성 과정 등은 하나의 통합된 서버에서 이루어질 수 있다는 점을 이해하여야 할 것이다.
도 5는 본 발명의 바람직한 일 실시예에 따른 메인 수신 시 MDA의 동작 과정을 도시한 순서도이다.
도 5는 상대방으로부터 답장 메일 또는 전달 메일이 수신되는 경우의 MDA 동작을 도시한 것으로서, 도 5를 참조하면, MDA(200)는 외부 메일 시스템 또는 내부 메일 시스템으로부터 메일을 수신한다(S500).
MDA(200)는 수신된 메일에 레퍼런스 헤더가 존재하는지 여부를 판단하며(S502), 레퍼런스 헤더가 존재하는 경우, MDA(200)는 레퍼런스 헤더에서 가장 상위에 위치하는 메시지 아이디를 추출하는 과정을 수행한다(S504).
전술한 바와 같이, 레퍼런스 헤더에는 시작 메일 및 이에 대한 하나 이상의 답장 메일에 대한 고유한 메시지 아이디가 기록되는 것으로서, 가장 상위에 위치하는 메시지 아이디는 시작 메일의 메시지 아이디가 된다.
이후, 추출된 메시지 아이디와 동일한 스레드 아이디가 존재하는지를 판단한다(S506).
본 발명에 따른 MDA(200)는 메일 박스(106)에 메일을 저장하는 경우, 각 메일에 대해 스레드 아이디를 부여하는데, 스레드 아이디는 서로 관련되는 복수의 메일 중 시작 메일의 메시지 아이디가 된다.
따라서, 상기 단계(S506)는 수신된 메일이 갖는 시작 메일의 메시지 아이디와 동일한 아이디를 갖는 메일이 존재하는지 판단하는 과정이다.
동일한 스레드 아이디가 존재하는 경우, MDA(200)는 수신된 메일의 스레드 아이디로서 시작 메일의 메시지 아이디를 부여하여 메일 박스(106)에 저장하며 (S508), 동일한 스레드 아이디를 갖는 복수의 메일에 대해 스레드 정렬 시간을 갱신하는 과정을 수행한다(S510).
한편, 상기 단계(S502)에서 답장 또는 전달 메일임에도 레퍼런스 헤더가 존재하지 않는 것으로 판단되는 경우, MDA(200)는 미리 설정된 알고리즘에 따라 제목 유사도를 판단하는 과정을 수행한다(S512).
일반적으로 답장 또는 전달 메일은 시작 메일의 제목을 그대로 포함하므로 제목 유사도 판단을 통해 서로 관련되는 메일을 확인할 수 있다.
이때, 기 저장된 메일 중 수신된 메일과 제목이 유사한 메일이 존재하는 경우, MDA(200)는 수신된 메일의 스레드 아이디 필드에 유사한 제목으로 결정된 메일의 스레드 아이디를 부여하여 메일 박스(106)에 저장하고(S508), S510 단계로 진행한다.
도 6은 본 발명의 바람직한 일 실시예에 따른 개별 스레드 메일을 표시하는 과정을 도시한 순서도이다.
도 6은 사용자가 받은 편지함에 포함된 메일 리스트에서 스레드 메일을 선택하는 경우의 상세한 과정을 도시한 것이다.
도 6을 참조하면, 사용자 클라이언트(100)는 메일 웹서버(102)로 사용자의 아이디 및 패스워드를 포함하는 로그인 요청 정보를 전송하며(S600), 메일 웹서버(102)는 사용자의 아이디 및 패스워드를 기 저장된 아이디 및 패스워드와 비교하여 이에 대한 로그인 응답 정보를 사용자 클라이언트(100)로 전송한다(S602).
로그인된 사용자가 메일의 초기 페이지에서 받은 편지함을 선택하면(S604), 사용자 클라이언트(100)는 메일 웹서버(102)로 사용자 선택 정보를 전송한다(S606).
이후, 메일 웹서버(102)는 메일 서버(104)로 사용자가 선택한 메일에 대한 헤더 정보(기본 헤더 정보)를 요청하며(S608), 메일 서버(104)는 사용자의 수신 메일 중 미리 설정된 개수의 메일 헤더 정보를 추출하여 메일 웹서버(102)로 전송한다(S610).
헤더 정보 수신 후, 메일 웹서버(102)는 헤더 정보를 통해 스레드 메일이 포함되어 있는지 여부를 판단하는데(S612), 이는 헤더 정보에 포함되는 스레드 정렬 시간 값에 따라 결정되며, 상기한 시간 값이 0이 아닌 다른 값을 가지는지에 따라 결정될 수 있다.
스레드 메일이 포함되는 경우, 메일 웹서버(102)는 스레드 메일에 대한 아이콘을 포함하는 웹페이지를 생성하여(S614), 이를 사용자 클라이언트(100)로 전송한다(S616).
보낸 편지함에 포함된 메일 리스트를 확인한 사용자가 스레드 메일을 선택하는 경우(S618), 사용자 클라이언트(100)는 사용자의 선택 정보를 메일 웹서버(102)에 전송하며(S620), 메일 웹서버(102)는 메일 서버(104)로 사용자가 선택한 메일의 본문 정보를 요청한다(S622).
메일 서버(104)는 사용자가 요청하는 메일이 스레드 메일인지를 스레드 정렬 시간 필드의 시간 값을 통해 확인하며(S624), 스레드 정렬 시간 값이 0이 아닌 값을 가지는 경우, 사용자가 선택한 메일의 본문 정보 및 동일한 스레드 정렬 시간 값을 갖는 메일의 헤더 정보를 추출하여(S624), 이를 메일 웹서버(102)로 전송한다(S626).
메일 웹서버(102)는 본문 정보 및 헤더 정보를 수신하여 시간순으로 정렬한 웹페이지를 생성하며(S628), 이를 사용자 클라이언트(100)로 전송한다(S630).
상기한 웹페이지에는 사용자가 선택한 메일의 본문 메시지 표시 영역 및 다른 스레드 메일의 제목 표시 영역이 존재할 수 있으며, 다른 스레드 메일의 제목은 링크되어 있어 사용자는 본문 메시지 확인 후 제목을 클릭 선택함으로써 다른 메일의 본문 메시지를 용이하게 확인할 수 있다.
도 7은 본 발명의 바람직한 일 실시예에 따른 사용자가 스레드 편지함을 선택하는 경우의 처리 과정을 도시한 순서도이다.
도 7을 참조하면, 우선 도 6에서 설명한 바와 같이, 사용자 로그인 처리 과정이 이루어진다(S700,S702).
본 발명에 따르면, 로그인된 사용자의 클라이언트(100)로 스레드 편지함이 제공되는데, 사용자가 서로 관련되는 메일을 확인하기 위해 스레드 편지함을 선택하는 경우(S704), 사용자 클라이언트(100)는 사용자 선택 정보를 메일 웹서버(102)로 전송하며(S706), 메일 웹서버(102)는 스레드 편지함에 포함되는 메일의 헤더 정보를 메일 서버(104)에 요청한다(S708).
메일 서버(104)는 헤더 정보 요청을 받은 경우, 메일 박스(106)에 기 저장된 메일의 스레드 정렬 시간 필드의 시간 값을 확인하며(S710), 스레드 정렬 시간 값이 현재 시간에 가까운 메일을 추출하는 과정을 수행한다(S712).
상기 단계(S712)에서 메일 서버(104)는 미리 설정된 개수의 그룹에 속하는 스레드 메일의 헤더 정보를 추출하며, 추출된 헤더 정보를 메일 웹서버(102)로 전송한다(S714).
메일 웹서버(102)는 수신된 헤더 정보의 스레드 정렬 시간 값을 통해 복수의 그룹을 정렬하여 웹페이지를 생성한다(S716).
상기 단계(S716)에서 메일 웹서버(102)는 스레드 정렬 시간 값이 현재 시간에 가까운 순으로 웹페이지의 상단에 위치하도록 하며, 아울러 하나의 그룹에 포함되는 메일은 각 메일의 송수신 시간에 따라 시간 순 또는 시간 역순으로 정렬되도록 한다.
메일 웹서버(102)는 생성된 웹페이지를 사용자 클라이언트(100)로 전송하며(S718), 이에 따라 사용자는 하나의 웹페이지에서 소정 개수의 그룹에 포함되는 스레드 메일을 확인할 수 있게 된다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 따르면, 소정의 식별자를 이용하여 서로 관련되는 메일을 그룹으로 저장하며, 사용자의 요청 시 그룹으로 저장되는 스레드 메일을 제공하기 때문에 사용자는 서로 관련되는 메일을 일괄적으로 확인할 수 있는 장점이 있다.
또한, 본 발명에 따르면, 특정 그룹에 속하는 메일은 그룹에 속하는 메일 중 최종적으로 송수신되는 메일에 따라 정렬되기 때문에 사용자가 최근 시간에 송수신된 메일을 기준으로 서로 관련되는 메일을 확인할 수 있는 장점이 있다.
또한, 본 발명에 따르면, 메일 리스트에서 스레드 메일에 대해 아이콘을 부가하기 때문에 사용자는 받은 편지함 또는 보낸 편지함에서도 사용자가 스레드 메일을 한눈에 확인할 수 있는 장점이 있다.
또한, 본 발명에 따르면, 사용자에게 제공되는 본문 페이지에서 사용자가 선택한 메일의 본문 메시지 뿐만 아니라 다른 스레드 메일의 헤더 정보를 표시하기 때문에 사용자는 서로 관련되는 메일을 용이하게 확인할 수 있는 장점이 있다.

Claims (15)

  1. 사용자 클라이언트와 네트워크로 연결되는 메일 시스템에서 스레드 메일 서비스를 제공하는 방법으로서,
    상기 사용자 클라이언트로부터 메일 보기 요청을 수신하는 단계(a);
    메일 박스로부터 동일한 스레드(thread) 메일 그룹에 속하는 메일의 기본 헤더 정보를 추출하는 단계(b);
    상기 기본 헤더 정보를 포함하는 웹페이지를 생성하는 단계(c); 및
    상기 생성된 웹페이지를 상기 사용자 클라이언트로 전송하는 단계(d)를 포함하는 것을 특징으로 하는 스레드 메일 서비스 제공 방법.
  2. 제1항에 있어서,
    시작 메일의 메시지 아이디가 동일한 메일을 스레드 메일 그룹으로 저장하는 단계(e)를 더 포함하는 것을 특징으로 하는 스레드 메일 서비스 제공 방법.
  3. 제2항에 있어서,
    상기 (e) 단계는
    사용자 송수신 메일에 레퍼런스 헤더가 존재하는지 판단하는 단계(e1);
    상기 송수신 메일에 레퍼런스 헤더가 존재하는 경우, 상기 레퍼런스 헤더에서 상기 송수신 메일에 대응하는 시작 메일의 메시지 아이디를 추출하는 단계(e2);
    상기 추출된 메시지 아이디와 상기 메일 박스에 기 저장된 메일의 스레드 아이디를 비교하는 단계(e3)-상기 스레드 아이디는 상기 기 저장된 메일에 대응하는 시작 메일의 메시지 아이디임-; 및
    상기 추출된 메시지 아이디와 동일한 스레드 아이디가 동일한 경우, 상기 송수신 메일의 스레드 아이디를 상기 기 저장된 메일의 스레드 아이디로 하여 메일 박스에 저장하는 단계(e4)를 포함하는 것을 특징으로 하는 스레드 메일 서비스 제공 방법.
  4. 제3항에 있어서,
    상기 레퍼런스 헤더가 존재하지 않는 경우, 미리 설정된 알고리즘에 따라 상기 송수신된 메일의 제목과 상기 메일 박스에 기 저장된 메일의 제목 유사도를 판단하는 단계를 더 포함하되,
    상기 (e4) 단계는 제목이 유사한 메일이 존재하는 경우, 상기 송수신된 메일의 스레드 아이디를 제목이 유사한 것으로 결정된 메일의 스레드 아이디로 하여 상기 메일 박스에 저장하는 것을 특징으로 하는 스레드 메일 서비스 제공 방법.
  5. 제3항에 있어서,
    상기 메일은 스레드 정렬 시간 값이 기록되는 필드를 더 포함하며,
    상기 (e4) 단계는 상기 송수신 메일 및 상기 기 저장된 메일의 스레드 정렬 시간 값을 현재 송수신되는 메일의 송신 또는 수신 시간 값으로 갱신하는 것을 특 징으로 하는 스레드 메일 서비스 제공 방법.
  6. 제5항에 있어서,
    상기 (b) 단계에서 추출되는 기본 헤더 정보는 상기 스레드 아이디 및 스레드 정렬 시간 값 중 적어도 하나를 포함하며, 상기 (c) 단계는 상기 스레드 아이디 및 스레드 정렬 시간 값 중 적어도 하나를 통해 식별되는 스레드 메일에 소정 아이콘을 부가한 웹페이지를 생성하는 것을 특징으로 하는 스레드 메일 서비스 제공 방법.
  7. 제5항에 있어서,
    상기 스레드 정렬 시간 값은 시작 메일에 대해 디폴트 값으로 설정되며, 상기 (c) 단계는 상기 스레드 정렬 시간 값이 디폴트 값이 아닌 메일에 대해 아이콘을 부가하는 웹페이지를 생성하는 것을 특징으로 하는 스레드 메일 서비스 제공 방법.
  8. 제5항에 있어서,
    상기 (b) 단계는 상기 사용자 클라이언트로부터 스레드 메일 리스트의 전송 요청을 수신하는 경우, 미리 설정된 개수 만큼의 스레드 메일 그룹에 속하는 메일의 기본 헤더 정보를 추출하며,
    상기 (c) 단계는 상기 추출된 기본 헤더 정보를 상기 스레드 정렬 시간 값을 기준으로 정렬하여 웹페이지를 생성하는 것을 특징으로 하는 스레드 메일 서비스 제공 방법.
  9. 제8항에 있어서,
    상기 미리 설정된 개수는 상기 생성된 웹페이지에 표시될 수 있는 스레드 메일 그룹의 개수인 것을 특징으로 하는 스레드 메일 서비스 제공 방법.
  10. 제8항에 있어서,
    상기 (b) 단계는 상기 메일 박스에 기 저장된 메일의 스레드 정렬 시간 값이 현재 시간에 가까운 순으로 상기 스레드 메일 그룹에 속하는 메일의 기본 헤더 정보를 추출하는 것을 특징으로 하는 스레드 메일 서비스 제공 방법.
  11. 제1항에 있어서,
    상기 (c) 단계는 상기 스레드 메일 그룹에 속하는 개별 스레드 메일의 송수신 시간 정보를 통해 상기 기본 헤더 정보를 송수신 시간 순 또는 시간 역순으로 정렬하는 것을 특징으로 하는 스레드 메일 서비스 제공 방법.
  12. 제1항 내지 제11항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 유형적으로 구현되어 있으며, 전자 정보 처리 장치에 의해 판독될 수 있는 기록 매체.
  13. 사용자의 송수신 메일을 저장하는 메일 박스;
    사용자의 송수신 메일과 상기 메일 박스에 기 저장된 메일이 관련이 있는 여부를 판단하여, 서로 관련이 있는 스레드 메일을 그룹으로 저장하는 메일 서버; 및
    사용자의 메일 보기 요청이 있는 경우, 상기 메일 서버로부터 동일한 스레드(thread) 메일 그룹에 속하는 메일의 기본 헤더 정보를 수신하며, 상기 기본 헤더 정보를 포함하는 웹페이지를 생성하여 상기 사용자에게 제공하는 메일 웹서버를 포함하는 것을 특징으로 하는 스레드 메일 서비스 제공 시스템.
  14. 제13항에 있어서,
    상기 메일 서버는,
    사용자가 송수신하는 메일에 레퍼런스 헤더가 존재하는지 판단하는 레퍼런스 판단 모듈;
    상기 사용자 송수신 메일에 레퍼런스 헤더가 존재하는 경우, 상기 레퍼런스 헤더에서 상기 송수신 메일에 대응하는 시작 메일의 메시지 아이디를 추출하는 메시지 아이디 추출 모듈;
    상기 추출된 메시지 아이디와 상기 메일 박스에 기 저장된 메일의 스레드 아이디를 비교하는 아이디 비교 모듈; 및
    상기 추출된 메시지 아이디와 동일한 스레드 아이디가 존재하는 경우, 상기 송수신 메일의 스레드 아이디에 상기 메일 박스에 기 저장된 메일의 스레드 아이디를 부여하는 스레드 아이디 부여 모듈을 포함하는 것을 특징으로 하는 스레드 메일 서비스 제공 시스템.
  15. 제14항에 있어서,
    상기 메일은 스레드 정렬 시간 값이 기록되는 필드를 더 포함하며,
    상기 메일 서버는,
    동일한 스레드 아이디를 갖는 메일의 스레드 정렬 시간 값을 현재 송수신되는 메일의 송신 또는 수신 시간 값으로 갱신하는 것을 스레드 정렬 시간 갱신 모듈을 더 포함하는 것을 특징으로 하는 스레드 메일 서비스 제공 시스템.
KR1020050081137A 2005-09-01 2005-09-01 스레드 메일 서비스 제공 방법, 시스템 및 이를 구현하기위한 프로그램이 기록된 기록매체 KR100644388B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050081137A KR100644388B1 (ko) 2005-09-01 2005-09-01 스레드 메일 서비스 제공 방법, 시스템 및 이를 구현하기위한 프로그램이 기록된 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050081137A KR100644388B1 (ko) 2005-09-01 2005-09-01 스레드 메일 서비스 제공 방법, 시스템 및 이를 구현하기위한 프로그램이 기록된 기록매체

Publications (1)

Publication Number Publication Date
KR100644388B1 true KR100644388B1 (ko) 2006-11-10

Family

ID=37654219

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050081137A KR100644388B1 (ko) 2005-09-01 2005-09-01 스레드 메일 서비스 제공 방법, 시스템 및 이를 구현하기위한 프로그램이 기록된 기록매체

Country Status (1)

Country Link
KR (1) KR100644388B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240056994A (ko) 2022-10-24 2024-05-02 이석민 이메일 스레드 기반의 실시간 협업 시스템 및 이메일 스레드 기반의 실시간 협업 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222477A (ja) * 2000-02-08 2001-08-17 Nec Corp 電子メール記事管理システム
JP2003157220A (ja) * 2001-11-21 2003-05-30 Sony Corp 情報処理装置、情報処理方法及び情報処理プログラム、並びに情報処理システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222477A (ja) * 2000-02-08 2001-08-17 Nec Corp 電子メール記事管理システム
JP2003157220A (ja) * 2001-11-21 2003-05-30 Sony Corp 情報処理装置、情報処理方法及び情報処理プログラム、並びに情報処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240056994A (ko) 2022-10-24 2024-05-02 이석민 이메일 스레드 기반의 실시간 협업 시스템 및 이메일 스레드 기반의 실시간 협업 방법

Similar Documents

Publication Publication Date Title
US7133898B1 (en) System and method for sorting e-mail using a vendor registration code and a vendor registration purpose code previously assigned by a recipient
US8209387B2 (en) Method and system for filtering unauthorized electronic mail messages
US7912913B2 (en) Facilitating presentation and monitoring of electronic mail messages with reply by constraints
US8606854B2 (en) System and method for opportunistic image sharing
US6615241B1 (en) Correspondent-centric management email system uses message-correspondent relationship data table for automatically linking a single stored message with its correspondents
US7836132B2 (en) Delivery confirmation for e-mail
US7103634B1 (en) Method and system for e-mail chain group
US20040181581A1 (en) Authentication method for preventing delivery of junk electronic mail
IL180566A (en) Electronic messaging system and method
CN101753484B (zh) 信息处理装置及其控制方法
US11244285B2 (en) Method and apparatus for displaying e-mail messages
US20040078488A1 (en) Method and computer product for identifying and selecting potential e-mail reply recipients from a multi-party e-mail
US20080195953A1 (en) Messaging Systems And Methods
CN114143282A (zh) 邮件处理方法、装置、设备及存储介质
KR20040071813A (ko) 메일목록표시가 개선된 전자메일서비스방법
US20060168038A1 (en) Message gateways and methods and systems for message dispatching based on group communication
US20090150495A1 (en) Chain-Scoped Dynamic Electronic Mail System and Method
KR100644388B1 (ko) 스레드 메일 서비스 제공 방법, 시스템 및 이를 구현하기위한 프로그램이 기록된 기록매체
US20100070590A1 (en) Method and apparatus for electronic communication
KR100504441B1 (ko) 영구 메일 서비스 제공 방법 및 시스템
KR101953231B1 (ko) 아웃룩에서 다중 이메일 발송 시 수신 확인 기능을 제공하는 방법
KR100495282B1 (ko) 전자 메일에서의 메모 기능 제공 방법
KR100369898B1 (ko) 디렉토리별 자동 이메일 분류 방법 및 시스템
US20120296981A1 (en) Method for Reduction of Disk Space Usage of Electronic Messages in a Network
KR101197090B1 (ko) 그룹 메일 관리 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111010

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130926

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140925

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151102

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161024

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181101

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 14