KR101766484B1 - 청크를 이용한 메일 관리 방법 및 장치 - Google Patents

청크를 이용한 메일 관리 방법 및 장치 Download PDF

Info

Publication number
KR101766484B1
KR101766484B1 KR1020110059025A KR20110059025A KR101766484B1 KR 101766484 B1 KR101766484 B1 KR 101766484B1 KR 1020110059025 A KR1020110059025 A KR 1020110059025A KR 20110059025 A KR20110059025 A KR 20110059025A KR 101766484 B1 KR101766484 B1 KR 101766484B1
Authority
KR
South Korea
Prior art keywords
chunk
mail
chunks
collection
registered
Prior art date
Application number
KR1020110059025A
Other languages
English (en)
Other versions
KR20120139294A (ko
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 KR1020110059025A priority Critical patent/KR101766484B1/ko
Priority to JP2012136350A priority patent/JP6005412B2/ja
Publication of KR20120139294A publication Critical patent/KR20120139294A/ko
Application granted granted Critical
Publication of KR101766484B1 publication Critical patent/KR101766484B1/ko

Links

Images

Classifications

    • G06Q50/60
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]

Abstract

청크를 사용하여 이-메일을 처리하기 위한 방법 및 장치가 제공된다. 이-메일은 하나 이상의 청크들을 포함할 수 있다. 하나 이상의 청크들은 각각 청크 컬렉션 내에 등록된다. 하나 이상의 청크들 각각은 청크를 포함하는 하나 이상의 이-메일들과 연관되며, 하나 이상의 청크들 각각이 갖는 고유한 스트링은 인덱싱된다. 인덱싱된 내용은 이러한 등록 및 인덱싱은 컬렉션 및 인덱싱된 내용을 감소시킬 수 있으며 효율적인 이-메일 검색을 제공할 수 있다.

Description

