KR20110055636A - Messaging application with multiple viewports for presenting messages in different orders - Google Patents
Messaging application with multiple viewports for presenting messages in different orders Download PDFInfo
- Publication number
- KR20110055636A KR20110055636A KR1020117005897A KR20117005897A KR20110055636A KR 20110055636 A KR20110055636 A KR 20110055636A KR 1020117005897 A KR1020117005897 A KR 1020117005897A KR 20117005897 A KR20117005897 A KR 20117005897A KR 20110055636 A KR20110055636 A KR 20110055636A
- Authority
- KR
- South Korea
- Prior art keywords
- messages
- importance
- user
- client device
- subset
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/53—Centralised arrangements for recording incoming messages, i.e. mailbox systems
- H04M3/533—Voice mail systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/53—Centralised arrangements for recording incoming messages, i.e. mailbox systems
- H04M3/533—Voice mail systems
- H04M3/53333—Message receiving aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/53—Centralised arrangements for recording incoming messages, i.e. mailbox systems
- H04M3/533—Voice mail systems
- H04M3/53333—Message receiving aspects
- H04M3/5335—Message type or catagory, e.g. priority, indication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/12—Counting circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/36—Memories
Abstract
메시지들을 디스플레이하기 위한 방법에 있어서, 시스템은 다수의 뷰포트들에서 단일 사용자 계정으로부터의 메시지들을 디스플레이한다. 각 뷰포트는 이러한 뷰포트를 통해 그의 사용자 계정에서 메시지들과의 사용자의 종전 상호작용들에 기초하여 계산되는 중요도 스코어에 기초하여 메시지들을 정렬한다. 사용자 계정과 연관된 각 뷰포트는 상이한 메시지 중요도 모델을 이용하여 메시지들을 정렬한다. In a method for displaying messages, the system displays messages from a single user account in multiple viewports. Each viewport sorts messages through this viewport based on importance scores calculated based on the user's previous interactions with messages in his user account. Each viewport associated with a user account sorts the messages using a different message importance model.
Description
개시되는 실시예들은 일반적으로 이메일, 인스턴트, 및 음성 메일 메시지들과 같은 메시지들의 디스플레이에 관한 것이다. 보다 구체적으로, 개시되는 실시예들은 메시지들과의 사용자의 상호작용들로부터 결정되는 중요도 인자들 또는 스코어들에 기초하여 정렬된 메시지들을 디스플레이하기 위한 시스템들, 방법들, 및 컴퓨터 프로그램들에 관한 것이다.The disclosed embodiments generally relate to the display of messages such as email, instant, and voice mail messages. More specifically, the disclosed embodiments relate to systems, methods, and computer programs for displaying messages ordered based on importance factors or scores determined from user interactions with the messages. .
이메일 통신이 증가함에 따라, 사용자 계정들에서 수신되고 저장되는 이메일 메시지들의 수도 증가한다. 사용자 계정은 전형적으로 각 이메일 주소 또는 사용자명으로 전송되고 이로부터 전송되는 모든 메시지들을 포함한다. 그러나 몇몇 사용자 계정들은 때때로 에일리어스(alias)라 지칭되는 다수의 이메일 주소들 또는 사용자 이름들과 연관될 수 있고, 이들은 함께 하나의 논리 이메일 주소 또는 사용자명이라 간주될 수 있다. 수신된 이메일의 양은 빠르게 사용자들을 압도할 수 있어 불필요한 메시지들로부터 중요한 메시지들을 걸러내기가 어려워진다.As email communication increases, the number of email messages received and stored in user accounts also increases. A user account typically includes all messages sent to and from each email address or username. However, some user accounts may be associated with multiple email addresses or usernames, sometimes referred to as aliases, which together may be considered as one logical email address or username. The amount of email received can quickly overwhelm users, making it difficult to filter out important messages from unnecessary messages.
추가적으로, 오늘날 많은 사람들이 핸드헬드 컴퓨터들 또는 셀 폰들과 같은 모바일 디바이스들 상에서 그들의 이메일에 액세스하고 이러한 이메일을 본다. 이러한 모바일 디바이스들은 전형적으로 메시지들을 보기 위한 훨씬 더 작은 메시지 윈도우들 또는 인터페이스들을 가진 작은 스크린들을 가진다. 이러한 인터페이스들은 때때로 사용자가 임의의 주어진 시간에 적은 수의 메시지들을 보도록 허용할 뿐이어서, 사용자는 예를 들어 메시지들을 스크롤링하는 것을 통해 중요한 메시지들의 위치를 찾기 위해 이러한 인터페이스와 보다 빈번하게 상호작용할 것이 요구된다. 이러한 모바일 디바이스들은 또한 네트워크 접속성을 이용할 수 있고, 이는 때때로 사용량에 의해 요금이 부과되며 종종 느리다. 이러한 디바이스들의 사용자들은 이러한 매체를 통해 메시지에 액세스할 때 그들이 보는 메시지들을 높은 중요도를 갖는 메시지들로 제한하기를 원한다.In addition, many people today access and view their email on mobile devices such as handheld computers or cell phones. Such mobile devices typically have small screens with much smaller message windows or interfaces for viewing messages. These interfaces sometimes only allow the user to view a small number of messages at any given time, requiring the user to interact with these interfaces more frequently to locate important messages, for example, by scrolling through the messages. do. These mobile devices can also take advantage of network connectivity, which is sometimes charged by usage and often slow. Users of such devices want to limit the messages they see to messages of high importance when accessing messages through such media.
이러한 문제점들을 다루기 위해서, 몇몇 메시지는 보다 쉬운 식별을 위해서 사용자들이 메시지들을 폴더들로 조직화하거나 사용자-정의 라벨들을 부가할 수 있도록 한다. 추가적으로, 몇몇 이메일 애플리케이션들에서 사용자들은 메시지 전달 날짜, 발신자, 또는 메시지 제목과 같은 단일 사용자-정의 메시지 헤더 필드의 값에 따라 특정 뷰(view)로 메시지들을 정렬할 수 있다. 그러나 이러한 조직적 기술들은 때때로 사용자에게 가장 중요한 메시지들을 식별하지 못하고, 사용자가 많은 메시지들을 통해 스크롤링한 후에 비로소 가장 중요하게 생각하는 메시지들의 위치를 찾도록 하게 한다.To address these problems, some messages allow users to organize messages into folders or add user-defined labels for easier identification. In addition, in some email applications, users can sort messages into a particular view according to the value of a single user-defined message header field such as message delivery date, sender, or message subject. However, these organizational techniques sometimes do not identify the messages that are most important to the user and allow the user to locate the messages that are most important after scrolling through the many messages.
특정 사용자에게 예측된 중요도에 기초하여 자동적으로 소트(sort)되는 메시지들의 커스터마이즈 뷰(customized view)를 사용자에게 제공하면서 상기 단점들을 다루는 메시지 시스템 및 방법을 제공할 것이 요구된다.There is a need to provide a message system and method that addresses these shortcomings while providing the user with a customized view of messages that are automatically sorted based on the predicted importance to a particular user.
메시지들을 디스플레이하기 위한 방법에 있어서, 시스템은 다수의 뷰포트(viewport)들에서 단일 사용자 계정(즉, 각 사용자의 계정)으로부터의 메시지들을 디스플레이한다. 각 뷰포트는 이러한 뷰포트를 통해 그의 사용자 계정에서 메시지들과의 사용자의 종전 상호작용들에 기초하여 계산되는 중요도 스코어에 기초하여 메시지들을 정렬한다. 사용자 계정과 연관된 각 뷰포트는 상이한 메시지 중요도 모델을 이용하여 메시지들을 정렬한다. In a method for displaying messages, the system displays messages from a single user account (ie, each user's account) in multiple viewports. Each viewport sorts messages through this viewport based on importance scores calculated based on the user's previous interactions with messages in his user account. Each viewport associated with a user account sorts the messages using a different message importance model.
몇몇 실시예들에서, 제 1 클라이언트 디바이스가 제 1 중요도 스코어 계산에 의해 정렬된 메시지들을 뷰포트에서 디스플레이하고 제 2 클라이언트 디바이스는 제 2 중요도 스코어 계산에 의해 정렬된 동일한 사용자 계정으로부터의 메시지들을 뷰포트에서 디스플레이한다. 중요도 예측 모델들은 메시지들과의 사용자 상호작용들에 기초하여 중요도 스코어들을 생성하는데 이용된다.In some embodiments, the first client device displays messages in the viewport sorted by the first importance score calculation and the second client device displays messages from the same user account sorted by the second importance score calculation in the viewport. do. Importance prediction models are used to generate importance scores based on user interactions with messages.
몇몇 실시예들에서, 클라이언트 디바이스는 제 1 중요도 스코어 계산에 의해 정렬된 메시지들을 뷰포트에서 디스플레이하고 제 2 중요도 스코어 계산에 의해 정렬된 동일한 사용자 계정으로부터의 메시지들을 제 2 뷰포트에서 디스플레이한다.In some embodiments, the client device displays messages in the viewport sorted by the first importance score calculation and messages in the second viewport from the same user account sorted by the second importance score calculation.
본 발명의 또 다른 양상에서, 서버는 제 1 클라이언트 디바이스로 제 1 중요도 스코어 계산에 의해 정렬된 메시지들의 목록을 전송하고 제 2 클라이언트 디바이스로 제 2 중요도 스코어 계산에 의해 정렬된 동일한 사용자 계정으로부터의 메시지들의 또 다른 목록을 전송한다. In another aspect of the invention, the server sends a list of messages sorted by the first importance score calculation to the first client device and messages from the same user account sorted by the second importance score calculation to the second client device. Send another list of them.
본 발명의 또 다른 양상에서, 서버는 클라이언트 디바이스로 제 1 중요도 스코어 계산에 의해 정렬된 메시지들의 목록을 전송하고 상기 클라이언트 디바이스로 제 2 중요도 스코어 계산에 의해 정렬된 동일한 사용자 계정으로부터의 메시지들의 또 다른 목록을 전송한다. In another aspect of the invention, the server sends a list of messages sorted by the first importance score calculation to the client device and another of messages from the same user account sorted by the second importance score calculation to the client device. Send the list.
몇몇 양상들은 상기 방법들을 수행하기 위한 명령들을 포함하는 하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체를 제공한다.Some aspects provide a computer readable storage medium storing one or more programs comprising instructions for performing the methods.
도 1은 몇몇 양상들에 따라 클라이언트-서버 네트워크 환경의 인프라구조를 도시하는 블록도이다.
도 2는 몇몇 양상들에 따라 다수의 클라이언트들로 정렬된 메시지 목록들을 제공하는 프로세스를 도시하는 흐름도이다.
도 3은 몇몇 다른 양상들에 따라 단일 클라이언트로 정렬된 메시지 목록들을 제공하는 또 다른 프로세스를 도시하는 흐름도이다.
도 4는 몇몇 양상들에 따라 정렬된 메시지 목록을 생성하는 프로세스를 도시하는 흐름도이다.
도 5a-5d는 몇몇 양상들에 따라 정렬된 메시지를 생성하기 위해 이용되는 데이터 구조들을 도시하는 블록도들이다.
도 6은 몇몇 양상들에 따른 예시적인 클라이언트의 블록도이다.
도 7은 몇몇 양상들에 따른 예시적인 서버의 블록도이다.
유사한 참조 번호들이 도면들을 통해 대응하는 부분들을 참조한다.1 is a block diagram illustrating the infrastructure of a client-server network environment in accordance with some aspects.
2 is a flow diagram illustrating a process of providing message lists arranged in multiple clients in accordance with some aspects.
3 is a flow diagram illustrating another process of providing message lists arranged into a single client in accordance with some other aspects.
4 is a flow diagram illustrating a process of generating an ordered message list in accordance with some aspects.
5A-5D are block diagrams illustrating data structures used to generate an ordered message in accordance with some aspects.
6 is a block diagram of an example client in accordance with some aspects.
7 is a block diagram of an example server in accordance with some aspects.
Like reference numerals refer to corresponding parts throughout the drawings.
도 1은 몇몇 양상들에 따른 시스템(100)의 블록도이다. 하나 이상의 클라이언트들(103) 및 메시지 서버(106)는 임의의 적합한 수단을 통해 통신 네트워크(104)에 연결된다. 통신 네트워크(104)는 하나 이상의 로컬 영역 네트워크(LAN)들, 광역 네트워크(WAN)들, 예를 들어 인터넷 등 또는 이들의 조합일 수 있다.1 is a block diagram of a system 100 in accordance with some aspects. One or
몇몇 양상들에서, 클라이언트(103)는 개인용 컴퓨터, 핸드헬드 컴퓨터, 개인 휴대 정보 단말기, 셀룰러-폰 등과 같은 임의의 적합한 컴퓨팅 디바이스이다. 클라이언트(103)는 메시지들을 보기 위한 하나 이상의 소프트웨어 애플리케이션들 또는 인터페이스들을 포함한다. 본원에서 사용될 때 메시지들은 한 사람, 하나의 스테이션, 또는 그룹으로부터 다른 것으로의 임의의 유형의 통신 메시지들을 지칭하고, 전자 메일(이메일) 메시지들, 인스턴트 메시지들, 음성메일 메시지들 등을 포함한다. In some aspects,
몇몇 실시예들에서, 메시지 서버(106)는 프런트 엔드 서버(120), 검색 엔진(122), 검색 결과 랭커(124), 중요도 예측 모델(126), 메시지 데이터베이스(128), 및 사용자 계정 데이터베이스(130)를 포함한다. 검색 엔진(122)은 사용자 계정 데이터베이스(130)와 연관된 특정 사용자 계정에 속하는 메시지들의 세트들을 리트리빙(retrieve)하기 위해 메시지 데이터베이스(128)와 통신한다. 사용자 계정은 각각의 이메일 주소 또는 사용자명으로 전송되고 이로부터 전송되는 모든 메시지들을 포함한다. 몇몇 경우들에서, 각 사용자 계정은 때때로 에일리어스(alias)라 지칭되는 다수의 이메일 주소들 또는 사용자명들과 연관될 수 있고, 이들은 함께 이러한 논의의 목적을 위해 하나의 논리 이메일 주소 또는 사용자명이라 간주될 수 있다. 검색 엔진(122)은 검색 결과 랭커(124)로 리트리빙된 메시지들의 세트를 전송하고, 이러한 검색 결과 랭커(124)는 중요도 예측 모델들(126)을 이용하여 세트 내의 각 개별 메시지에 대해 계산된 중요도 스코어들에 따라 메시지 순서를 조직화한다. 하나의 경우에, 복귀되는 메시지들의 세트는 모두 새로운 메시지들이다. In some embodiments, the
메시지 데이터베이스(128)는 사용자들에 대한 메시지들을 저장한다. 몇몇 실시예들에서, 하나의 메시지 데이터베이스(128)가 사용자 계정마다 이용되고, 다른 실시예들에서는 다수의 사용자들로부터의 메시지들이 동일한 메시지 데이터베이스(128)에 저장된다. 당업자는 한 사용자로부터의 메시지들이 시스템의 다른 사용자들에 의해 액세스되는 것을 방지하기 위한 많은 방법들이 있다는 것을 인식할 것이다.
중요도 예측 모델들(126)은 적어도 하나의 사용자 계정에서 개별 메시지들에 대한 중요도 스코어들을 계산한다. 하나 이상의 중요도 예측 모델들(126)은 사용자 계정과 연관된다. 중요도 예측 모델들(126)은 사용자 계정에서 하나 이상의 메시지들의 세트에 대해 중요도 스코어들을 계산한다.
일 실시예에서, 중요도 예측 모델들(126)은 기계 학습(machine learning)을 이용하여 생성된다. 기계 학습은 소프트웨어 툴들 및 컴퓨터 시스템들을 이용하여 구현되는, 기능들 및 예측 모델들을 생성하는 기술들의 세트를 포함한다(예를 들어, 기능들 또는 예측 모델들의 컴포넌트들에 적용될 가중치들을 결정함으로써). 기계 학습은 당업자에게 잘 알려져 있으므로 본 문서에서는 기술되지 않는다. 각 예측 모델은 메시지들의 세트 내의 각 메시지에 대해 중요도 스코어, 또는 둘 이상의 중요도 스코어들을 계산하는데 이용된다. 이러한 모델은 하나 이상의 메시지 품질 신호들(때때로 메시지 품질 인자들, 또는 메시지 중요도 인자들이라 지칭됨)을 이용하여 각 메시지에 대해 하나 이상의 스코어들을 계산하도록 규정된다. 미리규정된 메시지 품질 신호들의 세트 중 각 메시지 품질 신호는 상이한 예측 모델들에서 상이하게 가중(weight)될 수 있는데, 이는 각 메시지 품질 신호에 적용되는 가중치들이 사용자 계정에서 메시지들에 대한 이전의 사용자 동작들 또는 사용자 선호사항들에 따라 결정되기 때문이다.In one embodiment, the
메시지 품질 신호들의 예들은 다음을 포함한다: 사용자가 메시지를 판독했는지 여부를 식별하는 신호, 메시지의 수신시로부터 사용자가 메시지를 판독한 최초 시간까지의 지연시간을 식별하는 신호, 상기 사용자가 상기 메시지에 응답했는지 여부를 식별하는 신호, 상기 사용자가 상기 메시지를 포워딩했는지 여부를 식별하는 신호, 상기 사용자가 상기 메시지를 순서에 맞지 않게 판독하는지 여부를 식별하는 신호, 상기 사용자가 특정 메시지를 판독하는데 걸린 총 시간을 나타내는 신호, 상기 사용자가 상기 메시지에 대한 탐색을 수행했는지 여부를 식별하는 신호, 상기 사용자가 상기 메시지를 판독했던 횟수를 나타내는 신호, 및 상기 메시지의 또 다른 참가자에 대한 상기 사용자의 친화도(affinity)를 나타내는 신호. 뷰포트 에서 메시지들을 정렬하기 위해 이용될 수 있는 다른 메시지 품질 신호들은 메시지 헤더 정보에 기초한 신호들 및 메시지들에 대한 다른 메타데이터에 기초한 신호들을 포함한다. Examples of message quality signals include: a signal identifying whether the user has read a message, a signal identifying a delay from the receipt of the message to the first time the user reads the message, the user receiving the message A signal identifying whether or not the user has forwarded the message, a signal identifying whether the user has forwarded the message, a signal identifying whether the user reads the message out of sequence, or the user is caught reading a specific message. A signal indicating total time, a signal identifying whether the user has performed a search for the message, a signal indicating the number of times the user has read the message, and the user's affinity for another participant of the message Signal representing (affinity). Other message quality signals that can be used to sort messages in the viewport include signals based on message header information and signals based on other metadata for the messages.
뷰포트는 사용자 계정에서 메시지들의 세트를 보고 메시지들의 세트와 상호작용하기 위한 사용자 인터페이스이다. 클라이언트는 메시지들을 보기 위한 하나 이상의 뷰포트들을 제공할 수 있고, 다시 말해서 동일한 개인용 컴퓨터 상의 상이한 메시지 뷰잉(viewing) 윈도우들과 같이, 상이한 뷰포트들이 동일한 디바이스 상에 존재할 수 있다. 이용가능한 메시지 품질 신호들의 서브세트 및 다른 메시지 신호들은 특정 뷰포트에 대해 중요도 스코어들을 생성하도록 조합될 수 있고(예를 들어 가중된 합산과 같은 선형 조합, 또는 비-선형 조합), 이러한 중요도 스코어들은 그 후 상기 뷰포트에 대한 메시지들을 정렬하는데 이용된다. A viewport is a user interface for viewing a set of messages in a user account and interacting with the set of messages. The client may provide one or more viewports for viewing messages, that is, different viewports may exist on the same device, such as different message viewing windows on the same personal computer. The subset of available message quality signals and other message signals can be combined to produce importance scores for a particular viewport (eg, linear combination, such as weighted summation, or non-linear combination), and these importance scores are It is then used to sort the messages for the viewport.
몇몇 실시예들에서, 중요도 예측 모델들(126)은 특정 뷰포트에 대해 중요한 메시지 특성들의 최초 예측 모델을 수립하는데 기계 학습을 이용한다. 그 다음 이러한 모델은 특정 메시지에 대해 중요도 스코어를 계산하기 위해 메시지들의 세트 내의 각 메시지에 적용된다. 메시지들의 세트는 그 후 검색 결과 랭커(124)를 이용하여 정렬, 즉 특정 뷰포트에 대해 소트된다. 예를 들어, 검색 결과 랭커(124)는 중요도 스코어가 감소하는 순서로 메시지들을 정렬할 수 있다.In some embodiments,
중요도 예측 모델들의 선택은 클라이언트에서 특정 뷰포트의 선택에 의존한다. 몇몇 실시예들에서 뷰포트는, 사용자의 전체 메시지 인박스(inbox)를 볼 때 디스플레이될 것처럼, 사용자 계정의 모든 메시지들을 디스플레이할 수 있다. 다른 실시예들에서, 뷰포트는 특정 폴더 또는 서브폴더 내의 모든 메시지들과 같은 사용자 계정 내의 메시지들의 서브세트를 디스플레이할 수 있다. 또 다른 실시예들에서, 뷰포트는 특정 라벨이 부가된 모든 메시지들과 같은 사용자 계정 내의 메시지들의 서브세트를 디스플레이할 수 있다. 추가적인 실시예들에서, 뷰포트는 사용자가 명시적으로 선택한 메시지들에 기초하여 메시지들의 커스텀 서브세트를 디스플레이할 수 있다. 뷰포트의 선택은 중요도 예측 모델(126)에 상기 뷰포트와 연관된 메시지들을 제공한다.The choice of importance prediction models depends on the selection of a particular viewport at the client. In some embodiments, the viewport can display all the messages of the user account, as will be displayed when viewing the user's entire message inbox. In other embodiments, the viewport can display a subset of the messages in the user account, such as all messages in a particular folder or subfolder. In still other embodiments, the viewport can display a subset of messages in the user account, such as all messages with a particular label. In further embodiments, the viewport can display a custom subset of messages based on the messages that the user has explicitly selected. The selection of the viewport provides the
하나의 사용자 계정은 메시지들의 정렬된 목록들을 디스플레이하거나 또는 제시하기 위한 둘 이상의 뷰포트를 생성하기 위해 둘 이상의 중요도 예측 모델(126)을 포함할 수 있다. 각 중요도 예측 모델은 상이한 메시지 품질 신호들을 이용함으로써 또는 하나 이상의 메시지 품질 신호들에 대한 상이한 가중치들에 의해서 특정 메시지에 대해 별개의 중요도 스코어들을 계산하는데 이용될 수 있다. 예를 들어, 하나의 중요도 예측 모델은 사용자가 메시지를 포워딩하는지 여부를 식별하는 신호와 사용자가 메시지에 응답하는지 여부를 식별하는 신호의 조합에 기초할 수 있다. 동일한 사용자 계정은 사용자가 메시지를 판독한 횟수를 나타내는 신호들 및 메시지를 판독하는데 소요된 총 시간을 나타내는 신호의 조합에 기초한 중요도 예측 모델을 포함할 수 있다. 사용자가 동일한 메시지들의 세트(폴더, 검색 결과, 라벨 등)에 각각의 뷰포트 모델을 적용하는 경우, 2개의 뷰포트 모델들은 각 모델에 의해 독립적으로 계산되는 중요도 스코어들에 기초하여 동일한 메시지들의 세트를 다르게 정렬할 수 있다.One user account may include two or more
몇몇 실시예들에서, 이하 기술되는 메시지들을 정렬하기 위한 메커니즘들은 대화 목록들 내의 대화들에 적용되고, 여기서 각 대화는 미리규정된 기준들에 따라 함께 그룹화된 메시지들의 그룹이다. 예를 들어, 각 대화는 최초 메시지뿐만 아니라 대화 내의 다른 메시지들에 대한 응답들인 하나 이상의 메시지들, 및 메시지들을 포워딩하는 0개 이상의 메시지들 또는 대화 내의 메시지들로부터의 정보를 포함할 수 있다. 몇몇 대화들이 단지 하나의 메시지를 포함할 수 있는 한편, 사용자 계정 내의 대화들의 목록은 전형적으로 각각이 둘 이상의 메시지들을 포함하는 다수의 대화들일 것이다. 몇몇 실시예들에서, 아래에서 기술되는 중요도 예측 모델들 및 뷰포트 기능들은 각 대화 내의 각 메시지에 이러한 메커니즘들을 적용하고 하나 이상의 조합된 중요도 스코어들을 생성함으로써 대화들의 목록 내의 대화들에 적용되고, 이러한 중요도 스코어들은 대화들을 정렬시키는데 이용된다. 대안적으로, 메시지 정렬에 관해 이하 기술되는 메커니즘들은 미리규정된 기준들에 따라(예를 들어, 대화가 N개 이하의 메시지들을 포함할 때 대화 내의 모든 메시지들, 그렇지 않은 경우 대화 내의 마지막 N개의 메시지들, 또는 대화 내의 마지막 메시지 플러스 N-1개의 최장 메시지들 ― 여기서 N은 미리규정된 값(예를 들어, 5)임 ―) 각 대화 내의 메시지들의 서브세트에 적용된다. 대화 목록들을 저장하고 디스플레이하는 이메일 애플리케이션에 관한 추가적인 정보는 미국 특허 출원 공개 2005-0222985 A1에서 찾을 수 있고, 이러한 내용은 참조에 의해 배경 정보로서 본원에 통합된다.In some embodiments, the mechanisms for sorting the messages described below apply to conversations in conversation lists, where each conversation is a group of messages grouped together according to predefined criteria. For example, each conversation may include one or more messages that are responses to other messages in the conversation as well as the original message, and information from zero or more messages or messages in the conversation that forward messages. While some conversations may contain only one message, the list of conversations within a user account will typically be a number of conversations, each containing two or more messages. In some embodiments, the importance prediction models and viewport functions described below are applied to conversations in the list of conversations by applying these mechanisms to each message in each conversation and generating one or more combined importance scores, the importance of which Scores are used to sort conversations. Alternatively, the mechanisms described below with regard to message sorting may be in accordance with predefined criteria (eg, all messages in a conversation when the conversation includes N or less messages, otherwise the last N in the conversation). Messages, or the last message in a conversation plus N-1 longest messages, where N is a predefined value (e.g., 5)-) applies to a subset of messages in each conversation. Additional information regarding an email application that stores and displays conversation lists can be found in US Patent Application Publication 2005-0222985 A1, which is incorporated herein by reference as background information.
도 2는 중요도 스코어에 의해 정렬되는 메시지들을 생성하고 디스플레이하는 것에 관한 클라이언트 및 서버 간의 상호작용에 대한 흐름도이다. 뷰포트의 선택은 중요도 스코어에 기초하여 메시지들을 정렬하기 위한 사용자 요청(202)을 트리거링한다. 사용자 요청(202)은 중요도 예측 모델들(126)(도 1)에 선택된 뷰포트에 대한 정보를 제공하고 사용자가 보기를 원하는 메시지 데이터 베이스(128) 내의 메시지들의 세트 또는 서브세트들을 규정한다. 예를 들어, 선택된 뷰포트가 사용자 계정 내의 폴더일 때, 사용자 요청(202)은 이러한 폴더에 속하는 메시지들의 서브세트를 식별하는 정보를 포함한다.2 is a flow diagram of the interaction between a client and a server regarding generating and displaying messages sorted by importance scores. The selection of the viewport triggers the
몇몇 실시예들에서 뷰포트 선택은, 뷰잉을 위한 메시징 애플리케이션에서 메시지들의 폴더를 선택하는 것과 같이 사용자에 의해 명시적으로 이루어질 수 있다. 다른 실시예들에서 뷰포트 선택은, 메시지 메시지 뷰잉 애플리케이션의 시작 시에 디스플레이하기 위해 중요도-기반 뷰포트를 자동으로 선택하는 클라이언트 디바이스에 의해 자동으로 트리거링될 수 있다.In some embodiments viewport selection may be made explicitly by the user, such as selecting a folder of messages in a messaging application for viewing. In other embodiments viewport selection may be automatically triggered by a client device that automatically selects a importance-based viewport for display at the start of a message message viewing application.
도 2를 또 참조하면, 서버는 사용자 요청을 수신하고 선택된 뷰포트와 연관된 메시지들의 세트를 식별한다. 서버는 선택된 뷰포트에서 각 메시지에 대한 중요도 스코어를 계산하고(204) 중요도 스코어들에 기초하여 정렬된 메시지 목록을 생성한다(204). 서버는 그 후 클라이언트로 생성된 메시지 목록을 다시 전송하고(206), 이러한 클라이언트는 선택된 뷰포트에서 정렬된 목록을 디스플레이한다(208).Referring again to FIG. 2, the server receives the user request and identifies a set of messages associated with the selected viewport. The server calculates (204) the importance score for each message in the selected viewport and generates an ordered message list based on the importance scores (204). The server then sends back the generated message list to the client (206), which displays the sorted list in the selected viewport (208).
일 실시예에서, 제 2 별개의 클라이언트 디바이스가 중요도 스코어에 의해 정렬되는 메시지 목록에 대한 사용자 요청(210)을 트리거링할 수 있다. 제 2 요청은 제 1 요청(202)과는 별개인 메시지들의 세트에 대한 것이지만 동일한 사용자 계정으로부터의 것일 수 있다. 대안적으로, 제 2 요청은 제 1 요청과 정확히 동일한 메시지들에 대한 것이지만, 제 2 클라이언트로부터 올 수도 있다. 또한, 서버는 선택된 뷰포트에서 각 메시지에 대해 중요도 예측 모델에 따라 중요도 스코어를 계산하고(212) 중요도 스코어들에 기초하여 정렬된 메시지 목록을 생성한다(212). 서버는 204에서와 같이 동일한 중요도 예측 모델을 이용할 수 있거나 제 2 클라이언트 상에서 선택된 클라이언트 뷰포트에 따라 별개의 중요도 예측 모델을 이용할 수 있다. 서버가 정렬된 메시지 목록을 생성한 후(212), 메시지 목록은 요청하는 제 2 클라이언트로 다시 전송된다(214). 제 2 클라이언트는 이후 제 2 클라이언트 상에서 선택된 뷰포트에서 생성된 메시지 목록을 디스플레이한다(216).In one embodiment, a second separate client device may trigger a
사용자 요청들은 사용자에 의한 뷰포트의 수동 선택에 기초할 수 있거나 자동으로 트리거링된 뷰포트 선택에 기초하여 선택될 수 있다. 몇몇 실시예들에서 사용자가 개인용 컴퓨터와 같은 클라이언트 디바이스인 경우, 사용자는 연관된 뷰포트들을 가진 폴더들을 명시적으로 선택하거나 사용자 계정의 임의의 특정 폴더 또는 인박스에 적용될 미리규정된 또는 커스텀 뷰포트를 선택할 수도 있다. 몇몇 실시예들에서, 클라이언트가 PDA 또는 셀 폰을 이용하여 그 또는 그녀의 사용자 계정 내의 메시지들에 액세스하고 있는 경우, 사용자가 메시지들을 보려고 시도할 때 특정 뷰포트가 상기 디바이스와 함께 이용되기 위해 자동으로 선택될 수 있다. 예를 들어, 사용자는 시작 시 자동적으로 특정 뷰포트(예를 들어, 사용자에게 예측된 중요도에 따라 정렬된 메시지들을 디스플레이하는 뷰포트)를 선택하는 셀 폰 또는 모바일 디바이스 상의 클라이언트 애플리케이션을 가질 수 있다. User requests may be based on manual selection of viewport by the user or may be selected based on automatically triggered viewport selection. In some embodiments, if the user is a client device such as a personal computer, the user may explicitly select folders with associated viewports or select predefined or custom viewports to be applied to any particular folder or inbox of the user account. have. In some embodiments, if the client is accessing messages in his or her user account using a PDA or cell phone, a particular viewport is automatically used for use with the device when the user attempts to view the messages. Can be selected. For example, a user may have a client application on a cell phone or mobile device that automatically selects a particular viewport (eg, a viewport that displays messages sorted according to predicted importance to the user) at startup.
주기적으로, 각 사용자에 대한 중요도 예측 모델들은 중요도 예측 모델들과 연관된 뷰포트들을 통한(즉, 이를 이용하는 동안) 메시지들과의 최근 사용자 상호작용들에 기초하여 업데이트된다(220). 일 실시예에서, 메시지 상태 데이터베이스(416)는 이하 더 기술되는 것처럼 메시지들과의 사용자 상호작용들을 저장한다. 각 모델은 메시지들에 대한 중요도 스코어들을 계산하기 위해 메시지 품질 신호들의 세트를 적용하기 때문에, 모델들을 업데이트하는 것은 메시지 상태 데이터베이스(416)(이하 기술되는 도 4 참조)로부터 관련 상호작용 신호들을 리트리빙하고 이에 따라 모델에 이러한 신호들을 적용하는 것을 포함한다. 몇몇 실시예들에서, 이러한 프로세스는 정기적인 시간 간격들로, 예를 들어 매일 밤 한 번씩 발생할 수 있는 한편, 다른 실시예들에서 이러한 프로세스는 다소 빈번하게 발생할 수 있다. 몇몇 실시예들에서, 각 모델은 동일한 사용자 계정 내의 다른 모델들이 업데이트되는 시기와 독립적인 시간에 업데이트될 수 있다(각 모델과 연관된 뷰포트를 통한(즉, 이를 이용하는 동안) 메시지들과의 사용자 상호작용들에 기초하여).Periodically, the importance prediction models for each user are updated 220 based on recent user interactions with messages through the viewports associated with the importance prediction models (ie, while using it). In one embodiment,
몇몇 실시예들에서, 중요도 예측 모델들(126)은 다수의 사용자 계정들로부터 메시지 상호작용 신호들을 수집할 수 있다. 모델들은 개별 사용자들에 대해 메시지 중요도의 가장 강한 지시자(indicator)들을 결정하도록 시간에 걸쳐 적응한다. 다수의 사용자들로부터 사용자 상호작용 신호들을 수집하는 것은 중요도 예측 모델(126)을 설립하는 또 다른 수단을 제공한다. 모델은 다수의 사용자들에 대해 메시지 상태 데이터베이스(416)에 저장된 관련 상호작용 신호들을 리트리빙하고 이에 따라 모델에 이러한 신호들을 적용함으로써 스스로 업데이트할 수 있다.In some embodiments,
도 3은 뷰포트들에서 중요 메시지들의 생성 및 디스플레이에 관한 클라이언트 및 서버 간의 상호작용들에 대한 또 다른 실시예의 흐름도이다. 제 1 클라이언트 디바이스에서의 사용자 동작은 중요도 스코어 기반 메시지 목록에 대한 사용자 요청(302)을 트리거링한다. 서버는 304에서 제 1 요청을 수신하고, 예측 모델에 따라 각 메시지에 대해 중요도 스코어들을 계산하며, 정렬된 메시지 목록을 생성한다. 그 후 서버는 클라이언트로 생성된 메시지 목록을 다시 전송하고(306), 이러한 클라이언트는 선택된 메시지 뷰포트에서 상기 목록을 디스플레이한다(308).3 is a flow diagram of another embodiment of interactions between a client and a server regarding the generation and display of important messages in viewports. User action at the first client device triggers a
일 실시예에서, 별개의 중요도 예측 모델을 이용하는, 이전 단계에서 이용되는 것과는 상이한 뷰포트에 대한 제 2 요청을 동일한 클라이언트가 트리거링할 수 있다(310). 제 2 요청은 또한 제 1 요청(302)에 의해 요청되는 것들과는 상이한 메시지들의 세트에 대한 것일 수 있다. 예를 들어, 제 2 요청(310)은 제 1 요청(302)에서 선택된 것과는 상이한 메시지 폴더에 대한 것일 수 있다.In one embodiment, the same client may trigger 310 a second request for a different viewport than that used in the previous step, using a separate importance prediction model. The second request may also be for a different set of messages than those requested by the
서버는 312에서 제 2 요청을 수신하고, 예측 모델에 따라 각 메시지에 대한 중요도 스코어들을 계산하며, 정렬된 메시지를 생성한다. 그러나 여기서 서버는 선택된 클라이언트 뷰포트와 연관된 중요도 예측 모델을 이용한다. 이러한 모델은 단계(304)에서와 동일한 중요도 예측 모델일 수 있거나 모델은 이전의 중요도 예측 모델과는 상이할 수 있다. 몇몇 실시예들에서, 사용자는 다수의 폴더들에 동일한 중요도 예측 모델을 연관시킬 수 있다. 그러한 시나리오에서, 서버는 제 1 요청(302) 및 제 2 요청(310)과 연관된 상이한 메시지 목록들에 동일한 중요도 예측 모델을 적용할 것이다.The server receives the second request at 312, calculates importance scores for each message according to the prediction model, and generates an ordered message. However, here the server uses the importance prediction model associated with the selected client viewport. This model may be the same importance prediction model as in
서버가 312에서 현재 메시지 목록을 생성한 후, 서버는 정렬된 메시지 목록을 요청하는 클라이언트로 다시 전송한다. 요청하는 클라이언트는 이후 클라이언트에서의 각 메시지 뷰포트에서 이러한 정렬된 메시지 목록(316)을 디스플레이한다.After the server generates the current message list at 312, the server sends it back to the requesting client. The requesting client then displays this
몇몇 실시예들에서, 사용자는 상이한 클라이언트들 상의 유사한 뷰포트에서 동일한 세트 메시지들에 상이한 중요도 예측 모델들을 적용하기를 원할 수 있다. 예를 들어, 사용자는 집 또는 직장에 있는 동안 그의 계정에서 특정 폴더 내의 중요 메시지들을 보기를 원할 수 있다. 예를 들어 직장에 있는 동안 사용자에게 중요한 메시지들은 집에 있는 동안 사용자에게 중요한 메시지들과 다를 수 있다. 이러한 시나리오에서, 상이한 클라이언트들 상의 유사한 뷰포트들로부터 동일한 폴더를 선택하는 것은 동일한 메시지들 중 적어도 일부에 상이한 중요도 예측 모델들을 적용함으로써 메시지들을 다르게 정렬할 것이다.In some embodiments, a user may want to apply different importance prediction models to the same set messages in a similar viewport on different clients. For example, a user may want to see important messages in a specific folder in his account while at home or at work. For example, messages that are important to the user while at work may be different from messages that are important to the user while at home. In such a scenario, selecting the same folder from similar viewports on different clients will order the messages differently by applying different importance prediction models to at least some of the same messages.
몇몇 실시예들에서, 사용자 위치 컨택스트 정보는 사용자의 물리적 위치(예를 들어, 집, 직장, 차량 등)를 기술할 수 있고, 추가적으로 현재 시각을 기술할 수 있다. 이러한 물리적 위치 정보는 사용자에 의해 직접 규정되고 선택될 수 있다. 예를 들어, 사용자는 각 위치 또는 시각에 대해 상이한 프로파일들을 생성할 수 있다. 그 다음 각 프로파일은 상이한 뷰포트, 따라서 중요도 예측 모델들과 연관된다. 클라이언트의 물리적 위치는 주지의 위치정보(positioning) 기술들, 예를 들어 지구 위치정보 시스템(GPS)을 이용하여 자동으로 결정될 수 있다. 예를 들어, 사용자의 셀룰러-폰은 사용자의 현재 위치정보 위치에 기초하여 사용자가 집에 있는 시기를 알 수 있고, 그 후 사용자의 메시지들에 적절한 뷰포트 및 중요도 예측 모델을 연관시킬 수 있다.In some embodiments, the user location context information may describe the physical location of the user (eg, home, work, vehicle, etc.) and may additionally describe the current time of day. This physical location information can be defined and selected directly by the user. For example, a user can create different profiles for each location or time of day. Each profile is then associated with a different viewport, thus importance prediction models. The physical location of the client may be automatically determined using known positioning techniques, for example, the Global Positioning System (GPS). For example, the user's cellular-phone may know when the user is at home based on the user's current geolocation location and then associate the appropriate viewport and importance prediction model with the user's messages.
다시 도 3을 참조하면, 제 2 사용자 요청(310)은 또한 사용자 위치를 서버에 제공할 수 있다. 서버는 제 2 요청(310)의 수신 시에 적절한 중요도 예측 모델을 선택하기 위해 이러한 위치 정보를 이용한다. 위에서 기술된 것처럼 서버는 그 후 계속하여 메시지 목록을 생성한다(312). 사용자 위치가 중요도 예측 모델을 선택하는데 도움이 될 수 있게 함으로써 사용자는 동일한 메시지 세트와 다수의 중요도 예측 모델들을 연관시킬 수 있다.Referring again to FIG. 3, the
도 4는 중요도 정렬된 메시지 목록을 생성하기 위한 프로세스의 흐름도이다. 402에서 중요도 정렬된 메시지 목록을 생성하기 위한 사용자 질의가 서버에 의해 수신된다. 404에서 사용자 질의는 전문 인덱스에 대해 이루어진다. 그 후 메시지 목록은 사용자 질의에 응답하여 404에서 리트리빙된다. 결과적인 메시지 목록은 개별 메시지 중요도 스코어들을 결정하는 뷰포트 기능(408)으로 입력되고 410에서 정렬된 메시지 목록을 생성한다.4 is a flow diagram of a process for generating an ordered message list of importance. At 402, a user query is received by the server for generating an ordered message list. At 404, the user query is made against the full index. The message list is then retrieved at 404 in response to a user query. The resulting message list is entered into
몇몇 실시예들에서, 클라이언트가 뷰포트에 관한 메시지들의 특정 세트를 식별할 수 있기 때문에 프로세스는 메시지 목록(406)에서 시작할 수 있다. 이러한 경우 질의(402) 및 전문 인덱스(404)는 뷰포트 기능(408)으로의 입력을 위해 메시지 목록(406)을 결정하는데 요구되지 않을 수 있다. 예를 들어, 사용자가 사용자 계정에서 폴더와 연관된 뷰포트를 선택하는 경우, 이러한 폴더에 대한 메시지들은 메시지 데이터베이스(128)에 저장된 정보를 이용하여 결정될 수 있고, 이러한 경우 메시지 목록(406)을 생성하기 위해 전문 인덱스 검색이 요구되지 않는다.In some embodiments, the process can begin at
몇몇 실시예들에서, 뷰포트 기능(408)은 하나 이상의 중요도 예측 모델들, 컨택 목록(412), 메시지 데이터베이스(128), 및 메시지 상태 데이터베이스(416)의 이용을 통해 메시지 목록(406) 내의 각 메시지에 대해 중요도 스코어를 결정한다. 메시지 상태 데이터베이스(416)는 메시지가 판독되었는지 아닌지를 나타내는 정보를 포함하는 상태 정보를 저장한다. 메시지 상태 데이터베이스(416)는 또한 다음 중 하나 이상과 같은 다른 상태 정보를 저장할 수 있다: 각 메시지를 열어보거나 판독한 횟수, 사용자가 판독을 위해 메시지를 열린 상태로 유지하는 시간의 양, 사용자가 메시지에 응답한 횟수, 사용자가 메시지를 포워딩한 횟수 등. 모델들은 각 메시지들에 대해 중요도 스코어를 계산하기 위해 컨택 목록(412)과 협력하여 이용될 수 있다. 컨택 목록(412)은 이후 기술될 것처럼 중요한 사용자들을 식별하는데 도움이 되는 다른 메시지 참가자들에 대한 친화도(affinity) 스코어들을 유지한다. 친화도 스코어들은 사용자의 컨택 목록(412) 내의 컨택들(예를 들어, 사람들, 회사들 등)에 의해 전송되는 메시지들의 중요도 스코어들을 부스트(boost)시키기 위해 각 중요도 예측 모델에 의해 이용될 수 있다. 예를 들어, 사용자의 컨택 목록에서 높은 친화도 스코어들을 가진 컨택들로부터의 메시지들은 보다 낮은 친화도 스코어를 가진 컨택들로부터의 메시지들 및 사용자의 컨택 목록에 나열되지 않은 사람들 또는 엔티티들로부터의 메시지들보다 더 큰 중요도 스코어 부스트를 수신할 수 있다. 이러한 정보는 뷰포트 기능에 의해 이용되는 중요도 예측 모델에 의해 수행되는 중요도 스코어 계산의 다른 부분들과 뷰포트 기능(408)에서 결합될 수 있다.In some embodiments,
도 5a는 몇몇 양상들에 따라 사용자 계정 데이터베이스(130)(도 1)에서의 예시적인 사용자 계정 레코드(502)를 도시한다. 사용자 계정 레코드(502)와 연관될 수 있는 정보의 일부는 메시지 데이터베이스(128)(도 1), 메시지 상태 데이터베이스(416)(도 4), 전문 인덱스(404)(도 4), 및 컨택 목록(412)(도 4)을 포함한다. 이러한 정보의 일부는 별개의 사용자 데이터베이스들에 저장될 수 있거나, 몇몇 실시예들에서 모든 사용자들에 대해 단일한 데이터베이스에 저장될 수 있다.5A illustrates an example
도 5b는 몇몇 양상들에 따라 메시지 데이터베이스(128)에서의 예시적인 메시지 레코드(510)를 도시한다. 메시지 레코드(510)는 메시지를 고유하게 식별하는 메시지 식별자(512)를 포함한다. 몇몇 실시예들에서, 메시지 식별자(512)는 하나의 메시지와 연관된다. 몇몇 실시예들에서, 메시지 식별자(512)는 대화를 포함하는 메시지들의 그룹과 연관된다. 메시지(510)와 연관될 수 있는 정보 중 일부는 메타데이터(514), 헤더 정보(520), 및 컨텐츠(530)를 포함한다.5B shows an example message record 510 in the
몇몇 실시예들에서, 메타데이터(514)는 라벨 또는 폴더(516) 할당들 및 타임스탬프(518)와 같은 메시지와 관련된 정보를 포함한다. 메시지 데이터베이스(128) 내의 각 메시지는 사용자 계정에서 폴더에 할당될 수 있다. 부가적으로, 사용자는 사용자 계정 내의 임의의 메시지에 하나 이상의 라벨들(128)을 적용할 수 있다. 타임스탬프(518)는 사용자 계정에 의해 메시지가 수신된 시간을 나타내는 정보를 제공한다. 타임스탬프(518)는 이러한 메시지와 상호작용하는데 소요되는 사용자의 시간을 계산하는데 가치가 있을 수 있다.In some embodiments,
헤더 정보(520)는 예를 들어 발신자(524) 및 수신자들(522), 메시지의 메시지 수신 날짜 및 시간 값(때때로 날짜 값 또는 시간 값이라 지칭됨), 및 제목(528)을 식별하는 정보를 포함하는 메시지의 헤더 정보를 포함할 수 있다. 다른 정보는 또한 참조에 의해 본원에 통합되는 RFC 2822에 기술된 것과 같이 헤더 정보에 포함될 수 있다. 메시지 컨텐츠(530)는 메시지의 컨텐츠를 포함할 수 있다. 컨텐츠(530)는 텍스트, 이미지들, 및 첨부들을 포함할 수 있다. 당업자는 메시지 정보를 저장하기 위한 다른 방법들을 인식할 것이다. 예를 들어, 첨부는 또 다른 저장 구조에 저장될 수 있고 그것에 대한 참조가 메시지(510) 내에 위치될 수 있다.
도 5c는 몇몇 실시예들에 따라 메시지 상태 데이터베이스(416)에서의 예시적인 메시지 상태 레코드(534)를 도시한다. 각 메시지 상태 레코드(534)는 메시지 또는 대화 식별자 및 메시지 데이터베이스(128) 내의 단일 메시지에 대한 상태 정보의 세트를 포함한다. 몇몇 실시예들에서, 상태 정보는 하나 이상의 타임스탬프들(536) 및 대표적인 메시지에 대해 트랙킹되는 다양한 사용자 상호작용들을 나타내는 필드들의 세트를 포함한다. 하나 이상의 타임스탬프들(536)이 다양한 메시지 상호작용들을 수행하는데 사용자에 의해 소비되는 시간의 길이를 나타내는 메시지 품질 신호들을 계산하는데 이용될 수 있다. 예를 들어, 하나의 타임스탬프는 사용자가 메시지를 판독한 최초 시간을 식별할 수 있는 한편 또 다른 타임스탬프는 사용자가 메시지를 판독한 가장 최근의 시간을 식별할 수 있다. 제 1 타임스탬프는 메시지의 수신과 사용자의 메시지 판독 간의 지연을 결정하는데 이용될 수 있다. 제 2 타임스탬프는 사용자에 의한 메시지의 판독들 간의 시간 길이를 결정하는데 이용될 수 있다.5C shows an example
메시지 상태 레코드(534) 내의 레코드 필드들의 세트는 중요도 예측 모델들(126)에 의해 이용되는 메시지 품질 신호들에 상호연관된다. 예를 들어, 이러한 필드들의 세트는 특정 메시지가 판독되었는지에 대한 상태, 메시지가 판독된 횟수의 카운트, 및 사용자가 메시지를 판독하는데 걸린 총 시간 값을 포함할 수 있다. 이러한 필드들의 세트는 또한 메시지가 포워딩되었는지 여부 또는 메시지에 응답했는지 여부와 같은 다른 메시지 품질 신호 지시자들을 포함할 수 있다. The set of record fields in the
도 5d는 몇몇 실시예들에 따라 컨택 목록(412)(도 4)에서의 예시적인 컨택 엔트리(564)를 도시한다. 각 컨택 엔트리(564)는 사용자가 위에서 규정된 것과 같은 메시지들을 이용하여 통신하거나 통신할 수 있는 하나의 컨택을 나타낼 수 있다. 각 컨택 엔트리(564)는 컨택(566)의 명칭에 관한 정보, 컨택(568)의 이메일 컨택 정보, 전화 컨택 정보(570), 및 컨택에 대한 하나 이상의 친화도 스코어들(572)을 포함한다. 하나 이상의 친화도 스코어들(572)은 메시지들에 대한 중요도 스코어들을 계산하는 것과 관련하여 특정 컨택에 대한 사용자 친화도의 수치적(numerical) 표현을 제공한다. 일 실시예에서, 친화도 스코어들은 사용자의 컨택 목록에 나열된 컨택(예를 들어, 사람, 회사 또는 다른 엔티티)로부터 수신된 메시지에 할당된 중요도 스코어에 영향을 미칠 수 있다. 몇몇 실시예들에서, 각 친화도 스코어(572)는 컨택과 사용자 간의 통신 활동의 양을 나타낸다. 친화도 스코어에 대한 공헌들은(예를 들어, 각 컨택으로 전송되거나 각 컨택에 의해 전송된 통신들은) 시간 가중될 수 있어, 보다 최근의 공헌들이 더 오래된 공헌들보다 더 크게 가중된다.5D shows an
몇몇 양상들에서, 클라이언트 디바이스의 유형 및 시각은 친화도 스코어(572)와 연관된 가중치에 영향을 미칠 수 있는데 이는 그것이 하나 이상의 중요도 예측 모델들에 의해 적용되기 때문이다. 예를 들어, 사용자가 업무 시간 동안 그의 업무 PDA 상에서 메시지들을 보고 있는 경우, 관리자를 나타내는 컨택 엔트리(564)에 대한 친화도 스코어(572)는 사용자가 주말에 그의 집 개인용 컴퓨터에서 메시지들을 보고 있는 경우보다 더 큰 가중치를 할당받을 수 있다. 대안적으로 말하여, 이러한 2개의 컨택스트들에 이용되는 뷰포트들은 각각의 친화도 스코어(572)에 상이한 가중치들을 할당할 수 있다.In some aspects, the type and perspective of the client device can affect the weight associated with the
도 6은 클라이언트 디바이스(600)의 블록도이다. 몇몇 실시예들에서, 디바이스(600)는 하나 이상의 처리 장치들(CPU들)(602); 하나 이상의 네트워크 또는 다른 통신 인터페이스들(604); 메모리(606); 사용자 인터페이스(610)(이는 디스플레이(612) 및 사용자 입력 디바이스(614)를 포함할 수 있음) 및 이러한 컴포넌트들을 상호연결하기 위한 하나 이상의 통신 버스들(608)을 포함한다. 통신 버스들(608)은 시스템 컴포넌트들 간에서 상호연결하고 이들 간의 통신들을 제어하는 회로부(때때로 칩셋이라 지칭됨)를 포함할 수 있다. 메모리(606)는 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 솔리드 스테이트 메모리 디바이스들과 같은 고속 랜덤 액세스 메모리를 포함하고, 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비-휘발성 솔리드 스테이트 저장 디바이스들과 같은 비-휘발성 메모리를 포함할 수도 있다. 메모리(606), 또는 대안적으로 메모리(606) 내의 비-휘발성 메모리 디바이스(들)는 컴퓨터 판독가능 저장 매체를 포함한다. 몇몇 실시예들에서, 메모리(606)는 중앙 처리장치(들)(602)로부터 원격으로 위치되는 대용량 저장소를 포함한다. 몇몇 실시예들에서 또한 메모리(606)는 다음의 프로그램들, 모듈들, 및 데이터 구조들, 또는 이들의 서브세트를 저장한다:6 is a block diagram of a
다양한 기본 시스템 서비스들을 처리하고 하드웨어 의존 태스크들을 수행하기 위한 프로시저들을 포함하는 운영 체제(616);An
인터넷, 다른 광역 네트워크들, 로컬 영역 네트워크들, 대도시 영역 네트워크들 등과 같은 하나 이상의 통신 네트워크들(104)(도 1) 및 하나 이상의 통신 네트워크 인터페이스들(604)(유선 또는 무선)을 통해 다른 컴퓨터들로 클라이언트 디바이스(600)를 연결시키기 위해 이용되는 통신 모듈(618);Other computers via one or more communication networks 104 (FIG. 1) and one or more communication network interfaces 604 (wired or wireless) such as the Internet, other wide area networks, local area networks, metropolitan area networks, and the like. A
중요도 스코어-기반 메시지 목록(622)의 디스플레이를 포함하여, 뷰포트들에서 메시지들을 보고 메시지들과 상호작용하기 위한 클라이언트 애플리케이션(620); 및
다른 선택적인 클라이언트 애플리케이션들(624).Other
도 7은 본원 발명의 일 실시예에 따른 메시지 서버(700)를 도시하는 블록도이다. 몇몇 실시예들에서, 메시지 서버(700)는 하나 이상의 처리 장치들(CPU들)(702); 하나 이상의 네트워크 또는 다른 통신 인터페이스들(704); 메모리(706); 이러한 컴포넌트들을 상호연결하기 위한 하나 이상의 통신 버스들(708)을 포함한다. 메모리(706)는 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 솔리드 스테이트 메모리 디바이스들과 같은 고속 랜덤 액세스 메모리를 포함하고, 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비-휘발성 솔리드 스테이트 저장 디바이스들과 같은 비-휘발성 메모리를 포함할 수도 있다. 메모리(706), 또는 대안적으로 메모리(706) 내의 비-휘발성 메모리 디바이스(들)는 컴퓨터 판독가능 저장 매체를 포함한다. 몇몇 실시예들에서, 메모리(706)는 중앙 처리장치(들)(702)로부터 원격으로 위치되는 대용량 저장소를 포함한다. 몇몇 실시예들에서 또한 메모리(706)는 다음의 프로그램들, 모듈들, 및 데이터 구조들, 또는 이들의 서브세트를 저장한다:7 is a block diagram illustrating a
다양한 기본 시스템 서비스들을 처리하고 하드웨어 의존 태스크들을 수행하기 위한 프로시저들을 포함하는 운영 체제(716);An operating system 716 including procedures for processing various basic system services and for performing hardware dependent tasks;
인터넷, 다른 광역 네트워크들, 로컬 영역 네트워크들, 대도시 영역 네트워크들 등과 같은 하나 이상의 통신 네트워크들(104)(도 1) 및 하나 이상의 통신 네트워크 인터페이스들(704)(유선 또는 무선)을 통해 다른 컴퓨터들로 메시지 서버(700)를 연결시키기 위해 이용되는 네트워크 통신 모듈(712);Other computers via one or more communication networks 104 (FIG. 1) and one or more communication network interfaces 704 (wired or wireless), such as the Internet, other wide area networks, local area networks, metropolitan area networks, and the like. A
사용자 계정 정보; 메시지 데이터베이스(130), 메시지 상태 데이터베이스(416), 전문 인덱스(406), 및 사용자 컨택 목록(412)을 포함하는 사용자 계정 데이터베이스(130);User account information; A
사용자 질의들(예를 들어, 하나 이상의 메시지들의 컨텐츠 내에 위치될 수 있는 워드들 또는 용어들을 특정하는 질의들 및/또는 하나 이상의 메시지들과 연관될 수 있는 메타데이터 값들(예를 들어, 날짜, 폴더, 라벨, 발신자 명칭, 참가자 명칭 등)을 특정하는 하나 이상의 질의들)에 기초하여 메시지 목록 결과들을 제공하는데 이용되는 검색 엔진(122);User queries (e.g., queries that specify words or terms that may be located within the content of one or more messages and / or metadata values that may be associated with one or more messages (e.g., date, folder
메시지들과 연관되는 중요도 스코어들에 기초하여 메시지들을 정렬하기 위한 기능을 제공하는 검색 결과 랭커(124);A
메시지들에 대해 중요도 스코어들을 생성하는데 이용되는 하나 이상의 중요도 예측 모델들(126);One or more
정렬의 목적 및 클라이언트들로 전송의 목적을 위해 서버에서 생성되는 메시지 목록들(730); 및Message lists 730 generated at the server for sorting purposes and for sending to clients; And
메시지 품질 신호들을 처리하고 이에 따라 모델들을 업데이트하는 중요도 예측 모델들에 대한 업데이터 모듈(732).
상기 엘리먼트들 각각은 이전에 언급된 메모리 디바이스들 중 하나 이상에 저장될 수 있고 상기 기능을 수행하는 명령들의 세트에 대응한다. 상기 모듈들 또는 프로그램들(즉, 명령들의 세트들)은 별개 소프트웨어 프로그램들, 프로시저들 또는 모듈들로서 구현될 필요가 없고, 따라서 이러한 모듈들의 다양한 서브세트들은 다양한 실시예들에서 결합되거나 그렇지 않으면 재배열될 수 있다. 몇몇 실시예들에서, 메모리(706)는 상기 모듈들 및 데이터 구조들의 서브세트를 저장할 수 있다. 또한 메모리(706)는 위에서 기술되지 않은 추가적인 모듈들 및 데이터 구조들을 저장할 수 있다.Each of the elements may be stored in one or more of the previously mentioned memory devices and corresponds to a set of instructions to perform the function. The modules or programs (ie, sets of instructions) need not be implemented as separate software programs, procedures or modules, so that various subsets of these modules may be combined or otherwise re-installed in various embodiments. Can be arranged. In some embodiments,
도 7은 "메시지 서버"를 도시하지만, 도 7은 본원에서 기술되는 실시예들의 구조적 개략도라기보다는 서버들의 세트에서 존재할 수 있는 다양한 특징들에 대한 기능적 설명으로서 의도된다. 실질적으로, 그리고 당업자에 의해 인식될 것처럼, 분리되어 도시된 아이템들은 결합될 수 있고 몇몇 아이템들은 분리될 수 있다. 예를 들어, 도 7에서 분리되어 도시된 몇몇 아이템들은 단일 서버들 상에서 구현될 수 있고 단일 아이템들이 하나 이상의 서버들에 의해 구현될 수 있다. 메시지 서버를 구현하는데 이용되는 서버들의 실제 수 및 그들 사이에서 특징들이 어떻게 할당되는지는 실시예마다 달라질 것이고, 평균 사용량 기간들 동안뿐만 아니라 피크 사용량 기간들 동안 시스템이 처리해야 하는 데이터 트래픽의 양에 부분적으로 의존할 수 있다.Although FIG. 7 shows a “message server”, FIG. 7 is intended as a functional description of various features that may exist in a set of servers rather than as a structural schematic of the embodiments described herein. Indeed, and as will be appreciated by those skilled in the art, items shown separately may be combined and some items may be separated. For example, some items shown separately in FIG. 7 may be implemented on single servers and single items may be implemented by one or more servers. The actual number of servers used to implement the message server and how features are allocated between them will vary from embodiment to embodiment and depend in part on the amount of data traffic that the system must handle during peak usage periods as well as during average usage periods. You can depend on it.
설명의 목적을 위해 상기 설명은 특정 실시예들을 참조하여 기술되었다. 그러나 상기 예시적인 논의들은 빠짐 없거나(exhaustive) 개시되는 정확한 형태들로 본 발명을 제한하도록 의도되지는 않는다. 많은 수정들 및 변형들이 상기 교시들의 관점에서 가능하다. 실시예들은 본 발명의 원칙들 및 이들의 실제적인 응용들을 가장 잘 설명하도록 선택되고 기술되었으며, 이에 의해 당업자는 예상되는 특정 용도에 적합한 다양한 수정들을 이용하여 본 발명 및 다양한 실시예들을 최상으로 이용할 수 있을 것이다.
For purposes of explanation, the description has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to limit the invention to the precise forms disclosed or exhaustive. Many modifications and variations are possible in view of the above teachings. The embodiments have been selected and described in order to best explain the principles of the present invention and their practical applications, thereby enabling those skilled in the art to best utilize the present invention and various embodiments with various modifications suitable for the particular use envisioned. There will be.
Claims (24)
제 1 클라이언트 디바이스에서의 제 1 사용자 동작에 응답하여, 제 1 다수의 메시지들의 제 1 서브세트를 상기 제 1 클라이언트 디바이스에서 디스플레이하는 단계 ― 상기 제 1 서브세트는 제 1 중요도 예측 모델을 이용하여 계산되는 제 1 중요도 스코어에 의해 정렬됨 ―; 및
제 2 클라이언트 디바이스에서의 제 2 사용자 동작에 응답하여, 제 2 다수의 메시지들의 제 2 서브세트를 상기 제 2 클라이언트 디바이스에서 디스플레이하는 단계 ― 상기 제 2 서브세트는 제 2 중요도 예측 모델을 이용하여 계산되는 제 2 중요도 스코어에 의해 정렬됨 ―
를 포함하고, 상기 제 1 및 제 2 다수의 메시지들은 각 사용자의 단일 사용자 계정에서의 메시지들을 포함하고,
상기 제 1 및 제 2 중요도 예측 모델들은 상이한,
메시지들을 디스플레이하기 위한 방법.As a method for displaying messages,
In response to a first user action at a first client device, displaying a first subset of a first plurality of messages at the first client device, wherein the first subset is calculated using a first importance prediction model. Ordered by the first importance score being; And
In response to a second user action at a second client device, displaying at the second client device a second subset of a second plurality of messages, the second subset being calculated using a second importance prediction model Sorted by the second importance score being
Wherein the first and second plurality of messages comprise messages in a single user account of each user,
The first and second importance prediction models are different,
Method for displaying messages.
상기 제 1 사용자 동작은 상기 제 1 클라이언트 디바이스에서 제 1 뷰포트(viewport)의 사용자 선택인,
메시지들을 디스플레이하기 위한 방법.The method of claim 1,
The first user action is a user selection of a first viewport at the first client device;
Method for displaying messages.
상기 제 1 사용자 동작은 상기 제 1 클라이언트 디바이스에서 메시징 애플리케이션의 사용자 선택인,
메시지들을 디스플레이하기 위한 방법.The method of claim 1,
The first user action is a user selection of a messaging application at the first client device;
Method for displaying messages.
메시지 품질 신호들의 제 1 세트에 기초하여 상기 제 1 다수의 메시지들의 상기 제 1 서브세트 내의 각 메시지에 대해 상기 제 1 중요도 스코어를 계산하는 단계; 및
메시지 품질 신호들의 제 2 세트에 기초하여 상기 제 2 다수의 메시지들의 상기 제 2 서브세트 내의 각 메시지에 대해 제 2 각각의 메시지 중요도 스코어를 계산하는 단계
를 포함하는, 메시지들을 디스플레이하기 위한 방법.The method of claim 1,
Calculating the first importance score for each message in the first subset of the first plurality of messages based on the first set of message quality signals; And
Calculating a second respective message importance score for each message in the second subset of the second plurality of messages based on the second set of message quality signals
And displaying the messages.
상기 계산하는 동작들은 상기 제 1 및 제 2 클라이언트 디바이스들로부터 원격인 서버에서 수행되는,
메시지들을 디스플레이하기 위한 방법.The method of claim 4, wherein
The calculating operations are performed at a server remote from the first and second client devices,
Method for displaying messages.
각 메시지에 대해, 상기 메시지 품질 신호들의 제 1 및 제 2 세트들은 각각:
상기 사용자가 상기 메시지를 판독했는지 여부를 식별하는 신호;
상기 메시지의 수신시로부터 상기 사용자가 상기 메시지를 판독한 최초 시간까지의 지연 시간을 식별하는 신호;
상기 사용자가 상기 메시지에 응답했는지 여부를 식별하는 신호;
상기 사용자가 상기 메시지를 포워딩했는지 여부를 식별하는 신호;
상기 사용자가 상기 메시지를 순서에 맞지 않게(out of order) 판독하는지 여부를 식별하는 신호;
상기 사용자가 상기 메시지를 판독하는데 걸린 총 시간을 나타내는 신호;
상기 사용자가 상기 메시지에 대한 탐색을 수행했는지 여부를 식별하는 신호;
상기 사용자가 상기 메시지를 판독한 횟수를 나타내는 신호; 및
상기 메시지의 또 다른 참가자(participant)에 대한 상기 사용자의 친화도(affinity)를 나타내는 신호
중 하나 이상을 포함하는, 메시지들을 디스플레이하기 위한 방법.The method of claim 4, wherein
For each message, the first and second sets of message quality signals are each:
A signal identifying whether the user has read the message;
A signal identifying a delay time from receipt of said message to an initial time said user reads said message;
A signal identifying whether the user responded to the message;
A signal identifying whether the user has forwarded the message;
A signal identifying whether the user reads the message out of order;
A signal indicative of the total time taken by the user to read the message;
A signal identifying whether the user has performed a search for the message;
A signal indicating the number of times the user has read the message; And
A signal indicating the affinity of the user for another participant of the message
And one or more of the following.
상기 제 1 중요도 예측 모델과 연관되는 뷰포트를 이용하면서 상기 사용자 계정에서 메시지들과의 사용자 상호작용들에 따라 상기 메시지 품질 신호들의 제 1 세트 내의 메시지 품질 신호들의 멤버십 및 가중치(weight)들을 결정하기 위해 기계 학습(machine learning)을 이용하여 상기 제 1 중요도 예측 모델을 업데이트하는 단계를 포함하는,
메시지들을 디스플레이하기 위한 방법.The method according to claim 6,
To determine membership and weights of message quality signals in the first set of message quality signals in accordance with user interactions with messages in the user account while using the viewport associated with the first importance prediction model. Updating the first importance prediction model using machine learning;
Method for displaying messages.
상기 제 2 중요도 예측 모델과 연관되는 뷰포트를 이용하면서 상기 사용자 계정에서 메시지들과의 사용자 상호작용들에 따라 상기 메시지 품질 신호들의 제 2 세트 내의 메시지 품질 신호들의 멤버십 및 가중치들을 결정하기 위해 기계 학습을 이용하여 상기 제 2 중요도 예측 모델을 업데이트하는 단계를 포함하는,
메시지들을 디스플레이하기 위한 방법.The method of claim 7, wherein
Machine learning is used to determine membership and weights of message quality signals in the second set of message quality signals in accordance with user interactions with messages in the user account while using the viewport associated with the second importance prediction model. Updating the second importance prediction model using;
Method for displaying messages.
상기 제 1 중요도 예측 모델과 연관되는 뷰포트를 이용하면서 다수의 사용자 계정들에서 메시지들과의 사용자 상호작용들에 따라 상기 메시지 품질 신호들의 제 1 세트 내의 메시지 품질 신호들의 멤버십 및 가중치들을 결정하기 위해 기계 학습을 이용하여 상기 제 1 중요도 예측 모델을 업데이트하는 단계를 포함하는,
메시지들을 디스플레이하기 위한 방법.The method according to claim 6,
A machine to determine membership and weights of message quality signals in the first set of message quality signals according to user interactions with messages in multiple user accounts while using the viewport associated with the first importance prediction model. Updating the first importance prediction model using learning,
Method for displaying messages.
상기 제 2 중요도 예측 모델과 연관되는 뷰포트를 이용하면서 상기 다수의 사용자 계정들에서 메시지들과의 사용자 상호작용들에 따라 상기 메시지 품질 신호들의 제 2 세트 내의 메시지 품질 신호들의 멤버십 및 가중치들을 결정하기 위해 기계 학습을 이용하여 상기 제 2 중요도 예측 모델을 업데이트하는 단계를 포함하는,
메시지들을 디스플레이하기 위한 방법.The method of claim 9,
To determine membership and weights of message quality signals in the second set of message quality signals according to user interactions with messages in the plurality of user accounts while using the viewport associated with the second importance prediction model. Updating the second importance prediction model using machine learning,
Method for displaying messages.
상기 메시지 품질 신호들의 제 1 세트는 날짜 및 시간 신호 이외에 적어도 하나의 신호를 포함하는,
메시지들을 디스플레이하기 위한 방법.The method of claim 4, wherein
The first set of message quality signals comprises at least one signal in addition to a date and time signal,
Method for displaying messages.
상기 메시지 품질 신호들의 제 2 세트는 날짜 및 시간 신호 이외에 적어도 하나의 신호를 포함하는,
메시지들을 디스플레이하기 위한 방법.The method of claim 4, wherein
The second set of message quality signals comprises at least one signal in addition to a date and time signal,
Method for displaying messages.
상기 제 2 다수의 메시지들은 상기 제 1 다수의 메시지들 내의 메시지들의 서브세트를 적어도 포함하는,
메시지들을 디스플레이하기 위한 방법.The method of claim 1,
The second plurality of messages comprises at least a subset of messages in the first plurality of messages,
Method for displaying messages.
상기 제 1 다수의 메시지들은 (A) 상기 사용자 계정의 제 1 미리규정된 폴더 내의 메시지들, 및 (B) 제 1 라벨로 라벨링되는 메시지들로 이루어진 그룹에서 선택되는 메시지들을 포함하고; 그리고
상기 제 2 다수의 메시지들은 (A) 상기 사용자 계정의 제 2 미리규정된 폴더 내의 메시지들, 및 (B) 제 2 라벨로 라벨링되는 메시지들로 이루어진 그룹에서 선택되는 메시지들을 포함하는,
메시지들을 디스플레이하기 위한 방법.The method of claim 1,
The first plurality of messages comprises messages selected from the group consisting of (A) messages in a first predefined folder of the user account, and (B) messages labeled with a first label; And
Wherein the second plurality of messages comprises messages selected from the group consisting of (A) messages in a second predefined folder of the user account, and (B) messages labeled with a second label.
Method for displaying messages.
클라이언트 디바이스에서:
상기 클라이언트 디바이스에서의 제 1 사용자 동작에 응답하여, 제 1 다수의 메시지들의 제 1 서브세트를 제 1 클라이언트 디바이스에서 디스플레이하는 단계 ― 상기 제 1 서브세트는 제 1 중요도 예측 모델을 이용하여 계산되는 제 1 중요도 스코어에 의해 정렬됨 ―; 및
상기 제 1 클라이언트 디바이스에서의 제 2 사용자 동작에 응답하여, 제 2 다수의 메시지들의 제 2 서브세트를 상기 제 1 클라이언트 디바이스에서 디스플레이하는 단계 ― 상기 제 2 서브세트는 제 2 중요도 예측 모델을 이용하여 계산되는 제 2 중요도 스코어에 의해 정렬됨 ―
를 포함하고, 상기 제 1 및 제 2 다수의 메시지들은 각각 단일 사용자 계정에서의 메시지들을 포함하며,
상기 제 1 및 제 2 중요도 예측 모델들은 상이한,
메시지들을 디스플레이하기 위한 방법.As a method for displaying messages,
On the client device:
In response to a first user action at the client device, displaying at the first client device a first subset of the first plurality of messages, the first subset being calculated using a first importance prediction model; Sorted by 1 importance score; And
In response to a second user action at the first client device, displaying a second subset of a second plurality of messages at the first client device, the second subset using a second importance prediction model; Sorted by the second importance score computed
Wherein the first and second plurality of messages each include messages in a single user account,
The first and second importance prediction models are different,
Method for displaying messages.
제 1 클라이언트 디바이스에서의 제 1 사용자 동작에 응답하여, 제 1 다수의 메시지들의 제 1 서브세트를 나열하는 정보를 상기 제 1 클라이언트 디바이스로 전송하는 단계 ― 상기 제 1 서브세트의 목록은 제 1 중요도 예측 모델을 이용하여 계산되는 제 1 중요도 스코어에 의해 정렬됨 ―; 및
제 2 클라이언트 디바이스에서의 제 2 사용자 동작에 응답하여, 제 2 다수의 메시지들의 제 2 서브세트를 나열하는 정보를 상기 제 2 클라이언트 디바이스로 전송하는 단계 ― 상기 제 2 서브세트의 목록은 제 2 중요도 예측 모델을 이용하여 계산되는 제 2 중요도 스코어에 의해 정렬됨 ―;
를 포함하고, 상기 제 1 및 제 2 다수의 메시지들은 각 사용자의 단일 사용자 계정에서의 메시지들을 각각 포함하며,
상기 제 1 및 제 2 중요도 예측 모델들은 상이한,
메시지들을 디스플레이하기 위한 방법.As a method for displaying messages,
In response to a first user action at a first client device, sending information to the first client device listing a first subset of a first plurality of messages, the list of the first subset being of first importance; Aligned by the first importance score calculated using the prediction model; And
In response to a second user action at a second client device, sending information listing the second subset of the second plurality of messages to the second client device, wherein the list of the second subset is of second importance; Aligned by a second importance score calculated using the prediction model;
Wherein the first and second plurality of messages each include messages in a single user account of each user,
The first and second importance prediction models are different,
Method for displaying messages.
제 1 클라이언트 디바이스에서의 제 1 사용자 동작에 응답하여, 제 1 다수의 메시지들의 제 1 서브세트를 나열하는 정보를 상기 제 1 클라이언트 디바이스로 전송하는 단계 ― 상기 제 1 서브세트의 목록은 제 1 중요도 예측 모델을 이용하여 계산되는 제 1 중요도 스코어에 의해 정렬됨 ―; 및
상기 제 1 클라이언트 디바이스에서의 제 2 사용자 동작에 응답하여, 제 2 다수의 메시지들의 제 2 서브세트를 나열하는 정보를 상기 제 1 클라이언트 디바이스로 전송하는 단계 ― 상기 제 2 서브세트는 제 2 중요도 예측 모델을 이용하여 계산되는 제 2 중요도 스코어에 의해 정렬됨 ―;
를 포함하고, 상기 제 1 및 제 2 다수의 메시지들은 각 사용자의 단일 사용자 계정에서의 메시지들을 각각 포함하며,
상기 제 1 및 제 2 중요도 예측 모델들은 상이한,
메시지들을 디스플레이하기 위한 방법.As a method for displaying messages,
In response to a first user action at a first client device, sending information to the first client device listing a first subset of a first plurality of messages, the list of the first subset being of first importance; Aligned by the first importance score calculated using the prediction model; And
In response to a second user action at the first client device, sending information to the first client device listing a second subset of a second plurality of messages, the second subset predicting a second importance Aligned by a second importance score calculated using the model;
Wherein the first and second plurality of messages each include messages in a single user account of each user,
The first and second importance prediction models are different,
Method for displaying messages.
상기 하나 이상의 프로그램들은:
제 1 클라이언트 디바이스에서,
상기 제 1 클라이언트 디바이스에서의 제 1 사용자 동작에 응답하여, 제 1 다수의 메시지들의 제 1 서브세트를 상기 제 1 클라이언트 디바이스에서 디스플레이하고 ― 상기 제 1 서브세트는 제 1 중요도 예측 모델을 이용하여 계산되는 제 1 중요도 스코어에 의해 정렬됨 ―; 그리고
상기 제 1 클라이언트 디바이스에서의 제 2 사용자 동작에 응답하여, 제 2 다수의 메시지들의 제 2 서브세트를 상기 제 1 클라이언트 디바이스에서 디스플레이하기 위한 ― 상기 제 2 서브세트는 제 2 중요도 예측 모델을 이용하여 계산되는 제 2 중요도 스코어에 의해 정렬됨 ―
명령들을 포함하고, 상기 제 1 및 제 2 다수의 메시지들은 각각 단일 사용자 계정에서의 메시지들을 포함하며,
상기 제 1 및 제 2 중요도 예측 모델들은 상이한,
하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체.A computer readable storage medium for storing one or more programs, the method comprising:
The one or more programs are:
At the first client device,
In response to a first user action at the first client device, display a first subset of a first plurality of messages at the first client device, the first subset computed using a first importance prediction model Ordered by the first importance score being; And
In response to a second user action at the first client device, for displaying at the first client device a second subset of a second plurality of messages, the second subset using a second importance prediction model; Sorted by the second importance score computed
Instructions, wherein the first and second plurality of messages each include messages in a single user account,
The first and second importance prediction models are different,
A computer readable storage medium storing one or more programs.
상기 하나 이상의 프로그램들은:
제 1 클라이언트 디바이스에서의 제 1 사용자 동작에 응답하여, 제 1 다수의 메시지들의 제 1 서브세트를 나열하는 정보를 상기 제 1 클라이언트 디바이스로 전송하고 ― 상기 제 1 서브세트의 목록은 제 1 중요도 예측 모델을 이용하여 계산되는 제 1 중요도 스코어에 의해 정렬됨 ―; 그리고
제 2 클라이언트 디바이스에서의 제 2 사용자 동작에 응답하여, 제 2 다수의 메시지들의 제 2 서브세트를 나열하는 정보를 상기 제 2 클라이언트 디바이스로 전송하기 위한 ― 상기 제 2 서브세트의 목록은 제 2 중요도 예측 모델을 이용하여 계산되는 제 2 중요도 스코어에 의해 정렬됨 ―;
명령들을 포함하고, 상기 제 1 및 제 2 다수의 메시지들은 각 사용자의 단일 사용자 계정에서의 메시지들을 각각 포함하며,
상기 제 1 및 제 2 중요도 예측 모델들은 상이한,
하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체.A computer readable storage medium for storing one or more programs, the method comprising:
The one or more programs are:
In response to a first user action at a first client device, send information to the first client device listing a first subset of a first plurality of messages, the list of the first subset predicting a first importance Aligned by the first importance score calculated using the model; And
In response to a second user action at a second client device, information for transmitting a second subset of the second plurality of messages to the second client device, wherein the list of the second subset is of second importance. Aligned by a second importance score calculated using the prediction model;
Instructions, wherein the first and second plurality of messages each include messages in a single user account of each user,
The first and second importance prediction models are different,
A computer readable storage medium storing one or more programs.
상기 하나 이상의 프로그램들은:
제 1 클라이언트 디바이스에서의 제 1 사용자 동작에 응답하여, 제 1 다수의 메시지들의 제 1 서브세트를 나열하는 정보를 상기 제 1 클라이언트 디바이스로 전송하고 ― 상기 제 1 서브세트의 목록은 제 1 중요도 예측 모델을 이용하여 계산되는 제 1 중요도 스코어에 의해 정렬됨 ―; 그리고
상기 제 1 클라이언트 디바이스에서의 제 2 사용자 동작에 응답하여, 제 2 다수의 메시지들의 제 2 서브세트를 나열하는 정보를 상기 제 1 클라이언트 디바이스로 전송하기 위한 ― 상기 제 2 서브세트는 제 2 중요도 예측 모델을 이용하여 계산되는 제 2 중요도 스코어에 의해 정렬됨 ―;
명령들을 포함하고, 상기 제 1 및 제 2 다수의 메시지들은 각 사용자의 단일 사용자 계정에서의 메시지들을 각각 포함하며,
상기 제 1 및 제 2 중요도 예측 모델들은 상이한,
하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체.A computer readable storage medium for storing one or more programs, the method comprising:
The one or more programs are:
In response to a first user action at a first client device, send information to the first client device listing a first subset of a first plurality of messages, the list of the first subset predicting a first importance Aligned by the first importance score calculated using the model; And
In response to a second user action at the first client device, information for transmitting a second subset of the second plurality of messages to the first client device, the second subset predicting a second importance Aligned by a second importance score calculated using the model;
Instructions, wherein the first and second plurality of messages each include messages in a single user account of each user,
The first and second importance prediction models are different,
A computer readable storage medium storing one or more programs.
메모리;
하나 이상의 프로세서들; 및
상기 메모리에 저장되고 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되는 하나 이상의 모듈들
을 포함하고, 상기 모듈들은:
제 1 클라이언트 디바이스에서의 제 1 사용자 동작에 응답하여, 제 1 다수의 메시지들의 제 1 서브세트를 상기 제 1 클라이언트 디바이스에서 디스플레이하고 ― 상기 제 1 서브세트는 제 1 중요도 예측 모델을 이용하여 계산되는 제 1 중요도 스코어에 의해 정렬됨 ―; 그리고
제 2 클라이언트 디바이스에서의 제 2 사용자 동작에 응답하여, 제 2 다수의 메시지들의 제 2 서브세트를 상기 제 2 클라이언트 디바이스에서 디스플레이하기 위한 ― 상기 제 2 서브세트는 제 2 중요도 예측 모델을 이용하여 계산되는 제 2 중요도 스코어에 의해 정렬됨 ―
명령들을 포함하고, 상기 제 1 및 제 2 다수의 메시지들은 각 사용자의 단일 사용자 계정에서의 메시지들을 각각 포함하며,
상기 제 1 및 제 2 중요도 예측 모델들은 상이한,
메시지들을 디스플레이하기 위한 시스템.A system for displaying messages,
Memory;
One or more processors; And
One or more modules stored in the memory and configured to be executed by the one or more processors
The module includes:
In response to a first user action at a first client device, display a first subset of a first plurality of messages at the first client device, wherein the first subset is computed using a first importance prediction model; Sorted by first importance score; And
In response to a second user action at a second client device, for displaying at the second client device a second subset of a second plurality of messages, the second subset computed using a second importance prediction model Sorted by the second importance score being
Instructions, wherein the first and second plurality of messages each include messages in a single user account of each user,
The first and second importance prediction models are different,
System for displaying messages.
메모리;
하나 이상의 프로세서들; 및
상기 메모리에 저장되고 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되는 하나 이상의 모듈들
을 포함하고, 상기 하나 이상의 모듈들은:
상기 클라이언트 디바이스에서의 제 1 사용자 동작에 응답하여, 제 1 다수의 메시지들의 제 1 서브세트를 상기 클라이언트 디바이스에서 디스플레이하기 위한 명령들 ― 상기 제 1 서브세트는 제 1 중요도 예측 모델을 이용하여 계산되는 제 1 중요도 스코어에 의해 정렬됨 ―; 및
상기 클라이언트 디바이스에서의 제 2 사용자 동작에 응답하여, 제 2 다수의 메시지들의 제 2 서브세트를 상기 클라이언트 디바이스에서 디스플레이하기 위한 명령들 ― 상기 제 2 서브세트는 제 2 중요도 예측 모델을 이용하여 계산되는 제 2 중요도 스코어에 의해 정렬됨 ―
을 포함하고, 상기 제 1 및 제 2 다수의 메시지들은 각각 단일 사용자 계정에서의 메시지들을 포함하며,
상기 제 1 및 제 2 중요도 예측 모델들은 상이한,
클라이언트 디바이스.As a client device,
Memory;
One or more processors; And
One or more modules stored in the memory and configured to be executed by the one or more processors
Wherein the one or more modules are:
In response to a first user action at the client device, instructions for displaying at the client device a first subset of a first plurality of messages, the first subset being calculated using a first importance prediction model. Sorted by first importance score; And
In response to a second user action at the client device, instructions for displaying a second subset of a second plurality of messages at the client device, wherein the second subset is calculated using a second importance prediction model. Sorted by second importance score ―
Wherein the first and second plurality of messages each include messages in a single user account,
The first and second importance prediction models are different,
Client device.
메모리;
하나 이상의 프로세서들; 및
상기 메모리에 저장되고 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되는 하나 이상의 모듈들
을 포함하고, 상기 하나 이상의 모듈들은:
제 1 클라이언트 디바이스에서의 제 1 사용자 동작에 응답하여, 제 1 다수의 메시지들의 제 1 서브세트를 나열하는 정보를 상기 제 1 클라이언트 디바이스로 전송하기 위한 명령들 ― 상기 제 1 서브세트의 목록은 제 1 중요도 예측 모델을 이용하여 계산되는 제 1 중요도 스코어에 의해 정렬됨 ―; 및
제 2 클라이언트 디바이스에서의 제 2 사용자 동작에 응답하여, 제 2 다수의 메시지들의 제 2 서브세트를 나열하는 정보를 상기 제 2 클라이언트 디바이스로 전송하기 위한 명령들 ― 상기 제 2 서브세트의 목록은 제 2 중요도 예측 모델을 이용하여 계산되는 제 2 중요도 스코어에 의해 정렬됨 ―;
을 포함하고, 상기 제 1 및 제 2 다수의 메시지들은 각 사용자의 단일 사용자 계정에서의 메시지들을 각각 포함하며,
상기 제 1 및 제 2 중요도 예측 모델들은 상이한,
서버 시스템.As a server system,
Memory;
One or more processors; And
One or more modules stored in the memory and configured to be executed by the one or more processors
Wherein the one or more modules are:
In response to a first user action at a first client device, instructions for sending to the first client device information listing the first subset of the first plurality of messages, the list of the first subset being selected from the first user device. Ordered by the first importance score calculated using the 1 importance prediction model; And
In response to a second user action at a second client device, instructions for sending to the second client device information listing a second subset of a second plurality of messages, wherein the list of second subsets is determined by the second user device. Aligned by a second importance score calculated using a two importance prediction model;
Wherein the first and second plurality of messages each include messages in a single user account of each user,
The first and second importance prediction models are different,
Server system.
메모리;
하나 이상의 프로세서들; 및
상기 메모리에 저장되고 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되는 하나 이상의 모듈들
을 포함하고, 상기 하나 이상의 모듈들은:
클라이언트 디바이스에서의 제 1 사용자 동작에 응답하여, 제 1 다수의 메시지들의 제 1 서브세트를 나열하는 정보를 상기 클라이언트 디바이스로 전송하기 위한 명령들 ― 상기 제 1 서브세트의 목록은 제 1 중요도 예측 모델을 이용하여 계산되는 제 1 중요도 스코어에 의해 정렬됨 ―; 및
상기 클라이언트 디바이스에서의 제 2 사용자 동작에 응답하여, 제 2 다수의 메시지들의 제 2 서브세트를 나열하는 정보를 상기 클라이언트 디바이스로 전송하기 위한 명령들 ― 상기 제 2 서브세트는 제 2 중요도 예측 모델을 이용하여 계산되는 제 2 중요도 스코어에 의해 정렬됨 ―;
을 포함하고, 상기 제 1 및 제 2 다수의 메시지들은 각 사용자의 단일 사용자 계정에서의 메시지들을 각각 포함하며,
상기 제 1 및 제 2 중요도 예측 모델들은 상이한,
서버 시스템.
As a server system,
Memory;
One or more processors; And
One or more modules stored in the memory and configured to be executed by the one or more processors
Wherein the one or more modules are:
Instructions, in response to a first user action at a client device, to send information to the client device listing a first subset of a first plurality of messages, the list of the first subset being a first importance prediction model. Aligned by a first importance score computed using; And
Instructions, in response to a second user action at the client device, to send information to the client device listing a second subset of a second plurality of messages, the second subset generating a second importance prediction model. Aligned by a second importance score computed using;
Wherein the first and second plurality of messages each include messages in a single user account of each user,
The first and second importance prediction models are different,
Server system.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/192,055 US8185492B2 (en) | 2008-08-14 | 2008-08-14 | Messaging application with multiple viewports for presenting messages in different orders |
US12/192,055 | 2008-08-14 | ||
PCT/US2009/053164 WO2010019474A2 (en) | 2008-08-14 | 2009-08-07 | Messaging application with multiple viewports for presenting messages in different orders |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110055636A true KR20110055636A (en) | 2011-05-25 |
KR101413700B1 KR101413700B1 (en) | 2014-06-30 |
Family
ID=41669591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117005897A KR101413700B1 (en) | 2008-08-14 | 2009-08-07 | Messaging application with multiple viewports for presenting messages in different orders |
Country Status (6)
Country | Link |
---|---|
US (2) | US8185492B2 (en) |
EP (1) | EP2316078A4 (en) |
JP (1) | JP5351964B2 (en) |
KR (1) | KR101413700B1 (en) |
DE (1) | DE202009019142U1 (en) |
WO (1) | WO2010019474A2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014055094A1 (en) * | 2012-10-02 | 2014-04-10 | Google Inc. | Ordinal positioning of content items based on viewport |
KR20190130685A (en) * | 2015-07-29 | 2019-11-22 | 구글 엘엘씨 | Modeling personal entities |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210391A1 (en) * | 2008-02-14 | 2009-08-20 | Hall Stephen G | Method and system for automated search for, and retrieval and distribution of, information |
US8868661B2 (en) * | 2008-10-08 | 2014-10-21 | Verizon Patent And Licensing Inc. | Message management based on metadata |
US20100100845A1 (en) * | 2008-10-20 | 2010-04-22 | Ingboo Inc. | Organization and Delivery of Information Updates |
US8224996B2 (en) * | 2008-12-29 | 2012-07-17 | International Business Machines Corporation | Directory viewports |
US9602444B2 (en) * | 2009-05-28 | 2017-03-21 | Google Inc. | Participant suggestion system |
US20120005282A1 (en) * | 2010-07-02 | 2012-01-05 | Microsoft Corporation | Collaborative ranking and filtering of electronic mail messages |
US8555156B2 (en) * | 2010-08-16 | 2013-10-08 | Google Inc. | Inferring that a message has been read |
US20120054642A1 (en) * | 2010-08-27 | 2012-03-01 | Peter Wernes Balsiger | Sorted Inbox User Interface for Messaging Application |
US9619100B2 (en) | 2010-08-30 | 2017-04-11 | Nokia Technologies Oy | Method, apparatus, and computer program product for adapting a content segment based on an importance level |
US8312096B2 (en) | 2010-12-08 | 2012-11-13 | Google Inc. | Priority inbox notifications and synchronization for mobile messaging application |
US9116984B2 (en) * | 2011-06-28 | 2015-08-25 | Microsoft Technology Licensing, Llc | Summarization of conversation threads |
US8751591B2 (en) | 2011-09-30 | 2014-06-10 | Blackberry Limited | Systems and methods of adjusting contact importance for a computing device |
US10733669B2 (en) | 2012-08-02 | 2020-08-04 | Chicago Mercantile Exchange Inc. | Message processing |
US20140059141A1 (en) * | 2012-08-23 | 2014-02-27 | Linkedln Corporation | Electronic messaging system utilizing social classification rules |
GB201219931D0 (en) * | 2012-11-06 | 2012-12-19 | Truphone Ltd | Management of contact information |
US20140143779A1 (en) * | 2012-11-19 | 2014-05-22 | Raytheon Company | Contextual routing of data elements |
WO2014094198A1 (en) * | 2012-12-17 | 2014-06-26 | Nokia Corporation | Message preloading system |
US9825896B2 (en) | 2014-03-04 | 2017-11-21 | Notion Ai, Inc. | Proposed message disposition viewport apparatus and method for timed operation |
US9887947B2 (en) * | 2015-02-19 | 2018-02-06 | Notion Ai, Inc. | Incentivized message disposition apparatus and time limited method for operation |
US10708151B2 (en) * | 2015-10-22 | 2020-07-07 | Level 3 Communications, Llc | System and methods for adaptive notification and ticketing |
US11016534B2 (en) * | 2016-04-28 | 2021-05-25 | International Business Machines Corporation | System, method, and recording medium for predicting cognitive states of a sender of an electronic message |
US9864732B2 (en) | 2016-05-02 | 2018-01-09 | Google Inc. | User interfaces that facilitate management of formatting of digital content |
US10601760B2 (en) * | 2016-10-24 | 2020-03-24 | Facebook, Inc. | Techniques for device configuration of prospective contacts using messaging history information |
US11115359B2 (en) | 2016-11-03 | 2021-09-07 | Samsung Electronics Co., Ltd. | Method and apparatus for importance filtering a plurality of messages |
US10721202B2 (en) * | 2017-05-29 | 2020-07-21 | International Business Machines Corporation | Broadcast response prioritization and engagements |
US11714522B2 (en) * | 2017-12-08 | 2023-08-01 | Yahoo Assets Llc | Controlling a graphical user interface using a presentation of messages based upon predicted interactions with the messages |
US20210027104A1 (en) * | 2019-07-25 | 2021-01-28 | Microsoft Technology Licensing, Llc | Eyes-off annotated data collection framework for electronic messaging platforms |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6654787B1 (en) | 1998-12-31 | 2003-11-25 | Brightmail, Incorporated | Method and apparatus for filtering e-mail |
KR100869624B1 (en) * | 2000-03-16 | 2008-11-21 | 마이크로소프트 코포레이션 | Priorities generation and management |
US6654791B1 (en) | 2000-03-24 | 2003-11-25 | International Business Machines Corporation | Method and apparatus for processing electronic mail using an importance indicator |
US6842775B1 (en) | 2000-08-29 | 2005-01-11 | International Business Machines Corporation | Method and system for modifying mail rules |
US7200606B2 (en) | 2000-11-07 | 2007-04-03 | The Regents Of The University Of California | Method and system for selecting documents by measuring document quality |
US20030187937A1 (en) | 2002-03-28 | 2003-10-02 | Yao Timothy Hun-Jen | Using fuzzy-neural systems to improve e-mail handling efficiency |
US20030195937A1 (en) * | 2002-04-16 | 2003-10-16 | Kontact Software Inc. | Intelligent message screening |
US20050204001A1 (en) * | 2002-09-30 | 2005-09-15 | Tzvi Stein | Method and devices for prioritizing electronic messages |
US7484213B2 (en) * | 2003-07-11 | 2009-01-27 | Boban Mathew | Agent architecture employed within an integrated message, document and communication system |
US7814545B2 (en) * | 2003-07-22 | 2010-10-12 | Sonicwall, Inc. | Message classification using classifiers |
US20050203929A1 (en) | 2004-03-09 | 2005-09-15 | Devapratim Hazarika | System, method and computer program product for prioritizing contacts |
US20050204009A1 (en) | 2004-03-09 | 2005-09-15 | Devapratim Hazarika | System, method and computer program product for prioritizing messages |
US7814155B2 (en) * | 2004-03-31 | 2010-10-12 | Google Inc. | Email conversation management system |
US7941491B2 (en) * | 2004-06-04 | 2011-05-10 | Messagemind, Inc. | System and method for dynamic adaptive user-based prioritization and display of electronic messages |
US7664249B2 (en) * | 2004-06-30 | 2010-02-16 | Microsoft Corporation | Methods and interfaces for probing and understanding behaviors of alerting and filtering systems based on models and simulation from logs |
US20060031340A1 (en) * | 2004-07-12 | 2006-02-09 | Boban Mathew | Apparatus and method for advanced attachment filtering within an integrated messaging platform |
US7889853B2 (en) * | 2004-07-27 | 2011-02-15 | At&T Intellectual Property I, L.P. | Methods, systems, devices, and products for providing ring backs |
US8621024B2 (en) * | 2007-04-24 | 2013-12-31 | Blackberry Limited | System and method for prioritizing and displaying messages |
-
2008
- 2008-08-14 US US12/192,055 patent/US8185492B2/en active Active
-
2009
- 2009-08-07 EP EP09807109A patent/EP2316078A4/en not_active Withdrawn
- 2009-08-07 WO PCT/US2009/053164 patent/WO2010019474A2/en active Application Filing
- 2009-08-07 KR KR1020117005897A patent/KR101413700B1/en active IP Right Grant
- 2009-08-07 JP JP2011523056A patent/JP5351964B2/en active Active
- 2009-08-07 DE DE202009019142.7U patent/DE202009019142U1/en not_active Expired - Lifetime
-
2012
- 2012-05-17 US US13/474,641 patent/US9219619B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014055094A1 (en) * | 2012-10-02 | 2014-04-10 | Google Inc. | Ordinal positioning of content items based on viewport |
US10657310B2 (en) | 2012-10-02 | 2020-05-19 | Google Llc | Ordinal positioning of content items based on viewport |
US11409944B2 (en) | 2012-10-02 | 2022-08-09 | Google Llc | Ordinal positioning of content items based on viewport |
KR20190130685A (en) * | 2015-07-29 | 2019-11-22 | 구글 엘엘씨 | Modeling personal entities |
Also Published As
Publication number | Publication date |
---|---|
JP2011530771A (en) | 2011-12-22 |
KR101413700B1 (en) | 2014-06-30 |
US20120233556A1 (en) | 2012-09-13 |
EP2316078A4 (en) | 2012-12-05 |
WO2010019474A3 (en) | 2010-11-11 |
US9219619B2 (en) | 2015-12-22 |
US8185492B2 (en) | 2012-05-22 |
DE202009019142U1 (en) | 2017-01-20 |
WO2010019474A2 (en) | 2010-02-18 |
EP2316078A2 (en) | 2011-05-04 |
US20100042570A1 (en) | 2010-02-18 |
JP5351964B2 (en) | 2013-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101413700B1 (en) | Messaging application with multiple viewports for presenting messages in different orders | |
US11190474B2 (en) | Method and system for collecting and presenting historical communication data for a mobile device | |
KR101031942B1 (en) | Method and system for locating contact information collected from contact sources | |
US10963524B2 (en) | Self populating address book | |
JP5960215B2 (en) | Priority inbox notification and synchronization for mobile messaging applications | |
KR20060094853A (en) | Method and system for aggregating contact information from multiple contact sources | |
US7543032B2 (en) | Method and apparatus for associating messages with data elements | |
US9654427B2 (en) | Presenting instant messages | |
CN102385615A (en) | Information collection and presentation | |
JP2008052422A (en) | Presence search apparatus and messaging system | |
US8572242B2 (en) | Leveraging passive networks | |
US8358750B1 (en) | Electronic message management system and associated methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
E90F | Notification of reason for final refusal | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170613 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180612 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190613 Year of fee payment: 6 |