KR20110096089A - 대화-기반 이메일 시스템에서 메시지들의 검색 - Google Patents

대화-기반 이메일 시스템에서 메시지들의 검색 Download PDF

Info

Publication number
KR20110096089A
KR20110096089A KR1020117017095A KR20117017095A KR20110096089A KR 20110096089 A KR20110096089 A KR 20110096089A KR 1020117017095 A KR1020117017095 A KR 1020117017095A KR 20117017095 A KR20117017095 A KR 20117017095A KR 20110096089 A KR20110096089 A KR 20110096089A
Authority
KR
South Korea
Prior art keywords
conversation
messages
message
conversations
user
Prior art date
Application number
KR1020117017095A
Other languages
English (en)
Other versions
KR101171680B1 (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
Priority claimed from US10/816,428 external-priority patent/US7912904B2/en
Application filed by 구글 인코포레이티드 filed Critical 구글 인코포레이티드
Publication of KR20110096089A publication Critical patent/KR20110096089A/ko
Application granted granted Critical
Publication of KR101171680B1 publication Critical patent/KR101171680B1/ko

Links

Images

Classifications

    • G06Q50/40
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • 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/226Delivery according to priorities
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences

Abstract

사용자에게 전달되는 복수의 메시지들의 수신을 포함하는, 메시지들을 처리하기 위한 방법 및 시스템이 제시되며, 여기서 각각의 메시지는 고유한 메시지 식별자를 가진다. 복수의 메시지들 각각은 각각의 대화와 연관될 수 있으며, 여기서 각각의 대화는 각각의 대화 식별자를 가진다. 또한, 각각의 대화는 제 1 미리 정의된 기준을 충족하는 특성들의 공통 세트를 공유하는 하나 이상의 메시지들의 세트를 포함한다. 대화 리스트는 제 2 미리 결정된 기준에 의해 결정된 순서로 행들의 세트로서 디스플레이되며, 여기서 각각의 행은 리스트에 있는 대화들 중 하나와 대응하고 적어도 전송자 리스트, 대화 토픽 및 날짜/시간 값을 포함한다. 대화의 컨텐츠는 사용자가 디스플레이된 대화 리스트에서 대화를 선택하면 디스플레이된다. 메시지들은 세가지 모드들 중 하나로 디스플레이될 수 있다: 확장 모드, 콤팩트 모드 및 숨김 모드.

Description

대화-기반 이메일 시스템에서 메시지들의 검색{SEARCHING MESSAGES IN A CONVERSATION-BASED EMAIL SYSTEM}
본 발명은 일반적으로 클라이언트-서버 컴퓨터 네트워크 시스템 분야, 특히 사용자로 하여금 효율적이고 사용자-친화적 방식으로 다수의 메시지들을 관리하도록 하는 시스템 및 방법에 관한 것이다.
매일, 사람들은 비즈니스 및 레저를 위하여 컴퓨터 네트워크들을 통해 수백개의 이메일 메시지들을 전송 및 수신한다(또한, "이메일"로서 기록된다). 이메일은 여러 경우에 편리하고 사용하기 용이할 뿐만 아니라 거의 실시간으로 수행될 수 있기 때문에 사람들이 정보를 교환하기 위한 인기있는 통신 채널이 되고 있다.
통상적으로, 사용자 이메일 계정에 도달하는 이메일 메시지들은 발생순서대로, 예컨대 가장 최근의 메시지가 브라우저 윈도우의 상부에 나타나는 반면에 가장 오래된 메시지가 브라우저 윈도의 하부에 나타나는 순서로 전용 이메일 클라이언트 또는 웹 브라우저에 의하여 개별적으로 디스플레이된다. 그러나, 두명 이상의 사용자에 의하여 다른 시간에 전송된 다중 메시지들이 동일한 제목을 커버할 수 있다는 것은 일반적이다. 메시지들을 함께 보는 것은 적절한 문맥의 개별 메시지들을 이해하는데 있어서 사용자에게 도움을 준다.
각각의 그들의 제목들에 따라 사용자에 의하여 수신된 메시지들 및 사용자에 의하여 전송된 메시지들을 포함하는 다수의 메시지들을 편성하여 디스플레이하는 시스템 및 방법을 가지는 것은 매우 바람직하다. 또한, 사용자가 특정 전송자에 의하여 제출된 특정 메시지를 효율적으로 식별할 수 있고 사용자가 대화시에 다른 메시지들과 관련한 그들의 문맥으로 대화시의 메시지들을 볼 수 있도록, 동일한 제목에 관한 모든 메시지들 및 동일한 대화의 폼 부분이 직관적으로 제시되는 것은 매우 바람직하다.
일 실시예에서, 메시지들을 처리하는 방법은 사용자에게 직접 전송된 다수의 메시지들을 수신하는 단계를 포함하며, 각각의 메시지는 고유 메시지 식별자를 가진다. 다수의 메시지들의 각각은 각각의 대화와 연관되며, 각각의 대화는 각각의 대화 식별자를 가진다. 또한, 각각의 대화는 제 1의 미리 규정된 기준을 충족하는 특성들의 공통 세트를 공유하는 하나 이상의 메시지들의 세트를 포함한다. 대화의 리스트는 제 2의 미리 규정된 기준에 의하여 결정된 순서로 행들의 세트로서 디스플레이되며 각각의 행은 리스트에 있는 대화들 중 하나와 대응하며 적어도 전송자 리스트, 대화 토픽 및 날짜/시간 값을 포함한다. 대화의 컨텐츠는 사용자가 대화들의 디스플레이된 리스트로부터 하나의 대화를 선택할 때 디스플레이된다.
본 발명의 사상 및 실시예들을 용이하게 이해하기 위하여, 유사한 도면부호들이 도면 전반에 걸쳐 대응 부분들을 언급하는 이하의 도면들을 참조로 하여 이하에 기술된 실시예들의 설명이 참조되어야 한다.
도 1은 본 발명에 따른 클라이언트-서버 기반 네트워크 시스템의 일 실시예를 개략적으로 기술한 도면.
도 2는 대화 어시스턴트가 대화 관리 시스템에 의하여 제공된 대화를 디스플레이하는 다양한 폼들을 발생하는 방법을 기술한 흐름도.
도 3A는 대화 어시스턴트가 대화의 리스트를 호스팅하는 폼을 발생하는 방법을 기술한 흐름도.
도 3B는 본 발명의 일 실시예에 따른 "인박스" 카테고리에서 대화들의 리스트에 대한 개략적 스크린 샷을 도시한 도면.
도 4A는 "더 많은 액션" 풀-다운 리스트의 동작을 기술한 흐름도.
도 4B는 사용자가 "더 많은 액션" 풀-다운 리스트를 사용하여 한 카테고리로부터 다른 카테고리로 대화를 이동시키는 방법에 관한 스크린 샷을 도시한 도면.
도 5A는 "애드 라벨" 풀-다운 리스트의 동작을 기술한 흐름도.
도 5B는 사용자가 "애드 라벨" 풀-다운 리스트를 사용하여 대화에 라벨을 추가하는 방법에 관한 스크린 샷을 도시한 도면.
도 6A는 대화 어시스턴트가 대화 관리 시스템의 디스플레이 명령들에 응답하여 대화 뷰를 발생시키는 방법을 기술한 흐름도.
도 6B는 모든 메시지들이 본 발명의 일 실시예에 따른 컴팩트 모드로 디스플레이되는 대화 뷰에 대한 스크린 샷을 도시한 도면.
도 6C는 본 발명의 일 실시예에 따라 메시지들의 일부가 컴팩트 모드로 디스플레이되고 일부가 확장 모드로 디스플레이되는 대화 뷰에 관한 스크린 샷을 도시한 도면.
도 6D는 모든 메시지들이 본 발명의 일 실시예에 따라 확장 모드로 디스플레이되는 대화 뷰에 관한 스크린 샷을 도시한 도면.
도 6E는 메시지들이 본 발명의 다양한 실시예에 따라 디스플레이되는 대화 뷰에 관한 스크린 샷을 도시한 도면.
도 7A는 대화 어시스턴트가 사용자의 검색 요청과 매칭되는 대화들을 디스플레이하는 다양한 폼들을 발생시키는 방법을 기술한 흐름도.
도 7B는 본 발명의 일 실시예에 따른 질문 텀 "Tahoe"와 매칭되는 3개의 대화를 포함하는 스크린 샷을 도시한 도면.
도 7C는 본 발명의 일 실시예에 따라 질문 텀과 매칭되거나 또는 매칭되지 않고 다른 모드들에서 디스플레이되는 대화에서 메시지들의 스크린 샷을 기술한 도면.
도 8은 사용자에 의하여 구성된 응답 메시지를 포함하는 대화에 관한 스크린 샷을 기술한 도면.
도 9A는 사용자에 의하여 구성된 응답 메시지를 포함하는 대화에 대한 스크린 샷을 기술한 도면.
도 9B는 스펠 체크 프로세스의 다른 스테이지들에서 3개의 개별 브라우징 윈도우들을 포함하는 스크린 샷을 도시한 도면.
도 10은 대화 서버의 일 실시예를 기술한 도면.
도 11은 수신된 메시지를 처리하는 방법을 기술한 흐름도.
도 12는 대화와 메시지를 매칭시키는 방법을 기술한 흐름도.
도 13은 메시지에 속성들을 할당하는 방법을 기술한 흐름도.
도 14는 대화에 속성들을 할당하는 방법을 기술한 흐름도.
도 15는 대화들을 검색하고 식별된 대화의 표현을 나타내는 방법을 기술한 흐름도.
도 16은 메시지 데이터베이스를 도시한 도면.
도 17은 특정 사용자에 대한 인덱스 및 사용자 데이터베이스를 도시한 도면.
도 18은 수신된 메시지에 대응하는 대화를 식별하고 수신된 메시지와 연관될 속성들을 결정하기 위하여 사용되는 데이터 구조들의 세트를 도시한 도면.
도 19는 대화 서버의 실시예를 기술한 도면.
본 발명은 사용자에게 그리고 사용자에 의하여 전송된 메시지들을 편성하여 디스플레이하는 클라이언트-서버 시스템 및 이에 대응하는 방법에 관한 것이다.
도 1은 클라이언트-서버 시스템의 일 실시예를 개략적으로 기술한다. 시스템은 대화 관리 시스템(102), 통신 네트워크(106) 및 다수의 클라이언트(104)를 포함한다. 대화는 대화 토픽을 커버하는 하나 이상의 관련 메시지들을 포함한다. 이하에서 기술되는 바와 같이, 대화 토픽외에 추가 기준은 메시지들이 각각의 개별 대화의 부분인지를 결정하기 위하여 사용될 수 있다. 메시지들의 전송자들 및 수신자들은 대화의 참여자들이다. 대화 관리 시스템(102)의 사용자에게 직접 전달되는 모든 메시지들은 다수의 대화들로 그룹핑되며 대화-기반 포맷으로 사용자에게 개별적으로 또는 공동으로 제공된다. 대화 관리 시스템(1023)의 구현에 대한 더 상세한 설명은 이하에서 제공된다.
클라이언트(104)는 브라우저(108) 및 대화 어시스턴트(110)를 포함한다. 브라우저(108)는 대화들을 디스플레이하기 위하여 사용되는 브라우저 윈도우를 가진 범용 인터넷 브라우저(종종, 웹 브라우저라 칭함)일 수 있거나 또는 대화들을 디스플레이하기 위한 윈도우를 가진 전용 브라우저 애플리케이션일 수 있다. 대화들 및 상기 대화들의 메시지들은 하이퍼텍스트 마크업 언어(HTML) 또는 임의의 다른 적절한 렌더링 방법을 사용하여 브라우저(108)에 의하여 렌더링될 수 있다. 사용자가 그의 개인 계정에 저장된 메시지들을 액세스하도록 브라우저(108)를 통해 대화 관리 시스템(102)에 요청을 제출한후에, 대화 관리 시스템(102)은 사용자의 요청에 따라 사용자의 개인 계정에서 다수의 대화들을 식별하고 이들 식별된 대화들 뿐만 아니라 디스플레이 명령들의 세트를 클라이언트(104)에 전송한다. 이에 응답하여, 대화 어시스턴트(110)는 디스플레이 명령들 후에 하나 이상의 폼들을 발생시키며, 각각의 폼은 대화들중 일부 대화에 대한 정보를 포함한다. 그 다음에, 폼들은 브라우저(108)에 제출되고 또한 브라우저(108)에 의하여 렌더링된다. 다른 실시예에서, 대화 어시스턴트(110)는 대화 관리 시스템(102)에서 대안적으로 존재하여 동작할 수 있다.
도 2는 대화 어시스턴트(110)가 대화 관리 시스템(102)에 의하여 제공된 대화들을 디스플레이하는 다양한 폼들을 발생시키는 방법을 기술한 흐름도이다. 단계(202)에서 다수의 대화들 및 연관된 디스플레이 명령들을 수신한 후에, 대화 어시스턴트(110)는 사용자가 다중 대화들 또는 개별 대화를 요청하였는지의 여부를 단계(204)에서 결정한다. 만일 사용자가 다중 대화들을 요청하면, 대화 어시스턴트(110)는 대화들의 리스트를 호스팅하는 폼을 단계(206)에서 발생시키며, 각각의 대화는 폼에서 하나의 행을 점유한다. 폼의 각각의 행에 대화여, 대화 어시스턴트(110)는 단계(208)에서 디스플레이 명령들에 따라 디스플레이될 열들의 세트 및 이에 연관된 특징들을 발생시킨다. 열들 내의 정보 및 이와 연관된 특징들이 렌더링되는 방법에 대한 더 상세한 설명들은 도 3A 및 도 3B와 관련하여 이하에 제공된다.
사용자가 개별 대화를 요청하면, 대화 어시스턴트(110)는 단계(210)에서 대화와 연관된 일련의 메시지들을 호스팅하는 개별 폼을 발생시킨다. 단계(212)에서, 대화 어시스턴트(110)는 대응하는 디스플레이 명령들후에 각각의 메시지에 대화여 디스플레이될 서브-폼 및 이와 연관된 특징들의 세트를 발생시킨다. 대화 어시스턴트가 서브-폼들 및 연관된 특징들을 렌더링하는 방법에 대한 더 상세한 설명은 도 6A-6D와 관련하여 이하에 제공된다.
대화들의 리스트 또는 개별 대화를 호스팅하는 폼을 발생시킨 후에, 대화 어시스턴트(110)는 단계(214)에서 시스템 정의 카테고리들의 세트를 호스팅하는 폼을 발생시킨다. 각각의 시스템 정의 카테고리는 0개 이상의 대화들과 연관될 수 있다. 일 실시예에서, 시스템 정의 카테고리는 사용자 동작에 응답하여 또는 미리 정해진 기준이 충족할 때 대화 관리 시스템(102)이 대화에 할당하는 속성이다. 예컨대, 시스템은 사용자가 삭제를 위한 대화를 마킹할 때 대화와 "트래시(trash)" 속성과 연관시키나, 사용자의 메일 계정으로부터 대화를 영구적으로 삭제하는데 필요한 단계들을 취하지 않는다. 특히, 대화 관리 시스템(102)은 속성 "트래시"를 대화에 첨부하며, 필요한 경우에 대화로부터 기존 속성, 예컨대 "인박스(inbox)"를 삭제한다. 임의의 시스템 정의 카테고리들이 상호 배타적일 수 있다는 것에 유의해야 한다. 다른 예에서, 시스템은 "인박스" 속성 및 "읽히지 않은" 속성을 새로이 수신된 입력 메시지와 자동적으로 연관시킬 수 있다. 시스템 정의 카테고리들에 대한 더 상세한 설명은 도 4A 및 도 4B와 관련하여 이하에 제공된다.
다음으로, 대화 어시스턴트(110)는 단계(216)에서 사용자 정의 라벨들의 세트를 호스팅하는 다른 폼을 발생시킨다. 도 3B는 이러한 폼이 디스플레이되는 그룹 박스(347)를 도시한다. 각각의 사용자 정의 라벨은 0개 이상의 대화들과 연관될 수 있다. 일 실시예에서, 사용자 정의 라벨은 특정 대화들과 연관될 수 있는 속성이다. 사용자 정의 라벨이 할당되는 대화들은 특정 사용자 동작들에 의하여 또는 필터 또는 유사한 메커니즘의 동작에 의하여 결정될 수 있다. 시스템 정의 카테고리들과 다르게, 이들 라벨들은 사용자에 의하여 임의적으로 정의되며 상호 배타적이지 않다. 다시 말해서, 대화는 동일한 시간에 다중 라벨들과 연관될 수 있다. 예컨대, 사용자의 개인 계정에서 두개의 라벨들, 즉 "쇼핑 리스트" 및 "추수감사절"이 존재할 수 있다. 라벨 "쇼핑 리스트"는 쇼핑-관련 대화들에 사용자에 의하여 할당되거나 또는 사용자에 의하여 세팅된 필터에 의하여 할당될 수 있는 반면에, 라벨 "추수감사절"은 추수감사절 쇼핑을 포함하는 추수감사절 활동들에 관한 대화들에 할당될 수 있다. 라벨이 사용자에 의하여 정의되기 때문에, 사용자를 또한 라벨을 삭제할 수 있다. 사용자 정의 라벨들에 대한 더 상세한 설명은 도 5A 및 도 5B와 관련하여 이하에 제공된다. 그룹 박스(347)와 관련하여, 사용자가 그룹 박스(347)의 사용자 정의 라벨을 선택할 때(예컨대, 클릭할 때), 대화 어시스턴트(110)는 사용자 선택 라벨과 연관된 대화들의 위치를 결정하기 위하여 대화 관리 시스템에 질문을 제출한다. 그 다음에, 질문이 실행되고 사용자에게는 존재하는 경우에 상기 대화들의 리스팅이 제공된다.
대화 관리 시스템(102) 및 대화 어시스턴트(110)는 사용자로 하여금 사용자 메일 계정에서 메시지들을 검색하고 검색 결과들을 매우 직관적인 방식으로 제공하도록 함께 작용한다. 대화 관리 시스템(102)은 사용자의 이메일 계정으로부터 정보를 추출하거나 또는 사용자에 의하여 구성된 메시지를 처리하는 반면에, 대화 어시스턴트(110)는 대화 관리 시스템(102)에 의하여 준비된 정보를 렌더링한다. 다른 실시예들에서, 대화 관리 시스템(102) 및 대화 어시스턴트(110)간의 다른 역할 분할이 사용될 수 있다. 시스템에 의하여 수행된 많은 태스크들이 대화 관리 시스템(102) 또는 대화 어시스턴트(110) 또는 두개의 작업에 의하여 함께 수행될 수 있기 때문에, 이들 두가지 컴포넌트들은 본 명세서에서 때로 연합하여 "대화 시스템"으로 언급된다.
대화 시스템(102 및/또는 110)은 사용자가 최근 검색 결과들을 재방문할 수 있도록(또는 더 정확하게 재생할 수 있도록) 단계(218)에서 사용자에 의하여 제출된 검색들의 세트를 호스팅하는 폼을 발생시킬 수 있다. 검색-기반 대화 리스트 발생에 대한 더 상세한 설명은 도 7A-7C와 관련하여 이하에 제공된다. 부가적으로, 대화 시스템은 단계(220)에서 사용자에 의하여 최근에 방문된 대화들의 세트를 호스팅하는 폼(예컨대, 도 3B에서 그룹 박스(349)에 디스플레이된 폼)을 발생시킬 수 있다. 이러한 특징은 웹 브라우저의 백 버튼과 유사하다. 단계(222)에서, 대화 어시스턴트(110)는 디스플레이를 위하여 브라우저(108)에 폼들을 제출한다.
단계들(214 내지 220)은 도 2에 도시된 순서와 다른 많은 가능한 순서로 수행될 수 있다. 일부 실시예들에서, 이들 폼 발생 단계들의 일부는 생략될 수 있다.
대화들의 리스트 발생
도 3A를 지금 참조하면, 대화 관리 시스템(102)은 예컨대 사용자 메일 계정의 인박스 뷰를 요청하는 사용자 또는 클라이언트에 응답하여 대화들의 리스트를 발생시킨다(단계 302). 이하에서 더 상세히 설명되는 바와 같이, 대화들의 리스트들은 사용자의 메일 계정의 검색을 수행함으로써 발생된다. 인박스 뷰에 대한 대화들의 리스트를 발생시키기 위하여, 사용자의 메일 계정은 "인박스" 속성(때때로 라벨이라 칭한다)과 연관된 대화들을 위하여 검색된다. 그 다음에, 대화 관리 시스템(102)은 이하에서 더 상세히 기술되는 바와 같이 단계(304)에서 디스플레이를 위한 대화들에 대한 정보를 준비한다. 더욱이, 대화 관리 시스템은 단계(305)에서 사용자-선택가능 동작들의 리스트 및 사용자-선택가능 라벨들의 리스트를 발생시킨다. 사용자-선택가능 라벨들은 시스템 정의 라벨들뿐만 아니라 사용자 정의 라벨들을 포함할 수 있다. 도 4 및 도 5와 관련된 이하의 설명은 이들 사용자-선택가능 리스트들의 사용을 기술한다. 그 다음에, 결과적인 정보는 단계(306)에 렌더링하기 위하여 대화 어시스턴트에 전송된다.
단계(304)에서, 대화 관리 시스템(102)은 대화들의 리스트의 각각이 대화에 대한 필드들의 세트를 발생시키기 위하여 일련의 단계들(단계(306) 내지 단계(324))을 반복적으로 수행한다. 일부 실시예들에서, 이들 필드들은 사용자가 대화 리스트를 용이하게 스캐닝하도록 열들에서 대화 어시스턴트(110)에 의하여 렌더링될 수 있다.
각각의 대화 및 메시지들이 연관된 세트에 대화여, 대화 관리 시스템(102)은 우선 단계(307)에서 전송자 리스트를 발생시킨다. 전송자 리스트는 다수의 전송자 식별자들을 포함하며, 각각의 식별자는 메시지들의 허가된 적어도 하나의 메시지를 가진 전송자에 대응한다. 전송자는 그의 이름, 성, 전체 이름, 이메일 어드레스, 화상 또는 고유 아이콘 또는 이들의 결합에 의하여 식별될 수 있다. 일부 실시예들에서, 만일 적어도 두개의 전송자들이 동일한 이름들을 가지는 경우에, 각각의 전송자의 성(last name)의 충분한 부분은 전송자들마다 구별하기 위하여 각각의 전송자 식별자들에 포함된다. 예컨대, 만일 두 전송자가 이름이 폴(Paul)이고 첫번째 문자가 다른 성을 가지면, 전송자들은 성의 첫번째 문자와 폴을 연결하여 구별될 수 있다(예컨대, PaulB 및 PaulK). 당업자는 동일한 이름을 가진 두 전송자를 식별하기 위하여 다른 방식을 인식할 것이다. 다른 실시예들에서, 전송자의 식별자는 사용자의 접촉 리스트에 상주하는, 특정 전송자와 연관된 정보에 기초할 수 있다. 또 다른 실시예들에서, 사용자는 특정 전송자들에 대한 전송자 리스트에서 나타나는 닉네임들을 생성할 수 있다. 그럼에도 불구하고, 만일 전송자가 대화에서 허가된 다중 메시지들을 가지면, 전송자의 식별자는 전송자 리스트에서 단지 한번 나타난다. 일 실시예에서, 리스트내의 전송자 식별자들은 시스템(102)에의 각각의 메시지 도달시간에 따라 배열된다. 다른 실시예에서, 리스트내의 전송자 식별자들은 그들의 각각의 이름들에 따라 알파벳 순서로 배열된다. 다음으로, 대화 관리 시스템(102)은 단계(308)에서 디스플레이 명령들에 따라 리스트에서 하나 이상의 전송자 식별자들을 하이라이팅시키기 위하여 전송자 리스트를 포맷시킨다. 용어 "하이라이트"는 볼드, 밑줄, 배경 컬러의 변화, 폰트 컬러의 변화, 폰트의 변화 등과 같은 시각적 구별 방식으로 디스플레이하는 것으로 여기에서 사용된다. 게다가, 이와 관련하여, 용어 "하이라이트"는 구별 방식으로 어떤 것(예컨대 텍스트의 특정 부분)을 디스플레이하기 위한 포매팅 정보를 발생시키는 것을 의미한다. 예컨대, 일부 실시예들에서, 전송자의 이름은 그의 메시지가 사용자에 의해 읽혀지는 대로 보여지지 않거나 또는 마킹되지 않는 경우에 볼드체의 문자들로 디스플레이되도록 포매팅된다.
일부 실시예들에서, 대화 어시스턴트는 대화들의 전송자 리스트 및/또는 수신자 리스트들에 리스트된 사람들 중 하나 이상의 사람의 화상들을 수신하거나 또는 액세스한다. 사용자가 대화들 또는 개별 대화의 리스트를 보고 전송자 리스트의 이름 또는 식별자 상에 커서를 위치시킬 때, 전송자의 화상이 디스플레이된다. 일부 실시예들에서, 대화를 볼때, 예컨대 리스트된 메시지 수신자들을 볼때 동일한 기능이 제공된다. 이러한 특징은 대규모 편성들에 의하여 사용된 이메일 시스템들에 특히 유용할 수 있다.
일부 실시예들에서, 만일 사용자 그 자체가 대화에서 적어도 하나의 메시지를 허가하면, 대화 관리 시스템(102)은 단계(310)에서 전송자 리스트의 전송자 식별자로서 전송자에 대한 고유한 캐릭터 스트링 또는 아이콘 또는 다른 출력 큐로 전송자 리스트의 사용자 이름 또는 다른 식별자를 대체한다. 고유한 캐릭터 스트링에 대한 한 옵션은 특정 언어의 자체-참조 식별자이다. 예컨대, 영어에서 대명사 "me"는 전송자 리스트내의 사용자를 나타내기 위하여 사용될 수 있다. 이러한 특징은 많은 사람이 동일한 이름들을 공유하기 때문에 전송자 리스트내의 전송자의 이름에 의하여 전송자를 식별하는 것보다 더 유용하다(물론 대안 실시예들에서 수행될 수 있음). 고유 식별자에 의하여 사용자를 표현하는 것은 적어도 하나의 메시지를 제공함으로써 활성적으로 참여될 수 있는 대화들을 사용자가 용이하게 식별하는데 도움을 준다.
만일 많은 사람이 대화에 대한 메시지들을 제공하면, 전송자 리스트는 브라우저 윈도우내의 제한된 공간에 맞추는데 너무 길게 될 수 있다. 이는 특히 전송자 리스트내의 전송자들중 하나 이상의 전송자가 그들의 이메일 어드레스에 의하여 식별되는 경우에 발생한다. 만일 그렇다면, 대화 관리 시스템(102)은 단계(312)에서 브라우저 윈도우에 디스플레이할 전송자 리스트의 서브세트를 식별하기 위하여 다양한 정보에 기초하여 전송자들의 리스트내의 전송자들에게 우선순위를 할당한다. 일 실시예에서, 서브세트는 대화에서 적어도 마지막 메시지의 전송자, 적용가능한 경우에 사용자에 의해 읽혀진 것으로서 보여지지 않거나 또는 마킹되지 않는 메시지의 전송자를 포함한다. 다른 실시예에서, 서브세트는 대화에서 제일 먼저 수신된 메시지의 전송자, 대화에서 마지막으로 수신된 메시지의 전송자, 우선순위화 또는 스코어링 방법에 따라 선택된 0 이상의 추가 전송자들을 포함한다. 일부 실시예들에서, 높은 우선순위는 나중에 도달하는 메시지들의 전송자들에 할당된다. 이러한 타입의 우선순위는 읽혀지지 않은(unread) 메시지들의 전송자들이 디스플레이될 가능성을 증가시키는 경향이 있다. 다른 타입들의 우선순위 방식들이 또한 사용될 수 있다. 일부 실시예들에서, 전송자 리스트가 단지 대화에서 메시지 전송자들의 서브세트만을 식별할때, 전송자 리스트는 생략부호 "...", 또는 전송자 리스트가 불완전하다는 것을 표시하는 다른 심볼을 포함한다. 일부 실시예들에서, 메시지들이 사용자에 의해 읽혀진 것으로서 보여지지 않거나 또는 마킹되지 않은 하나 이상의 전송자가 존재하는 경우에, 서브세트 식별자들은 이용가능한 공간에 의하여 허용된 많은 수의 전송자로서 식별한다.
단계(314)에서, 대화 관리 시스템(102)은 대화시 메시지들의 수를 표시하고 영구적으로 삭제되거나 또는 삭제를 위하여 마킹되는 메시지들을 제외하는, 대화에 대한 메시지 번호 표시자를 생성한다. 메시지 번호 표시자는 쌍 괄호 내의 번호일 수 있으며, 예컨대 "(3)"은 대화시 3개의 메시지가 존재한다는 것을 나타낸다. 일부 실시예들에서, 대화가 단지 하나의 메시지를 포함할 때, 메시지 번호는 대화를 위하여 생성되지 않는다. 메시지 번호 표시자는 아이콘일 수 있다. 아이콘은 예컨대 대화시 얼마나 많은 메시지가 읽혀지지 않는지(즉, 읽혀진 것으로서 보여지지 않거나 또는 마킹되지 않는지)를 표시하기 위하여 추가 정보를 제공하도록 컬러 코딩될 수 있다. 다음으로, 대화 관리 시스템(102)은 단계(316)에서 처리되는 대화에 대한 대화 토픽을 발생시킨다. 전형적으로, 대화 토픽은 대화에서 제 1 메시지의 주제 또는 이것이 미리 정해진 길이를 초과하는 경우에 주제의 절단된 버전이다. 다른 실시예에서, 대화 토픽은 제 1 메시지 또는 대안적으로 제 1 메시지 이상의 컨텐츠들을 발견법적으로(heuristically) 검사함으로써 결정된다. 일 실시예에서, 만일 대화가 읽혀지지 않은 속성을 가진 적어도 하나의 메시지를 포함하면, 메시지 번호 식별자 및 대화 토픽 모두는 사용자의 주의를 끌기 위하여 브라우저 윈도우에서 하이라이팅된다. 다른 실시예에서, 대화 토픽만이 하나 이상의 읽혀지지 않은 메시지들을 표시하기 위하여 하이라이팅된다.
설정된 이메일 표준에 따르면, 메시지는 수신자들의 적어도 3개의 클래스들, 즉 어드레스가 "To:" 필드에 리스트되는 수신자들의 하나의 1차 클래스, 및 어드레스들이 "Cc:" 필드 또는 "Bcc:" 필드에 리스트되는 수신자들의 두개의 2차 클래스들에 전송된다. 따라서, 단계(318)에서, 대화 관리 시스템(102)은 대화에의 사용자 참여에 대한 다른 표시자인 사용자에 대한 수신 상태 표시자를 생성한다. 일 실시예에서, 사용자가 임의의 메시지의 1차 수신자인 대화는 ">>"와 같은 제 1 구별 표시자로 마킹되며, 사용자가 적어도 하나의 메시지의 2차 수신자이고 임의의 메시지들의 1차 수신자가 아닌 대화는 ">"와 같은 제 2 구별 표시자로 마킹되며, 사용자가 임의의 메시지의 수신자로서 명백하게 리스트되지 않은(예컨대, 메시지들이 그룹 또는 메일링 리스트로 전송되기 때문에) 대화는 특정 마크들을 수신하지 않는다. 다른 실시예들에서, 사용자가 적어도 하나의 메시지의 1차 수신자인 대화들 및 사용자가 단지 2차 수신자인 대화들은 이들 대화들을 나타내는 행들의 하나 이상의 부분을 하이라이팅시키는 것과 같은 다른 시각적 구별 방식들로 표현될 수 있다. 다른 실시예에서, 사용자가 적어도 하나의 메시지가 단지 1차 수신자인 대화는 ">>"와 같은 제 1 구별 표시자로 마킹되며, 적어도 하나의 메시지가 메일링 리스트가 아니라 사용자의 이메일 어드레스로 직접 전송되는 대화는 ">"와 같은 제 2 구별 표시자로 마킹되며, 사용자가 임의의 메시지의 수신자로서 명백하게 리스트되지 않는(예컨대, 메시지들이 그룹 또는 메일링 리스트에 전송되지 않기 때문에) 대화는 특정 마크들을 수신하지 않는다.
일부 실시예들에서, 대화 관리 시스템(102)은 단계((320)에서 대화의 스니펫(snippet)을 생성한다. 스니펫은 사용자가 대화를 열어보지 않고 대화의 컨텐츠들의 프리뷰를 사용자에게 제공한다. 일 실시예에서, 스니펫은 대화에서 가장 최근의 메시지로부터 발생된다. 다른 실시예에서, 스니펫은 대화에서 제 1 메시지(즉, 가장 오래된 메시지)로부터 추출된다. 또 다른 실시예에서, 스니펫은 예컨대 대화에서 가장 자주 나타나는 키워드들의 세트를 리스트하는 미리 정해진 발견적 규칙들에 따라 대화시 모든 메시지들로부터 추출된다. 만일 대화 관리 시스템(102)이 사용자에 의하여 제출된 검색에 응답하여 대화들의 리스트를 준비중이면 대화 관리 시스템(102)은 단계(322)에서 사용자 제출 질문 텀들과 매칭되는 하이라이팅된 부분을 포함하는 스니펫을 생성하며, 이는 구글 검색 엔진과 같은 검색 엔진에 의하여 리턴된 검색 결과들을 포함한 스니펫들에 대하여 유사할 수 있다.
최종적으로, 대화 관리 시스템(102)은 단계(324)에서 대화에 대한 날짜/시간 값을 식별한다. 이러한 날짜/시간 값은 종종 브라우저 윈도우에서 대화들의 리스트에 대한 디스플레이 순서를 표시한다. 일부 실시예에서, 대화들의 리스트에서 각각의 대화는 대화들의 리스트를 발생시키기 위하여 사용된 검색 기준과 매칭되는 가장 최근의 메시지의 날짜/시간과 동일한 날짜/시간이 할당된다. 예컨대, 만일 사용자-특정 검색 질문(예컨대, "Lake Tahoe")이 사용되면, 대화들의 리스트의 대화를 각각 매칭시키기 위하여, 할당된 날짜/시간은 사용자 특정 검색 질문과 매칭되는 가장 최근의 메시지의 날짜/시간이다. 다른 예에서, 만일 검색 기준이 "인박스"(즉, 인박스 라벨이 할당된 적어도 하나의 메시지를 가진 대화들)이면, 대화들의 리스트의 각각의 대화에 할당된 날짜/시간은 인박스 라벨과 연관된 가장 최근의 메시지의 날짜/시간이다. 일부 실시예들에서, 대화들의 리스트에서 대화들은 그들의 할당된 날짜/시간 값들에 대한 역발생순으로 리스트된다(즉, 가장 최근의 대화들이 먼저 리스트됨). 여기에서 사용된 바와 같이, "날짜/시간" 값은 날짜 값 및/또는 시간 값이 특정 메시지와 연관되는 것을 언급한다. 날짜들 및/또는 시간들은 생성 날짜 및/또는 생성 시간, 송신, 수신 또는 다른 이벤트에 기초하여 메시지들과 연관될 수 있다.
다른 실시예들에서, 다른 방법들 또는 기준들은 대화들의 리스트의 각각이 대화에 날짜/시간을 할당하기 위하여 사용될 수 있다. 예컨대, 일부 실시예들에서, 진보된 검색 질문 도구를 사용할 때, 사용자는 날짜/시간이 특정 시간 윈도우내에 떨어지는(그리고 존재하는 경우에 다른 사용자-특정 검색 요건들을 충족하는) 대화들을 검색하는 옵션이 제공된다. 대화들의 결과적인 리스트는 사용자 특정 목표 날짜 또는 목표 날짜/시간 및 리스트내의 각 대화의 날짜/시간 사이의 시간길이에 따라 리스트된다. 따라서, 목표 날짜 또는 날짜/시간 전후의 대화들은 대화들의 결과적인 리스트에서 인터리빙될 수 있다.
도 3B는 본 발명의 일 실시예에 따른 "인박스" 카테고리 내의 대화들의 리스트에 대한 개략적 스크린 숍을 도시한다. 스크린 샷의 상부 좌측 코너에는 "구성 메일" 링크(340)가 존재한다. 사용자는 새로운 메시지의 기록을 시작하도록 상기 링크를 클릭한다. 링크(340) 다음에, 텍스트박스(341) 및 "검색 메일" 버튼(342)이 존재한다. 사용자가 텍스트박스(341)를 통해 하나 이상의 질문 텀들을 제출한 후 "검색 메일" 버튼(342)을 클릭한 후에, 시스템은 질문 텀들을 매칭시키는 새로운 디스플레이 리스팅 대화들을 발생시킨다. 일부 실시예들에서는 각각의 질문 텀의 하나 이상의 동의어들의 존재에 의하여 매칭들이 발생할 수 있다. 일부 실시예들에서는 각각의 질문 텀의 루트(root)에 기초하여 매칭이 발생할 수 있다. 예컨대, "책(book)"에 대한 검색은 용어들 "책(book)", "책들(books)" 및 "부킹(booking)"에 의하여 매칭될 수 있다. 상세한 이해를 위하여 도 7A 및 도 7B를 참조한다. 버튼(342) 다음에 두개의 풀-다운 리스트들, 즉 "더 많은 동작" 리스트(34) 및 "애드 라벨" 리스트(345)가 존재한다. 도 4 및 도 5를 참조하면, 이둘 두개의 풀-다운 리스트들이 더 상세히 설명된다. "구성 메일" 링크(340) 바로 아래에는 일련의 그룹 박스들이 존재하며, 각각의 박스는 도 2의 단계들(214-220) 중 하나에 의하여 발생된 폼에 대응한다. 예컨대, 그룹 박스(346)는 "인박스", "별표", "송신 메일", "드래프트들", "모든 메일", "스팸" 및 "트래시" 등을 포함하는 시스템-정의 카테고리들을 디스플레이한다. 다른 실시예들에서, 이들 카테고리들 및/또는 부가 카테고리들의 서브세트를 포함하는 시스템-정의 카테고리들의 세트가 다를 수 있다. 일부 실시예들에서, "별표" 카테고리는 사용자 계획들이 예컨대 "To Do" 리스트와 유사한 메시지들을 다른 참여자들에게 전송함으로써 활성적으로 포함될 대화들을 포함한다. 따라서, 일 실시예에서, 메시지는 사용자가 예컨대 별표 메시지들을 검색할 수 있도록 별로 신호화될 수 있다. 일 실시예에서, "모든 메일" 카테고리는 "스팸" 또는 "트래시" 카테고리들에 존재하지 않는 모든 대화들을 포함한다. 현재의 스크린 샷이 단지 "인박스" 카테고리에 속하는 대화들만을 디스플레이하기 때문에 그룹 박스(346)의 대응 링크는 하이라이팅되었다.
도 3B에서 개략적 스크린 샷에 대한 주요 사상은 대화들(360)의 리스트를 포함하는 폼이며, 각각의 대화는 폼에서 하나의 행을 점유한다. 각각의 행은 체크박스(362), 전송자 리스트(364), 수신자 상태 표시자(366), 대화 토픽 및 스니펫들(368) 및 날짜/시간 값(369)을 더 포함한다. 다른 실시예들에서, 이들 필드들 및/또는 추가 필드들의 서브세트를 포함하는 각각의 대화 행에 대한 필드들의 세트는 서로 다를 수 있다. 일부 실시예들에서, 모든 행들은 대화들의 리스트가 디스플레이될때 균일한 높이를 가진다. 다른 실시예들에서, 높이들은 다양한 스니펫 길이들을 수용하기 위하여 가변적일 수 있다. 체크박스(362)는 사용자가 하나의 시스템-정의 카테고리, 예컨대 "인박스"로부터 다른 시스템-정의 카테고리, 예컨대 "트래시"로 대응하는 대화를 이동시킬 것을 결정하는 경우에 또는 사용자가 대응 대화에 사용자-정의 라벨을 첨부할 것을 결정하는 경우에 사용자에 의하여 체크된다. 폼에서 다른 열들 또는 필드들의 정의들은 도 3A와 관련하여 앞서 제공되었다. 제 1대화에 두개의 메시지들이 존재하고 전송자(S2)가 제 1행에서 하이라이팅되는 경우에, 이는 S2에 의하여 전송된 메시지가 읽혀지지 않거나 또는 읽혀진 것으로서 마킹되지 않았다는 것을 제시한다. 대조적으로, 제 2 대화는 모두 읽혀지거나 또는 읽혀진 것으로서 마킹된 4개의 메시지들을 포함하며, 이에 따라 제 2행에서 아무것도 하이라이팅되지 않는다. 일부 실시예들에서, 별표 상태에 대한 시각적 표시자가 제공된다. 만일 대화의 임의의 메시지가 별표 상태를 가지면, "인박스"는 대화가 적어도 하나의 별표 메시지를 포함하는 시각적 표시자를 제공할 것이다.
도시되지 않았을지라도, 일 실시예에서, 도 3B에 의하여 도시된 브라우저 윈도우는 지속적으로 디스플레이된 메시지 구성 영역, 연관된 어드레싱 및 주제 필드들, 및 메시지의 구성 및 송신을 허용하는 폼과 연관될 수 있는 다른 옵션들 및 필드들을 포함한다. 이러한 영역은 예컨대 대화들(360)의 리스트 이하에 디스플레이된다. 따라서, 일부 실시예에서, 단일 사용자 인터페이스(예컨대, 브라우저 윈도우)내에서, 사용자는 대화들의 리스트를 보기 위한 옵션을 가지지 않고 새로운 윈도우(예컨대, 메시지 구성 윈도우)를 열기 위하여 요구되지 않고 그리고 현재의 브라우저 윈도우로부터 대화들의 리스트를 제거하지 않고 새로운 메시지를 구성할 수 있다.
도 4A는 "더 많은 동작" 풀-다운 리스트(344)의 동작을 기술하는 흐름도이다. 사용자가 풀-다운 리스트를 클릭한후에, 브라우저는 단계(402)에서 시스템-정의 동작들의 리스트를 디스플레이한다. 사용자는 단계(404)에서 대화 리스트의 적어도 하나의 대화 및 풀-다운 리스트의 특정 동작을 선택한다. 그 다음에, 브라우저는 단계(406)에서 사용자-선택 대화들을 사용자-선택 동작들과 연관시키며, 단계(408)에서 추가로 처리하기 위하여 이들을 다시 대화 관리 시스템에 전송한다. 만일 사용자-선택 대화들이 대화들의 이전에 디스플레이된 리스트로부터 제거되도록 사용자-선택 동작이 수행되는 경우에, 대화 어시스턴트는 대화 관리 시스템으로부터 대화들의 새로운 리스트를 수신하고 대화 어시스턴트는 단계(410)에서 브라우저에 대화들의 새로운 리스트를 디스플레이한다.
도 4B는 사용자가 제 2대화의 체크박스(413)를 체크하고 "더 많은 동작" 풀-다운 리스트를 클릭하며 아이템 "스팸"(415)를 선택할 때 발생하는 도 3B의 개략적 스크린 샷의 변화를 도시한다. 결과로서, 제 2대화는 "인박스" 카테고리로부터 제거될 것이며 "스팸" 카테고리는 새로운 멤버를 가질 것이다. "무시" 및 "스누즈"와 같은 풀-다운 리스트의 동작들중 일부는 대응 카테고리를 가지지 않는다는 것에 유의해야 한다. "무시" 및 "스누즈" 모두는 "모든 메일" 카테고리에 대응한다. 특히, 사용자가 대화의 체크박스를 체크하고 "무시" 아이템을 클릭할때, 대화는 "모든 메일" 카테고리에 전송될 것이다. 만일 "무시된" 대화와 연관된 임의의 새로운 메시지가 도달하면, 시스템은 새로운 메시지와 상기 대화를 연관시키나, 대화가 사용자의 어텐션에 자동적으로 유도되게 하지 못한다. 그러나, 사용자는 대화를 무시하여, "모든 메일" 카테고리를 방문하고 무시된 대화의 체크박스를 체크하며 대응하는 "더 많은 동작" 풀-다운 리스트에서 "인박스" 아이템을 선택함으로써 "인박스" 카테고리로 다시 전환되도록 하는 것을 중지시킬 수 있다. 예로서 지시된 바와 같이, 다른 카테고리의 풀-다운 리스트들은 동작 아이템들의 다른 세트를 가질 수 있다. "스누즈" 동작 아이템은 사용자가 구동될 수 있는 트리거링 조건을 세팅함으로써 대화를 일시적으로 무시하도록 하며, 예컨대 대화는 일정 기간(예컨대, 한 시간, 하루, 한주 등) 동안 "인박스" 카테고리로부터 보이지 않아야 하고 자동적으로 복귀하거나 또는 이벤트로 구동되며, 예컨대 대화는 미체크 메시지들의 수가 미리 결정된 제한치에 도달할 때까지 "인박스" 카테고리에 복귀하지 않아야 하거나, 또는 특정 사람은 대화에 대한 메시지를 제공하거나, 또는 1차 수신자로서 사용자를 특정하는 메시지가 수신되거나 또는 수신된 메시지는 특정 워드 또는 구를 포함한다. 당업자는 사용될 수 있는 다른 트리거 조건들을 인식할 것이다.
대화들의 카테고리화
도 5A는 "애드 라벨들" 풀-다운 리스트(345)의 동작을 기술하는 흐름도이다. 사용자가 풀-다운 리스트를 클릭한 후에, 브라우저는 단계(502)에서 사용자가 선택한 사용자-정의 라벨들이 리스트를 디스플레이한다. 사용자는 단계(504)에서 풀-다운 리스트에서 특정 라벨을 선택하며 대화 리스트에서 적어도 하나의 대화를 선택한다. 그 다음에, 브라우저는 단계(506)에서 사용자-선택 라벨과 사용자-선택 대화들을 연관시키며, 단계(508)에서 추가 처리를 위하여 이들을 대화 관리 시스템에 다시 전송한다. 결과로서, 사용자-선택 라벨과 연관된 대화들의 리스트는 단계(506)에서 라벨과 연관된 대화들을 포함할 것이다. 이하에서 더 상세히 기술된 바와 같이, 라벨 또는 속성이 대화와 연관될 때, 하나 이상의 엔트리들은 라벨이 위치한 경우에 대화를 검색하도록 인덱스(1710)(도 17 및 도 18)에 추가된다. 일부 실시예들에서, 라벨 또는 속성은 대화 데이터베이스(1808)(도 18)의 하나 이상의 엔트리들에 추가된다. 일부 실시예들에서, 대화와 연관된 라벨들은 사용자가 대화를 볼 때 디스플레이된다. 일부 실시예들에서, 대화들의 리스트의 각각의 대화와 연관된 라벨들은 리스트의 각각의 대화를 위하여 제공된 정보의 행에 디스플레이된다.
도 5B는 사용자가 제 2대화의 체크박스(512)를 체크하고 "애드 라벨들" 풀-다운 리스트를 클릭하며 아이템 "라벨 2"(514)을 선택할 때("라벨 2"는 사용자 특정 라벨 이름을 나타낸다는 것에 유의해야 한다) 발생하는 브라우저 윈도우를 도시한 개략적 스크린 샷을 도시한다. 이는 "라벨 2"이 체크된 대화와 연관되도록 할 것이다. 결과로서, 체크된 대화는 "라벨 2"와 연관된 메시지들에 대한 질문에 응답하여 발생된 검색 결과들에 포함될 수 있다. 일부 실시예들에서, 대화들의 리스트의 각각의 대화와 연관된 라벨들은 폼의 대응 행에 디스플레이되며, "라벨 2"은 단계(506)에서 "라벨 2"와 연관된 대화에 대응하는 행내에 디스플레이될 것이다. 물론, 사용자가 커스터마이징된 라벨 이름들을 입력하고 및/또는 시스템이 미리 정해진 라벨들을 제공할 수 있다는 것이 당업자에게 인식될 것이다.
대화의 뷰잉
도 6A는 대화 어시스턴트가 대화 관리 시스템의 디스플레이 명령들에 응답하여 대화 뷰를 발생시키는 방법을 도시한 흐름도를 도시한다. 일부 실시예들에서, 디스플레이될 대화 정보를 포매팅하기 위한 동작들과 같이 도 6A에 도시된 동작들의 일부는 클라이언트의 대화 어시스턴트에 대화 정보를 전송하기 전에 대화 관리 시스템에 의하여 수행된다.
대화 어시스턴트는 단계(602)에서 특정 대화에 속하는 일련의 메시지들 뿐만 아니라 디스플레이 명령들의 연관된 세트를 우선 수신한다. 단계(604)에서, 대화 어시스턴트는 대화와 연관된 임의의 시스템-정의 카테고리들 및 사용자-정의 라벨들 뿐만 아니라 대화의 제목을 식별한다. 카테고리들 및 라벨들에 기초하여, 대화는 사용자-선택가능 동작들의 리스트 및 사용자-선택가능 라벨들의 리스트를 각각 발생시킨다. 이들 두개의 리스트들은 도 3B에 도시된 두개의 풀-다운 리스트들(344, 345)과 유사하다. 일부 실시예에서, 사용자-선택가능 동작들의 리스트는 특정 대화(즉, 디스플레이될 대화)에 적용가능한 동작들만을 포함한다. 따라서, "트래시" 카테고리에 이미 존재하는 대화는 "트래시" 카테고리와 다시 연관될 수 없다. 동일한 토큰에 의하여, 사용자-선택가능 라벨들의 리스트는 특정 대화와 연관되지 않는 라벨들만을 포함한다.
단계(608)로부터 시작하여, 대화 어시스턴트는 대화의 개별 메시지에 대한 서브-폼을 발생시키며, 서브-폼은 적어도 전용 메시지 헤더 및 메시지 바디를 포함한다. 여기에서 사용되는 것처럼, 메시지 바디는 사용자에 의하여 생성되고 주제 기준을 포함하는 메시지를 언급하며 메시징 소프트웨어에 의하여 메시지에 추가된 임의의 시스템 정보를 제외한다. 각각의 상세한 메시지 헤더는 전송자의 이름들 및/또는 어드레스들, 모든 1차 및 2차 수신자들, 메시지의 주제, 메시지-레벨 동작들의 세트, 및 날짜/시간 값을 포함한다. 메시지-레벨 동작들 중 하나는 "마임-버전:", "컨텐츠-타입" 등과 같은 정보가 제공될 때 라우팅 정보 및 다른 메시징 시스템을 포함하는 원래의 포맷으로 메시지를 보는 옵션을 포함한다. 대화 어시스턴트는 단계(610)에서 상세한 메시지 헤더로부터 간결한 메시지 헤더를 생성한다. 간결 메시지 헤더는 전송자 및 수신자들의 식별자들을 포함한다. 일부 실시예들에서, 수신자들은 간결 메시지 헤더로부터 제외된다. 만일 사용자가 수신자 리스트에 있으면, 대화 어시스턴트는 단계(610)에서 전송자 리스트의 사용자 식별자와 유사한 식별자로서 고유한 캐릭터 스트링 또는 아이콘을 이용한다. 예를 들어, 영어 대명사 "me"는 간결한 메시지 헤더에서 사용자를 표시하기 위해 사용될 수 있다. 만약 메시지가 특정 수신(즉, 메시지 헤더의 제 1 또는 제 2 수신 필드들에서)을 식별하기 위한 것이라면, 상기 대화에서, 대화 어시스턴트는 단계(614)에서 간결한 메시지 헤더의 수신 식별자를 하이라이팅할 것이다. 다른 한편으로, 몇몇 실시예들에서, 수신자 리스트에 이전에 포함된 수신자가 더 이상 포함되지 않을 때, 대화 어시스턴트는 예를 들어 "ghost" 폰트와 같이 시각적으로 구별되는 방식으로 수신자의 식별자를 디스플레이할 것이다. 다른 실시예들에서, 간결한 메시지 헤더는 전송자 식별자, 메시지의 일부분 및 메시지의 날짜/시간 표현을 포함한다.
다음에, 단계(616)에서 대화 어시스턴트는 세부 형태를 디스플레이하는 방법을 결정한다. 만약 세부 형태와 연관된 메시지가 사용자에 의해 읽혀진 것으로 보여지거나 마킹되지 않는 경우에, 세부 형태는 확장된 모드로 디스플레이되며, 즉 간결한 메시지 헤더와 완전한 메시지 바디 모두가 단계(618)에서 디스플레이된다. 만약 메시지가 읽혀진 것으로 보여지거나 마킹되는 경우에, 디폴트에 의한 세부 형태는 단계(620)에서 간결한 메시지 헤더 및 메시지 바디의 일부분(예를 들면, 메시지의 최초 몇개 라인)만을 포함하여 간략화된 모드로 디스플레이된다. 사용자는 간략화된 세부 형태를 클릭함으로써 이를 확장할 수 있다. 유사하게, 세부 형태는 상세한 메시지 헤더를 도시하지 않지만, 단계(622)에서 상세한 메시지 헤더를 보기를 원하는 경우에 사용자가 선택할 수 있는 옵션을 포함한다. 결과적으로, 단계(624)에서 대화 어시스턴트는 세부 형태의 밑부분, 예를 들면 "응답", "모두에 대한 응답", "전진"과 같은 응답 옵션 세트를 생성한다. 몇몇 실시예들에서, 전술된 동작들의 서브 세트는 대화 내의 각각의 메시지에 대하여 수행된다. 몇몇 실시예들에서 하나 또는 그 이상의 추가 포매팅 동작들이 수행된다.
도 6B는 본 발명의 일 실시예에 따른 도 3B의 제 2 대화의 개략적인 스크린 샷이다. 스크린 샷의 상부 및 좌측 부분들은 도 3B와 동일하다. 그러나 대화 리스트(360)는 메시지 리스트(640)로 대체된다. 메시지 리스트의 상부에서 대화의 토픽은 "토픽 2"(630), 대화와 연관된 모든 사용자 정의된 라벨들(632) 및 "모든 메시지 확장" 버튼(634)이다. 4개의 메시지들이 사용자에 의해 읽혀진 것으로 보여지거나 마킹되기 때문에, 리스트 상부 3개의 메시지들은 간략화된 모드로 디스플레이되며, 마지막(및 가장 최근) 메시지는 확장된 모드로 디스플레이된다. 몇몇 실시예들에서, 읽혀지지 않은 메시지들(즉, 사용자에 의해 읽혀진 것으로 보여지거나 마킹되지 않은)이 존재할 때, 별표 표시된 것과 같이 표시된 대화 내의 메시지들은 확장된 모드로 디스플레이된다. 상기와 같은 사항은 대화의 모든 메시지들이 함께 겹쳐지는 시각적인 효과를 제공한다. 각각의 간략화된 세부 형태는 메시지 바디의 제 1 몇몇 워드들과 같이 간결한 메시지 헤더(641) 및 스니펫(643)을 디스플레이한다. 몇몇 실시예들에서, 간결한 메시지 헤더 내의 전송자들은 각각의 전송자에 대한 텍스트 표현이 서로 다른 컬러로 제공되도록 컬러로 식별된다. 이는 디스플레이된 대화에서 전송자들을 구별하는데 도움이 된다. 몇몇 실시예들에서, 컬러들은 시스템이 전송자들을 연관시키기 위해 컬러 이외의 것을 사용할 때까지 시스템에 의해 발생된다. 몇몇 실시예들에서, 컬러들은 대화마다 연관되며, 따라서 동일한 전송자는 대화가 디스플레이되는 것에 따라 이와 관련된 서로 다른 컬러를 가질 수 있다. 모든 수신자들이 간결한 메시지 헤더(641)에서 하이라이팅되며, 이는 대화의 제 1 메시지이기 때문임을 유의하여야 한다. 대조적으로, 단 하나의 식별자 "S1"는 제 2의 간략화된 세부 형태에서 하이라이팅되며, 이는 S1이 대화의 참여자가 되는 제 1 메시지이기 때문이다. 확장된 세부 형태는 완전한 메시지 바디(645), 상세한 메시지 헤더가 선택될 때 디스플레이되는 "더 많은 옵션들" 링크(647), 및 응답 옵션 리스트(649)를 포함한다. 최종 메시지가 S4에 의해 전송되었기 때문에, 응답 옵션들 중 하나는 "S4에 대한 응답"이며 이는 사용자에게 응답이 S4로 어드레싱될 것이라고 경고한다.
몇몇 실시예들에서, 대화 내의 메시지들의 개수가 임계값(예를 들면, 8 또는 10 메시지)을 초과하고, 대화 내의 다수의 연속하는 메시지들이 간략화된 세부 형태(예를 들면, 인박스 대화 리스트에서 선택된 대화에서 읽혀진 것으로 마킹된 메시지들)로 디스플레이될 때, 상기 메시지들은 어떤 텍스트도 포함하지 않고, 따라서 어떤 전송자 리스트 및 어떤 부분도 포함하지 않는 제2의 간략화된 세부 형태로 디스플레이된다. 대신에, 제 2의 간략화된 세부 형태들은 상기 메시지들의 각각을 작은 바로 표시한다. 상기 세부 형태들은 카드 데크에서 카드의 에지와 유사한 형태로 보여진다. 몇몇 실시예들에서, 대화 내의 제 1 및 최종 메시지는 제 2의 간략화된 서브 형태로 보여지지 않으며, 더 일반적으로 특정 메시지들은 "별표로 표시된" 라벨을 가지는 메시지들과 같은 제 2의 간략화된 세부 형태에 의해 표시되는 것으로부터 제외된다. 제 2의 간략화된 세부 형태는 다수의 메시지들을 가지는 대화들을 보여주는 것을 용이하게 하는데 사용된다. 상기와 동일한 방법이 사용자 특정 검색 질문에 매칭되는 대화에서 메시지들을 표시하기 위해 사용될 수 있으며, 상기 방법에서 대화는 임계치 이상의 메시지들을 갖는다. 상기 경우에, 제 2의 간략화된 세부 형태에 의해 표시될 메시지들은 검색 질문에 매칭되지 않는 연속하는 메시지들의 그룹들이다.
도 6C는 (1) 제 1 세부 형태(650)가 사용자가 세부 사항을 클릭한 이후에 확장된 모드로 디스플레이되고, (2) 최종 세부 형태가 세부 메시지 헤더(660)를 포함하며, (3) 메시지 응답 형태(670)가 사용자가 "S4에 대한 응답" 링크를 클릭한 이후에 최종 세부 형태에 추가되는 점을 제외하고 도 6B에 도시된 것과 유사한 개략적인 스크린 샷이다. 일 실시예에서, 대화 내의 메시지(예를 들면, 최종 메시지)에 대하여 응답하는 텍스트 박스는 사용자가 대화 내용들을 볼 때, 상기 메시지와 연관되어 영구적으로 디스플레이될 수 있다. 다른 경우에, 메시지 응답 형태(670)가 디스플레이되고, 이와 연관된 응답 텍스트 박스는 사용자가 "S4에 대한 응답" 링크를 클릭할 것을 요구하지 않고 사용자에게 접속가능하다. 다른 실시예들에서, 메시지 응답 형태는 대화 내의 모든 메시지들 또는 확장 모드로 디스플레이된 모든 메시지들에 대하여 영구적으로 디스플레이될 수 있다.
제 1의 확장된 세부 형태(65)는 도 6B에 도시된 최종 세부 형태와 구조적으로 동일한다. 이는 세부 형태의 하부에서 간결한 메시지 헤더, "더 많은 옵션들" 링크, 메시지 바디 및 응답 옵션 세트를 포함한다. 세부 메시지 헤더(660) 및 메시지 전송자 및 수신자의 이메일 어드레스, 또는 다른 식별자들은 사용자가 수행할 수 있는 동작들의 리스트를 포함한다. 예를 들어, "이 메시지를 소거" 동작(661)은 사용자가 대화에서 메시지를 소거하도록 한다. 디폴트에 의한 메시지 응답 형태(670)는 "To:" 필드에서 S4의 어드레스만을 포함하며, 이는 사용자가 응답하는 메시지의 전송자가 S4이기 때문이다. 그러나, 메시지 응답 형태는 사용자가 더 많은 수신자들에 대한 응답 메시지를 전송하려고 하는 경우에 사용자에게 추가의 옵션들(예를 들면, "add Cc", "add Bcc")를 제공한다. 메시지 응답 형태(670)는 또한 사용자가 원래의 메시지의 주제를 편집하고, 문서를 응답 메시지에 부가하도록 한다.
도 6D는 사용자가 "모든 메시지 확장" 버튼(634)을 클릭한 이후에 도 6B에 도시된 대화의 개략적인 스크린 샷이다. 결과적으로, 모두 4개의 메시지들(608)은 확장된 모드로 디스플레이된다. 버튼(634) 내의 텍스트는 "모든 메시지들을 간략화"로 변경된다. 대화의 디스플레이는 사용자가 버튼(634)을 다시 클릭한 이후에 도 6B에 도시된 포맷으로 복귀한다.
도 6E는 이전에 설명된 특징들 중 몇몇을 설명하는 대화의 개략적인 스크린 샷이다. 특히, 도 6E는 대화 내의 메시지들의 개수가 임계값을 초과할 때 사용되는 제 2의 간략화된 세부 형태의 일 예를 단계(682)에 도시한다. 사용자가 그들의 메시지에 대한 임의의 헤더 정보를 볼 수 없음에도 불구하고, 사용자는 상기 제 2의 간략화된 세부 형태 내의 메시지들의 개수를 볼 수 있다. 몇몇 실시예들에서, 제 2의 간략화된 세부 형태 내의 메시지들의 끝 부분에서의 메시지들은 간결한 메시지 헤더들(684, 686)에 의해 도시된 것과 같이 간결한 메시지 헤더를 도시하는 간략화된 세부 형태 내에 도시된다. 몇몇 실시예들 및 도 6E에 도시된 것과 같이, 간결한 메시지 헤더는 전송자, 메시지의 일부분 및 메시지의 다른 수신자들을 도시하지 않고 메시지의 날짜/시간 값을 포함한다. "별표 표시" 특징의 일 예가 메시지(688)에 도시될 수 있다. 메시지(688) 내의 별표는 별표가 표시된 다른 메시지들과 다른데, 상기 메시지는 별표가 표시된 상태를 가지는 반면, 다른 메시지들은 그렇지 않다. 물론, 서로 다른 상태를 제공하는 임의의 시각적인 표시자가 사용될 수 있고, 그 개념은 "별표" 및 별표가 "표시"되는지의 여부에 제한되지 않는다. 전술된 것과 같이, 별표 표시 상태를 가지는 메시지는 일 실시예에서 대화가 디스플레이될 때 확장된 모드로 디스플레이되며, 어떤 읽혀지지 않은 메시지들도 존재하지 않는다(도 6E에서와 같이). 또다른 실시예에서, 읽혀지지 않거나 보여지지 않는 메시지들이 존재할 경우에, 별표 표시된 메시지(688)는 간략화된 세부 형태로 디스플레이되지만, 682에서의 메시지들과 같은 제 2의 간략화된 세부 형태는 아니다. 다른 실시예들은 임의의 읽혀지지 않거나 보여지지 않는 메시지들의 존재 여부와 관계없이 별표 표시된 메시지들을 확장된 모드로 보여준다.
대화들을 결정하고, 리스트로 작성하며 디스플레이하기 위한 질문들의 사용
전술된 것과 같이, 사용자는 사용자 정의된 질문이 매칭되는 대화들을 검색할 수 있다. 대화 관리 시스템(102) 및 대화 어시스턴트(110)는 질문에 상응하는 검색 결과들을 발생하고, 상기 결과들을 사용자에게 매우 직관적인 방식으로 제공하도록 동작한다. 도 7A는 대화 어시스턴트(110)가 사용자의 검색 요청에 매칭되는 대화들을 디스플레이하기 위한 다양한 형식들을 발생하는 방법을 도시하는 흐름도이다. 몇몇 실시예들에서, 디스플레이될 대화 정보를 포매팅하는 동작들과 같이, 도 7A에 도시된 몇몇 동작들은 대화 정보를 클라이언트 내의 대화 어시스턴트에 전송하기 전에 대화 관리 시스템에 의해 수행된다.
단계(702)에서, 대화 어스시턴트(110)는 검색 질문(하나 또는 그이상의 질문을 포함하는)에 매칭되는 다수의 대화들 및 대화 관리 시스템(102)으로부터 연관된 디스플레이 명령들을 표시하는 정보를 수신한다. 단계(704)에서, 대화 어시스턴트(110)는 각각의 대화가 형식 내의 하나의 행를 점유하는 대화 리스트를 호스팅하는 형태를 발생한다. 상기 형식 내의 각각의 행에 대하여, 대화 어시스턴트(110)는 단계(706)에서 매칭된 질문을 포함하는 부분을 발생한다. 몇몇 실시예들에서, 대화 어시스턴트(110)는 검색 질문에서 임의의 질문에 매칭되는 부분들을 하이라이팅시킨다. 단계(710)에서, 대화 리스트가 디스플레이된다. 도 7B는 상기 단계들에 따라 발생된 대화 리스트의 개략적인 스크린 샷이다. 몇몇 실시예들에서, 사용자는 부분들의 발생 및/또는 디스플레이가 억제되도록 하는 사용자 우선순위를 특정할 수 있다. 몇몇 실시예들에서, 검색 질문에 매칭되는 텍스트가 메시지의 헤더 또는 다른 정보에 위치될 때, 제공되는 부분은 메시지의 제 1 부분이다.
몇몇 실시예들에서, 단계(712)에서 만약 사용자가 대화 리스트 내의 대화를 표시하는 행(예를 들면 도 7B에 도시된 대화 리스트의 행)를 선택하면(예를 들어 클릭하면), 단계(714)에서 대화 어시스턴트(110)는 선택된 대화를 디스플레이한다. 이를 수행하기 위해, 대화 어시스턴트는 선택된 대화와 연관된 일련의 메시지들을 호스팅하는 일련의 세부 형태들을 발생한다. 특히, 만약 선택된 대화가 사용자 지정된 검색 질문에 응답하여 발생된 대화의 리스트로부터 선택되면, 연관된 메시지들이 검색 질문에서 임의의 질문을 포함하지 않는 세부 형태들은 간략화된 모드로 디스플레이되는 반면, 연관된 메시지들이 적어도 하나의 질문을 포함하는 세부 형태들은 확장된 모드로 디스플레이된다. 대화 어시스턴트(110)는 메시지 보디 내에 매칭된 질문을 하이라이팅시킨다. 지정된 질문에 매칭되는 선택된 대화의 디스플레이의 일 예는 도 7C의 개략적인 스크린 샷으로 도시된다. 만약 선택된 대화가 대화의 인박스 리스트와 같은 대화의 카테고리 리스트로부터 선택되면, 메시지의 초기 디스플레이는 도 6C와 관련하여 전술된 것과 같다.
도 7B는 질문 "Tahoe"(720)에 매칭되는 3개의 대화들(730)의 목록을 표시하는 브라우저 윈도우의 개략적인 스크린 샷이다. 상기 3개의 대화들(730)은 "검색 옵션" 링크(732)이다. 사용자는 검색을 수행하기 위해 사용된 옵션들을 업데이트하기 위해 링크를 클릭할 수 있다. 예를 들어, 사용자는 검색이 하나의 카테고리 내의 대화들에 제한되는지 또는 모든 카테고리들 내의 대화들에 제한되는지의 여부를 특정할 수 있다. 목록이 표시된 대화들이 둘 또는 그 이상의 개별 카테고리들에 속할 때, 그룹 박스(346) 내의 어떤 카테고리들도 하이라이팅되지 않는다. 각각의 매칭되는 대화 내에서, 용어 "Tahoe"를 포함하는 부분이 식별되며, 용어 "Tatoe"는 하이라이팅되어 디스플레이된다. 상기 구분들은 3개의 대화들이 3개의 개별 토픽들을 커버하는 것을 표시하며, 즉 제 1 대화는 호수 Tahoe에서의 스키 여행에 관한 것이며, 제 2 대화는 Tahoe-모델 SUV에 관한 것이며, 제 3 대화는 Tahoe National Forest에서의 캠핑 사이트에 관한 것이다. 따라서, 사용자는 그가 공개하기를 원하는 특정 대화를 결정하기 위해 상기 부분의 정보를 사용할 수 있다.
도 7C는 사용자가 클릭한 이후에 제 3 대화내의 모든 메시지들을 디스플레이하는 개략적인 스크린 샷이다. "모든 메일" 카테고리는 상기 스크린 샷에서 하이라이팅되며(그룹 박스(346)에서), 이는 제 3 대화가 현재 "모든 메일" 카테고리에 위치됨을 표시한다. 제 2 메시지가 질문 "Tahoe"를 포함하기 때문에, 제 2 세부 형태는 용어 "Tahoe"가 하이라이팅되어 확장된 모드로 도시된다.
스펠 검사
도 8은 사용자에 의해 구성된 메시지 내에서 잘못 쓰여진 단어들을 정정하기 위해 대화 어시스턴트가 사용자와 상호작용하는 방법을 도시하는 흐름도이다. 메시지를 구성한 후 및 상기 메시지를 전송하기 전에, 사용자는 "더 많은 동작들"을 클릭할 수 있고, 리스트를 풀-다운하고, "스펠 검사" 아이템을 선택할 수 있다. 상기 아이템은 도 4B에 도시되지 않으며, 이는 풀-다운 리스트가 대화-레벨 동작들을 포함하기 때문이다. "스펠 검사"는 메시지 구성 형태가 사용되는 경우에만 풀-다운 동작 리스트 내에 디스플레이된 메시지-레벨 동작이다. "스펠 검사" 동작의 사용자 선택에 응답하여, 단계(802)에서, 대화 어시스턴트는 구성된 메시지를 대화 관리 시스템에 전송하며, 구성된 메시지의 스펠-검사된 사본 및 디스플레이 명령들을 수신한다. 대안적인 실시예에서, 본 명세서에서 스펠 검사자와 관련하여 설명된 대화 관리 시스템에 의해 수행된 동작들은 로컬 사전을 사용하여 로컬 클라이언트 응용에 의해 또는 대화 어시스턴트에 의해 수행된다. 디스플레이 명령들에 기초하여, 대화 어시스턴트는 단계(804)에서 메시지 내에 잘못 쓰여진 단어를 하이라이팅시키고, 단계(806)에서 각각의 하이라이팅된 단어를 시스템에 의해 발생된 후보 단어들의 리스트와 연관시키며, 단계(808)에서 개별 브라우징 윈도우내에 다시 포매팅된 메시지를 표시한다. 사용자가 브라우징 윈도우 내의 특정 하이라이팅된 단어를 선택할 때, 단계(810)에서 대화 어시스턴트는 스펠 정정 윈도우 내에 사용자 선택된 단어의 위치를 결정하며, 상기 윈도우 다음에 후보 리스트 대체 용어들을 부가한다. (대체 용어는 하나 또는 그 이상의 단어들을 포함할 수 있음에 유의해야 한다.) 대화 어시스턴트는 단계(812)에서 스펠 정정 윈도우 내의 잘못 쓰여진 단어를 후보 리스트 내의 사용자 지정된 대체 용어로 업데이트한다. 대화 어시스턴트는 단계(814)에서 사용자 지정된 방향으로 스펠 정정 윈도우를 확장할 수 있으며, 따라서 사용자는 단계(816)에서 스펠 정정 윈도우내의 하나 이상의 단어를 교정할 수 있다.
도 9A는 사용자가 응답 메시지(817)를 S4로 구성하는 것을 제외하고 도 6C에 도시된 대화와 동일한 스크린 샷이다. 메시지를 전송하기 전에, 사용자는 스펠 검사를 수행할 것인지를 결정한다. 따라서, 사용자는 "더 많은 동작들" 풀-다운 리스트를 클릭하고, "스펠 검사" 아이템(818)을 선택한다. 대화 어시스턴트는 이에 응답하여 구성된 메시지를 대화 관리 시스템으로 전송하고, 개별 브라우징 윈도우에 스펠 검사 결과를 디스플레이한다. 몇몇 실시예들에서, 스펠 검사 결과들은 사용자가 메시지를 구성한 것과 동일한 윈도우에 디스플레이된다. 사실상, 디스플레이는 일반적으로 스펠 검사기와 연관된 특정 특징들을 토글링하고, 일시적으로 잘못 쓰여진 단어들을 하이라이팅시키는 것을 제외하고 동일하게 유지된다. 상기 실시예는 사용자가 메시지를 구성할 때 제공되는 것보다 상기 내용 없이 개별의 새로운 윈도우에 표시되는 등가의 시각적인 내용에서 스펠 검사를 수행할 수 있는 추가의 장점을 갖는다.
도 9B는 스펠 검사 프로세스의 서로 다른 단계들에서 개별 브라우징 윈도우들을 포함하는 스크린 샷을 도시한다. 제 1 윈도우(820)는 메시지의 스펠 검사된 사본을 포함한다. 특히, 3개의 일시적으로 잘못 쓰여진 단어들(821, 823, 825)은 윈도우 내에서 하이라이팅된다. 사용자가 제 2 단어(823)를 클릭한 이후에, 단어 "delying"는 제 2 브라우징 윈도우(830)에 도시된 것과 같이 스펠 정정 윈도우(832)에 통합된다. 추가로, 시스템에 의해 발생된 후보 단어들의 리스트(834)는 스펠 정정 윈도우 밑 또는 이에 인접하여 디스플레이된다. 사용자는 그후에 잘못 쓰여진 용어 "delying"을 대체하기 위해 제 3 대체 용어 "delaying"를 선택한다. 사용자가 정정된 단어 "delaying" 이전에 단어 "temporarily"를 추가하기를 원하는 경우, 사용자는 제 3 윈도우(840)에 도시된 것과 같은 좌측 화살표(841)를 클릭할 수 있고, 브라우저 윈도우 포인터를 잘못 쓰여진 용어 "delying"의 앞에 위치시킬 수 있으며, 용어 "temporarily"를 입력할 수 있다. 결국, 모든 잘못 쓰여진 단어들을 정정한 후에, 사용자는 "수행" 버튼(845)을 클릭하여 메시지가 S4로 전송되도록 할 수 있다.
대화 서버
도 10 내지 19는 전술된 대화 서버(102)의 일 실시예를 설명하는 것을 지원할 수 있다. 대화 서버(102)의 일 실시예는 도 10에 도시된다. 대화 서버(102)는 대화 엔진(100), 업데이터 엔진(1004), 메시지 인덱스(1006), 질문 엔진(1008), 메시지 데이터베이스(1010), 하나 또는 그 이상의 보조 서비스 서버들(1012), 스펠 검사기(1014), 및 SMTP(1016)를 포함한다.
대화 엔진(1002)은 통신 네트워크(106)와 접속하여 대화 어시스턴트(110)로부터/로 응답을 요청한다. 통신 네트워크(106)는 인터넷, 하나 또는 그 이상의 근거리 네트워크들(LANs), 하나 또는 그이상의 원거리 네트워크들(WANs), 다른 형태의 네트워크들 또는 상기 네트워크들의 조합을 포함할 수 있다. 대화 엔진은 보조 서비스 서버들(1012) 및 스펠 검사기(1014)와 같이 다양한 보조 서비스들에 접속될 수 있다. 질문 엔진(1008)은 대화 엔진(1002), 메시지 인덱스(1006), 메시지 데이터 베이스(1010)에 접속된다. 업데이터 엔진(1004)은 대화 엔진(1002) 및 메시지 인덱스(1006) 사이 및 메시지 데이터 베이스(1010)에 접속된다. SMTP 게이트웨이(1016)는 대화 엔진(1002) 및 통신 네트워크(106) 사이에 접속된다. 도 10은 다수의 개별 아이템들과 같은 대화서버(102)를 도시하지만, 상기 도면은 본 명세서에 개시된 실시예들의 구성도 보다는 대화 서버(102)에 제공될 수 있는 다양한 특징들의 기능적인 설명을 위해 의도된다. 실질적으로, 및 당업자에 의해 인식되는 것과 같이, 개별적으로 도시된 아이템들은 조합될 수 있고, 몇몇 아이템들은 구분될 수 있다. 예를 들어, 도면에 개별적으로 도시된 몇몇 아이템들은 단일 서버들에서 시행될 수 있고, 단일 아이템들은 하나 또는 그 이상의 서버들에 의해 실행될 수 있다. 대화 서버(102) 내의 서버들의 실제 개수 및 그들 사이에 특징들이 할당되는 방법은 하나의 구현으로부터 또 다른 구현으로 변경될 수 있고, 시스템이 평균 사용 기간뿐만 아니라 피크 사용 기간 동안 처리해야 하는 이메일 트래픽량에 따라 결정된다.
전술된 것과 같이, 대화 엔진(1002)은 메시지들과 관련된 대화 어시스턴트(110)로부터의 다양한 요청들에 응답하여 통신 네트워크(106)와 접속하여 응답들에 기초한 대화를 복귀한다. SMTP 게이트웨이(1016)가 통신 네트워크(106)에 접속될 수 있는 반면, SMTP 게이트웨이(1016)는 메시지들을 송신 및 수신하는 것과 더 직접적으로 관련된다. 몇몇 실시예들에서, SMTP 게이트웨이(1016)는 예를 들어, 단일 메일 전송 프로토콜(SMTP)을 사용하여 메시지들을 전송 및 수신할 수 있다. SMTP 게이트웨이(1016)는 통신 네트워크(106)로부터 새로운 메시지를 수신하여 상기 메시지를 추가의 프로세싱을 위해 대화 엔진(1002)으로 전송할 수 있다. 또한, SMTP 게이트웨이(1016)는 대화 서버(1002)로부터 메시지들을 수신하고, (통신 네트워크(106)를 통해) 메시지에 규정된 수신 어드레스들로 이러한 메시지들을 전송한다.
대화 엔진(1002)은 조립될 수 있는 메시지의 스펠 검사를 처리한다. 대화 엔진(1002)은 스펠 검사를 위해서 검사될 텍스트의 일부를 스펠 검사기(1014)로 전달한다. 스펠 검사기(1014)는 잠재적으로 부정확하게 스펠링된 것으로 식별되는 텍스트 식별을 포함하는 정보를 리턴한다. 일부 실시예들에서, 스펠 검사기(1014)는 잠재적으로 부정확하게 스펠링된 것으로 식별된 텍스트에 대한 제안들에 관한 정보를 제공한다. 일부 실시예에서, 이러한 정보는 후속 처리를 위해 대화 어시스턴트(110)로 전송된다.
하나 이상의 보조 서비스 서버들(1012)은 대화 엔진(1002)에 추가적인 서비스들을 제공한다. 일부 실시예에서, 이러한 보조 서비스 서버들(1012)은 스팸 검출 모듈을 포함한다. 스팸 검출 모듈의 동작은 도11을 참조하여 아래에서 논의된다. 일부 실시예에서, 보조 서비스 서버들(1012)은 어태치먼트 관리 모듈을 포함하고, 이러한 어태치먼트 관리 모듈은 이메일 메시지들에 첨부된 파일들의 효율적인 저장 및 검색을 관리한다.
수신된 메시지를 처리하는 실시예가 도11에 제시된다. 메시지가 수신되고, 대화에 할당되며, 인덱스화되고, 하나 이상의 속성들에 할당되며, 저장된다. 처음에, 메시지는 SMTP 게이트웨이(1016)에 의해 수신되고, 예를 들어 여기서 하나의 처리 및 핸들링이 일어나며, 그리고 나서 대화 엔진(1002)으로 전달된다(단계 1102). 대화 엔진(1002)은 메시지에 대한 메시지 식별자를 생성한다. 메시지 식별자는 하나의 메시지를 다른 메시지와 구별하기 위해서 사용된다. 실시예에서, 식별자는 하나 이상의 부분들로 구성되는 N 비트 수이다. 예를 들어, 실시예에서 메시지 식별자는 메시지 컨텐츠의 64 비트 해쉬 및 Y 비트(예를 들면, 32 비트 또는 48 비트) 타임스탬프로 구성되는 64 비트 수일 수 있다. 해쉬는 큰 도메인으로부터의 값들을 보다 작은 값으로 매핑하는 함수이다. 당업자는 메시지들을 서로 구분하기 위해서 충분한 정보를 제공하는 메시지 식별자들을 생성하는 다양한 방법들을 잘 이해할 수 있을 것이다.
대화 엔진(1002)은 메시지를 그 구성 부분들로 분석(parse)한다(단계 1104). 이러한 부분들은 전송자의 어드레스, 하나 이상의 수신 어드레스, 메시지의 주제, 이전에 기술된 RFC 2822(2001년 4월)에 기술된 필드와 같은 "Reference:" 필드, RFC 2822에 또한 기술된 "In-Reply-To:" 필드, 메시지 컨텐츠, 또는 메시지에 포함될 수 있는 임의의 다른 정보를 포함할 수 있다. 메시지가 수신된 후에, 그리고 메시지를 분석하기 전 또는 후에, 메시지는 스팸 검사 모듈로 전달되어 메시지가 스팸 기준에 매칭하는지 여부를 결정한다(단계 1105). 일부 실시예에서, 스팸 검사 모듈은 비동기적으로, 그리고 다른 메시지 처리들과 병렬적으로 수행된다. 일부 실시예에서, 스팸 기준은 수신된 메시지가 사용자가 읽기를 원하지 않는 메시지일 가능성이 있는지 여부를 결정하도록 설계된다.
분석된 메시지는 메시지 데이터베이스에 추가된다(단계 1106). 일 실시예에서, 메시지는 메시지 데이터베이스에 추가되어, 그 후에는 삭제를 제외하고는 뒤이어 수정되지 않는다.
메시지 분석 기간 동안 추출된 메시지의 부분들 중 일부 또는 전부는 수신된 메시지가 속하는 대화를 결정하는 것을 지원하는데 사용될 수 있다(단계 1108). 예를 들어, 메시지의 주제는 동일한 주제를 갖는 다른 메시지와 비교될 수 있는데, 왜냐하면, 대화 내의 메시지들은 동일한, 또는 근접한 주제를 가진 가능성이 있기 때문이다. 대화 매칭이 발견되지 않으면, 메시지는 새로운 대화와 관련된다.
대화 관련(association)이 이루어진 후에, 메시지는 검색을 위해 인덱싱된다(단계 1110). 일 실시예에서, 메시지 텍스트의 전부는 헤더 정보의 부분들과 함께 인덱싱된다. 일부 실시예들에서, 메시지 바디의 "잡음 단어"(예를 들어, "the", "a", 및 "or")는 인덱싱되지 않지만, 메시지의 관련 부분들에서의 다른 텍스트는 인덱싱된다. 당업자는 검색되는 메시지의 이러한 부분들이 인덱싱되어야 함을 잘 이해할 수 있을 것이다. 아래에서 설명되는 바와 같이, 일부 실시예들에서, 메시지와 관련되는 속성(attribute)에 관한 정보는 메시지 처리의 차후 단계에서 인덱스에 추가된다.
다음으로, 속성들의 초기 세트가 메시지에 할당된다(단계 1112). 이러한 속성들 타입은 예를 들어, 메시지가 새로운 것임을 표시하기 위해서 수신 메시지를 "읽혀지지 않은(unread)"(일반적으로 메시지가 아직 읽혀지지 않음을 표시)로서 라벨링하는 것을 포함할 수 있다. 사용자에 의해 전송된 메시지들을 제외한 메시지들에 초기에 할당된 다른 속성은 "인박스(InBox)" 속성이다. 각각의 메시지에 초기에 할당되는 다른 속성들 세트는 동일한 대화에서 (존재하는 경우)다른 메시지와 관련된 사용자-정의 소성들이다. 대화에서 다른 메시지들과 관련되는 사용자 정의 속성들은 아래에서 도18을 참조하여 설명되는 대화 데이터베이스를 검색함으로써 결정된다. 다른 속성들이 메시지에 초기에 할당될 수 있다. 메시지와 관련되는 속성들은 유사한 속성들을 갖는 메시지를 획득하기 위해서 메시지 데이터베이스를 검색하는데 사용될 수 있다. 예를 들어, "읽혀지지 않은"로 라벨링되는 모든 메시지들을 검색하도록 하는 검색이 실행될 수 있다. 또한, 일 실시예에서, 메시지는 자신의 대화의 속성들을 물려받기 때문에, 대화 속성들이 메시지에 추가될 수 있다.
일부 실시예들에서, 메시지와 관련되는 속성들은 개별 메시지들과 관련된 속성들을 포함하지만, 대화의 모든 메시지를 반드시 포함할 필요는 없다. 예를 들어, "Marked for Deletion" 속성(종종 "트래시" 속성으로 지칭됨)은 대화의 개별 메시지와 관련되지만, 동일한 대화의 다른 메시지들과는 관련되지 않는다. 삭제로 마킹된 메시지들은 시스템에 의해 여전히 저장되고, 대화들과 여전히 관련되지만, 대응하는 대화들이 디스플레이될 때 일반적으로 디스플레이되지 않는다. 하나 이상의 특별한 뷰(view)들이 사용되어, 사용자가 "Marked for Deletion" 속성을 갖는 메시지들 뷰잉할 수 있도록 할 수 있다. 이러한 뷰는 사용자에게 메시지를 "undelete"하게 하는 기회를 제공한다. 다른 한편으로, 일부 실시예들에서, 사용자 정의 라벨이 대화와 관련되는 경우, 그 라벨은 대화의 모든 메시지들과 관련된다. 일부 다른 실시예들에서, 사용자 정의 라벨이 대화와 관련되는 경우, 그 라벨은 소정 기준을 충족시키는 대화 내의 모든 메시지들(예를 들면, 삭제로 마킹된 메시지를 제외한 메시지들)과 관련된다.
다음으로, 사용자가 설정할 수 있는 임의의 사용자 정의 필터들이 메시지에 적용될 수 있다(단계 1114). 각각의 사용자 정의된 필터는 한 세트의 필터 조건들 및 한 세트의 액션들을 포함한다. 필터 조건들은 어떤 메시지가 필터에 매칭하는지를 정의하고, 액션은 메시지에 추가되거나, 메시지로부터 제거될 라벨들을 규정하는 액션들을 포함한다. 필터 조건들은 전송자, 수신자, 메시지 주제의 텍스트, 메시지의 텍스트, 등에 대한 기준을 포함할 수 있다. 일부 실시예들에서, 액션들은 "remove from inbox"(존재하는 경우, 메시지로부터 인박스 라벨을 제거함)를 포함할 수 있고, 시스템 라벨(종종 카테고리로 지칭됨)을 메시지에 추가하고, 사용자 정의 라벨을 사용자에 추가하는 것을 포함한다. 예를 들어, 필터는 특정 텀 또는 텀들의 조합을 갖는 모든 메시지들이 "트래시" 라벨로 라벨링되는 것을 규정할 수 있다. 다른 필터는 "Lake Tahoe"라는 텀이 메시지 내의 임의의 장소에서 나타나면, "Vacation" 라벨이 메시지에 추가될 것을 규정할 수 있다.
일부 실시예들에서, 단계들(1112 및 1114)은 처리되는 메시지에 대한 라벨들의 할당에 관한 것이다. 상기 단계들(1112 및 1114)이 수행되는 시점에서, 스팸 검사 모듈로부터의 결과(단계 1105)가 검색된다. 스팸 검사 모듈을 그 메시지를 스팸으로 분류하면, "스팸" 라벨이 메시지에 라벨링되고, 임의의 상충하는 라벨들(예를 들면, "인박스(Inbox)" 또는 "트래시(Trash)")이 메시지로부터 제거된다.
메시지에 할당된 라벨들 세트가 설정된 후에, 메시지에 할당된 라벨들 세트를 반영하기 위해서 대화 엔진(1002)의 임의의 테이블 및 인덱스가 갱신된다(단계 1116). 인덱스는 메시지가 할당된 라벨들을 포함하는 정보를 추가함으로써 갱신된다. 결과적으로, 이러한 라벨들 각각에 대한 인덱스 검색은 현재 처리되는 메시지를 포함하는 메시지들의 리스트를 생성할 것이다. 또한, 대화 엔진의 적어도 하나의 테이블 또는 데이터베이스가 현재 처리되는 메시지에 할당된 라벨들의 세트를 표시하기 위해서 갱신된다. 이는 아래에서 도18을 참조하여 설명된다.
마지막으로, 확인신호(ack)가 메시지 전송자에게 전송된다(단계 1118). 일부 실시예들에서, 이러한 확인신호는 전송될 수도 있고, 전송되지 않을 수도 있다.
도11은 특정 순서로 단계들을 보여주지만, 이러한 순서들은 변경될 수 있다. 다른 실시예들에서, 이러한 단계들은 다른 순서를 가질 수 있다. 예를 들어, 메시지 인덱싱에 앞서 메시지가 메시지 데이터베이스에 추가될 수 있고, 그리고 나서 단계(1114)가 단계(1110)에 선행하여 수행될 수 있다. 당업자는 다양한 변형된 순서들에 대해 잘 이해할 수 있을 것이다.
각 메시지를 대화와 관련시키기
도12를 살펴보면, 다음은 어떻게 메시지가 대화와 매칭되는지를 보여준다(단계 1106). 메시지가 분석(도11의 단계 1104)된 후, 구성 부분들 중 일부는 후보 대화에 대한 검색 질문을 포뮬레이팅(formulate)하기 위해서 사용된다(단계 1202). 예를 들어, 대화는 시간 정보, 전송자 정보, 주제 정보, 헤더의 다른 정보, 또는 시스템에 의해 제공되는 정보, 또는 이들의 조합에 기반하여 관련(relate)된다. 일 실시예는 "Reference;" 및/또는 "In-Reply-To:''필드와 함께 메시지의 주제를 사용하여 검색 질문을 포뮬레이팅한다. 다른 실시예들은 검색 질문에서 메시지의 전송자 또는 수신자를 포함한다. 당업자는 현재 메시지와 관련될 수 있는 메시지들을 생성하기 위한 다른 검색 질문들을 잘 이해할 수 있을 것이다.
검색 질문은 이전에 저장된 메시지들에 대해 적용되고, 후보 메시지들이 수신된다(단계 1204). 메시지, 또는 메시지에 대한 정보가 검사되어 어떤 메시지가 현재 메시지에 가장 잘 매칭되는지를 결정한다(단계 1206). 메시지가 속하는 대화는 현재 메시지가 속하는 대화일 가능성이 높다. 다수의 다른 방법들이 현재 메시지가 속하는 대화를 결정하기 위해서 사용될 수 있다. 일 방법은 현재 메시지의 주제를 사용하는 것이다. 동일한 주제를 갖는 메시지는 동일한 대화에 속할 가능성이 높다. 따라서, 현재 메시지의 주제를 사용하는 질문이 포뮬레이팅될 수 있다. 예를 들어, 인입 메시지가 "우리가 오늘 점심을 위해 어디로 가야하나?" 라는 주제를 가지는 경우, 현재 메시지가 속하는 대화는 동일한 주제를 갖는 하나 이상의 메시지들을 포함할 것이다. 주제들을 비교할 때, 비교 수행에 앞서 주제를 정규화(normalize)하는 것이 바람직하다. 일부 실시예들에서, 주제를 정규화하는 것은 일부 시스템에 의해 주제에 일반적으로 첨부되는 "Re" 및 "Fwd"와 같은 서문을 제거하는 것을 포함한다.
그러나, 단지 주제뿐만 아니라 다른 것들을 검사하는 것이 바람직할 수 있다. 2개의 메시지들이 동일한 주제를 가지지만, 하나가 다른 것에 앞서 수신되었다면, 이들은 동일한 대화의 부분이 아닐 확률이 높다. 예를 들어, "우리가 오늘 점심을 위해 어디로 가야하나?" 라는 주제를 갖는 2개의 메시지들이 1달의 시간 간격을 두고 수신되었다면, 이들은 동일한 대화의 부분이 아닐 확률이 높다. 따라서, 일 실시예에서, 현재 메시지 및 후보 대화로부터의 메시지의 정규화된 주제들이 매칭되면, 메시지들의 날짜/시간 값에 대한 검사가 바람직할 수 있다.
대화에 대한 메시지 매칭이 존재하는 경우, 다른 인자들, 예를 들면 수신자, 메시지 컨텐츠 부분들, 전송자의 도메인 어드레스 등이 고려될 수 있다. 당업자는 새로운 메시지가 속하는 대화를 결정하기 위한 다양한 방법들이 존재함을 잘 이해할 수 있을 것이다. 현재 메시지가 충족스럽게 매칭 메시지와 매칭되면, 그 매칭 메시지와 관련된 대화는 현재 메시지와 관련된다(단계 1206). 다른 한편으로, 충족스러운 매칭이 발견되지 않으면, 새로운 대화 식별자가 그 메시지와 관련된다(단계 1206).
일부 실시예들에서, 대화 식별자는 대화에서 수신된 초기 메시지로부터 생성될 수 있다. 예를 들어, 시스템에 의해 제공되는 초기 메시지의 메시지 식별자(송신 또는 수신 시스템에 의해 제공됨)는 대화 식별자로 기능할 수 있다. 그리고 나서, 후속 메시지들은 이제 대화 식별자로 동작하는 메시지 식별자와 관련된다. 당업자는 대화 식별자를 제공하기 위해서 사용될 수 있는 초기 메시지의 다양한 특징들을 잘 이해할 수 있을 것이다. 일부 실시예들에서, 이러한 특징은 그 값이 초기 메시지에 고유하고, 따라서 다수의 대화들이 동일한 대화 식별자에 할당되지 않을 것이라는 믿을 제공하기 위해서 사용될 수 있다.
전술한 바와 같이, 현재 메시지가 (이전에 존재하거나 새롭게 생성된)대화와 관련된 후(단계 1106), 초기 속성들이 추가된다(단계 1108). 이러한 초기 속성들을 추가하는(단계 1108) 일 실시예는 도13을 참조하여 설명될 것이다. 초기에, 메시지 전송자가 검사된다. 현재 메시지의 전송자가 이러한 메시지 처리가 수행되는 사용자가 아니라면, 현재 메시지가 다른 누군가에 의해 그 사용자로 전송되었을 확률이 높다. 따라서, 단계(1302)에서, 현재 메시지의 전송자가 그 사용자가 아니라고 결정되면, "인박스"의 초기 속성(인박스 라벨로 지칭됨)이 현재 메시지와 관련될 수 있다(단계 1304). "인박스" 속성은 사용자에게 전송된 이러한 메시지들을 식별하는데 사용된다. 예를 들어, 일부 실시예들에서, "인박스" 속성을 갖는 메시지들의 검색이 그 사용자에 대한 인박스 뷰 생성에서 사용된다.
이러한 실시예에서, 용어 "속성" 및 "라벨"은 서로 교환되어 사용된다. 또한, 특정 속성을 메시지에 "관련(associating)"시키는 것과, 메시지를 특정 속성 또는 라벨로 "마킹"하는 것은 동일한 동작 또는 등가의 동작으로 간주된다.
현재 메시지가 새로운 메시지일 확률이 높기 때문에, 사용자가 이러한 메시지를 이전에 보지 않았을 확률 또한 높다. 따라서, 이를 표시하는 "읽혀지지 않은" 속성이 현재 메시지와 관련된다(단계 1306). 당업자는 동일한 결과를 얻기 위해서 메시지 속성들이 다양한 방식으로 구현될 수 있음을 잘 이해할 수 있을 것이다. 예를 들어, 미리 정의된 값이 "인박스"를 표시할 수 있다. 요구되는 속성들을 갖는 메시지가 이러한 속성들에 기반하여 검색가능하다는 것은 충분하다. 다른 속성들이 또한 메시지와 관련될 수 있다. 속성들은 복수의 형태들로 간주될 수 있지만, 이러한 구분이 특정 속성에 대한 검색 능력에 비해 중요하지 않다. 속성들은 정의된 속성들, 예를 들면, 인박스(InBox), 트래시(Trash), 스팸(Spam), 모든 문서들(All_Documents) 및 읽혀지지 않은(unread)을 포함할 수 있다. 일부 실시예들에서, 임의의 시스템 속성들은 상호 배타적일 수 있다(예를 들면, 인박스, 트래시, 및 스팸). 속성들은 사용자 정의 속성들(종종 여기서 카테고리로 지칭됨)을 포함할 수 있다.
사용자가 처리되는 메시지의 전송자였다면(단계 1302에서 결정됨), 또는"읽혀지지 않은"과 같은 임의의 적용가능한 시스템 속성들이 메시지에 추가된 후에(단계 1306), 대화에 속하는 추가적인 속성들이 메시지에 추가된다(단계 1307).
어떠한 필터 기준이 인입 메시지에 대해 검사 및 적용될 수 있다(단계 1308). 일 실시예에서, 미리 결정된 조건들이 충족되는 경우, 속성들을 수신된 메시지에 적용하는 필터들을 사용자가 설정할 수 있다. 다른 실시예에서, 시스템은 하나 이상의 미리 정의된 필터들을 수신된 메시지에 적용할 수 있다.
현재 메시지가 필터 기준에 매칭되면, 속성들이 필터에 따라 그 메시지에 적용된다(단계 1310). 일 실시예에서, 시스템은 어떤 메시지들이 "인박스"에 위치되지 않도록, 사용자가 필터를 설정할 수 있도록 하는 툴을 제공한다. 즉, 필터는 "인박스" 속성이 그 메시지로부터 제거되도록 한다. 다른 실시예에서, 현재 메시지는 하나 이상의 대화가 관련되는 사용자에 대한 관심 영역을 표기하는 라벨과 같이, 특정한 사용자 정의 속성과 관련된다. 예를 들어, 인입 메시지는 "음식" 라벨을 갖는 대화와 관련되고, "음식" 라벨은 현재 메시지와 관련된다. 일반적으로, 메시지는 자신이 관련되는 대화에 대한 라벨들을 물려받는다. 다수의 필터들이 수신된 메시지들에 적용될 수 있기 때문에, 새롭게 수신된 메시지들 및 그들의 관련 대화들은 둘 이상의 사용자 정의된 라벨과 관련될 수 있다.
다른 실시예에서, 사용자는 스누즈(snooze) 조건을 대화와 관련시킬 수 있다. 일부 실시예들에서, 스누즈 조건은 사용자는 특정하게 그 시스템이 그렇게 하도록 명령하는 경우에 대화와 관련된다. 일부 실시예들에서, 스누즈 조건은 필터가 대화의 메시지와 매칭하는 경우에 대화와 관련된다. 스누즈 조건은 스누즈 조건이 적용된 대화에서 새로운 메시지가 수신될 때마다, 수행될 어떠한 액션들을 규정한다. 예를 들어, 스누즈 조건은 시스템이 인박스 라벨을 대화의 새로운 메시지와 관련시키지 않도록 한다. 구체적으로, 사용자는 임의의 조건들이 충족되지 않는 경우 대화의 새로운 메시지가 사용자의 인박스에 위치되는 것을 방지하는 스누즈 조건을 대화와 관련시킨다(직접 쪼는 필터 동작을 통해). 하나의 이러한 트리거 조건은 (유일한 주 수신자로서)사용자로 직접적으로 어드레스된 인입 메시지이다. 또 다른 트리거 조건은 사용자 또는 시스템에 의해 선택된 시간 주기의 전달이다. 또 다른 트리거 조건은 규정된 단어 또는 문장을 포함하는 수신 메시지일 수 있다. 이러한 예에서, 스누즈 조건을 충족시키는 메시지가 수신되면, 스누즈 조건은 대화로부터 제거되고, 인입 메시지는 "인박스" 라벨로 라벨링된다. 일부 실시예에서, 추가적이 액션들, 예를 들면 "인박스" 라벨을 대화의 다른 메시지에 추가하는 액션이 취해진다. 또 다른 실시예에서, "읽혀지지 않은(Unread)" 라벨을 갖는 대화의 모든 메시지들은 "인박스(InBox)" 라벨로 라벨링된다. 따라서, "인박스"에 대한 검색은 이러한 대화를 리턴한다. 일부 실시예들에서, 미리 정의된 이벤트 또는 조건이 일어날 때까지, 대화와 관련된 새로운 메시지가 "인박스" 라벨로 마킹되는 것을 방지하는 스누즈 필터를 생성함으로써 스누즈 조건이 대화와 관련되고, 미리 정의된 이벤트 또는 조건이 일어난 후에 스누즈 필터는 삭제 또는 수정된다.
수신 메시지에 적용될 수 있는 또 다른 필터 타입은 바람직하지 않은 메시지들을 식별하고, "스팸" 라벨로 이들을 마킹하는(즉, "스팸" 속성을 이러한 메시지와 관련시킴) "스팸" 필터이다.
도14는 대화 속성들을 수정하는 일 실시예를 보여준다. 대화 속성들은 대화 또는 대화와 관련된 인입 메시지가 필터 기준에 매칭될 때 수정될 수 있다. 이러한 대화 속성들은 또한 대화가 특정 사용자 정의 속성을 가져야만 함을 사용자가 표시하는 경우 수정될 수 있다. 예를 들어, 사용자는 특정 대화가 "음식" 카테고리와 관련되어야 함을 지정할 수 있다. 이러한 경우, 대화(및 그 각각의 메시지)는 "음식" 라벨로 마킹되어, "음식" 속성과 관련되게 된다. 사용자는 또한 대화를 삭제를 위해 마킹된 것으로 지정할 수 있다.
일부 방식에서, 사용자 정의 속성들은 개념적으로 폴더들과 비교될 수 있다. 그러나, 본 발명의 실시예들을 대화가 다수의 사용자 정의 속성들과 관련되도록 하여준다. 일부 실시예들에서, 새로운 속성이 대화와 관련되면, 대화의 모든 메시지들이 새로운 속성으로 마킹된다.
도 14과 관련하여, 대화의 주어진 속성이 수정되어야 하는 경우에, 대화를 위치시키기 위해(스테이지 1404) 검색이 포뮬레이팅된다(formulated)(스테이지 1402). 대화가 검색된 후에(스테이지 1404), 대화의 속성은 수정될 수 있다(스테이지 1406). 스테이지들 1402, 1404 및 1406을 달성하기 위해 사용되는 특정한 메커니즘들은 대화들과 속성들을 연관시키기 위해 사용되는 메커니즘들에 따라 좌우된다. 몇몇 실시예들에서, 속성들은 대화 기반(basis)에 의해 대화와 연관된다. 예를 들어, 대화 엔진은 각각의 특정 대화와 관련된 속성들의 리스트를 유지할 수 있다. 대안적으로 또는 추가적으로, 대화 엔진은 각각의 정의된 속성을 상기 속성으로 마킹된 모든 대화들과 매핑하는 인덱스를 유지할 수 있다. 대안적으로, 몇몇 실시예들에서 대화와 연관된 속성들은 대화에 있는 개별적인 메시지들과 연관된다. 이러한 실시예들에서, 대화 엔진은 각각의 정의된 속성을 상기 속성으로 마킹된 모든 메시지들과 매핑하는 인덱스를 유지할 수 있으며, 추가적으로 각각의 메시지를 상기 메시지와 연관된 대화들과 매핑하기 위한 테이블 또는 다른 메커니즘을 유지할 수 있다.
본 발명의 많은 특징들은 메시지들과 대비되는 정보의 기본 유니트로서 대화들을 사용한다. 예를 들어, 인박스(InBox)는 사용자에게 대화들의 리스트를 제공한다. 본 발명의 몇몇 특징들은 사용자의 이메일 계정에 있는 대화들에 대한 복수의 구별되는 뷰(view)들로 나열되는 대화들을 식별하기 위해 검색을 이용한다. 대화들을 검색하고 식별된 대화에 대한 표시를 생성하는 과정은 도 15와 관련하여 설명된다. 처음에, 검색 질문이 수신된다(스테이지 1502). 검색 질문은 사용자별로 특정되거나 또는 (예컨대, "인박스" 아이콘에 대한 사용자의 클릭에 응답하여) 시스템에 의해 생성될 수 있다. 검색 질문은 다수의 인자들에 기반할 수 있다. 검색 질문에 있는 검색 텀(term)들은 워드들 또는 워드들이 결합된 형태로 사용자로부터 입력될 수 있다. 예를 들어, 사용자는 "베이글(bagel)" 또는 "저렴한(inexpensive)"와 같은 단어들을 포함하는 메시지들을 검색할 수 있으며, 관련된 대화들이 리턴될 것이다. 검색 질문은 특정한 사용자 동작들에 응답하여 시스템에 의해 생성될 수 있다. 예를 들어, 시스템에 의해 생성된 검색 질문은 사용자가 인박스 뷰를 원한다면 "인박스" 속성을 가지는 대화들을 검색할 수 있다.
검색가능한 텀들의 임의의 조합들은 검색 질문에서 사용될 수 있다. 위에서 언급한 바와 같이, 검색가능한 텀들은 메시지들의 텍스트, 메시지들과 관련된 임의의 속성들, 대화들 또는 메시지와 관련된 헤더 정보를 포함할 수 있다. 일 실시예에서, 검색 질문을 메시지 데이터베이스에 적용하는 것은 메시지들의 세트를 리턴시킨다(스테이지 1504). 도 10과 관련하여, 이것은 예컨대 검색 질문을 질문 엔진(1008)에 전송함으로써 이루어질 수 있다. 질문 엔진(1008)은 검색 질문을 메시지들의 리스트를 리턴시킬 수 있는 메시지 인덱스(1006)에 적용할 수 있다. 메시지들의 리스트는 스테이지 1504에서 수신될 수 있다. 원한다면, 다른 실시예들은 메시지 식별자들, 문서 식별자들, 메시지들의 전부 또는 일부, 또는 이들의 임의의 결합의 세트를 리턴시키는 방식을 포함하는 다수의 상이한 방식들로 메시지들의 리스트를 리턴시킬 수 있다.
몇몇 실시예들에서, 검색은 개별적인 메시지들에 대해서 보다는 대체적으로 대화들에 대하여 실행된다. 그리하여, 하나는 제 1 메시지에서 발견되고 다른 하나는 동일한 대화의 제 2 메시지에게 발견되는, 제 1 및 제 2 검색 텀들이 질문에 포함될 때, 대화는 질문과 관련이 있는 것으로 간주되어 검색 결과에 포함될 것이다. 예를 들어, 제 1 메시지는 점심 위치에 대한 생각을 물어보며 특정한 레스토랑을 언급하는 다음 메시지는 원래의 메시지의 텍스트를 포함하지 않는 대화가 있다고 가정한다. 사용자가 특정한 레스토랑과 점심에 대하여 논의되었던 대화를 검색하는데 관심이 있는 경우에, 대화 내에 있는 대화들의 경계들이 존재하지 않는 것처럼, 검색이 전체 대화의 텍스트에 대하여 적용된다면 이러한 검색은 원하는 결과를 생성할 가능성이 높다.
대화들은 스테이지 1504에서 리턴된 메시지들의 세트와 연관된다. 다수의 방법들이 연관된 대화들을 식별하기 위해 이용될 수 있다. 메시지가 스테이지 1504에서 리턴된 세트로부터 선택되면(스테이지 1506), 메시지가 속하는 대화가 식별된다(스테이지 1508). 일 실시예에서, 각각의 메시지를 대화에 매칭하는 데이터 구조는 유지될 수 있다. 이러한 경우에, 특정한 메시지 식별자와 관련된 데이터 구조 엔트리에 대한 검사는 메시지가 속하는 대화를 식별하게 될 것이다. 결과 세트로서 리턴될 대화들의 수는 미리 정의된 수로 제한될 수 있다. 이러한 경우에, 충분한 수의 대화들이 식별되고 결과들이 리턴될 때까지 메시지들의 세트에 대한 프로세싱이 계속된다. 이에 반해서, 리턴되는 메시지들의 세트와 관련된 대화들 모두가 식별될 수 있으나, 오직 서브세트만이 리턴된다.
리턴된 결과들의 전부 또는 일부가 속하는 대화들을 식별함으로써 대화들의 리스트가 생성되면(스테이지 1510), 대화 정보는 요청자에 대한 리턴을 위해 포매팅된다(스테이지 1512). 포매팅 스테이지 1512는 식별된 대화들과 관련된 다수의 상이한 타입들의 정보를 포매팅할 수 있으며, 이에 대한 세부 사항들은 다른 실시예에서는 변경될 것이다. 몇몇 실시예들에서, 포매팅 정보는 대화 정보를 사용자에게 표현하기 위해 대화 어시스턴트(110)에 의해 인식되는 타입에 관한 것이다.
몇몇 실시예들에서, 스테이지 1510에서 생성된 대화들의 리스트에 있는 대화들은 미리 정의된 규칙 또는 규칙 세트에 따라 각각의 대화에 지정된 날짜/시간 값에 따라서 배열된다. 위에서 설명된 바와 같이, 몇몇 실시예들에서, 대화들의 리스트에 있는 각각의 대화는 대화들의 리스트를 생성하기 위해 사용되는 검색 기준에 매칭되는 가장 최근의 메시지의 날짜/시간과 동일한 날짜/시간으로 지정되며, 대화들의 리스트에 있는 대화들은 이러한 지정된 날짜/시간 값들에 따라 (예컨대, 역시간 순서로) 배치된다. 당업자는 대화들의 리스트에 있는 대화들을 배치하고 표현하기 위한 다양한 다른 방식들이 존재한다는 것을 이해할 것이다.
몇몇 실시예들에서, (스테이지 1512에서 생성된) 대화들의 리스트를 나타내는 포매팅된 대화 데이터는 대화들의 리스트에 있는 각각의 대화에 포함된 메시지들의 수에 대한 카운트를 포함한다. 몇몇 실시예들에서, 각각의 대화에 대한 메시지 카운트는 얼마나 많은 메시지가 대화에 포함되어 있는지를 사용자에게 표시하기 위해 대화 어시스턴트(110)에 의해 디스플레이된다.
일 실시예에서, 간결한 대화 헤더는 (예컨대, 스테이지 1512 동안) 대화들의 리스트에 있는 각각의 대화에 대하여 생성된다. 대화 헤더는 대화에 있는 메시지들의 전송자 리스트를 식별할 수 있다. 이러한 리스트는 대화 내에 있는 전송자들 모두 또는 서브세트를 포함할 수 있다. 몇몇 실시예들에서, 전송자 리스트는 현재 사용자에 의해 "읽혀지지 않은(Unread)"으로 라벨링된 (대화에 있는) 메시지를 전송한 전송자들을 시각적으로 구별하기 위해 포매팅된다. 다른 실시예에서, 대화 어시스턴트(110)는 이러한 전송자들을 다른 전송자들과 상이한 포맷으로 표현한다. 예를 들어, "읽혀지지 않은" 메시지들의 전송자들은 볼드(bolded) 또는 하이라이팅된(highlighted) 텍스트를 사용하여 식별될 수 있다.
다른 실시예에서, (간결한 대화 헤더에 있는) 메시지들의 전송자 리스트는 사용자의 이름 또는 주소를 자기-참조 식별자로 대체함으로써 처리될 수 있다. 그 결과, 대화에 대한 전송자 리스트가 디스플레이되면, 사용자의 이름 또는 사용자가 아닌 전송자들과 유사한 다른 식별 정보를 디스플레이하는 대신에, 자기-참조 식별자(예를 들어, "me")가 디스플레이된다. 다른 타입의 자기-참조 식별자들이 보고 있는 사용자와 다른 사용자들을 구별하기 위해 사용될 수 있다.
다른 실시예에서, 대화들의 리스트에 있는 각각의 메시지에 대한 간결한 대화 헤더는 사용자가 메시지를 어떻게 수신하였는지를 나타내는 정보를 포함할 수 있다. 바꾸어 말하면, 상기 정보는 사용자에게 메시지가 어떻게 전송되었는지를 구체적으로 식별할 수 있다. 예를 들어, 사용자는 메시지로 직접 전송될 수 있고, 메시지를 통해 복사될 수 있고, 메시지를 통해 무작정(blindly) 복사될 수 있고, 또는 메시지가 전송된 분배 리스트의 일부일 수 있다. 사용자가 메시지를 수신하는 하나 이상의 이러한 다양한 방식들은 사용자에게 표시될 수 있다. 예를 들어, 사용자가 직접 메시지로 전송되면, 아이콘 표현은 언제 대화를 사용자에게 표현할지를 표시하기 위해 (">"와 같이) 사용될 수 있다.
몇몇 실시예들에서, 대화들의 리스트에 있는 각각의 메시지에 대한 간결한 정보 헤더는 대화 컨텐트의 스니펫(snippet)을 포함하며, 스니펫은 볼드로 검색 텀들과 매칭하는 텍스트를 디스플레이하고 또한 일반 폰트로 포매팅된 매칭 텍스트 주변의 텍스트를 포함하기 위한 정보를 포함한다. 대화들의 리스트가 인박스 또는 다른 시스템 카테고리에 대하여 생성되면, 스니펫은 미리 정의된 기준에 따라 선택된 대화로부터의 텍스트를 포함한다. 몇몇 실시예들에서 스니펫은 대화에 있는 가장 최근의 메시지의 시작부로부터의 텍스트를 포함하며, 다른 실시예에서 스니펫은 대화 컨텐트를 나타내기 위해 자동적으로 선택된 텍스트를 포함한다.
다른 실시예에서, 사용자가 검색 질문에 매칭하는 대화들 중에서 특정한 대화를 보기 위해 선택하면, 대화 엔진은 대화에 있는 어떤 메시지가 질문에 매칭하고 어떤 메시지가 질문에 매칭하지 않는지를 나타내는 대화 정보를 생성할 수 있다. 대화 정보는 또한 검색 질문에 매칭하는 메시지들의 텍스트 일부를 포함할 수 있다. 이러한 대화 정보는 사용자에 대한 디스플레이를 위해 포매팅될 수 있다. 대화 정보는 확장 모드에서 디스플레이하기 위해 포매팅된 매칭 메시지들과 콤팩트 모드에서 디스플레이하기 위해 포매팅된 넌-매칭 메시지들을 포함할 수 있다. 다양한 타입들의 정보는 확장 모드에서 사용자에 대하여 표시될 수 있으며, 다음 중 모두 또는 일부분의 임의의 결합을 포함한다: 헤더 정보, 컨텐트 정보, 검색 질문에 매칭하는 텍스트 및 검색 질문 주변의 텍스트. 몇몇 실시예들에서, 검색 질문에 매칭하는 하나 이상의 메시지들이 (예를 들어, "콤팩트 올(all) 메시지" 버튼 또는 옵션을 선택하는 사용자에 응답하여) 콤팩트 모드에서 디스플레이될 때, 콤팩트 모드에서 이러한 메시지들을 위해 디스플레이되는 정보는 메시지 컨텐트의 스니펫을 포함하며, 스니펫은 볼드로 검색 텀들과 매칭하는 텍스트를 디스플레이하고 또한 일반 폰트로 포매팅된 매칭 텍스트 주변의 텍스트를 포함하기 위한 정보를 포함한다.
다른 실시예에서, 대화 정보는 특정 사용자들이 대화에 추가되거나 또는 대화에서 제거되는 때를 표시할 수 있다. 예를 들어, 사용자가 하나의 시간 포인트까지 대화에 있는 메시지들 상에 포함되었으나 그 이후에 더 이상 포함되지 않는 경우, 하나 이상의 다음 메시지들에 대한 정보는 상기 사용자가 더 이상의 대화의 일부가 아니라는 것을 표시할 수 있다. 대화 어시스턴트는, 예컨대 여전히 대화에 참여하고 있는 사용자들의 이름들을 디스플레이하기 위해 사용되는 폰트와는 상이한 사용자의 이름을 디스플레이하기 위한 폰트를 사용함으로써 이를 구현할 수 있다. 대화 어시스턴트는 이러한 목적을 위해 "고스트(ghost)" 폰트를 사용할 수 있다.
대화 정보는 또한 대화에 대한 새로운 참여자를 소개하기 위한 정보를 제공할 수 있다. 예를 들어, 새로운 참여자를 포함하는 제 1 메시지와 관련된 정보는 새로운 사용자의 이름을 구별되도록 디스플레이하기 위한 포매팅 정보를 포함할 수 있다. 이러한 정보는 대화 어시스턴트에 의해 사용자에 대하여 디스플레이될 수 있으며, 그 결과 새롭게 추가된 전송자의 이름 또는 다른 식별 정보는 볼드 또는 다른 시각적으로 구별되는 표현 포맷으로 표시된다.
대화 정보는 또한 스펠 검사에 대한 정보를 포함할 수 있다. 상기 정보는 스펠 검사기(1014)가 어떤 단어를 잠재적으로 부정확하게 스펠링된 것으로 식별하였는지에 대한 표시뿐만 아니라 정확한 스펠링을 위한 제안들과 관련된 정보를 포함할 수 있다.
도 16은 본 발명의 일 실시예에 따른 메시지들을 저장하기 위한 포맷에 대한 설명을 제공한다. 메시지가 메시지 데이터베이스에 저장되면(도 11의 스테이지 1114), 상기 메시지는 도 16에 도시된 바와 같이 저장될 수 있다. 메시지 데이터베이스(1602)는 예컨대 메시지 1(1604) 내지 메시지 x(1606)과 같은 메시지들에 대한 정보를 포함할 수 있으며, 여기서 x는 특정 사용자에 대응하는 메시지들의 수를 나타낸다. 일 실시예에서, 각각의 사용자 메시지들은 각각의 사용자에게 고유한 메시지 데이터베이스(1602)에 저장된다. 다른 실시예에서, 하나 이상의 사용자들에게 속하는 메시지들은 동일한 메시지 데이터베이스(1602)에 저장될 수 있다. 당업자는 메시지들이 다른 사용자에게 속하는 것으로 하나의 사용자에게 표시되는 것을 방지하기 위한 다양한 방법들을 이해할 것이다. 다른 실시예에서, 하나 이상의 사용자들로부터의 메시지들은 메시지마다 오직 하나의 저장 엔트리를 가지는 메시지 데이터베이스(1602)에 저장될 수 있으며, 그 결과 다수의 사용자들이 메시지에 대한 단일 사본을 참조하게 된다.
일 실시예에서, 메시지(예컨대, 메시지(1608))는 헤더 정보(1612), 컨텐트(1614) 및 어태치먼트(attachment)(1616)를 포함할 수 있다. 헤더 정보(1614)는 예컨대 전송자 및 수신자를 식별하는 정보, 메시지의 날짜/시간 값 및 주제를 포함하는 메시지들에 대한 헤더 정보를 포함할 수 있다. 다른 정보가 또한 RFC 2822에 설명된 바와 같이 헤더 정보에 포함될 수 있다. 컨텐트(1614)는 메시지의 컨텐트를 포함할 수 있다. 컨텐트(1614)는 텍스트 및/또는 (예컨대, 이미지 또는 그림과 같은) 다른 타입들의 컨텐트를 포함할 수 있다. 어태치먼트(1616)는 특정 메시지에 첨부되는 임의의 정보의 컨텐츠일 수 있다. 예를 들어, 메시지에 첨부된 문서는 메시지(1610)의 이 부분에 위치할 수 있다. 당업자는 메시지 정보를 저장하기 위한 다른 방법들을 이해할 것이다. 예를 들어, 어태치먼트는 다른 저장 구조에 저장될 수 있으며 자신에 대한 참조가 어태치먼트(1616)에 위치한다.
대안적인 실시예에서, 각각의 대화에 대한 모든 메시지들은 메시지 데이터베이스에 하나의 레코드, 문서 또는 데이터 구조로서 저장된다.
사용자, 메시지 및 대화 데이터 구조들
도 17은 본 발명의 일 실시예에 따른 사용자 데이터베이스 및 메시지 인덱스를 나타낸다. 사용자 데이터베이스(1702)는 사용자들에 대한 정보를 저장할 수 있다. 저장된 정보는 사용자 정보(1704)를 포함할 수 있다. 사용자 정보(1704)는 사용자 우선순위, 보안 정보 또는 본 발명의 다양한 실시예들에 의해 이용될 수 있는 임의의 다른 정보와 관련된 다양한 타입의 사용자 정보를 포함할 수 있다. 사용자 데이터베이스는 사용자 ID (1)(1706) 내지 사용자 ID (m)(1708)과 같은 사용자들을 식별하기 위해 사용되는 사용자 식별 정보를 포함하며, 여기서 m은 시스템의 사용자 수를 나타낸다. 특정한 사용자 ID (m)(1708)은 n-비트 이진수와 같은 각각의 사용자에 대한 고유한 식별자일 수 있다. 또한, 다른 타입의 사용자 식별이 이용될 수 있다.
몇몇 실시예들에서, 사용자의 사용자 ID는 사용자의 이메일 계정과 관련된 필터들, 질문들 및 라벨들에 대한 정보를 저장하기 위한 데이터 구조 세트(1720)를 식별하기 위해 사용된다. 몇몇 실시예들에서, 이러한 데이터 구조들은 사용자에 의해 제출된 마지막 몇 개의 질문들을 표현하는 정보를 저장하기 위한 질문 캐시(1722); 사용자-정의된 필터들을 저장하기 위한 필터 데이터 구조 세트(1724); 및 사용자-정의된 라벨들을 표현하는 정보를 저장하기 위한 라벨 데이터 구조(1726)를 포함한다. 질문 캐시(1722)에 저장된 정보에 의해 표현된 최근의 질문들은 사용자가 용이하게 대화 관리 시스템에 대하여 이러한 질문들을 재-제출할 수 있도록 하기 위해 예컨대 그룹 박스(348)(도 3B)에서 사용자에 대하여 표시될 수 있다. 사용자-정의된 필터들은 메시지가 사용자의 메일 계정에 추가되면 각각의 새로운 메시지를 처리하는 동안에 대화 관리 시스템에 의해 사용된다. 사용자-정의된 라벨들과 관련된 저장된 정보는 사용자가 용이하게 사용자-선택된 라벨을 가지는 대화들의 리스트를 요청하기 위해 예컨대 그룹 박스(347)(도 3B)에서 사용자에 대하여 표시될 수 있다.
사용자의 사용자 ID는 사용자에 대응하는 풀(full) 텍스트 및 속성 인덱스(1710)를 식별하기 위해 사용될 수 있다. 풀 텍스트 및 속성 인덱스(1710)는 특정 사용자와 관련될 수 있으며, 그 결과 다른 사용자는 특정 사용자와 관련된 메시지들에 대한 인덱스를 검색할 수 없다. 풀 텍스트 및 속성 인덱스(1710)는 사용자의 메일 계정에 있는 메시지들에 대한 정보를 저장하며, 그 결과 풀 텍스트 및 속성 인덱스(1710)에 대하여 적용되는 질문은 (존재한다면) 매칭 메시지들의 리스트를 리턴시킨다. 상기 리스트는 메시지 식별자들의 리스트로서 리턴될 수 있다.
특정 메시지에 대한 풀 텍스트 및 속성 인덱스(1710)에 포함된 정보는 메시지의 메시지 ID(1712), 메시지의 컨텐트(1714) 및 메시지의 속성들(1716)에 대한 정보를 포함할 수 있다. 메시지 ID(1712)는 메시지에 대한 고유한 식별자(즉, 동일한 사용자에 대하여 저장된 모든 다른 메시지들과 관련하여 고유함)이다. 메시지 ID(1712)는 메시지 데이터베이스(1702)에 저장된 특정 메시지를 참조하기 위해 사용되는 n-비트 수일 수 있다. 일 실시예에서, 메시지 ID(1712)는 64-비트 수일 수 있다. 메시지 ID(1712)는 타임스탬프 정보와 메시지 ID(1712)가 참조하는 메시지의 컨텐트와 관련된 정보로 구성될 수 있다. 타임스탬프 정보는 메시지가 예컨대 SMTP 게이트웨이(1018)에 의해 언제 수신되는지를 표시하는 시스템에 의해 제공되는 Y-비트(예를 들어, 32-비트 또는 48-비트) 타임스탬프일 수 있다. 메시지의 컨텐트와 관련된 정보는 메시지 컨텐츠의 64-Y 비트 해쉬(hash)일 수 있다.
메시지의 컨텐츠는 전체적으로 인덱싱되고 검색가능한 텀들로서 인덱스에 배치된다. 인덱스(1710)가 텀 또는 텀들의 조합에 대하여 검색되면, 인덱스는 텀 또는 텀들의 조합과 매칭되는 메시지들의 메시지 리스트(예컨대, 메시지 ID들)를 리턴시킨다. 특정한 미리 정의된 조건들은 매칭 메시지들 모두 보다 적은 리턴을 요구할 수 있다. 다른 실시예에서, 인덱스(1710)는 질문에 있는 텀 또는 텀들의 조합과 매칭되는 대화들의 리스트(대화 ID들)를 리턴시킨다.
일 실시예에서 풀 텍스트 및 속성 인덱스(1710)에서 검색 텀들에 대한 엔트리들은 각각의 인덱싱된 메시지의 메시지 ID(1712)에 포함된 타임스탬프 정보에 따라 배치되며, 그 결과 검색 텀들과 매칭하는 가장 최근의 메시지들이 우선적으로 리턴된다. 예를 들어, 인덱스(1710)에 있는 각각의 텀과 대응하는 메시지들의 메시지 ID 리스트는 가장 최근의 타임스탬프들을 가지는 메시지 ID들이 더 오래된 타임스탬프들을 가지는 메시지 ID들보다 리스트에 먼저 기재되도록 배치된다. 다른 실시예들에서, 각각의 메시지와 관련된 날짜/시간 정보는 각각의 메시지 수신 날짜 및/또는 시간을 표시하지만, 상기 날짜/시간 정보는 메시지 ID들에 내장되지 않는다. 이러한 실시예들에서, 인덱스(1710)에 있는 엔트리들은 그럼에도 불구하고 가장 최근의 날짜/시간 값들을 가지는 메시지들의 메시지 ID들이 더 오래된 날짜/시간 값들을 가지는 메시지 ID들보다 리스트에 먼저 기재되도록 배치된다.
메시지와 연관된 임의의 속성들(1716)은 또한 인덱싱된다(즉, 인덱스(1710)에 포함된다). 속성들(1716)은 풀 텍스트 및 속성 인덱스(1710)에 추가되며, 그 결과 특정 속성에 대한 질문은 상기 특정 속성과 매칭하는 메시지들을 리턴시킨다. 라벨 또는 속성이 대화에 추가되거나 또는 대화에서 삭제되면, 인덱스(1710)는 그에 따라 업데이트된다. 인덱스는 각각의 정의된 라벨 또는 속성을 각각의 라벨 또는 속성을 가지는 모든 메시지들(또는, 다른 실시예들에서는 대화들)로 매핑하는 엔트리들 또는 데이터를 포함한다. 그리하여, 라벨이 대화에 추가되면, 상기 라벨을 대화에 있는 모든 메시지들과 매핑하기 위해 데이터가 인덱스(1710)에 추가된다. 라벨이 대화로부터 삭제되면, 상기 라벨을 대화에 있는 메시지들과 매핑하는 인덱스에 있는 데이터는 삭제되거나 또는 무효가 된다. 몇몇 실시예들에서, 대화와 관련된 각각의 라벨 또는 속성은 또한 대화 데이터베이스(1808)(도 18)에 있는 하나 이상의 엔트리들에 추가된다.
풀 텍스트 및 속성 인덱스(1710)가 질문 텀들을 개별적인 메시지 ID들(1712)과 매핑하도록 구성될 수 있음에도 불구하고, 다른 데이터 구조들이 메시지 ID들을 대화 식별자들로 매칭하기 위해 제공될 수 있다. 이러한 데이터 구조 세트의 논리적 다이어그램은 도 18에 도시되어 있다. 당업자는 다수의 상이한 데이터 구조들이 검색 질문 텀들을 대화들 또는 대화 식별자들과 매핑하기 위해 사용될 수 있다는 것을 이해하도록 한다.
이전에 설명된 바와 같이, 사용자 데이터베이스(1702)는 특정 사용자와 관련된 풀 텍스트 및 속성 인덱스(1710)를 참조하는 사용자 ID(1708)를 포함할 수 있다. 도 18과 관련하여, 특정한 메시지 ID(1712)는 메시지 대 대화 맵(1804)에 있는 특정한 대화 ID(1802)와 연관될 수 있다. 메시지 대 대화 맵(1804)에 있는 각각의 엔트리는 메시지 ID(1712)를 대화 ID(1802)와 연관시킨다(즉, 매핑시킨다). 몇몇 실시예들에서, 대화 ID(1804)는 n-비트의 수이다. 이러한 수는 메시지 ID(1712)에 의해 식별되는 메시지가 속하는 특정한 대화를 고유하게 식별한다. 이러한 실시예들에서, 사용자 메일 계정에 있는 모든 대화는 구별되는 대화 ID를 가진다.
특정한 대화와 연관된 다른 메시지들을 식별하기 위해, 사용자 대화 데이터베이스(1808)가 사용될 수 있다. 이러한 데이터베이스는, 예컨대 대화에 포함된 메시지들의 나머지 부분을 식별할 때 이용될 수 있으며, 여기서 하나 이상의 메시지들은 특정한 검색 질문과 매칭된다. 사용자 대화 데이터베이스는 다수의 대화 엔트리들(1810)을 포함한다. 각각의 대화 엔트리(1810)는 대화와 연관된 메시지들의 리스트(또는 메시지들을 표현하는 다른 데이터 구조)를 저장한다. 예를 들어, 대화 엔트리(1812)는 메시지 엔트리들(1816)의 링크 리스트를 포함할 수 있으며, 각각의 메시지 엔트리는 대화에 있는 특정한 메시지에 대응한다. 링크 리스트는, 예컨대 대화에 있는 메시지들과 연관된 날짜/시간 값들에 의해 배열될 수 있다. 예시적인 메시지 엔트리(1816)는 특정한 메시지의 메시지 ID(1712), 헤더(1818) 및 라벨들(1820)을 포함한다. 헤더(1818)는 이전에 설명된 헤더 정보(1612)의 전부 또는 일부를 포함할 수 있다. 라벨들(1820)은 메시지와 연관된 특정 속성들을 식별하는 정보를 포함할 수 있다. 특정한 엔트리(1822)의 메시지 ID(4)(1712)는 메시지 데이터베이스(1602)에 있는 특정한 메시지와 연관될 수 있다. 몇몇 실시예들에서, 메시지 엔트리(1816)는 대응하는 메시지 바디의 컨텐트를 포함하지 않는다.
몇몇 실시예들에서, 인덱스(1708)에 있는 정보와 대화 엔트리(1812)에 있는 정보는 도 11의 스테이지(1106)에서 이루어지는 바와 같이, 메시지 데이터베이스(1602)를 액세스하지 않고 새로운 메시지와 특정한 대화를 연관시키는 것을 보조하기 위해 이용될 수 있다. 메시지들이 새롭게 도착한 메시지에 대한 가능한 매칭들로서 식별되면(도 12의 스테이지(1204)), 최적 매칭 메시지와 최적 매칭 대화의 결정은 매칭 메시지들의 헤더들(1818)을 이용하여 이루어질 수 있다. 예를 들어, 헤더(1818)는 (정규화된 형태로) 새롭게 도착한 메시지의 정규화된 서브젝트와 비교될 수 있는 메시지에 대한 서브젝트 정보를 포함할 수 있다. 헤더(1818)에 있는 다른 정보는 또한 처리되는 인입 메시지의 헤더 정보와 비교될 수 있다. 대화가 매칭된 것으로 식별되면, 식별된 대화에 대한 메시지 엔트리들의 라벨들(1820)에서 식별된 속성들은 메시지 데이터베이스로부터 임의의 메시지들을 검색해야할 필요없이 인입 메시지들에 적용될 수 있다(도 13의 스테이지(1307)).
대화 엔트리(1812)는 메시지가 대화로부터 삭제되면 대화에 있는 다른 메시지들에 영향을 주지않고 업데이트될 수 있다. 이러한 경우에, 삭제될 메시지와 대응하는 (대화 엔트리(1812)에 있는) 메시지 엔트리(1816)는 메시지 엔트리들의 링크 리스트에서 삭제된다. 그리하여, 상기 메시지는 더 이상 상기 대화와 관련되지 않을 것이다. 몇몇 실시예들에서, 메시지 대 대화 맵(1804)은 또한 삭제를 설명하기 위해 수정된다.
이전에 설명된 바와 같이, 몇몇 예들에서, 메시지 삭제를 위해 예컨대 특정 속성을 이용하여 대화로부터 메시지를 삭제하는 것이 아니라, 삭제할 메시지를 표시하는 것이 바람직할 수 있다. 메시지가 대화로부터 삭제될 수 있는 조건이 되면, 메시지는 위에서 설명된 바와 같이 처리될 수 있다. 메시지 대 대화 맵(1802)과 대화 엔트리(1812)로부터 메시지를 삭제하도록 허용할 수 있는 조건은 메시지가 삭제를 위해 마킹되고 특정 시간이 경과한 경우, 사용자에 의해 동작 또는 다른 트리거링 이벤트들을 포함할 수 있다.
대화들은 또한 사용자의 메일 계정으로부터 삭제되는 것이 아니라 삭제를 위해 표시될 수 있다. 대화가 사용자의 메일 계정으로부터 영구적으로 삭제될 경우에, 대화에 대한 메시지 대 대화 맵(1802)은 삭제될 수 있다. 또한, 대응하는 대화 엔트리(1812)는 대화 데이터베이스(1808)로부터 삭제될 수 있으며, 대화의 메시지들에 대한 인덱스 엔트리들은 인덱스(1708)로부터 삭제될 수 있다.
위에서 나타난 바와 같이, 다른 실시예에서 풀 텍스트 메시지 인덱스(1708)는 질문에 대한 응답으로 대화 식별자 리스트를 리턴시킨다. 이러한 실시예에서, 메시지 대 대화 맵(1802)은 생략될 수 있다. 대신에, 대화 데이터베이스는 질문에 응답하여 대화들의 프로세싱을 완료하기 위해 필요한 메인 매핑들을 제공한다.
도 19와 관련하여, 위에서 설명된 방법들을 구현하는 대화 서버(102)의 일례는 하나 이상의 프로세싱 유니트들(CPU's)(1902), 하나 이상의 네트워크 또는 다른 통신 인터페이스들(1904), 메모리(1006) 및 이러한 컴포넌트들을 상호접속하기 위한 하나 이상의 통신 버스들(1908)을 포함한다. 대화 서버(102)는 대안적으로 디스플레이 장치 및 키보드를 포함하는 사용자 인터페이스를 포함할 수 있다. 메모리(1906)는 고속 랜덤 액세스 메모리를 포함할 수 있으며 또한 하나 이상의 자기 또는 광학 저장 디스크들과 같은 비-휘발성 메모리를 포함할 수 있다. 메모리(1906)는 CPU(1902)로부터 떨어져서 위치하는 대용량 저장 매체를 포함할 수 있다. 메모리(1906)는 아래와 같은 요소들을 저장할 수 있다:
다양한 기본 시스템 서비스들을 처리하고 하드웨어 의존 작업들을 수행하기 위한 절차들을 포함하는 운영 시스템(1916);
인터넷, 다른 광역 네트워크, 로컬 영역 네트워크, 메트로폴리탄 영역 네트워크 등과 같은 하나 이상의 통신 네트워크 인터페이스들(1904)(유선 또는 무선)을 통해 대화 서버(102)를 다른 컴퓨터들과 연결시키기 위해 사용되는 네트워크 통신 모듈(또는 명령들)(1918); 및
이전에 설명된 바와 같이, 대화 어시스턴트(110)로부터의 요청들에 응답하고 대화 어시스턴트(110)에 응답들을 제공하는 대화 엔진(1002).
대화 엔진(1002)은 다음과 같은 요소들을 포함할 수 있다:
이전에 설명된 바와 같이, 새로운 메시지들을 처리하기 위한 새로운 메시지 처리 모듈(1920);
이전에 설명된 바와 같이, 사용자의 메시지들을 검색하기 위한 검색 모듈(1922) - 검색 모듈(1922)은 사용자에 의해 제공되는 입력들로부터의 검색 요청들을 처리하기 위한 모듈(1924)과 대화 어시스턴트(110)에 의해 개시되는 시스템 요청 검색들을 처리하기 위한 모듈(1926)을 포함함;
대화 어시스턴트(110)가 대화 서버(102)로부터 자신에게 제공되는 정보를 처리하도록 허용하는 정보를 대화 어시스턴트(110)로 제공하는 대화 어시스턴트 로더(1928). 몇몇 실시예들에서, 클라이언트 컴퓨터가 이메일 메시지들을 처리하기 위해 처음에 대화 서버(102)에 접속하는 경우에, 대화 어시스턴트 로더(1928)는 대화 어시스턴트(110)를 클라이언트 컴퓨터가 로딩하도록 요청받는다. 몇몇 실시예들에서, 대화 어시스턴트 로더(1928)는 이메일 세션이 개시될 때마다 클라이언트 컴퓨터 상에 대화 어시스턴트(110)를 로딩하며, 다른 실시예들에서는 대화 어시스턴트(110)가 하나의 이메일 세션으로부터 다른 이메일 세션으로 이동할 때 클라이언트 컴퓨터에 의해 유지된다;
이전에 설명된 바와 같이, 대화 어시스턴트(110)로 제공되도록 포매팅 정보를 제공하는 응답 포매팅 모듈(1930). 응답 포매팅 모듈(1930)은 이전에 설명된 바와 같이 미리 정의된 기준에 따라 대화들을 배열하는 대화 배열 모듈(1932), 리턴될 수 있는 전체 개수에서 대화 어시스턴트(110)로 리턴될 미리 결정된 수의 대화들을 선택하는 대화 선택 모듈(1934), 이전에 설명된 바와 같이 "읽혀지지 않은(Unread)" 메시지들(즉, 읽은 것으로 보여지거나 마킹되지 않은 메시지들)로 표시된 메시지들을 식별하기 위한 Unread/Not Viewed 메시지들의 전송자 식별(1936), 이전에 설명된 바와 같이 사용자의 식별 정보를 자기-참조 정보와 대체하는 것에 대한 정보를 제공하는 자기-참조 모듈(1938), 이전에 설명된 바와 같이 대화에 새롭게 추가된 수신자들에 대한 정보를 식별하고 제공하는 새로운 수신자 모듈(1940), 이전에 설명된 바와 같이 더 이상 대화의 일부가 아닌 수신자들에 대한 정보를 식별하고 제공하는 수신자 삭제 모듈(1942), 이전에 설명된 바와 같이 매칭 메시지의 특정 텍스트에 대한 정보를 획득하고 제공하는 스니펫(snippet) 모듈(1944), 이전에 설명된 바와 같이 대화 어시스턴트(110)로 전송하기 위한 메시지의 풀 텍스트를 검색하는 풀 텍스트 모듈(1946) 및 스펠 검사기(1014)로부터 리턴된 정보를 포매팅하기 위한 스펠 체크 포맷 모듈(1948)을 포함한다;
이전에 설명된 바와 같이 대화들과 메시지들의 속성들을 수정하기 위한 속성 수정 모듈(1950);
이전에 설명된 바와 같이 삭제할 메시지 또는 대화를 표시하고 그 다음에 이들을 삭제하는 삭제/제거 모듈(1952);
이전에 설명된 바와 같이 필터들을 생성하고 모니터링하고 실행하기 위한 필터 모듈(1954); 및
사용자가 메시지를 구성하여 결과 메시지를 SMTP 게이트웨이(1016)로 제공하도록 허용하는 구성/전송 모듈(1956).
스펠 검사 처리 및 디스플레이 방법에 대한 예시적인 실시예와 같은 위에서 설명된 다양한 특징들은 전자 메시징 또는 이메일로 한정되지 않는다는 것을 이해하도록 한다. 예를 들어, 위에서 설명된 스펠 검사 방법 또는 사용자 인터페이스는 다른 실시예들에서 다양한 타입의 문서들(예를 들어, 워드 프로세싱 문서들)에 적용되고 이들 문서들과 관련하여 구현될 수 있다.
설명의 목적으로, 전술의 설명은 특정한 실시예들과 관련하여 서술되었다. 그러나, 위에서 설명된 논의들은 개시된 정확한 형태로 본 발명을 한정하기 위한 의도가 아니다. 전술한 설명들과 관련하여 다양한 수정들과 변형들이 가능하다. 상기 실시예들은 본 발명의 원리들과 실제적인 애플리케이션들을 가장 효과적으로 설명하기 위해 선택되고 설명된 것이며, 그리하여 당업자는 특정 사용자에게 적합하도록 다양한 변형들을 가지는 본 발명 및 다양한 실시예들을 효과적으로 이용할 수 있을 것이다.

Claims (27)

  1. 하나 이상의 프로세서들 및 메모리를 포함하는 서버 시스템에서 수행되는 방법으로서,
    각각의 사용자로부터의 단일 검색 질문에 응답하여,
    상기 각각의 사용자와 연관된 복수의 대화들을 식별하기 위해 메시지 저장소(message repository)를 검색(searcing)하는 단계 ―상기 복수의 대화들 각각은 상기 검색 질문과 관련되는 적어도 하나의 메시지를 포함하며, 식별된 상기 복수의 대화들 각각은 미리정의된 기준을 충족시키는 특성들(characteristics)의 공통 세트를 공유하는 하나 이상의 메시지들을 포함함―;
    적어도 상기 식별된 대화들의 서브세트를 표현하는 대화들의 리스트를 전송하는 단계 ―상기 리스트에 있는 상기 대화들 중 적어도 하나는 복수의 메시지들을 포함함―; 및
    선택된 대화의 하나 이상의 제 1 메시지들과 상기 선택된 대화의 하나 이상의 제 2 메시지들 사이에서 시각적으로 구별되는 포맷팅 정보를 포함하는 상기 대화들의 리스트로부터 선택된 대화의 콘텐트(content)를 제공하는 단계 ―상기 하나 이상의 제 1 메시지들은 상기 검색 질문에 관련되며 상기 하나 이상의 제 2 메시지들은 상기 검색 질문에 관련되지 않음―
    를 포함하는,
    하나 이상의 프로세서들 및 메모리를 포함하는 서버 시스템에서 수행되는 방법.
  2. 제 1 항에 있어서,
    상기 하나 이상의 제 1 메시지들은 상기 검색 질문의 적어도 하나의 질문 항을 포함하는 상기 메시지들인,
    하나 이상의 프로세서들 및 메모리를 포함하는 서버 시스템에서 수행되는 방법.
  3. 제 2 항에 있어서,
    상기 하나 이상의 제 2 메시지들은 상기 검색 질문의 임의의 질문 항을 포함하지 않는 상기 메시지들인,
    하나 이상의 프로세서들 및 메모리를 포함하는 서버 시스템에서 수행되는 방법.
  4. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 포맷팅 정보는 독특한(distinctive) 방식으로 텍스트를 디스플레이하기 위한 정보를 포함하는,
    하나 이상의 프로세서들 및 메모리를 포함하는 서버 시스템에서 수행되는 방법.
  5. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 포맷팅 정보는 상기 하나 이상의 제 1 메시지들에서 상기 검색 질문에 매칭되는 하이라이트 텍스트를 포함하는,
    하나 이상의 프로세서들 및 메모리를 포함하는 서버 시스템에서 수행되는 방법.
  6. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 포맷팅 정보는 확장(expanded) 모드에서 상기 하나 이상의 제 1 메시지들을 디스플레이하고 컴팩트(compacted) 모드에서 상기 하나 이상의 제 2 메시지들을 디스플레이하기 위한 포맷팅 정보를 포함하는,
    하나 이상의 프로세서들 및 메모리를 포함하는 서버 시스템에서 수행되는 방법.
  7. 제 6 항에 있어서,
    상기 확장 모드에서 디스플레이되는 메시지는 완전한(complete) 메시지 바디를 포함하며, 그리고
    상기 컴팩트 모드에서 디스플레이되는 메시지는 상기 완전한 메시지 바디를 포함하지 않는,
    하나 이상의 프로세서들 및 메모리를 포함하는 서버 시스템에서 수행되는 방법.
  8. 제 1 항 내지 제 3항 중 어느 한 항에 있어서,
    상기 대화들의 리스트는 상기 검색 질문과 매칭되는 하나 이상의 항들을 포함하는 상기 각각의 대화로부터의 콘텐트의 부분을 포함하는 단일 행(single row)에서의 표현을 위해 포맷팅되는 각각의 대화를 포함하는,
    하나 이상의 프로세서들 및 메모리를 포함하는 서버 시스템에서 수행되는 방법.
  9. 제 8 항에 있어서,
    상기 검색 질문과 매칭되는 하나 이상의 항들을 포함하는 상기 각각의 대화로부터의 콘텐트의 부분은 독특한 방식으로 상기 검색 질문에 매칭되는 상기 하나 이상의 항들을 디스플레이하도록 포맷되는,
    하나 이상의 프로세서들 및 메모리를 포함하는 서버 시스템에서 수행되는 방법.
  10. 서버 시스템으로서,
    하나 이상의 프로세서들;
    메모리; 및
    하나 이상의 프로그램들 ―상기 하나 이상의 프로그램들은 상기 메모리에 저장되며 상기 하나 이상의 프로세서들에 의해 실행되도록 구성됨―
    을 포함하며,
    상기 하나 이상의 프로그램들은,
    각각의 사용자로부터의 단일 검색 질문에 응답하여,
    상기 각각의 사용자와 연관된 복수의 대화들을 식별하기 위해 메시지 저장소(message repository)를 검색(searcing)하기 위한 명령들 ―상기 복수의 대화들 각각은 상기 검색 질문과 관련되는 적어도 하나의 메시지를 포함하며, 식별된 상기 복수의 대화들 각각은 미리정의된 기준을 충족시키는 특성들의 공통 세트를 공유하는 하나 이상의 메시지들을 포함함―;
    적어도 상기 식별된 대화들의 서브세트를 표현하는 대화들의 리스트를 전송하기 위한 명령들 ―상기 리스트에 있는 상기 대화들 중 적어도 하나는 복수의 메시지들을 포함함―; 및
    선택된 대화의 하나 이상의 제 1 메시지들과 상기 선택된 대화의 하나 이상의 제 2 메시지들 사이에서 시각적으로 구별되는 포맷팅 정보를 포함하는 상기 대화들의 리스트로부터 선택된 대화의 콘텐트(content)를 제공하기 위한 명령들―상기 하나 이상의 제 1 메시지들은 상기 검색 질문에 관련되며 상기 하나 이상의 제 2 메시지들은 상기 검색 질문에 관련되지 않음―
    을 포함하는,
    서버 시스템.
  11. 제 10 항에 있어서,
    상기 하나 이상의 제 1 메시지들은 상기 검색 질문의 적어도 하나의 질문 항을 포함하는 상기 메시지들인,
    서버 시스템.
  12. 제 11 항에 있어서,
    상기 하나 이상의 제 2 메시지들은 상기 검색 질문의 임의의 질문 항을 포함하지 않는 상기 메시지들인,
    서버 시스템.
  13. 제 10항 내지 제 12항 중 어느 한 항에 있어서,
    상기 포맷팅 정보는 독특한(distinctive) 방식으로 텍스트를 디스플레이하기 위한 정보를 포함하는,
    서버 시스템.
  14. 제 10항 내지 제 12항 중 어느 한 항에 있어서,
    상기 포맷팅 정보는 상기 하나 이상의 제 1 메시지들에서 상기 검색 질문에 매칭되는 하이라이트 텍스트를 포함하는,
    서버 시스템.
  15. 제 10항 내지 제 12항 중 어느 한 항에 있어서,
    상기 포맷팅 정보는 확장(expanded) 모드에서 상기 하나 이상의 제 1 메시지들을 디스플레이하고 컴팩트(compacted) 모드에서 상기 하나 이상의 제 2 메시지들을 디스플레이하기 위한 포맷팅 정보를 포함하는,
    서버 시스템.
  16. 제 15 항에 있어서,
    상기 확장 모드에서 디스플레이되는 메시지는 완전한(complete) 메시지 바디를 포함하며, 그리고
    상기 컴팩트 모드에서 디스플레이되는 메시지는 상기 완전한 메시지 바디를 포함하지 않는,
    서버 시스템.
  17. 제 10 항 내지 제 12항 중 어느 한 항에 있어서,
    상기 대화들의 리스트는 상기 검색 질문과 매칭되는 하나 이상의 항들을 포함하는 상기 각각의 대화로부터의 콘텐트의 부분을 포함하는 단일 행(single row)에서의 표현을 위해 포맷팅되는 각각의 대화를 포함하는,
    서버 시스템.
  18. 제 17 항에 있어서,
    상기 검색 질문과 매칭되는 하나 이상의 항들을 포함하는 상기 각각의 대화로부터의 콘텐트의 부분은 독특한 방식으로 상기 검색 질문에 매칭되는 상기 하나 이상의 항들을 디스플레이하도록 포맷되는,
    서버 시스템.
  19. 컴퓨터에 의한 실행을 위해 구성된 하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체로서,
    상기 하나 이상의 프로그램들은,
    각각의 사용자로부터의 단일 검색 질문에 응답하여,
    상기 각각의 사용자와 연관된 복수의 대화들을 식별하기 위해 메시지 저장소(message repository)를 검색(searcing)하기 위한 명령들 ―상기 복수의 대화들 각각은 상기 검색 질문과 관련되는 적어도 하나의 메시지를 포함하며, 식별된 상기 복수의 대화들 각각은 미리정의된 기준을 충족시키는 특성들의 공통 세트를 공유하는 하나 이상의 메시지들을 포함함―;
    적어도 상기 식별된 대화들의 서브세트를 표현하는 대화들의 리스트를 전송하기 위한 명령들 ―상기 리스트에 있는 상기 대화들 중 적어도 하나는 복수의 메시지들을 포함함―; 및
    선택된 대화의 하나 이상의 제 1 메시지들과 상기 선택된 대화의 하나 이상의 제 2 메시지들 사이에서 시각적으로 구별되는 포맷팅 정보를 포함하는 상기 대화들의 리스트로부터 선택된 대화의 콘텐트(content)를 제공하기 위한 명령들 ―상기 하나 이상의 제 1 메시지들은 상기 검색 질문에 관련되며 상기 하나 이상의 제 2 메시지들은 상기 검색 질문에 관련되지 않음―
    을 포함하는,
    컴퓨터 판독가능 저장 매체.
  20. 제 19 항에 있어서,
    상기 하나 이상의 제 1 메시지들은 상기 검색 질문의 적어도 하나의 질문 항을 포함하는 상기 메시지들인,
    컴퓨터 판독가능 저장 매체.
  21. 제 20 항에 있어서,
    상기 하나 이상의 제 2 메시지들은 상기 검색 질문의 임의의 질문 항을 포함하지 않는 상기 메시지들인,
    컴퓨터 판독가능 저장 매체.
  22. 제 19항 내지 제 21항 중 어느 한 항에 있어서,
    상기 포맷팅 정보는 독특한(distinctive) 방식으로 텍스트를 디스플레이하기 위한 정보를 포함하는,
    컴퓨터 판독가능 저장 매체.
  23. 제 19항 내지 제 21항 중 어느 한 항에 있어서,
    상기 포맷팅 정보는 상기 하나 이상의 제 1 메시지들에서 상기 검색 질문에 매칭되는 하이라이트 텍스트를 포함하는,
    컴퓨터 판독가능 저장 매체.
  24. 제 19항 내지 제 21항 중 어느 한 항에 있어서,
    상기 포맷팅 정보는 확장(expanded) 모드에서 상기 하나 이상의 제 1 메시지들을 디스플레이하고 컴팩트(compacted) 모드에서 상기 하나 이상의 제 2 메시지들을 디스플레이하기 위한 포맷팅 정보를 포함하는,
    컴퓨터 판독가능 저장 매체.
  25. 제 24 항에 있어서,
    상기 확장 모드에서 디스플레이되는 메시지는 완전한(complete) 메시지 바디를 포함하며, 그리고
    상기 컴팩트 모드에서 디스플레이되는 메시지는 상기 완전한 메시지 바디를 포함하지 않는,
    컴퓨터 판독가능 저장 매체.
  26. 제 19 항 내지 제 21항 중 어느 한 항에 있어서,
    상기 대화들의 리스트는 상기 검색 질문과 매칭되는 하나 이상의 항들을 포함하는 상기 각각의 대화로부터의 콘텐트의 부분을 포함하는 단일 행(single row)에서의 표현을 위해 포맷팅되는 각각의 대화를 포함하는,
    컴퓨터 판독가능 저장 매체.
  27. 제 26 항에 있어서,
    상기 검색 질문과 매칭되는 하나 이상의 항들을 포함하는 상기 각각의 대화로부터의 콘텐트의 부분은 독특한 방식으로 상기 검색 질문에 매칭되는 상기 하나 이상의 항들을 디스플레이하도록 포맷되는,
    컴퓨터 판독가능 저장 매체.

KR1020117017095A 2004-03-31 2005-03-25 대화-기반 이메일 시스템에서 메시지들의 검색 KR101171680B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US10/816,428 US7912904B2 (en) 2004-03-31 2004-03-31 Email system with conversation-centric user interface
US10/816,428 2004-03-31
US10/914,035 US9819624B2 (en) 2004-03-31 2004-08-06 Displaying conversations in a conversation-based email system
US10/914,035 2004-08-06
PCT/US2005/010137 WO2005098701A2 (en) 2004-03-31 2005-03-25 Displaying conversations in a conversation-based email system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR20067022840A Division KR101177147B1 (ko) 2004-03-31 2005-03-25 대화-기반 이메일 시스템에서 대화들을 디스플레이하는방법 및 장치

Publications (2)

Publication Number Publication Date
KR20110096089A true KR20110096089A (ko) 2011-08-26
KR101171680B1 KR101171680B1 (ko) 2012-08-09

Family

ID=34963993

Family Applications (6)

Application Number Title Priority Date Filing Date
KR20067022840A KR101177147B1 (ko) 2004-03-31 2005-03-25 대화-기반 이메일 시스템에서 대화들을 디스플레이하는방법 및 장치
KR1020117017095A KR101171680B1 (ko) 2004-03-31 2005-03-25 대화-기반 이메일 시스템에서 메시지들의 검색
KR1020117017102A KR101173812B1 (ko) 2004-03-31 2005-03-25 대화-기반 이메일 시스템에서 확장 메시지들 디스플레이
KR1020117017096A KR101179412B1 (ko) 2004-03-31 2005-03-25 대화-기반 이메일 시스템에서의 대화들 검색
KR1020117017098A KR101173815B1 (ko) 2004-03-31 2005-03-25 대화-기반 이메일 시스템에서 대화들 및 메시지들 라벨링
KR1020117017094A KR101173813B1 (ko) 2004-03-31 2005-03-25 대화에서 전송자들의 리스트를 갖는 대화-기반 이메일

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR20067022840A KR101177147B1 (ko) 2004-03-31 2005-03-25 대화-기반 이메일 시스템에서 대화들을 디스플레이하는방법 및 장치

Family Applications After (4)

Application Number Title Priority Date Filing Date
KR1020117017102A KR101173812B1 (ko) 2004-03-31 2005-03-25 대화-기반 이메일 시스템에서 확장 메시지들 디스플레이
KR1020117017096A KR101179412B1 (ko) 2004-03-31 2005-03-25 대화-기반 이메일 시스템에서의 대화들 검색
KR1020117017098A KR101173815B1 (ko) 2004-03-31 2005-03-25 대화-기반 이메일 시스템에서 대화들 및 메시지들 라벨링
KR1020117017094A KR101173813B1 (ko) 2004-03-31 2005-03-25 대화에서 전송자들의 리스트를 갖는 대화-기반 이메일

Country Status (9)

Country Link
US (7) US9819624B2 (ko)
EP (4) EP2575095A1 (ko)
JP (8) JP4956420B2 (ko)
KR (6) KR101177147B1 (ko)
CN (4) CN102521734B (ko)
AU (7) AU2005229862B2 (ko)
BR (1) BRPI0509500A (ko)
CA (1) CA2561580C (ko)
WO (1) WO2005098701A2 (ko)

Families Citing this family (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US7707255B2 (en) 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
US8799808B2 (en) 2003-07-01 2014-08-05 Microsoft Corporation Adaptive multi-line view user interface
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US7895531B2 (en) 2004-08-16 2011-02-22 Microsoft Corporation Floating command object
US20090094332A1 (en) * 2004-09-02 2009-04-09 Zimbra, Inc. System and method for enabling offline use of email through a browser interface
US7747966B2 (en) 2004-09-30 2010-06-29 Microsoft Corporation User interface for providing task management and calendar information
US8103723B1 (en) * 2004-10-07 2012-01-24 Google Inc. Message server that retains messages deleted by one client application for access by another client application
US20060095506A1 (en) * 2004-10-29 2006-05-04 Research In Motion Limited Extended user interface for email composition
US7665031B2 (en) * 2004-12-08 2010-02-16 Microsoft Corporation Method and system of taskbar button interfaces
US8577967B1 (en) * 2005-06-30 2013-11-05 Google Inc. Method and system for managing real-time communications in an email inbox
US8689137B2 (en) 2005-09-07 2014-04-01 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database application
US9542667B2 (en) 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US8601004B1 (en) * 2005-12-06 2013-12-03 Google Inc. System and method for targeting information items based on popularities of the information items
US20070143428A1 (en) * 2005-12-21 2007-06-21 Shruti Kumar Method and system for displaying indications of messages from important persons and from new persons at a high display priority in a gathered threads view of an electronic mail ("email") user interface
US8122019B2 (en) 2006-02-17 2012-02-21 Google Inc. Sharing user distributed search results
US7844603B2 (en) * 2006-02-17 2010-11-30 Google Inc. Sharing user distributed search results
US8862572B2 (en) * 2006-02-17 2014-10-14 Google Inc. Sharing user distributed search results
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US9292170B2 (en) * 2006-12-07 2016-03-22 International Business Machines Corporation Unified presentation of scattered message data
US7921176B2 (en) * 2007-01-03 2011-04-05 Madnani Rajkumar R Mechanism for generating a composite email
CN101247357B (zh) * 2007-02-16 2011-06-15 国际商业机器公司 在电子邮件客户端改进电子邮件讨论效率的方法和系统
US8180029B2 (en) 2007-06-28 2012-05-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8201103B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
FR2918528B1 (fr) * 2007-07-03 2010-11-19 Calinda Software Procede de gestion d'un processus collaboratif au moyen de messages electroniques
US8024412B2 (en) * 2008-02-15 2011-09-20 Microsoft Corporation User interface reading email conversations
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
CN101247364B (zh) * 2008-03-31 2012-01-18 腾讯科技(深圳)有限公司 会话消息管理系统和管理方法
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8402096B2 (en) 2008-06-24 2013-03-19 Microsoft Corporation Automatic conversation techniques
FI20086224A (fi) * 2008-12-22 2010-06-23 Elisa Oyj Menetelmä tietoliikennejärjestelmässä sekä tietoliikennejärjestelmä
US8904292B2 (en) * 2008-12-31 2014-12-02 Motorola Mobility Llc Method and system for processing electronic mail
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
GB0922608D0 (en) 2009-12-23 2010-02-10 Vratskides Alexios Message optimization
US9838349B2 (en) 2010-03-08 2017-12-05 Microsoft Technology Licensing, Llc Zone classification of electronic mail messages
KR101704531B1 (ko) * 2010-04-22 2017-02-08 삼성전자주식회사 휴대 단말기의 텍스트 정보 표시 방법 및 장치
US8825776B1 (en) * 2010-05-18 2014-09-02 Google Inc. Generating a hosted conversation in accordance with predefined parameters
US9721035B2 (en) 2010-06-30 2017-08-01 Leaf Group Ltd. Systems and methods for recommended content platform
CN102387092B (zh) * 2010-09-06 2014-09-03 腾讯科技(深圳)有限公司 管理消息的方法和装置
US8930825B2 (en) * 2010-09-09 2015-01-06 International Business Machines Corporation Graphically indicating relevancy of electronic messages
US9338124B2 (en) 2010-10-05 2016-05-10 VNP Software, Inc. Electronic messaging systems
US8682991B2 (en) * 2010-10-05 2014-03-25 VNP Software, Inc. Electronic messaging systems
US9734245B2 (en) * 2010-11-18 2017-08-15 Leaf Group Ltd. System and method for automated responses to information needs on websites
US8743151B1 (en) * 2011-03-31 2014-06-03 Google Inc. Snapping message header
US8972240B2 (en) * 2011-05-19 2015-03-03 Microsoft Corporation User-modifiable word lattice display for editing documents and search queries
CN103078781A (zh) * 2011-10-25 2013-05-01 国际商业机器公司 用于即时消息系统的方法和即时消息系统
US9268769B1 (en) * 2011-12-20 2016-02-23 Persado Intellectual Property Limited System, method, and computer program for identifying message content to send to users based on user language characteristics
KR101332811B1 (ko) 2012-02-24 2013-11-27 주식회사 팬택 메시지 숨김 기능을 갖는 단말과 그 메시지 숨김 및 복원 방법
CN102571637A (zh) * 2012-03-16 2012-07-11 腾讯科技(深圳)有限公司 消息处理方法和装置
US10395270B2 (en) 2012-05-17 2019-08-27 Persado Intellectual Property Limited System and method for recommending a grammar for a message campaign used by a message optimization system
US20140310616A1 (en) * 2012-05-18 2014-10-16 Artashes Valeryevich Ikonomov System for interactive communication
JP5981823B2 (ja) * 2012-09-28 2016-08-31 株式会社コナミデジタルエンタテインメント メッセージ表示システム、制御方法、およびプログラム
US10031968B2 (en) * 2012-10-11 2018-07-24 Veveo, Inc. Method for adaptive conversation state management with filtering operators applied dynamically as part of a conversational interface
WO2014056516A1 (en) * 2012-10-12 2014-04-17 Unify Gmbh & Co. Kg Method and apparatus for displaying e-mail messages
US9459752B2 (en) * 2012-12-14 2016-10-04 Microsoft Technology Licensing, Llc Browsing electronic messages displayed as tiles
US9026600B2 (en) 2013-01-04 2015-05-05 International Business Machines Corporation System and method for unfiltering filtered status messages
KR102110786B1 (ko) 2013-03-13 2020-05-14 삼성전자 주식회사 휴대 단말기의 대화 메시지 관리 방법 및 장치
AU2014229049A1 (en) * 2013-03-15 2015-10-01 Intelesystems System and method for managing business partners and associated assets in favor of a plurality of enterprises
US9304665B2 (en) * 2013-04-05 2016-04-05 Yahoo! Inc. Method and apparatus for facilitating message selection and organization
JP5922306B2 (ja) * 2013-04-12 2016-05-24 株式会社日立製作所 計算機、データ処理方法、及び、非一時的な記録媒体
KR20150000273A (ko) * 2013-06-24 2015-01-02 삼성전자주식회사 단말 장치 및 제어 방법
US9542023B2 (en) 2013-08-07 2017-01-10 Synaptics Incorporated Capacitive sensing using matrix electrodes driven by routing traces disposed in a source line layer
CN104376292A (zh) * 2013-08-13 2015-02-25 海尔集团公司 家电产品及生产方法、家电产品的信息系统及使用方法
CN103442146B (zh) * 2013-08-30 2016-08-24 宇龙计算机通信科技(深圳)有限公司 一种移动终端及其显示与联系人的会话界面的方法及系统
CN104598097A (zh) * 2013-11-07 2015-05-06 腾讯科技(深圳)有限公司 即时通信im窗口的排序方法和装置
CN103560944A (zh) * 2013-11-12 2014-02-05 珠海市魅族科技有限公司 一种电子邮件的集合的显示方法和终端
US20150156144A1 (en) * 2013-11-25 2015-06-04 Myndbee, Inc. Methods and Systems for Social Messaging
US20150156268A1 (en) * 2013-12-04 2015-06-04 Conduit Ltd Suggesting Topics For Social Conversation
KR102415083B1 (ko) * 2013-12-16 2022-06-30 삼성전자 주식회사 전자 장치의 메시지 관리 방법 및 장치
CN104714970B (zh) * 2013-12-16 2018-11-09 阿里巴巴集团控股有限公司 电子邮件归类的方法、发送端、接收端和系统
CN104734940A (zh) * 2013-12-23 2015-06-24 华为技术有限公司 一种用于即时通讯工具的信息显示方法和用户终端
US20150177974A1 (en) * 2013-12-23 2015-06-25 Huawei Technologies Co., Ltd. Information display method and user terminal for instant messaging tool
US8832832B1 (en) 2014-01-03 2014-09-09 Palantir Technologies Inc. IP reputation
CN104144116B (zh) * 2014-07-16 2016-04-27 腾讯科技(深圳)有限公司 即时通讯方法及即时通讯系统
US10367771B2 (en) * 2014-10-01 2019-07-30 Dropbox, Inc. Identifying communication participants to a recipient of a message
US9043894B1 (en) 2014-11-06 2015-05-26 Palantir Technologies Inc. Malicious software detection in a computing system
CN104463556B (zh) * 2014-11-11 2018-01-30 尹子雄 电子邮件正文引用信息的整理和发现方法及系统
US11902232B1 (en) * 2014-11-18 2024-02-13 Amazon Technologies, Inc. Email conversation linking
US11093125B1 (en) 2014-12-09 2021-08-17 Amazon Technologies, Inc. Email conversation linking
US20160182430A1 (en) * 2014-12-17 2016-06-23 Microsoft Technology Licensing, Llc Optimizing view of messages based on importance classification
KR101622871B1 (ko) * 2015-02-03 2016-05-19 라인 가부시키가이샤 메신저의 대화내용을 관리하는 방법과 시스템 및 기록 매체
US20160294891A1 (en) * 2015-03-31 2016-10-06 Facebook, Inc. Multi-user media presentation system
US20160344677A1 (en) 2015-05-22 2016-11-24 Microsoft Technology Licensing, Llc Unified messaging platform for providing interactive semantic objects
US10360287B2 (en) 2015-05-22 2019-07-23 Microsoft Technology Licensing, Llc Unified messaging platform and interface for providing user callouts
US10454872B2 (en) * 2015-06-22 2019-10-22 Microsoft Technology Licensing, Llc Group email management
US9456000B1 (en) * 2015-08-06 2016-09-27 Palantir Technologies Inc. Systems, methods, user interfaces, and computer-readable media for investigating potential malicious communications
US9608950B2 (en) 2015-08-18 2017-03-28 Blend Systems, Inc. Systems and methods for sharing videos and images in a texting environment
US20170090718A1 (en) * 2015-09-25 2017-03-30 International Business Machines Corporation Linking selected messages in electronic message threads
US10504137B1 (en) 2015-10-08 2019-12-10 Persado Intellectual Property Limited System, method, and computer program product for monitoring and responding to the performance of an ad
JP6042958B1 (ja) * 2015-10-23 2016-12-14 Line株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
US20170131864A1 (en) * 2015-11-06 2017-05-11 Facebook, Inc. Interface for Presenting Feed to a User Based on Scroll Inputs
CN108353018B (zh) * 2015-11-25 2020-08-25 华为技术有限公司 发送消息的方法、设备和系统
JP6077192B1 (ja) * 2015-12-08 2017-02-08 楽天株式会社 提示装置、提示方法、非一時的なコンピュータ読取可能な情報記録媒体、及び、プログラム
US10832283B1 (en) 2015-12-09 2020-11-10 Persado Intellectual Property Limited System, method, and computer program for providing an instance of a promotional message to a user based on a predicted emotional response corresponding to user characteristics
US10178058B2 (en) * 2016-01-28 2019-01-08 International Business Machines Corporation Expanding captured portions of references in instant messaging systems
JP6466867B2 (ja) * 2016-02-25 2019-02-06 日本電信電話株式会社 情報管理装置、情報管理方法および情報管理プログラム
CN105845137B (zh) * 2016-03-18 2019-08-23 中国科学院声学研究所 一种语音对话管理系统
CN105930313B (zh) * 2016-04-13 2018-10-26 平安科技(深圳)有限公司 处理通知信息的方法和装置
US10795947B2 (en) 2016-05-17 2020-10-06 Google Llc Unified message search
US10361987B2 (en) 2016-05-21 2019-07-23 Facebook, Inc. Techniques to convert multi-party conversations to an editable document
CA3026405C (en) * 2016-06-01 2023-03-28 Archive360, Inc. Methods and systems for archiving and retrieving data
AU2017203723A1 (en) * 2016-06-07 2017-12-21 David Nixon Meeting management system and process
US9804752B1 (en) * 2016-06-27 2017-10-31 Atlassian Pty Ltd Machine learning method of managing conversations in a messaging interface
US10409779B2 (en) 2016-08-31 2019-09-10 Microsoft Technology Licensing, Llc. Document sharing via logical tagging
US10114525B2 (en) * 2016-12-28 2018-10-30 Byung Jin Kim Device and method for organizing and displaying instant messages in various structured fashions
KR101950213B1 (ko) * 2017-02-03 2019-02-22 네이버 주식회사 회화 관련 컨텐츠를 제공하는 방법 및 시스템
US11019001B1 (en) * 2017-02-20 2021-05-25 Snap Inc. Selective presentation of group messages
JP7127273B2 (ja) * 2017-11-14 2022-08-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US10592608B2 (en) * 2018-01-08 2020-03-17 International Business Machines Corporation Topic based conversation retrieval
US10616035B1 (en) * 2018-01-30 2020-04-07 EMC IP Holding Company LLC Methods and apparatus for device chat and management
KR20190112506A (ko) * 2018-03-26 2019-10-07 삼성전자주식회사 전자 장치 및 전자 장치에서 전자 메일 표시 방법
JP6758536B2 (ja) 2018-05-22 2020-09-23 三菱電機株式会社 不正メール判定装置、不正メール判定方法及び不正メール判定プログラム
WO2020004692A1 (en) * 2018-06-28 2020-01-02 Byung Jin Kim Device and method for organizing and displaying instant messages
US11514915B2 (en) * 2018-09-27 2022-11-29 Salesforce.Com, Inc. Global-to-local memory pointer networks for task-oriented dialogue
JP6724223B2 (ja) * 2018-09-29 2020-07-15 ジェギュ イ 多様なアイコンバッジを表示できるデータ処理ターミナル及び該バッジとターミナルを用いる方法
CN109347935B (zh) * 2018-09-30 2021-08-03 珠海信达九州科技有限公司 一种基于区块链实现实时通讯消息同步的方法
KR102173637B1 (ko) 2019-01-23 2020-11-03 울산과학기술원 이메일 정보 표시 장치
US10749832B1 (en) * 2019-01-31 2020-08-18 Slack Technologies, Inc. Methods and apparatuses for managing limited engagement by external email resource entity within a group-based communication system
CN111722764A (zh) * 2019-03-18 2020-09-29 钉钉控股(开曼)有限公司 消息输入及展示方法、装置、电子设备、可读存储介质
US11546335B2 (en) * 2019-09-27 2023-01-03 Amazon Technologies, Inc. Managing permissions to cloud-based resources with session-specific attributes
US11397521B2 (en) * 2019-09-30 2022-07-26 Braided Communications Limited Communication system
US10944704B1 (en) 2019-10-23 2021-03-09 Charter Communications Operating, Llc Method and system for reducing the sizes of electronic messages
US11436408B2 (en) * 2020-07-01 2022-09-06 Motorola Mobility Llc Targeted natural language responses for electronic communications
CN113360238A (zh) * 2021-06-29 2021-09-07 维沃移动通信有限公司 消息处理方法、装置、电子设备和存储介质
WO2023152764A1 (en) * 2022-02-08 2023-08-17 Sarath Kakumanu A system and method for sending and receiving e-mails with an auto-generated serial number in a digital mailing application

Family Cites Families (202)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5216603A (en) 1985-11-18 1993-06-01 Action Technologies, Inc. Method and apparatus for structuring and managing human communications by explicitly defining the types of communications permitted between participants
US5208748A (en) 1985-11-18 1993-05-04 Action Technologies, Inc. Method and apparatus for structuring and managing human communications by explicitly defining the types of communications permitted between participants
JP3168756B2 (ja) 1993-02-24 2001-05-21 ミノルタ株式会社 電子メールシステムのメール管理方法
US5734837A (en) 1994-01-14 1998-03-31 Action Technologies, Inc. Method and apparatus for building business process applications in terms of its workflows
US5479408A (en) 1994-02-22 1995-12-26 Will; Craig A. Wireless personal paging, communications, and locating system
US5870549A (en) 1995-04-28 1999-02-09 Bobo, Ii; Charles R. Systems and methods for storing, delivering, and managing messages
US5761689A (en) 1994-09-01 1998-06-02 Microsoft Corporation Autocorrecting text typed into a word processing document
US6029195A (en) 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
US5740549A (en) 1995-06-12 1998-04-14 Pointcast, Inc. Information and advertising distribution system and method
US5724571A (en) 1995-07-07 1998-03-03 Sun Microsystems, Inc. Method and apparatus for generating query responses in a computer-based document retrieval system
US5913040A (en) 1995-08-22 1999-06-15 Backweb Ltd. Method and apparatus for transmitting and displaying information between a remote network and a local computer
JP2765536B2 (ja) 1995-10-30 1998-06-18 日本電気株式会社 電子メール整理検索装置
US5948058A (en) 1995-10-30 1999-09-07 Nec Corporation Method and apparatus for cataloging and displaying e-mail using a classification rule preparing means and providing cataloging a piece of e-mail into multiple categories or classification types based on e-mail object information
US5872925A (en) 1996-04-18 1999-02-16 Ncr Corporation Blocking a "reply to all" option in an electronic mail system
US6396513B1 (en) 1996-05-14 2002-05-28 At&T Corp. Electronic message sorting and notification system
US5923848A (en) 1996-05-31 1999-07-13 Microsoft Corporation System and method for resolving names in an electronic messaging environment
US5905863A (en) 1996-06-07 1999-05-18 At&T Corp Finding an e-mail message to which another e-mail message is a response
US6085206A (en) 1996-06-20 2000-07-04 Microsoft Corporation Method and system for verifying accuracy of spelling and grammatical composition of a document
US5832502A (en) 1996-07-02 1998-11-03 Microsoft Corporation Conversation index builder
US5959621A (en) 1996-12-06 1999-09-28 Microsoft Corporation System and method for displaying data items in a ticker display pane on a client computer
US20010016845A1 (en) 1997-02-10 2001-08-23 Bruce Tribbensee Method and apparatus for receiving information in response to a request from an email client
US6021427A (en) 1997-05-22 2000-02-01 International Business Machines Corporation Method and system for preventing routing maelstrom loops of automatically routed electronic mail
US6029164A (en) 1997-06-16 2000-02-22 Digital Equipment Corporation Method and apparatus for organizing and accessing electronic mail messages using labels and full text and label indexing
US6185551B1 (en) 1997-06-16 2001-02-06 Digital Equipment Corporation Web-based electronic mail service apparatus and method using full text and label indexing
AU8496398A (en) 1997-07-18 1999-02-10 Net Exchange, Inc. Apparatus and method for effecting correspondent-centric electronic mail
JP3000972B2 (ja) 1997-08-18 2000-01-17 日本電気株式会社 情報提供装置及びプログラムを記録した機械読み取り可能な記録媒体
US6594693B1 (en) 1998-02-10 2003-07-15 Nitin A. Borwankar Method and apparatus for a structured, synchronized conversation using electronic messages over a computer network
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
US6438564B1 (en) * 1998-06-17 2002-08-20 Microsoft Corporation Method for associating a discussion with a document
US7275082B2 (en) 1998-07-15 2007-09-25 Pang Stephen Y F System for policing junk e-mail messages
US6182098B1 (en) 1998-07-22 2001-01-30 International Business Machines Corporation Next/current/last ticker graphical presentation method
AU6410699A (en) 1998-10-13 2000-05-01 Chris Cheah Method and system for controlled distribution of information over a network
US7689563B1 (en) 1998-10-20 2010-03-30 Jacobson Andrea M Electronic record management system
US6507351B1 (en) 1998-12-09 2003-01-14 Donald Brinton Bixler System for managing personal and group networked information
JP2000187631A (ja) 1998-12-21 2000-07-04 Casio Comput Co Ltd 情報公開システム、サ―バ及び記録媒体
US6549957B1 (en) 1998-12-22 2003-04-15 International Business Machines Corporation Apparatus for preventing automatic generation of a chain reaction of messages if a prior extracted message is similar to current processed message
JP3942760B2 (ja) 1999-02-03 2007-07-11 富士通株式会社 情報収集装置
US7505974B2 (en) 1999-02-12 2009-03-17 Gropper Robert L Auto update utility for digital address books
WO2000048095A1 (en) 1999-02-15 2000-08-17 Matsushita Electric Industrial Co., Ltd. Information transfer system and apparatus for preparing electronic mail
US6834276B1 (en) 1999-02-25 2004-12-21 Integrated Data Control, Inc. Database system and method for data acquisition and perusal
JP2000276474A (ja) 1999-03-24 2000-10-06 Fuji Photo Film Co Ltd データベース検索装置および方法
US7017173B1 (en) 1999-03-30 2006-03-21 Sedna Patent Services, Llc System enabling user access to secondary content associated with a primary content stream
US6493702B1 (en) 1999-05-05 2002-12-10 Xerox Corporation System and method for searching and recommending documents in a collection using share bookmarks
US6564261B1 (en) 1999-05-10 2003-05-13 Telefonaktiebolaget Lm Ericsson (Publ) Distributed system to intelligently establish sessions between anonymous users over various networks
US6493703B1 (en) 1999-05-11 2002-12-10 Prophet Financial Systems System and method for implementing intelligent online community message board
JP2000347894A (ja) * 1999-06-09 2000-12-15 Fujitsu Ltd ソースプログラムチェック装置およびそのプログラム記録媒体
US6785869B1 (en) 1999-06-17 2004-08-31 International Business Machines Corporation Method and apparatus for providing a central dictionary and glossary server
US7505759B1 (en) 1999-06-21 2009-03-17 Alcatel-Lucent Usa Inc. System for message control and redirection in a wireless communications network
US20040153509A1 (en) * 1999-06-30 2004-08-05 Alcorn Robert L. Internet-based education support system, method and medium with modular text-editing component for use in a web-based application
GB2353679A (en) 1999-08-25 2001-02-28 Ibm Prioritized display of messages
US6826596B1 (en) 1999-09-07 2004-11-30 Roy Satoshi Suzuki System for categorizing and displaying reply messages in computer facilitated discussions
US7089278B1 (en) 1999-09-07 2006-08-08 Fuji Xerox Co., Ltd. Anchored conversations: adhesive, in-context, virtual discussion forums
US6640239B1 (en) 1999-11-10 2003-10-28 Garuda Network Corporation Apparatus and method for intelligent scalable switching network
US6892196B1 (en) 1999-12-22 2005-05-10 Accenture Llp System, method and article of manufacture for a user programmable diary interface link
US8527345B2 (en) 2000-01-06 2013-09-03 Anthony Richard Rothschild System and method for adding an advertisement to a personal communication
AU3218101A (en) 2000-01-06 2001-07-16 Anthony R. Rothschild System and method for adding an advertisement to a personal communication
JP2001222477A (ja) 2000-02-08 2001-08-17 Nec Corp 電子メール記事管理システム
AU2001241591A1 (en) 2000-02-18 2001-08-27 Multitude, Inc. System and method for creating audio forums from e-mail
US6651086B1 (en) 2000-02-22 2003-11-18 Yahoo! Inc. Systems and methods for matching participants to a conversation
US6606644B1 (en) 2000-02-24 2003-08-12 International Business Machines Corporation System and technique for dynamic information gathering and targeted advertising in a web based model using a live information selection and analysis tool
US7693866B1 (en) 2000-03-07 2010-04-06 Applied Discovery, Inc. Network-based system and method for accessing and processing legal documents
US7730113B1 (en) 2000-03-07 2010-06-01 Applied Discovery, Inc. Network-based system and method for accessing and processing emails and other electronic legal documents that may include duplicate information
US20020087649A1 (en) 2000-03-16 2002-07-04 Horvitz Eric J. Bounded-deferral policies for reducing the disruptiveness of notifications
WO2001084403A1 (fr) 2000-04-10 2001-11-08 Sony Corporation Systeme et methode de gestion d'informations
US20010042100A1 (en) 2000-04-14 2001-11-15 David Guedalia Unified system and methodology for remote access to e-mail
JP2001318948A (ja) 2000-05-09 2001-11-16 Hitachi Ltd 文書検索方法及び装置並びにその処理プログラムを記憶した媒体
US6771291B1 (en) 2000-06-07 2004-08-03 The Perfect Web Corporation Method for developing electronic documents employing multiple display regions
US6889361B1 (en) 2000-06-13 2005-05-03 International Business Machines Corporation Educational spell checker
US20020093527A1 (en) 2000-06-16 2002-07-18 Sherlock Kieran G. User interface for a security policy system and method
JP2002014903A (ja) 2000-06-28 2002-01-18 Hitachi Ltd 電子メール情報の検索方法および装置
US6742042B1 (en) 2000-06-28 2004-05-25 Nortel Networks Limited Method and apparatus of presenting ticker information
DE10124429B4 (de) * 2000-07-07 2008-11-27 International Business Machines Corp. System und Verfahren für eine verbesserte Rechtschreibprüfung
GB0017380D0 (en) 2000-07-14 2000-08-30 Mailround Com Limited Information communication system
US7043690B1 (en) 2000-09-11 2006-05-09 International Business Machines Corporation Method, system, and program for checking contact information
EP1235396A4 (en) 2000-09-26 2004-01-07 Interlex Inc SYSTEM AND METHOD FOR USING ELECTRONIC POST AS ADVERTISING MEDIUM
US6683627B1 (en) 2000-09-28 2004-01-27 International Business Machines Corporation Scroll box controls
US7197470B1 (en) 2000-10-11 2007-03-27 Buzzmetrics, Ltd. System and method for collection analysis of electronic discussion methods
US6725228B1 (en) 2000-10-31 2004-04-20 David Morley Clark System for managing and organizing stored electronic messages
US7035903B1 (en) 2000-11-22 2006-04-25 Xerox Corporation Systems and methods for the discovery and presentation of electronic messages that are related to an electronic message
US7243125B2 (en) 2000-12-08 2007-07-10 Xerox Corporation Method and apparatus for presenting e-mail threads as semi-connected text by removing redundant material
US20020073156A1 (en) 2000-12-08 2002-06-13 Xerox Corporation Method and system for mail folder displays
US20030009385A1 (en) 2000-12-26 2003-01-09 Tucciarone Joel D. Electronic messaging system and method thereof
US20040098488A1 (en) 2001-01-18 2004-05-20 William Mayers Network-assisted communication method and system therefor
US20020108125A1 (en) 2001-02-07 2002-08-08 Joao Raymond Anthony Apparatus and method for facilitating viewer or listener interaction
CA2437726A1 (en) 2001-02-15 2002-08-22 Suffix Mail Inc. E-mail messaging system
US6745197B2 (en) 2001-03-19 2004-06-01 Preston Gates Ellis Llp System and method for efficiently processing messages stored in multiple message stores
US6820081B1 (en) 2001-03-19 2004-11-16 Attenex Corporation System and method for evaluating a structured message store for message redundancy
US6973481B2 (en) 2001-03-23 2005-12-06 Emailias Llc System and method for creating and managing forwarding email address
JP3789774B2 (ja) 2001-05-31 2006-06-28 三洋電機株式会社 メール送受信機能を有する携帯電話機
US20020194229A1 (en) 2001-06-15 2002-12-19 Decime Jerry B. Network-based spell checker
US7143054B2 (en) 2001-07-02 2006-11-28 The Procter & Gamble Company Assessment of communication strengths of individuals from electronic messages
US20030020749A1 (en) 2001-07-10 2003-01-30 Suhayya Abu-Hakima Concept-based message/document viewer for electronic communications and internet searching
JP4040849B2 (ja) 2001-07-16 2008-01-30 株式会社東芝 知識蓄積支援システムおよび同システムにおけるメッセージ移動方法
JP4146109B2 (ja) 2001-07-16 2008-09-03 株式会社東芝 知識蓄積支援システムおよび同システムにおけるメッセージ階層表示設定方法
US7185057B2 (en) 2001-07-26 2007-02-27 International Business Machines Corporation Individually specifying message output attributes in a messaging system
US20030037339A1 (en) 2001-08-17 2003-02-20 Dynalab, Inc. Personal Web guide system and method for automatically displaying Web information
CN1402159A (zh) 2001-08-22 2003-03-12 英业达股份有限公司 邮件档案管理系统及方法
JP2003067306A (ja) 2001-08-24 2003-03-07 Hitachi Ltd 電子メールの蓄積管理方法
US7516438B1 (en) 2001-09-12 2009-04-07 Sun Microsystems, Inc. Methods and apparatus for tracking problems using a problem tracking system
JP4058928B2 (ja) 2001-09-28 2008-03-12 セイコーエプソン株式会社 文書表示システム、受信装置、文書表示方法、および記録媒体
US7305402B2 (en) 2001-10-10 2007-12-04 International Business Machines Corporation Adaptive indexing technique for use with electronic objects
US7328242B1 (en) 2001-11-09 2008-02-05 Mccarthy Software, Inc. Using multiple simultaneous threads of communication
US7392280B2 (en) 2001-11-27 2008-06-24 International Business Machines Corporation Method for summarization of threads in electronic mail
US7359936B2 (en) 2001-11-27 2008-04-15 International Business Machines Corporation Method and apparatus for electronic mail interaction with grouped message types
US20030163537A1 (en) 2001-11-27 2003-08-28 International Business Machines Corporation Method and apparatus for handling conversation threads and message groupings as a single entity
US20030101065A1 (en) 2001-11-27 2003-05-29 International Business Machines Corporation Method and apparatus for maintaining conversation threads in electronic mail
US20030177190A1 (en) 2001-11-27 2003-09-18 International Business Machines Corporation Method and apparatus for interaction with electronic mail from multiple sources
US20030110227A1 (en) * 2001-12-06 2003-06-12 O'hagan Timothy Patrick Real time streaming media communication system
US20030233419A1 (en) 2002-01-08 2003-12-18 Joerg Beringer Enhanced email management system
JP2003223437A (ja) 2002-01-29 2003-08-08 Internatl Business Mach Corp <Ibm> 正解語の候補の表示方法、スペルチェック方法、コンピュータ装置、プログラム
US7386439B1 (en) 2002-02-04 2008-06-10 Cataphora, Inc. Data mining by retrieving causally-related documents not individually satisfying search criteria used
WO2003067497A1 (en) 2002-02-04 2003-08-14 Cataphora, Inc A method and apparatus to visually present discussions for data mining purposes
US7421660B2 (en) 2003-02-04 2008-09-02 Cataphora, Inc. Method and apparatus to visually present discussions for data mining purposes
US7143135B2 (en) 2002-02-08 2006-11-28 Microsoft Corporation Automatic participant evaluation in computer mediated persistent conversations
CN1438595A (zh) 2002-02-10 2003-08-27 三慧科技股份有限公司 一种处理电子邮件的系统
US7031977B2 (en) 2002-02-28 2006-04-18 Plumtree Software, Inc. Efficiently storing indented threads in a threaded discussion application
MXPA04008492A (es) 2002-03-01 2005-07-13 Tralix L L C Metodo y sistema para enviar y rastrear mensajes de correo electronico.
US7206388B2 (en) 2002-03-18 2007-04-17 Openwave Systems Inc. System and method for providing voice-activated presence information
US7599852B2 (en) 2002-04-05 2009-10-06 Sponster Llc Method and apparatus for adding advertising tag lines to electronic messages
CN1464458A (zh) 2002-06-04 2003-12-31 明日工作室股份有限公司 电子邮件生成方法与系统
US7120622B2 (en) 2002-06-10 2006-10-10 Xerox Corporation Authoring tools, including content-driven treetables, for fluid text
US7139850B2 (en) 2002-06-21 2006-11-21 Fujitsu Limited System for processing programmable buttons using system interrupts
US8150922B2 (en) 2002-07-17 2012-04-03 Research In Motion Limited Voice and text group chat display management techniques for wireless mobile terminals
JP2004054614A (ja) 2002-07-19 2004-02-19 Fujitsu Ltd メール応答状況表示プログラムおよびメール応答状況表示方法
US7555485B2 (en) 2002-08-22 2009-06-30 Yahoo! Inc. System and method for conducting an auction-based ranking of search results on a computer network
US20040044735A1 (en) 2002-08-30 2004-03-04 International Business Machines Corporation Method and system for organizing an email thread
US7370035B2 (en) 2002-09-03 2008-05-06 Idealab Methods and systems for search indexing
US7933957B2 (en) * 2002-09-17 2011-04-26 At&T Intellectual Property Ii, L.P. Tracking email and instant messaging (IM) thread history
US20040059712A1 (en) 2002-09-24 2004-03-25 Dean Jeffrey A. Serving advertisements using information associated with e-mail
US7062536B2 (en) 2002-10-10 2006-06-13 International Business Machines Corporation Grouping electronic reply messages
US8122084B2 (en) 2002-10-29 2012-02-21 Sap Ag Collaborative conversation channels
EP1556768A1 (en) 2002-10-31 2005-07-27 Nokia Corporation A communication apparatus and a method of indicating receipt of an electronic message, and a server, a method and a computer progam product for providing a computerized icon ordering service
JP2004173124A (ja) 2002-11-22 2004-06-17 Crossever Kk 顧客データの管理方法
US7007069B2 (en) 2002-12-16 2006-02-28 Palo Alto Research Center Inc. Method and apparatus for clustering hierarchically related information
US7340674B2 (en) 2002-12-16 2008-03-04 Xerox Corporation Method and apparatus for normalizing quoting styles in electronic mail messages
US20040260710A1 (en) * 2003-02-28 2004-12-23 Marston Justin P. Messaging system
US20050091320A1 (en) 2003-10-09 2005-04-28 Kirsch Steven T. Method and system for categorizing and processing e-mails
US7509378B2 (en) 2003-03-11 2009-03-24 Bea Systems, Inc. System and method for message ordering in a message oriented network
US20040186766A1 (en) 2003-03-19 2004-09-23 International Business Machines Corporation Apparatus and method for marketing to instant messaging service users
US7890603B2 (en) 2003-04-03 2011-02-15 International Business Machines Corporation Apparatus, system and method of performing mail message searches across multiple mail servers
US7213210B2 (en) 2003-04-03 2007-05-01 International Business Machines Corporation Method, apparatus and computer program product for managing e-mail messages
US7472357B1 (en) 2003-06-04 2008-12-30 Microsoft Corporation Method and apparatus for managing list items
US7603491B2 (en) 2003-06-19 2009-10-13 Intel Corporation Bandwidth conserving protocol for command-response bus system
US7421690B2 (en) * 2003-06-23 2008-09-02 Apple Inc. Threaded presentation of electronic mail
US7890852B2 (en) * 2003-06-26 2011-02-15 International Business Machines Corporation Rich text handling for a web application
US7162473B2 (en) 2003-06-26 2007-01-09 Microsoft Corporation Method and system for usage analyzer that determines user accessed sources, indexes data subsets, and associated metadata, processing implicit queries based on potential interest to users
US7716593B2 (en) * 2003-07-01 2010-05-11 Microsoft Corporation Conversation grouping of electronic mail records
US7974391B2 (en) 2003-07-14 2011-07-05 Orative Corporation Conversation-based user interface
US20050060643A1 (en) * 2003-08-25 2005-03-17 Miavia, Inc. Document similarity detection and classification system
US7484175B2 (en) 2003-09-30 2009-01-27 International Business Machines Corporation Method and apparatus for increasing personability of instant messaging with user images
US20050091318A1 (en) 2003-10-09 2005-04-28 International Business Machines Corporation Enabling a sender to control future recipients of an email
US7433920B2 (en) 2003-10-10 2008-10-07 Microsoft Corporation Contact sidebar tile
US7200638B2 (en) 2003-10-14 2007-04-03 International Business Machines Corporation System and method for automatic population of instant messenger lists
US20050144241A1 (en) 2003-10-17 2005-06-30 Stata Raymond P. Systems and methods for a search-based email client
US7693724B2 (en) 2003-10-20 2010-04-06 Bryant Consultants, Inc. Multidiscipline site development and risk assessment process
US20050086598A1 (en) 2003-10-21 2005-04-21 Marshall John L.Iii Document digest system and methodology
US7194516B2 (en) 2003-10-23 2007-03-20 Microsoft Corporation Accessing different types of electronic messages through a common messaging interface
US7356772B2 (en) 2003-11-25 2008-04-08 International Business Machines Corporation Multi-column user interface for managing on-line threaded conversations
US7222299B1 (en) 2003-12-19 2007-05-22 Google, Inc. Detecting quoted text
US7454716B2 (en) 2003-12-22 2008-11-18 Microsoft Corporation Clustering messages
US20050165740A1 (en) 2003-12-29 2005-07-28 Kerr Bernard J. System and method for scrolling within a list of documents
US7412437B2 (en) 2003-12-29 2008-08-12 International Business Machines Corporation System and method for searching and retrieving related messages
US8805933B2 (en) 2003-12-29 2014-08-12 Google Inc. System and method for building interest profiles from related messages
US20050198173A1 (en) 2004-01-02 2005-09-08 Evans Alexander W. System and method for controlling receipt of electronic messages
US7383307B2 (en) 2004-01-07 2008-06-03 International Business Machines Corporation Instant messaging windowing for topic threads
CA2640927C (en) 2004-01-30 2012-01-17 Research In Motion Limited Contact query data system and method
US7904510B2 (en) 2004-02-23 2011-03-08 Microsoft Corporation Systems and methods for managing discussion threads based on ratings
WO2005093595A1 (en) 2004-02-26 2005-10-06 Thomson Licensing Discussion association for e-mail
US8898239B2 (en) 2004-03-05 2014-11-25 Aol Inc. Passively populating a participant list with known contacts
US7953800B2 (en) 2004-03-08 2011-05-31 Netsuite, Inc. Integrating a web-based business application with existing client-side electronic mail systems
US20050204009A1 (en) 2004-03-09 2005-09-15 Devapratim Hazarika System, method and computer program product for prioritizing messages
US8275839B2 (en) 2004-03-31 2012-09-25 Google Inc. Methods and systems for processing email messages
US7725508B2 (en) 2004-03-31 2010-05-25 Google Inc. Methods and systems for information capture and retrieval
US7814155B2 (en) 2004-03-31 2010-10-12 Google Inc. Email conversation management system
US7912904B2 (en) 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
US7565534B2 (en) 2004-04-01 2009-07-21 Microsoft Corporation Network side channel for a message board
US20050223072A1 (en) 2004-04-02 2005-10-06 Web.De Ag Electronic messaging system with an integrated interactive footer
JP2007534075A (ja) 2004-04-21 2007-11-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ネットワークチャット環境におけるスレッドを管理するためのシステム及び方法
US20060031304A1 (en) 2004-04-27 2006-02-09 Amit Bagga Method and apparatus for classification of relative position of one or more text messages in an email thread
US7865511B2 (en) 2004-06-25 2011-01-04 Apple Inc. News feed browser
US20060026593A1 (en) 2004-07-30 2006-02-02 Microsoft Corporation Categorizing, voting and rating community threads
US20090094332A1 (en) 2004-09-02 2009-04-09 Zimbra, Inc. System and method for enabling offline use of email through a browser interface
US8150926B2 (en) 2004-09-09 2012-04-03 Microsoft Corporation Organizing electronic mail messages into conversations
TW200620911A (en) 2004-12-08 2006-06-16 Bo-Tai Ho Dividing method and receiving method for normal mails and commercial mails in e-mail
US7218943B2 (en) 2004-12-13 2007-05-15 Research In Motion Limited Text messaging conversation user interface functionality
US8055715B2 (en) 2005-02-01 2011-11-08 i365 MetaLINCS Thread identification and classification
US20060248209A1 (en) 2005-04-27 2006-11-02 Leo Chiu Network system for facilitating audio and video advertising to end users through audio and video podcasts
US8380682B2 (en) 2005-08-10 2013-02-19 International Business Machines Corporation Indexing and searching of electronic message transmission thread sets
US7565347B2 (en) 2005-08-10 2009-07-21 International Business Machines Corporation Indexing and searching of electronic message transmission thread sets
US7730141B2 (en) 2005-12-16 2010-06-01 Microsoft Corporation Graphical interface for defining mutually exclusive destinations
US20070143428A1 (en) 2005-12-21 2007-06-21 Shruti Kumar Method and system for displaying indications of messages from important persons and from new persons at a high display priority in a gathered threads view of an electronic mail ("email") user interface
US7899871B1 (en) 2006-01-23 2011-03-01 Clearwell Systems, Inc. Methods and systems for e-mail topic classification
US9275129B2 (en) 2006-01-23 2016-03-01 Symantec Corporation Methods and systems to efficiently find similar and near-duplicate emails and files
US9600568B2 (en) 2006-01-23 2017-03-21 Veritas Technologies Llc Methods and systems for automatic evaluation of electronic discovery review and productions
US7657603B1 (en) 2006-01-23 2010-02-02 Clearwell Systems, Inc. Methods and systems of electronic message derivation
US9092434B2 (en) 2007-01-23 2015-07-28 Symantec Corporation Systems and methods for tagging emails by discussions
US7917465B2 (en) 2007-08-27 2011-03-29 Yahoo! Inc. System and method for providing vector terms related to instant messaging conversations
US20100070584A1 (en) 2008-09-12 2010-03-18 International Business Machines Corporation Method and system for dynamic e-mail view conversion
JP5365206B2 (ja) 2009-01-14 2013-12-11 富士通モバイルコミュニケーションズ株式会社 通信機器
US8700776B2 (en) 2009-03-23 2014-04-15 Google Inc. System and method for editing a conversation in a hosted conversation system
US10210481B2 (en) 2009-07-14 2019-02-19 Bitvore Corp. Relational presentation of communications and application for transaction analysis
US9824314B2 (en) 2011-01-14 2017-11-21 Apple Inc. Grouping email messages into conversations

Also Published As

Publication number Publication date
US8621022B2 (en) 2013-12-31
JP2012022696A (ja) 2012-02-02
CN102521733B (zh) 2015-08-26
US20180159810A1 (en) 2018-06-07
EP2575095A1 (en) 2013-04-03
KR101173812B1 (ko) 2012-08-16
US20050234850A1 (en) 2005-10-20
JP5384583B2 (ja) 2014-01-08
CN102521734B (zh) 2016-06-01
US10284506B2 (en) 2019-05-07
CN102592209A (zh) 2012-07-18
CA2561580A1 (en) 2005-10-20
KR20110096090A (ko) 2011-08-26
CN102609832A (zh) 2012-07-25
WO2005098701A3 (en) 2007-08-02
EP1733349A2 (en) 2006-12-20
AU2005229862A1 (en) 2005-10-20
AU2011201994B2 (en) 2012-11-01
AU2011201989A1 (en) 2011-05-19
KR20070000506A (ko) 2007-01-02
US9015257B2 (en) 2015-04-21
JP2012009057A (ja) 2012-01-12
CA2561580C (en) 2018-06-19
KR20110096091A (ko) 2011-08-26
US9015264B2 (en) 2015-04-21
JP2013191228A (ja) 2013-09-26
US20130013716A1 (en) 2013-01-10
CN102521733A (zh) 2012-06-27
JP5181013B2 (ja) 2013-04-10
JP2012022697A (ja) 2012-02-02
KR101179412B1 (ko) 2012-09-04
JP5243583B2 (ja) 2013-07-24
AU2013205898A1 (en) 2013-06-06
KR101173813B1 (ko) 2012-08-16
AU2011201991B2 (en) 2012-11-01
CN102609831A (zh) 2012-07-25
US9819624B2 (en) 2017-11-14
US20130013718A1 (en) 2013-01-10
JP4956420B2 (ja) 2012-06-20
KR101171680B1 (ko) 2012-08-09
US9124543B2 (en) 2015-09-01
EP2533181A1 (en) 2012-12-12
JP5241897B2 (ja) 2013-07-17
US9071566B2 (en) 2015-06-30
WO2005098701A2 (en) 2005-10-20
JP2014209349A (ja) 2014-11-06
AU2011201992A1 (en) 2011-05-19
JP5608264B2 (ja) 2014-10-15
EP2533182A1 (en) 2012-12-12
KR20110096088A (ko) 2011-08-26
JP2007531165A (ja) 2007-11-01
AU2005229862B2 (en) 2011-02-03
CN102592209B (zh) 2016-08-24
AU2011201991A1 (en) 2011-05-19
JP2012022698A (ja) 2012-02-02
AU2011201992B2 (en) 2012-11-15
AU2011201994A1 (en) 2011-05-19
US20130013634A1 (en) 2013-01-10
US20140089433A1 (en) 2014-03-27
AU2011201993B2 (en) 2013-04-04
JP5243582B2 (ja) 2013-07-24
JP5883071B2 (ja) 2016-03-09
KR101173815B1 (ko) 2012-08-16
KR101177147B1 (ko) 2012-08-24
JP2011123893A (ja) 2011-06-23
AU2013205898B2 (en) 2016-05-19
AU2011201993A1 (en) 2011-05-19
BRPI0509500A (pt) 2007-09-11
CN102521734A (zh) 2012-06-27
KR20110096092A (ko) 2011-08-26
US20130013717A1 (en) 2013-01-10
AU2011201989B2 (en) 2012-11-08

Similar Documents

Publication Publication Date Title
KR101171680B1 (ko) 대화-기반 이메일 시스템에서 메시지들의 검색
US10706060B2 (en) Systems and methods for re-ranking displayed conversations
KR20060136476A (ko) 대화-기반 이메일 시스템에서 대화들을 디스플레이하는방법 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150708

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160714

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170714

Year of fee payment: 6