청크를 이용한 메일 관리 방법 및 장치{METHOD AND APPARATUS FOR MANAGING MAIL USING CHUNK}
아래의 실시예들은 이-메일을 관리하기 위한 방법 및 장치에 관한 것이다.
이-메일 내의 청크를 사용함으로써 이-메일들에 관련된 동작을 처리하는 방법 및 장치가 개시된다.
이-메일(e-mail)(이하, 메일로 약술한다.)은 인터넷(internet)과 같은 컴퓨터 통신망을 통해 사용자 간에 주고 받는 전자 문서를 나타낸다. 또한, 메일은 이러한 전자 문서를 주고 받을 수 있는 시스템을 나타낼 수 있다.
메일의 부가적 기능으로서, 회신(reply; RE) 및 전달(forward; FW) 기능이 있다.
회신은 특정 메일의 수신자가 수신한 원본 메일에 대한 답신을 원본 메일의 송신자에게 전송하는 것이다.
전달은 특정 메일의 수신자가 수신한 원본 메일 자체를 다른 관련자에게 전송하거나, 원본 메일에 내용을 추가하여 다른 관련자에게 전송하는 것이다.
사용자가 자신이 수신한 원본 메일에 대한 회신 메일(또는, 전달 메일)을 작성할 경우, 사용자의 메일 클라이언트 프로그램은 원본 메일의 내용을 회신 메일(또는, 전달 메일)에 삽입한다. 원본 메일의 내용은, 일반적으로 회신 메일(또는, 전달 메일)의 말미에 삽입된다. 따라서, 회신 메일(또는, 전달 메일)은 원본 메일의 내용을 포함할 수 있다.
따라서, 사용자들이 특정한 주제에 대하여 회신 및 전달 등을 통해 수 회 메일을 주고 받은 경우, 메일의 수신자는 메일의 하단에 삽입된 내용을 통해 그동안 사용자들 간에 오고간 이전 메일들의 내용을 확인할 수 있다.
상기의 삽입에 의해, 회신 메일 또는 전달 메일은 회신 또는 전달이 반복됨에 따라 점점 더 크기가 증가한다. 또한, 회신 또는 전달에 의해, 동일한 내용(즉, 원본 메일의 내용)이 여러 메일들(즉, 원본 메일 및 회신 메일(또는, 전달 메일)) 내에 중복될 수 있다.
특히, 메일이 여러 명의 수신인들 또는 여러 명들의 참조인들에게 전송될 경우, 회신 또는 전달에 의해 크기가 커졌으며 동일한 내용을 갖는 여러 개의 메일들이 생성될 수 있다.
이러한 메일의 크기 및 개수의 증가는 메일 시스템에 과한 부하(load)를 가할 수 있다.
본 발명의 일 실시예는 이-메일에 포함된 청크들을 검색하여, 청크가 갖는 고유한 스트링을 인덱싱하는 장치 및 방법을 제공할 수 있다.
본 발명의 일 실시예는 인덱싱된 청크의 내용에 기반하여 검색어를 포함하는 이-메일을 검색 및 제공하는 장치 및 방법을 제공할 수 있다.
본 발명의 일측에 따르면, 이-메일 내의 하나 이상의 청크들을 검색하는 단계 - 상기 하나 이상의 청크들은 포함 관계임 -, 상기 하나 이상의 청크들 중 청크 컬렉션 내에 없는 청크를 상기 청크 컬렉션에 등록하는 단계 및 상기 이-메일의 식별자를 상기 청크 컬렉션 내의 상기 하나 이상의 청크들 각각과 연관하는 단계를 포함하는, 이-메일 처리 방법이 제공된다.
상기 이-메일 내의 하나 이상의 청크들을 검색하는 단계는, 이-메일이 회신 또는 전달될 때 상기 이-메일에 첨부되는 이전 이-메일을 구분하기 위한 내용을 식별함으로써 상기 하나 이상의 청크들을 검색할 수 있다.
상기 하나 이상의 청크들 중 n 번째 청크는 n - 1 번째 청크를 포함할 수 있고, n은 상기 하나 이상의 청크들의 개수일 수 있다.
상기 하나 이상의 청크들 중 청크 컬렉션 내에 없는 청크를 상기 청크 컬렉션에 등록하는 단계 및 상기 이-메일의 식별자를 상기 청크 컬렉션 내의 상기 하나 이상의 청크들 각각과 연관하는 단계는, 청크의 크기의 내림차순 또는 청크의 크기의 오름차순으로 상기 하나 이상의 청크들 각각에 대해 수행될 수 있다.
상기 청크 컬렉션은 청크의 스트링, 상기 청크의 식별자, 상기 청크와 연관된 하나 이상의 이-메일들의 식별자들 및 상기 청크의 고유 스트링을 포함할 수 있다.
상기 청크의 고유 스트링은 상기 청크의 내용 중 하위 청크의 내용에 비해 상기 청크에서 추가된 내용일 수 있다.
상기 이-메일 처리 방법은, 상기 청크 컬렉션에 등록된 청크가 추가로 갖는 내용을 인덱싱하는 단계를 더 포함할 수 있다.
상기 이-메일 처리 방법은, 상기 인덱싱된 내용에 기반하여 상기 등록된 청크와 연관된 이-메일들을 검색어에 대한 검색 결과로서 제공하는 단계를 더 포함할 수 있다.
상기 등록된 청크가 추가로 갖는 내용은 상기 검색어를 포함할 수 있다.
본 발명의 다른 일 측에 따르면, 하나 이상의 청크들 및 상기 청크들에 연관된 데이터를 저장하는 청크 컬렉션, 이-메일 내의 하나 이상의 청크들을 검색하는 청크 검색부 - 상기 하나 이상의 청크들은 포함 관계임 - 및 상기 하나 이상의 청크들 중 상기 청크 컬렉션 내에 없는 청크를 상기 청크 컬렉션에 등록하고, 상기 이-메일의 식별자를 상기 청크 컬렉션 내의 상기 하나 이상의 청크들 각각과 연관하는 청크 등록부를 포함하는, 이-메일 처리 장치가 제공된다.
이-메일에 포함된 청크들을 검색하는 장치 및 방법이 제공된다.
청크가 갖는 고유한 스트링이 인덱싱됨으로써, 청크 컬렉션 및 인덱스의 양이 감소된다.
인덱싱된 청크의 내용에 기반하여 검색어를 포함하는 이-메일을 검색 및 제공하는 장치 및 방법이 제공된다.
인덱싱에 의해, 검색의 결과로서 제공되는 이-메일 중 검색어에 대응하는 부분이 하일라이트될 수 있다.
도 1은 본 발명의 일 실시예에 따른 메일(100)의 청크를 설명한다.
도 2는 본 발명의 일 예에 따른 메일의 전송 및 회신에 따른 청크의 생성을 설명한다.
도 3은 본 발명의 일 예에 따른 청크 컬렉션(chunk collection)(300)을 나타낸다.
도 4는 본 발명의 일 실시예에 따른 메일 처리 방법의 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 이-메일 처리 장치(500)의 구조도이다.
이하에서, 본 발명의 일 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 메일(100)의 청크를 설명한다.
메일(100)은 제목(110), 보낸사람(이하, 송신자) 및 받는사람(이하, 수신자)(120)과 같은 서지 사항을 포함할 수 있다. 또한, 메일(100)은 본문(130)을 포함할 수 있다.
메일(100)의 제목(110)은 "RE: RE: chunk"이다. "mail_tester1@naver.com"의 메일 주소를 갖는 "mail_tester1"이 메일(100)의 송신자이다. 또한, "mail_tester2@naver.com"의 메일 주소를 갖는 "mail_tester2"이 메일(100)의 수신자이다.
본문(130)의 내용은 송신자 및 수신자 간에 수 회에 걸쳐 메일들이 오고 갔음을 나타낸다.
우선, 2011년 3월 23일 18시 4분 48초에, "mail_tester2"는 "mail_tester1"에게 제목이 "chunk"이고, 본문이 "최초 내용"인 제1 메일을 전송하였다.
다음으로, 제1 메일에 대한 답신으로, 2011년 3월 23일 18시 6분 2초에, "mail_tester1"은 "mail_tester2"에게 제목이 "RE: chunk"이고, 본문이 "추가된 내용 #1"인 제2 메일을 전송하였다.
제2 메일은 "mail_tester1"이 제1 메일의 회신 메일으로서 작성하여 전송된 것이다.
제2 메일이 작성될 때, 제1 메일의 내용, 제1 메일의 서지 서항(즉, 제1 이메일의 송신자, 제1 이메일의 수신자, 제1 이메일의 참조자(CC), 제1 이메일이 전송된 시각 및 제1 이메일의 제목) 및 제1 메일의 내용임을 나타내는 스트링("----- Original Message -----")이 아래에서부터 위로 제2 메일에 추가되었다.
이후, 제3 메일 및 메일(100)이 회신 메일으로서 "mail_tester1" 및 "mail_tester2" 간에 차례로 전송되었다.
본문(130)은 청크(chunk)를 포함할 수 있다. 청크는 메일 메시지를 이루는 스트링의 집합이다. 즉, 청크는 특정한 메일 전체를 스트링(string)화한 것이다.
청크는 메일의 내용 중 라인피드(linefeed) 문자 및 공백(space) 문자 중 하나 이상을 제거한 내용을 스트링화한 것일 수 있다. 이러한 제거는, 주로 후술될 해쉬(hash)를 위해 수행될 수 있다. 따라서, 청크는 메일의 내용 중 라인피드(linefeed) 문자 및 공백(space) 문자 등이 제거된 것일 수 있다.
제1 청크(140)는 본문(130) 전체이다. 제1 청크(140)는 메일(100) 전체가 스트링화된 것일 수 있다.
제2 청크(150)는 메일(100)의 이전에 전송된 제3 메일의 내용이다. 즉, 제3 메일과 메일(100)은 서로 원본 메일 및 회신 메일의 관계를 가질 수 있다. 즉, 메일(100)은 제3 메일이 회신(또는, 전달)됨에 따라 생성된 것일 수 있다.
제2 청크(150)는 제3 메일 전체가 스트링화된 것일 수 있다.
제3 청크(160)는 제3 메일의 이전에 전송된 제2 메일의 내용이다.
제4 청크(170)는 제2 메일의 이전에 전송된 제1 메일의 내용이다.
제1 청크(140)는 제2 청크(150)를 포함한다. 또한, 도시된 것처럼, 4 개의 청크들(140, 150, 160 및 170)은 상호 간에 포함 관계를 갖는다.
고유 스트링(180)은 송신자(즉, "mail_tester1")에 의해 작성된 메일(100)의 내용일 수 있다.
예컨대, 고유 스트링(180)는 제1 청크(140) 내용 중 제2 청크(150)에 비해 제1 청크(140)에서 추가된 내용일 수 있다.
또는, 고유 스트링(180)은 제2 청크(140)에 비해 제1 청크(140)에서 추가된 내용 중, 이전에 전송된 메일의 서지 사항을 제외한 내용일 수 있다. 즉, 고유 스트링(180)는 제1 청크(140)에서 제2 청크(140) 및 제3 메일의 서지 사항을 제외한 내용일 수 있다.
청크들(140, 150, 160 및 170)은 특정한 구분 스트링을 기준으로 구별될 수 있다.
구분 스트링은 메일(100)이 회신 또는 전달을 위해 작성될 때, 메일(100)에 첨부되는 이전에 전송된 메일을 구분하기 위한 내용일 수 있다.
즉, 구분 스트링은 본문(130) 중 스트링 "----- Original Message -----"을 의미하거나, 스트링 "----- Original Message -----"을 포함할 수 있다. 또한, 구분 스트링은 이전에 전송된 메일의 서지 사항을 나타내는 스트링(예컨대, "From: ...", "To: ...", "Cc: ...", "Sent: ..." 및 "Subject: ...")을 포함할 수 있다.
도 2는 본 발명의 일 예에 따른 메일의 전송 및 회신에 따른 청크의 생성을 설명한다.
사용자들(210)은 수 회 메일을 주고 받는다.
여기서, 기호 "A" 및 "B"는 메일 송수신의 주체들을 나타낸다. 화살표 왼쪽에 표시된 기호는 송신자를 나타내고, 화살표 오른쪽에 표시된 기호는 수신자를 나타낸다.
사용자들(210) 간에 송수신된 메일은 상기 메일 전체를 스트링화한 청크(220)로 표현될 수 있다. 즉, 사용자들(210)은 청크를 주고 받는다.
사용자들(210) 간에 송수신된 청크(220)들은 생성 및 전송된 시간 순서에 따라 아래에서 위로 표시되었다. 즉, 가장 최근에 전송된 청크가 가장 위에 표시되었다.
하위에 위치한 청크에 대응하는 메일이 원본 메일이라면, 상위에 위치한 청크에 대응하는 메일은 상기 원본 메일에 대한 회신 메일 또는 전달 메일인 것으로 간주될 수 있다.
전술된 것처럼, 메일이 회신 또는 전달을 위해 작성될 때, 원본 메일의 내용이 작성되는 회신 메일 또는 전달 메일에 포함될 수 있다. 따라서, 회신 또는 전달에 의해 생성된 메일은 원본 메일의 내용을 포함할 수 있다. 즉, 도 2에서, 나중에 생성된 청크(즉, 더 상위에 위치한 청크)는 이전에 생성된 청크(즉, 더 하위에 위치한 청크)의 내용(즉, 청크의 스트링)을 포함할 수 있다.
예컨대, 가장 위의 제1 청크 내지 4 번째 줄의 제4 청크는 스트링 "c"를 포함한다. 모든 청크들은 제일 처음에 생성된 청크의 내용인 "a"를 포함한다.
이러한 경우, 회신 또는 전달이 반복될수록 청크의 크기는 커지며, 청크의 내용 중 대부분이 하위의 청크(즉, 이전에 전송된 청크)의 내용과 중복된다. 즉, 가장 위의 제1 청크는 "fedcba"를 내용으로 가지나, 그 중 "edcba"가 아래의 제2 청크에 포함된다. 즉, 제1 청크의 내용 중 "edcba"가 중복된 것이다.
각 청크는 고유 스트링(230)를 갖는다.
고유 스트링(230)는 하위의 청크가 포함하지 않는 스트링이다. 고유 스트링은, 청크에 대응하는 메일이 작성될 때, 메일의 송신자에 의해 직접적으로 작성된 내용(또는, 상기의 내용을 스트링화한 것)일 수 있다.
도 3은 본 발명의 일 예에 따른 청크 컬렉션(chunk collection)(300)을 나타낸다.
청크 컬렉션(300)은 시스템 내에서 청크를 처리하기 위한 자료 구조(data structure)이다. 청크 컬렉션(300)은 시스템에서 사용되는 하나 이상의 청크들 및 상기 청크들에 연관된 데이터를 등록(또는, 저장)할 수 있다.
청크 컬렉션(300)의 열들은 각각 하나의 등록된 청크에 대응한다.
청크 컬렉션(300)의 행은 청크 스트링(310), 청크 식별자(320), 메일 식별자 리스트(330) 및 고유 스트링(340)을 포함할 수 있다.
즉, 청크 컬렉션(300)은 하나 이상의 등록된 청크들 각각에 대한, 청크 스트링(310), 청크 식별자(320), 메일 식별자 리스트(330) 및 고유 스트링(340)을 포함할 수 있다.
청크 스트링(chunk string)(310)은 등록된 청크의 내용을 나타낸다.
예컨대, 제1 청크의 내용(즉, 제1 청크의 스트링)은 "dcba"이다.
청크 스트링(310)의 해쉬된 값(도시되지 않음)이 청크와 연관되어 저장될 수 있다.
청크 스트링(310)의 해쉬된 값이 저장된 경우, 검색어를 사용하여 청크 컬렉션(300)에 등록된 청크들 중 특정한 청크를 검색할 때, 검색어의 해쉬된 값 및 청크 스트링(310)들의 해쉬된 값들을 비교함으로써 상기의 특정한 청크가 검색될 수 있다. 따라서, 검색 효율이 향상될 수 있다.
청크 식별자(chunk identifier)(320)는 등록된 청크의 식별자를 나타낸다.
청크 식별자(320)는 등록된 청크를 시스템 내에서 식별하기 위해 사용된다.
일반적으로, 등록된 청크에게는 1 개의 청크 식별자(320)가 할당된다. 예컨대, 서로 상이한 사용자의 메일이 동일한 내용의 청크를 갖는 것과 같은 예외적인 경우, 등록된 청크에게 2 개 이상의 청크 식별자(320)들이 할당될 수 있다.
메일 식별자 리스트(mail identifier list)(330)는 시스템 내의 메일들 중, 등록된 청크에 속한 메일들의 식별자들을 나타낸다.
즉, 메일 식별자 리스트(330)는 시스템 내의 메일들 중, 등록된 청크를 포함하는 메일들의 식별자들을 나타낼 수 있다. 메일 식별자 리스트(330)는 등록된 청크와 연관된 하나 이상의 메일들의 식별자들일 수 있다.
예컨대, 청크 식별자(320)가 "1"인 청크의 청크 스트링(310)은 "a"이고, 식별자가 각각 "A", "B", "C" 또는 "D"인 메일들이 상기의 청크 스트링(310) "a"를 포함한다.
예컨대, 청크 식별자(320)가 "3"인 청크의 청크 스트링(310)은 "cba"이고, 식별자가 각각 "C" 또는 "D"인 메일들이 상기의 청크 스트링(310) "cba"를 포함한다.
고유 스트링(340)은 도 1을 참조하여 전술된 고유 스트링(180)일 수 있다.
예컨대, 고유 스트링(340)은 등록된 청크의 내용 중 상기 등록된 청크의 하위 청크의 내용에 비해 상기 등록된 청크에서 추가된 내용일 수 있다. 즉, 고유 스트링(340)은 등록된 청크의 스트링 중 상기 등록된 청크의 하위 청크는 포함하지 않는 스트링일 수 있다.
예컨대, 고유 스트링(340)은 등록된 청크의 내용 중, 하위 청크를 제외한 등록된 청크의 고유의 내용일 수 있다. 즉, 고유 스트링(340)은 등록된 청크에 대응하는 메일의 실제 내용(즉, 원본 메일의 내용 및 서지 사항 등을 제외한, 실제로 작성된 내용)일 수 있다.
특정한 메일이 특정한 청크를 포함하는 경우, 시스템 내에서 상기 특정한 청크에게 상기 특정한 메일이 연관되어야 한다.
하기의 동작 1) 및 동작 2)에 의해 청크에 메일이 추가로 연관될 수 있다.
1) 청크 컬렉션(300) 내에 추가될 청크와 동일한 청크가 이미 있는 경우, 상기 이미 존재하는 동일한 청크의 메일 식별자 리스트(330)에 메일의 식별자가 추가된다.
2) 청크 컬렉션(300) 내에 추가될 청크와 동일한 청크가 없는 경우, 우선 청크가 메일 식별자 리스트(330)에 등록된다. 즉, 상기의 청크의 청크 스트링(310)(필요할 경우, 청크 스트링(310)의 해쉬 값), 청크 식별자(320) 및 고유 스트링(340)을 포함하는 엔트리가 청크 컬렉션(300)에 추가된다. 다음으로, 등록된 특정한 청크의 메일 식별자 리스트(330)에 메일의 식별자가 추가된다.
동일한 청크 식별자(320)를 갖는 등록된 청크들은 그룹핑(grouping)될 수 있다. 또한, 청크 식별자(320)가 상이한 등록된 청크들은 별도의 메일 쓰레딩(threading)으로 처리될 수 있다.
도 4는 본 발명의 일 실시예에 따른 메일 처리 방법의 흐름도이다.
메일 수신 단계(410)에서, 메일이 수신된다.
청크 검색 단계(420)에서, 수신된 메일 내의 하나 이상의 청크들이 검색된다.
하나 이상의 청크들은 계층(hierarchical) 관계를 구성할 수 있다. 즉, 전술된 것처럼, 하나의 청크는 다른 청크(즉, 청크의 내용)를 포함할 수 있다.
예컨대, 검색된 청크들의 개수가 n일 때(n은 0 이상의 자연수), 청크의 크기의 오름차순으로, n 번째 청크는 n - 1 번째 청크를 포함할 수 있다.
청크 검색 단계(420)에서, 이-메일이 회신 또는 전달될 때 상기 이-메일에 첨부된 이전 이-메일을 구분하기 위한 내용을 식별함으로써 이상의 청크들이 검색될 수 있다.
여기서, 이전 이-메일을 구분하기 위한 내용은 도 1을 참조하여 전술된 구분 스트링일 수 있다.
청크 확인 단계(430)에서, 하나 이상의 청크들 각각이 청크 컬렉션(300) 내에 있는지 여부가 검사된다.
청크 컬렉션(300) 내에 없는 청크에 대해서, 청크 등록 단계(440)가 수행되고, 청크 컬렉션(300) 내에 있는 청크에 대해서, 메일 식별자 추가 단계(450)가 수행된다.
청크 등록 단계(440)에서, 하나 이상의 청크들 중 청크 컬렉션(300) 내에 없는 청크가 청크 컬렉션(300)에 등록된다.
메일 식별자 추가 단계(450)에서, 수신된 메일의 식별자가 청크 컬렉션(300) 내의 하나 이상의 청크들 각각과 연관된다. 즉, 청크 컬렉션(300) 내의 하나 이상들 청크들 각각의 메일 식별자 리스트(330)에 수신된 메일의 식별자가 추가된다.
전술된 단계들(440 및 450)은 청크의 크기의 내림차순(즉, 큰 크기의 청크로부터 작은 크기의 청크로)으로 하나 이상의 청크들 각각에 대해 수행될 수 있다. 이러한 경우, 수신된 메일 내에 포함된 청크들은 큰 청크에서 작은 청크의 순서로 활용된다.
또는, 전술된 단계들(440 및 450)은 청크의 크기의 오름차순(즉, 작은 크기의 청크로부터 큰 크기의 청크로)으로 하나 이상의 청크들 각각에 대해 수행될 수 있다.
전술된 단계들(410 내지 450)에 의해 수신된 메일에 대하여 청크 컬렉션(300)이 갱신된다. 즉, 수신된 메일이 갖는 하나 이상의 청크들이 검색되고, 검색된 청크들이 청크 컬렉션(300) 내에 있는지 차례대로 검색되며, 검색되지 않은 청크들은 청크 컬렉션(300)에 추가된다.. (일반적으로는, 큰 청크로부터 작은 청크의 순서로)
청크 인덱싱 단계(460)에서, 청크 컬렉션(300)에 등록된 청크에 대해 인덱싱이 수행된다.
청크 컬렉션(300)에 새로 등록된 청크는, 기존의 청크 컬렉션(300) 내에 존재하지 않던 청크이다. 따라서, 상기의 청크 컬렉션(300)에 대한 인덱싱이 처리될 필요가 있다.
새로 등록된 청크의 하위 청크는 이미 등록된 청크이다. 이 경우, 하위 청크에 대한 인덱싱이 재차 수행될 필요는 없다. 또한, 새로 등록된 청크의 하위 청크 또한 새로 등록된 청크일 경우, 하위 청크가 포함하는 내용(즉, 하위 청크의 스트링)에 대한 인덱싱은 하위 청크에 대한 인덱싱에서 별개로 수행된다.
따라서, 새로 등록된 청크에 대한 인덱싱은, 하위 청크가 포함한 내용을 제외한 채 수행될 수 있다.
즉, 청크 인덱싱 단계(460)에서, 새로 등록된 청크가 추가적으로 갖는 내용인, 고유 스트링(340) 만이 인덱싱될 수 있다.
상기와 같은, 고유 스트링(340)을 사용한 인덱싱으로 인해, 청크 컬렉션(300)의 전체 양이 감소될 수 있으며, 인덱싱되는 내용의 양이 감소될 수 있다.
메일 검색 단계(470)는, 인덱싱된 내용을 사용함으로써 메일 검색 결과를 제공하는 단계를 나타낸다.
사용자는 검색어를 사용하여 상기 검색어와 매칭(matching)되는 이-메일들을 검색한다.
메일 검색 단계(470)에서, 인덱싱된 내용에 기반하여 등록된 청크와 연관된 이-메일들이 검색어에 대한 검색 결과로서 제공된다.
여기서, 등록된 청크가 추가로 갖는 내용은 검색어를 포함한다. 즉, 등록된 청크의 고유 스트링(340)은 검색어를 포함한다.
따라서, 고유 스트링(340)이 청크 인덱싱 단계(460)에서 인덱싱됨으로써 생성된 인덱스는 상기의 검색어를 포함한다.
따라서, 인덱싱된 내용들을 검색함으로써, 등록된 청크가 검색어를 포함하는지 여부가 판단될 수 있다. 따라서, 등록된 청크와 연관된 이-메일들이 검색어를 포함한다는 것이 확인될 수 있고, 청크 컬렉션(300) 내의 메일 식별자 리스트(330)를 통해 검색 스트림을 포함하는 연관된 이-메일들이 식별될 수 있다.
인덱싱을 통해, 등록된 청크와 연관된 이-메일들은 검색어에 대응하는 부분이 하일라이트(highlight)되어 검색 결과로서 제공될 수 있다.
여기서, 상기의 제공은 메일 데이터(즉, 내용)의 화면 표시, 인쇄 및 전송 등의 방식을 포함한다.
예컨대, 사용자가 검색 결과로서 제공되는 메일의 목록을 클릭(click)하여, 해당 메일을 열었을 때(open), 검색어에 대응하는 부분이 하일라이트될 수 있다.
또한, 최종 메일(즉, 가장 최후에 송수신된, 가장 많은 내용을 포함하는 메일)을 기준으로, 상기의 최종 메일과 동일한 청크 식별자(320)를 갖는 메일들이 자동으로 분류되어 제공될 수 있다.
예컨대, 최종 메일을 기준으로 청크의 포함 관계에 따라, 검색어를 포함하는 하나 이상의 메일들이 트리(tree) 구조 등을 통해 사용자에게 제공될 수 있다. 이 때, 이전에 전송된 메일(즉, 원본 메일)이 트리의 부모(parent) 노드가 될 수 있으며, 상기 이전에 전송된 메일에 대한 회신 또는 전달을 함으로써 생성 및 전송된 메일(즉 회신 메일 또는 전달 메일)이 상기 부모 노드의 자식(child) 노드가 될 수 있다.
읽음 처리 단계(480)는, 사용자가 특정한 메일을 읽을 경우, 상기의 특정한 메일과 관련된 메일들도 모두 읽음 상태로 처리하는 단계이다.
읽음 처리 단계(480)에서, 사용자가 읽은 특정한 메일과 연관된 메일들이 읽음 처리된다.
예컨대, 사용자가 특정한 메일을 읽을 경우, 청크 컬렉션(300)을 사용함으로써 상기 특정한 메일의 이전 메일들이 식별될 수 있다.
즉, 특정한 메일이 포함하는 하나 이상의 청크들이 검색되면, 상기 검색된 하나 이상의 청크들 각각에 대응하는 메일들이 청크 컬렉션(300)의 메일 식별자 리스트(330)를 사용하여 검색될 수 있다.
사용자가 읽은 특정한 메일의 내용은 상기의 검색된 메일들의 내용을 포함한다. 따라서, 상기의 검색된 메일들 중, 수신인이 동일한 메일들은, 사용자가 상기 특정한 메일을 읽음으로써 함께 읽혀진 것으로 간주될 수 있다.
도 5는 본 발명의 일 실시예에 따른 이-메일 처리 장치(500)의 구조도이다.
이-메일 처리 장치(500)는 송수신부(510), 청크 검색부(520), 청크 등록부(530), 청크 처리부(540) 및 청크 컬렉션(550)을 포함할 수 있다.
송수신부(510)는 전술된 단계(410)를 수행할 수 있다.
예컨대, 송수신부(510)는 메일을 수신할 수 있다.
청크 검색부(520)는 전술된 단계(420)를 수행할 수 있다.
예컨대, 청크 검색부(420)는 수신된 메일 내의 하나 이상의 청크들을 검색할 수 있다.
청크 검색부(420)는, 메일이 회신 또는 전달될 때 메일에 첨부되는, 이전 메일을 구분하기 위한 내용을 식별함으로써 하나 이상의 청크들을 검색할 수 있다.
하나 이상의 청크들은 포함 관계일 수 있다. 즉, 하나 이상의 청크들 중 n 번째 청크는 n - 1 번째 청크를 포함할 수 있다. 여기서, n은 하나 이상의 청크들의 개수이다.
청크 등록부(530)는 전술된 단계들(430, 440 및 450)을 수행할 수 있다.
예컨대, 청크 등록부(530)는 하나 이상의 청크들 중 청크 컬렉션(550) 내에 없는 청크를 청크 컬렉션(550)에 등록할 수 있다.
또한, 청크 등록부(530)는 수신된 메일의 식별자를 청크 컬렉션(300) 내의 하나 이상의 청크들 각각과 연관할 수 있다.
청크 등록부(530)는 청크의 크기의 내림차순으로 하나 이상의 청크들 각각에 대해 하나 이상의 청크들 중 청크 컬렉션(550) 내에 없는 청크를 청크 컬렉션(550)에 등록할 수 있고, 수신된 메일의 식별자를 청크 컬렉션(550) 내의 하나 이상의 청크들 각각과 연관할 수 있다.
청크 등록부(530)는 청크의 크기의 오름차순으로 하나 이상의 청크들 각각에 대해 하나 이상의 청크들 중 청크 컬렉션(550) 내에 없는 청크를 청크 컬렉션(550)에 등록할 수 있고, 수신된 메일의 식별자를 청크 컬렉션(550) 내의 하나 이상의 청크들 각각과 연관할 수 있다.
청크 처리부(540)는 전술된 단계들(460, 470 및 480)을 수행할 수 있다.
예컨대, 청크 처리부(540)는 청크 컬렉션(550)에 등록된 청크가 추가로 갖는 내용을 인덱싱할 수 있다.
청크 처리부(540)는 인덱싱된 내용에 기반하여 등록된 청크와 연관된 메일들을 검색어에 대한 검색 결과로서 제공할 수 있다. 이 때, 등록된 청크가 추가로 갖는 내용(즉, 등록된 청크의 고유 스트링(340))은 검색어를 포함한다.
청크 처리부(540)는 검색어에 대응하는 부분을 하일라이트하여 등록된 청크와 연관된 이-메일들을 검색 결과로서 제공할 수 있다.
또한, 청크 처리부(540)는 최종 메일을 기준으로, 상기의 최종 메일과 동일한 청크 식별자(320)를 갖는 메일들을 자동으로 분류하여 제공할 수 있다.
청크 처리부(540)는 최종 메일을 기준으로, 청크의 포함 관계에 따라, 검색어를 포함하는 하나 이상의 메일들을 트리(tree) 구조 등을 통해 사용자에게 제공할 수 있다.
또한, 청크 처리부(540)는 사용자기 읽은 특정한 메일과 연관된 메일들을 읽음 처리할 수 있다. 즉, 청크 처리부(540)는 사용자가 특정한 메일을 읽었을 때, 청크 컬렉션(550)을 사용함으로써 특정한 메일의 이전 메일들을 식별할 수 있고, 식별된 이전 메일들이 사용자에 의해 읽혀진 것으로 처리할 수 있다.
청크 컬렉션(550)은 전술된 청크 컬렉션(300)을 의미할 수 있으며, 전술된 청크 컬렉션(300)을 저장 및 관리하기 위한 데이터베이스(database)를 의미할 수 있다.
앞서 도 1 내지 도 4를 참조하여 설명된 본 발명의 일 실시예에 따른 기술적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
상기 구성 요소들(520, 530 및 540)의 기능은 단일한 제어부(도시되지 않음)에서 수행될 수 있다. 이때, 상기 제어부는 단일(single) 또는 복수(multi) 칩(chip), 프로세서(processor) 또는 코어(core)를 나타낼 수 있다. 상기 구성 요소들(520, 530 및 540) 각각은 상기 제어부에서 수행되는 함수(function), 라이브러리(library), 서비스(service), 프로세스(process), 쓰레드(thread) 또는 모듈(module)을 나타낼 수 있다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
500: 청크 처리 장치
520: 청크 검색부
530: 청크 등록부
540: 청크 처리부
550: 청크 컬렉션

Claims (17)

  1. 이-메일 내의 하나 이상의 청크들을 검색하는 단계 - 상기 하나 이상의 청크들은 포함 관계임 -;
    상기 하나 이상의 청크들 중 청크 컬렉션 내에 없는 청크를 상기 청크 컬렉션에 등록하는 단계;
    등록된 상기 청크에 청크 식별자를 할당하는 단계;
    상기 이-메일의 식별자를 상기 청크 컬렉션 내에 등록된 상기 하나 이상의 청크들 각각과 연관하는 단계; 및
    상기 이-메일 내의 최종 이-메일을 기준으로서, 상기 최종 이-메일과 같은 상기 청크 식별자를 갖는 상기 이-메일을 분류하고, 상기 포함 관계에 따라, 상기 이-메일을 트리 구조 형식에 의해 제공하는 단계
    를 포함하는, 이-메일 처리 방법.
  2. 제1항에 있어서,
    상기 이-메일 내의 하나 이상의 청크들을 검색하는 단계는,
    이-메일이 회신 또는 전달될 때 상기 이-메일에 첨부되는 이전 이-메일을 구분하기 위한 내용을 식별함으로써 상기 하나 이상의 청크들을 검색하는, 이-메일 처리 방법.
  3. 제1항에 있어서,
    상기 하나 이상의 청크들 중 n 번째 청크는 n - 1 번째 청크를 포함하고, n은 상기 하나 이상의 청크들의 개수인, 이-메일 처리 방법.
  4. 제1항에 있어서,
    상기 등록하는 단계 및 상기 연관하는 단계는, 청크의 크기의 내림차순 또는 오름차순으로 상기 하나 이상의 청크들 각각에 대해 수행되는, 이-메일 처리 방법.
  5. 제1항에 있어서,
    상기 청크 컬렉션은 청크의 스트링, 상기 청크의 식별자, 상기 청크와 연관된 하나 이상의 이-메일들의 식별자들 및 상기 청크의 고유 스트링을 포함하고,
    상기 청크의 고유 스트링은 상기 청크의 내용 중 하위 청크의 내용에 비해 상기 청크에서 추가된 내용인, 이-메일 처리 방법.
  6. 제1항에 있어서,
    상기 청크 컬렉션에 등록된 청크가 추가로 갖는 내용을 인덱싱하는 단계
    를 더 포함하는, 이-메일 처리 방법.
  7. 제6항에 있어서,
    상기 인덱싱된 내용에 기반하여 상기 등록된 청크와 연관된 이-메일들을 검색어에 대한 검색 결과로서 제공하는 단계
    를 더 포함하고, 상기 등록된 청크가 추가로 갖는 내용은 상기 검색어를 포함하는, 이-메일 처리 방법.
  8. 제7항에 있어서,
    상기 등록된 청크와 연관된 이-메일들은 상기 검색어에 대응하는 부분이 하일라이트되어 검색 결과로서 제공되는, 이-메일 처리 방법.
  9. 제1항 내지 제8항 중 어느 한 항의 이-메일 처리 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
  10. 하나 이상의 청크들 및 상기 청크들에 연관된 데이터를 저장하는 청크 컬렉션;
    이-메일 내의 하나 이상의 청크들을 검색하는 청크 검색부 - 상기 하나 이상의 청크들은 포함 관계임 -;
    상기 하나 이상의 청크들 중 상기 청크 컬렉션 내에 없는 청크를 상기 청크 컬렉션에 등록하고, 등록된 청크에 청크 식별자를 할당하고, 상기 이-메일의 식별자를 상기 청크 컬렉션 내의 상기 하나 이상의 청크들 각각과 연관하는 청크 등록부; 및
    상기 이-메일 내의 최종 이-메일을 기준으로서, 상기 최종 이-메일과 같은 상기 청크 식별자를 갖는 상기 이-메일을 분류하고, 상기 포함 관계에 따라, 상기 이-메일을 트리 구조 형식에 의해 제공하는 청크 처리부
    를 포함하는, 이-메일 처리 장치.
  11. 제10항에 있어서,
    상기 청크 검색부는, 이-메일이 회신 또는 전달될 때 상기 이-메일에 첨부되는 이전 이-메일을 구분하기 위한 내용을 식별함으로써 상기 하나 이상의 청크들을 검색하는, 이-메일 처리 장치.
  12. 제10항에 있어서,
    상기 하나 이상의 청크들 중 n 번째 청크는 n - 1 번째 청크를 포함하고, n은 상기 하나 이상의 청크들의 개수인, 이-메일 처리 장치.
  13. 제10항에 있어서,
    상기 청크 등록부는 청크의 크기의 내림차순 또는 오름차순으로 상기 하나 이상의 청크들 각각에 대해 상기 하나 이상의 청크들 중 청크 컬렉션 내에 없는 청크를 상기 청크 컬렉션에 등록하고, 상기 이-메일의 식별자를 상기 청크 컬렉션 내의 상기 하나 이상의 청크들 각각과 연관하는, 이-메일 처리 장치.
  14. 제10항에 있어서,
    상기 청크 컬렉션은 청크의 스트링, 상기 청크의 식별자, 상기 청크와 연관된 하나 이상의 이-메일들의 식별자들 및 상기 청크의 고유 스트링을 포함하고,
    상기 청크의 고유 스트링은 상기 청크의 내용 중 하위 청크의 내용에 비해 상기 청크에서 추가된 내용인, 이-메일 처리 장치.
  15. 제10항에 있어서,
    상기 청크 컬렉션에 등록된 청크가 추가로 갖는 내용을 인덱싱하는 청크 처리부
    를 더 포함하는, 이-메일 처리 장치.
  16. 제15항에 있어서,
    상기 청크 처리부는, 상기 인덱싱된 내용에 기반하여 상기 등록된 청크와 연관된 이-메일들을 검색어에 대한 검색 결과로서 제공하고, 상기 등록된 청크가 추가로 갖는 내용은 상기 검색어를 포함하는, 이-메일 처리 장치.
  17. 제16항에 있어서,
    상기 청크 처리부는 상기 검색어에 대응하는 부분을 하일라이트하여 상기 등록된 청크와 연관된 이-메일들을 검색 결과로서 제공하는, 이-메일 처리 장치.
KR1020110059025A 2011-06-17 2011-06-17 청크를 이용한 메일 관리 방법 및 장치 KR101766484B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110059025A KR101766484B1 (ko) 2011-06-17 2011-06-17 청크를 이용한 메일 관리 방법 및 장치
JP2012136350A JP6005412B2 (ja) 2011-06-17 2012-06-15 チャンクを用いたメール管理方法及びメール管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110059025A KR101766484B1 (ko) 2011-06-17 2011-06-17 청크를 이용한 메일 관리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20120139294A KR20120139294A (ko) 2012-12-27
KR101766484B1 true KR101766484B1 (ko) 2017-08-09

Family

ID=47672538

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110059025A KR101766484B1 (ko) 2011-06-17 2011-06-17 청크를 이용한 메일 관리 방법 및 장치

Country Status (2)

Country Link
JP (1) JP6005412B2 (ko)
KR (1) KR101766484B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190112506A (ko) * 2018-03-26 2019-10-07 삼성전자주식회사 전자 장치 및 전자 장치에서 전자 메일 표시 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100530709B1 (ko) * 1995-08-14 2006-01-27 인터내셔널 비지네스 머신즈 코포레이션 텍스트요약방법및장치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000194617A (ja) * 1998-12-24 2000-07-14 Nec Corp 電子メール蓄積方法と電子メール蓄積装置
JP3465615B2 (ja) * 1999-02-08 2003-11-10 日本電気株式会社 検索方法ならびに装置及び同方法がプログラムされ記録された記録媒体
JP2002236649A (ja) * 2000-12-08 2002-08-23 Fujitsu Ltd 関連文書処理装置、記録媒体及びコンピュータ・プログラム
EP1691516B1 (en) * 2005-02-07 2008-07-09 Research In Motion Limited Method and system for message thread compression
JP4920471B2 (ja) * 2007-03-29 2012-04-18 三菱スペース・ソフトウエア株式会社 メールデータ分類装置、メールデータ分類プログラム及びメールデータ分類方法
JP4716136B2 (ja) * 2007-09-05 2011-07-06 日本電気株式会社 電子メールの保存方法、電子メールの再生方法、電子メールシステム、および電子メール保存/再生プログラム
JP2010010859A (ja) * 2008-06-25 2010-01-14 Nec Corp 電子メールの蓄積方法およびそのシステム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100530709B1 (ko) * 1995-08-14 2006-01-27 인터내셔널 비지네스 머신즈 코포레이션 텍스트요약방법및장치

Also Published As

Publication number Publication date
JP2013004103A (ja) 2013-01-07
KR20120139294A (ko) 2012-12-27
JP6005412B2 (ja) 2016-10-12

Similar Documents

Publication Publication Date Title
US10104021B2 (en) Electronic mail data modeling for efficient indexing
CN102521733B (zh) 在基于对话的电子邮件系统中标注对话和消息
CN102959578B (zh) 取证系统、取证方法及取证程序
US7689614B2 (en) Query generation for a capture system
JP4561150B2 (ja) 階層データ形式のためのデータベースモデル
US9208475B2 (en) Apparatus and method for email storage
KR101479040B1 (ko) 태그들을 문서에 자동으로 추가하는 방법, 장치 및 컴퓨터 저장 매체
EP2923282B1 (en) Segmented graphical review system and method
US9740698B2 (en) Document merge based on knowledge of document schema
US20090198677A1 (en) Document Comparison Method And Apparatus
US7305385B1 (en) N-gram based text searching
US9753977B2 (en) Method and system for managing database
CN104035993B (zh) 电子书的存储检索方法、电子书管理系统、阅读系统
GB2483358A (en) Markov parsing of email message using annotations
KR100871392B1 (ko) 이-디스커버리를 위한 아카이빙 시스템에서의 메시지 관리방법
US20150154306A1 (en) Method for searching related entities through entity co-occurrence
JP2010224705A (ja) ログ検索システム
US8365247B1 (en) Identifying whether electronic data under test includes particular information from a database
CN106161193A (zh) 一种邮件处理方法、装置和系统
KR101678168B1 (ko) 효율적인 메일 검색을 위한 메일 서비스 시스템 및 방법
US8843574B2 (en) Electronic mail system, user terminal apparatus, information providing apparatus, and computer readable medium
US20080114789A1 (en) Data item retrieval method and apparatus
KR101766484B1 (ko) 청크를 이용한 메일 관리 방법 및 장치
US11106739B2 (en) Document structures for searching within and across messages
CN104252537A (zh) 基于邮件特征的索引分片方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant